PHP Manual

PHP Manual

Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Philip Olson
Georg Richter
Damien Seguy
Jakub Vrana

Edited by

Gabor Hojtsy

This file was generated: Sat Feb 24 01:05:24 2007
Go to http://www.php.net/docs.php to get the actual version.

Copyright © 1997 - 2007 the PHP Documentation Group


Manual de PHP

Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Philip Olson
Georg Richter
Damien Seguy
Jakub Vrana
Y otros muchos
Ángela Pardo
Enrique Garcia Briones
Javier Eguiluz Perez
Javier Tacón Iglesias
Leonardo Boshell
Pablo Daniel Rigazzi
Rafael Martínez
Robert Sánchez

2007-02-24

Copyright © 2003-2004 por el Grupo de documentación de PHP

Tabla de contenidos
Prefacio
Autores y colaboradores
I. Conceptos básicos
1. Introducción
2. Una explicación sencilla
II. Instalación y configuración
3. Consideraciones generales de instalación
4. Installation on Unix systems
5. Installation on Mac OS X
6. Installation on Windows systems
7. Installation of PECL extensions
8. Problemas?
9. Configuración del comportamiento de PHP
III. Referencia del lenguaje
10. Sintaxis básica
11. Tipos
12. Variables
13. Constantes
14. Expresiones
15. Operadores
16. Estructuras de Control
17. Funciones
18. Clases y Objetos (PHP 4)
19. Clases y Objetos (PHP 5)
20. Excepciones
21. Explicando las Referencias
IV. Seguridad
22. Introducción
23. Consideraciones generales
24. Instalación como un binario CGI
25. Instalación como módulo de Apache
26. Seguridad del sistema de archivos
27. Seguridad de Bases de Datos
28. Reporte de Errores
29. Uso de Register Globals
30. Datos Enviados por el Usuario
31. Comillas Mágicas
32. Ocultando PHP
33. Mantenerse al Día
V. Características
34. Autentificación HTTP con PHP
35. Cookies
36. Sesiones
37. Manejo de XForms
38. Manejo de envío de archivos
39. Usando archivos remotos
40. Manejando conexiones
41. Conexiones persistentes a bases de datos
42. Modo Seguro (Safe Mode)
43. Usando PHP desde la línea de comando
VI. Referencia de funciones
I. .NET Functions
II. Funciones específicas de Apache
III. Alternative PHP Cache
IV. Depurador Avanzado de PHP
V. Funciones de matrices
VI. Funciones Aspell [deprecated]
VII. Funciones matemáticas de precisión arbitraria BCMath
VIII. Compilador Bytecode de PHP
IX. Funciones de compresión Bzip2
X. Funciones de calendario
XI. Funciones del API de CCVS
XII. Funciones de Clases/Objetos
XIII. Classkit Functions
XIV. Funciones ClibPDF
XV. Funciones COM y .Net (Windows)
XVI. Funciones para Crackear
XVII. Funciones de Tipo de Caracter
XVIII. Funciones CURL (Client URL Library)
XIX. Funciones de pago electrónico
XX. Credit Mutuel CyberMUT functions
XXI. Cyrus IMAP administration Functions
XXII. Funciones de Fecha y Hora
XXIII. DB++ Functions
XXIV. Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)
XXV. Funciones para dBase
XXVI. Funciones DBM Functions [obsoletas]
XXVII. dbx Functions
XXVIII. Funciones de acceso directo a E/S
XXIX. Funciones de Directorio
XXX. DOM Functions
XXXI. Funciones DOM XML
XXXII. enchant Functions
XXXIII. Funciones de Gestión de Errores y Registros
XXXIV. Exif Functions
XXXV. Expect Functions
XXXVI. File Alteration Monitor Functions
XXXVII. Funciones del Formato de Datos de Formulario
XXXVIII. Fileinfo Functions
XXXIX. Funciones filePro
XL. Funciones del Sistema de Archivos
XLI. Filter Functions
XLII. Funciones InterBase
XLIII. Firebird/Interbase Functions (PDO_FIREBIRD)
XLIV. FriBiDi Functions
XLV. FrontBase Functions
XLVI. Funciones FTP
XLVII. Funciones de Gestión de Funciones
XLVIII. GeoIP Functions
XLIX. Gettext
L. Funciones GMP
LI. gnupg Functions
LII. Net_Gopher
LIII. hash Functions
LIV. HTTP
LV. Funciones para Hyperwave
LVI. Hyperwave API Functions
LVII. IBM Functions (PDO_IBM)
LVIII. IBM DB2, Cloudscape and Apache Derby Functions
LIX. Funciones ICAP [eliminadas]
LX. Funciones iconv
LXI. Funciones de tratamiento de etiquetas ID3
LXII. IIS Administration Functions
LXIII. Funciones para imágenes
LXIV. Image magick Functions
LXV. Funciones IMAP, POP3 y NNTP
LXVI. Funciones de Informix
LXVII. Informix Functions (PDO_INFORMIX)
LXVIII. Ingres II functions
LXIX. IRC Gateway Functions
LXX. Integración de Java y PHP
LXXI. JSON Functions
LXXII. KADM5
LXXIII. Funciones LDAP
LXXIV. libxml Functions
LXXV. Lotus Notes Functions
LXXVI. LZF Functions
LXXVII. Funciones de Correo
LXXVIII. Funciones Mailparse
LXXIX. Funciones matemáticas
LXXX. MaxDB PHP Extension
LXXXI. MCAL functions
LXXXII. Funciones de Cifrado Mcrypt
LXXXIII. MCVE (Monetra) Payment Functions
LXXXIV. Memcache Functions
LXXXV. Funciones Mhash
LXXXVI. Funciones Mimetype
LXXXVII. Ming functions for Flash
LXXXVIII. Funciones de Miscelánea
LXXXIX. mnoGoSearch Functions
XC. Funciones de Microsoft SQL Server
XCI. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
XCII. Mohawk Software Session Handler Functions
XCIII. Funciones mSQL
XCIV. Multibyte String Functions
XCV. muscat Functions
XCVI. Funciones MySQL
XCVII. MySQL Functions (PDO_MYSQL)
XCVIII. Extensión mejorada de MySQL
XCIX. Funciones de Control de Pantalla con Terminal Ncurses
C. Funciones de Red
CI. Newt Functions
CII. NSAPI-specific Functions
CIII. Object Aggregation/Composition Functions
CIV. Object property and method call overloading
CV. Funciones de Oracle
CVI. ODBC functions
CVII. ODBC and DB2 Functions (PDO_ODBC)
CVIII. oggvorbis
CIX. OpenAL Audio Bindings
CX. OpenSSL Functions
CXI. Funciones Oracle
CXII. Oracle Functions (PDO_OCI)
CXIII. Funciones de Control de Salida
CXIV. Ovrimos SQL functions
CXV. Paradox File Access
CXVI. Parsekit Functions
CXVII. Funciones de Control de Procesos
CXVIII. Funciones de Expresiones Regulares (Compatibles con Perl)
CXIX. Funciones PDF
CXX. PDO Functions
CXXI. Phar archive stream and classes
CXXII. Opciones e Información de PHP
CXXIII. Funciones POSIX
CXXIV. Funciones de Expresiones Regulares (POSIX Extendido)
CXXV. Funciones PostgreSQL
CXXVI. PostgreSQL Functions (PDO_PGSQL)
CXXVII. Printer Functions
CXXVIII. Funciones de Ejecución de Programas
CXXIX. PostScript document creation
CXXX. Pspell Functions
CXXXI. qtdom Functions
CXXXII. Radius
CXXXIII. Rar Functions
CXXXIV. GNU Readline
CXXXV. Funciones GNU Recode
CXXXVI. RPM Header Reading Functions
CXXXVII. runkit Functions
CXXXVIII. SAM - Simple Asynchronous Messaging
CXXXIX. Satellite CORBA client extension [deprecated]
CXL. SCA Functions
CXLI. SDO Functions
CXLII. SDO XML Data Access Service Functions
CXLIII. SDO Relational Data Access Service Functions
CXLIV. Funciones Semáforo y de memoria compartida
CXLV. SESAM database functions
CXLVI. PostgreSQL Session Save Handler
CXLVII. Funciones para el manejo de sesiones
CXLVIII. Funciones de Memoria Compartida
CXLIX. Funciones SimpleXML
CL. Funciones SNMP
CLI. Funciones SOAP
CLII. Funciones de Socket
CLIII. Funciones SPL (Standard PHP Library)
CLIV. Funciones SQLite
CLV. SQLite Functions (PDO_SQLITE)
CLVI. Secure Shell2 Functions
CLVII. Statistics Functions
CLVIII. Funciones de Secuencias
CLIX. Funciones de Cadenas
CLX. Shockwave Flash functions
CLXI. Swish Functions
CLXII. Funciones de Sybase
CLXIII. TCP Wrappers Functions
CLXIV. Tidy Functions
CLXV. Tokenizer Functions
CLXVI. Unicode Functions
CLXVII. Funciones de URL
CLXVIII. Funciones de Manejo de Variables
CLXIX. Verisign Payflow Pro functions
CLXX. vpopmail Functions
CLXXI. W32api Functions
CLXXII. Funciones WDDX
CLXXIII. win32ps Functions
CLXXIV. win32service Functions
CLXXV. Funciones xattr
CLXXVI. xdiff Functions
CLXXVII. Funciones de intérprete XML
CLXXVIII. XML-RPC Functions
CLXXIX. XMLReader functions
CLXXX. XMLWriter Functions
CLXXXI. XSL functions
CLXXXII. XSLT functions
CLXXXIII. YAZ
CLXXXIV. NIS funciona
CLXXXV. Funciones de manejo de archivos Zip (sólo lectura)
CLXXXVI. Funciones de Compresión Zlib
VII. PHP and Zend Engine Internals
44. API de Secuencia para Autores de Extensiones PHP
45. PDO Driver How-To
46. Zend API: Hacking the Core of PHP
47. TSRM API
48. Extensión de PHP 3
VIII. FAQ: Preguntas frecuentes
49. Información General
50. Listas de correo
51. Obtención de PHP
52. Problemas con bases de datos
53. Preguntas Frecuentes de Instalación
54. Problemas de Compilación
55. Uso de PHP
56. PHP y HTML
57. PHP y COM
58. PHP y otros lenguajes
59. Migración de PHP 2 a PHP 3
60. Migración de PHP 3 a PHP 4
61. Migración desde PHP 4 a PHP 5
62. Preguntas Varias
IX. Apéndices
A. Historia de PHP y proyectos relacionados
B. Migración desde PHP 4 a PHP 5
C. Migración de PHP 3 a PHP 4
D. Migración desde PHP/FI 2 hacia PHP 3
E. Depuración en PHP
F. Opciones de configuración
G. Directivas de php.ini
H. List of Supported Timezones
I. Categorización de Extensiones
J. Lista de alias de funciones
K. Lista de Palabras Reservadas
L. Lista de Tipos de Recurso
M. Lista de Protocolos/Envolturas Soportadas
N. Lista de Filtros Disponibles
O. Lista de Transportes de Sockets Soportados
P. Tablas de comparación de tipos PHP
Q. Lista de Identificadores (tokens) del Analizador
R. Userland Naming Guide
S. Sobre el manual
T. Open Publication License
U. Índice de funciones
V. Material que falta
X. Edición HTML Help
63. Sobre Esta Edición
64. Uso de la Edición CHM del Manual de PHP
65. La Búsqueda de Texto Completo
66. Particularidades de esta Edición
67. Integración del Manual de PHP
68. Desarrollo de skins
69. Créditos de la Edición CHM

Siguiente
Prefacio


Prefacio

Tabla de contenidos
Autores y colaboradores

PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos web y el cual puede ser embebido en páginas HTML. La mayoría de su sintaxis es similar a C, Java y Perl y es fácil de aprender. La meta de este lenguaje es permitir escribir a los creadores de páginas web, páginas dinámicas de una manera rápida y fácil, aunque se pueda hacer mucho más con PHP.

Este manual contiene principalmente una referencia de funciones PHP, tambien contiene una referencia del lenguaje, explicaciones de caracteristicas importantes de PHP y alguna información suplementaria.

Este manual se puede conseguir en diferentes formatos en http://www.php.net/docs.php. Más información sobre como este manual es desarrollado puede encontrarse en el apéndice 'Sobre este manual'. Si estais interesados en la Historia de PHP, visitar el capítulo correspondiente.

Autores y colaboradores

Actualmente presentamos a los colaboradores mas activos en la portada del manual. Esto no quiere decir que no existan mas colaboradores que tambien trabajan en el manual o que hayan ayudado de manera activa en un pasado. Existen tambien muchas personas que ayudan con sus notas de usuarios a los cuales le estamos infinitamente agradecidos. Todas las listas estan en orden alfabetico.

Autores y editores

Los siguientes colaboradores han ayudado ó ayudan de manera muy activa en la creación de contenidos para el manual: Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Rafael Martinez, Yasuo Ohgaki, Derick Rethans, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar, y Andrei Zmievski.

Los siguientes colaboradores han ayudado de manera muy activa en la elaboración del manual: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe, y Egon Schmid.

Encargados de mantenimiento de las Notas de usuarios

Encargados de mantenimiento más activos: Mehdi Achour, Friedhelm Betz, Vincent Gevers, Aidan Lister, Nuno Lopes, y Tom Sommer.

Estas persones han ayudado mucho en el pasaso en el mantenimiento de las Notas de usuarios: Daniel Beckham, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, James Cox, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Rasmus Lerdorf, Andrew Lindeman, Maxim Maletsky, James Moore, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Jani Taskinen, Yasuo Ohgaki, Philip Olson, Lars Torben Wilson, Jim Winstead, Jared Wyles, y Jeroen van Wolffelaar.

Anterior | Inicio | Siguiente
Manual de PHP |  | Conceptos básicos


Conceptos básicos

Manual de PHP
Anterior Siguiente

I. Conceptos básicos

Tabla de contenidos
1. Introducción
2. Una explicación sencilla

Anterior | Inicio | Siguiente
Prefacio |  | Introducción


Introducción

Manual de PHP
Anterior Siguiente

Capítulo 1. Introducción

Tabla de contenidos
¿Qué es PHP?
¿Qué se puede hacer con PHP?

¿Qué es PHP?

PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor.

Una respuesta corta y concisa, pero, ¿qué significa realmente? Un ejemplo nos aclarará las cosas:

Ejemplo 1-1. Un ejemplo introductorio

<html>
    <head>
        <title>Ejemplo</title>
    </head>
    <body>

        <?php
        echo "Hola, &iexcl;soy un script PHP!";
        ?>

    </body>
</html>

Puede apreciarse que no es lo mismo que un script escrito en otro lenguaje de programación como Perl o C -- En vez de escribir un programa con muchos comandos para crear una salida en HTML, escribimos el código HTML con cierto código PHP embebido (incluido) en el mismo, que producirá cierta salida (en nuestro ejemplo, producirá un texto). El código PHP se incluye entre etiquetas especiales de comienzo y final que nos permitirán entrar y salir del modo PHP.

Lo que distingue a PHP de la tecnología Javascript, la cual se ejecuta en la máquina cliente, es que el código PHP es ejecutado en el servidor. Si tuviésemos un script similar al de nuestro ejemplo en nuestro servidor, el cliente solamente recibiría el resultado de su ejecución en el servidor, sin ninguna posibilidad de determinar qué código ha producido el resultado recibido. El servidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP.

Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su vez, ofrece muchas características avanzadas para los programadores profesionales. No sienta miedo de leer la larga lista de características de PHP, en poco tiempo podrá empezar a escribir sus primeros scripts.

Aunque el desarrollo de PHP está concentrado en la programación de scripts en el lado del servidor, se puede utilizar para muchas otras cosas. Siga leyendo y descubra más sobre PHP en la sección ¿Qué se puede hacer con PHP?.

Anterior | Inicio | Siguiente
Conceptos básicos | Subir | ¿Qué se puede hacer con PHP?


¿Qué se puede hacer con PHP?

PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la información de formularios, generar páginas con contenidos dinámicos, o enviar y recibir cookies. Y esto no es todo, se puede hacer mucho más.

Existen tres campos en los que se usan scripts escritos en PHP.

  • Scripts del lado del servidor. Este es el campo más tradicional y el principal foco de trabajo. Se necesitan tres cosas para que esto funcione. El intérprete PHP (CGI ó módulo), un servidor web y un navegador. Es necesario correr el servidor web con PHP instalado. El resultado del programa PHP se puede obtener a través del navegador, conectándose con el servidor web. Consultar la sección Instrucciones de instalación para más información.

  • Scripts en la línea de comandos. Puede crear un script PHP y correrlo sin ningún servidor web o navegador. Solamente necesita el intérprete 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 también pueden ser usados para tareas simples de procesamiento de texto. Consultar la sección Usos de PHP en la línea de comandos para más información.

  • Escribir aplicaciones de interfaz gráfica. Probablemente PHP no sea el lenguaje más apropiado para escribir aplicaciones gráficas, pero si conoce bien PHP, y quisiera utilizar algunas características avanzadas en programas clientes, puede utilizar PHP-GTK para escribir dichos programas. También es posible escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en la distribución principal. Si está interesado en PHP-GTK, puedes visitar las páginas 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 más. PHP soporta la mayoría de servidores web de hoy en día, incluyendo Apache, Microsoft Internet Information Server, Personal Web Server, Netscape e iPlanet, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd y muchos otros. PHP tiene módulos disponibles para la mayoría de los servidores, para aquellos otros que soporten el estándar CGI, PHP puede usarse como procesador CGI.

De modo que, con PHP tiene la libertad de elegir el sistema operativo y el servidor de su gusto. También tiene la posibilidad de usar programación procedimental o programación orientada a objetos. Aunque no todas las características estándar de la programación orientada a objetos están implementadas en la versión actual de PHP, muchas bibliotecas y aplicaciones grandes (incluyendo la biblioteca PEAR) están escritas íntegramente usando programación orientada a objetos.

Con PHP no se encuentra limitado a resultados en HTML. Entre las habilidades de PHP se incluyen: creación de imágenes, archivos PDF y películas Flash (usando libswf y Ming) sobre la marcha. Tambié puede presentar otros resultados, como XHTM y archivos XML. PHP puede autogenerar éstos archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla.

Quizás la característica más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos están soportadas actualmente:

Adabas D | Ingres | Oracle (OCI7 and OCI8)
dBase | InterBase | Ovrimos
Empress | FrontBase | PostgreSQL
FilePro (read-only) | mSQL | Solid
Hyperwave | Direct MS-SQL | Sybase
IBM DB2 | MySQL | Velocis
Informix | ODBC | Unix dbm

También contamos con una extensión DBX de abstracción de base de datos que permite usar de forma transparente cualquier base de datos soportada por la extensión. Adicionalmente, PHP soporta ODBC (el Estándar Abierto de Conexión con Bases de Datos), asi que puede conectarse a cualquier base de datos que soporte tal estándar.

PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros. También se pueden crear sockets puros. PHP soporta WDDX para el intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de forma transparente como objetos PHP Y la extensión de CORBA puede ser utilizada para acceder a objetos remotos.

PHP tiene unas características muy útiles para el procesamiento de texto, desde expresiones regulares POSIX extendidas o tipo Perl hasta procesadores de documentos XML. Para procesar y acceder a documentos XML, soportamos los estándares SAX y DOM. Puede utilizar la extensión XSLT para transformar documentos XML.

Si usa PHP en el campo del comercio electrónico, encontrará muy útiles las funciones Cybercash, CyberMUT, VeriSign Payflow Pro y CCVS para sus programas de pago.

Para terminar, contamos con muchas otras extensiones muy interesantes, las funciones del motor de búsquedas mnoGoSearch, funciones para pasarelas de IRC, utilidades de compresión (gzip, bz2),, conversión de calendarios, traducción .....

Como puede apreciar, esta página no es suficiente para enumerar todas las características y beneficios que PHP ofrece. Consulte las secciones Instalación de PHP y Referencia de las funciones para una explicación de las extensiones mencionadas aquí.

Anterior | Inicio | Siguiente
Introducción | Subir | Una explicación sencilla


Una explicación sencilla

Manual de PHP
Anterior Siguiente

Capítulo 2. Una explicación sencilla

Tabla de contenidos
¿Qué necesito?
Su primera página con PHP
Algo útil
Uso de Formularios HTML
Use de código antiguo con nuevas versiones de PHP
¿Y ahora qué?

A continuación, le introduciremos a PHP en un pequeño y sencillo manual. Este documento explica cómo crear páginas web dinámicas para Internet con PHP, aunque PHP no solamente está diseñado para la creación de éstas. Consulte la sección titulada ¿Qué se puede hacer con PHP? para más información.

Las páginas web que utilizan PHP son tratadas como páginas de HTML comunes y corrientes, y puede crearlas y editarlas de la misma manera que lo hace con documentos normales de HTML.

¿Qué necesito?

En este manual vamos a asumir que usted cuenta con un servidor que soporta PHP y que todos los archivos con la extensión .php son manejados por PHP. En la mayoría de servidores, ésta es la extensión que toman los archivos PHP por defecto, pero pregunte al administrador de su servidor para estar seguro. Si su servidor soporta PHP, entonces no necesita hacer nada, solamente crear sus archivos .php y guardarlos en su directorio web, y el servidor, como por arte de magia, los analizará para usted. No hay necesidad de compilar nada, tampoco tiene necesidad de instalar otras herramientas. Mírelo de esta manera, estos archivos de PHP son tan simples como archivos de HTML con una nueva familia de etiquetas que le permiten una gran cantidad de cosas. La mayoría de las compañías de hospedaje de páginas web ofrecen el soporte que necesita para usar PHP, pero si por alguna razón ellos no lo hacen, considere leer la sección titulada Recursos PHP para mas información acerca de compañías de hospedaje que soportan PHP

Digamos que usted tiene limitado acceso a internet y se encuentra programando localmente. En este caso, querrá instalar un servidor de web como Apache, y PHP. Lo más seguro es que también quiera instalar una base de datos como MySQL. Puede instalar estos productos individualmente o simplemente localizar un paquete pre-configurado que automáticamente instale todos estos productos con solamente unos movimientos de su ratón. Es muy fácil instalar un servidor web con soporte para PHP en cualquier sistemas operativo, incluyendo Linux y Windows. En Linux, rpmfind y PBone le ayudarán a encontrar un RPM.

Anterior | Inicio | Siguiente
¿Qué se puede hacer con PHP? | Subir | Su primera página con PHP


Su primera página con PHP

Comienze por crear un archivo llamado hola.php y colocarle en el "directorio raíz" (DOCUMENT_ROOT) con el siguiente contenido:

Ejemplo 2-1. Nuestro primer script PHP: hola.php

<html>
 <head>
  <title>Ejemplo de PHP</title>
 </head>
 <body>
 <?php echo "<p>Hola Mundo</p>"; ?>
 </body>
</html>

Utilice su navegador web para acceder al archivo, con la URL terminando en "/hola.php". Si está programando localmente este URL lucirá algo como http://localhost/hola.php o http://127.0.0.1/hola.php pero esto depende de la configuración de su servidor web. Aunque este tema está fuera del alcance de este tutorial, también puede ver las directivas DocumentRoot y ServerName en la configuración de su servidor (en Apache, esto es httpd.conf). Si todo está configurado correctamente, el archivo será analizado por PHP y el siguiente contenido aparecerá en su navegador:

<html>
 <head>
  <title>Ejemplo de PHP</title>
 </head>
 <body>
 <p>Hola Mundo</p>
 </body>
</html>

Note que esto no es como los scripts de CGI. El archivo no necesita ninguna clase especial de permisos para ser ejecutado. Piense en ellos como si fueran archivos HTML con un conjunto muy especial de etiquetas disponibles, y que hacen muchas cosas interesantes.

Este programa es extremadamente simple, y no necesita usar PHP para crear una página como ésta. Todo lo que hace es mostrar: Hola Mundo usando la sentencia echo().

Si ha intentado usar este ejemplo, y no produjo ningún resultado, preguntando si deseaba descargar el archivo, o mostró todo el archivo como texto, lo más seguro es que PHP no se encuentra habilitado en su servidor. Pídale a su administrador que active esta función por usted, o use el capítulo titulado Instalación en el manual. Si está trabajando localmente, lea también el capítulo dedicado a la instalación, y asegúrese de que todo esté configurado apropiadamente. Si el problema continúa, por favor use una de las muchas opciones para obtener ayuda con PHP.

El objetivo de este ejemplo es demostrar cómo puede usar las etiquetas PHP. En este ejemplo usamos <?php para indicar el inicio de la etiqueta PHP. Después indicamos la sentencia y abandonamos el modo PHP usando ?>. Puede salir de PHP y regresar cuantas veces lo desee usando este método. Para más información, puede leer la sección en el manual titulada Sintaxis básica de PHP.

Una nota acerca de editores de texto: Hay muchos editores de texto y Entornos Integrados de Desarrollo (IDE por sus siglas en Inglés) que puede usar para crear, editar, y organizar archivos PHP. Puede encontrar una lista parcial de éstos en Lista de editores de PHP. Si desea recomendar un editor, por favor visite la página mencionada anteriormente, y comunique su recomendación a las personas encargadas del mantenimiento para que lo incluyan en la lista. Contar con un editor que resalte la sintaxis de PHP puede ser de mucha ayuda.

Una nota acerca de los procesadores de palabras: Los procesadores de palabras como "StarOffice", "Microsoft word" y "Abiword" no son buenas opciones para editar archivos de PHP. Si desea usar uno de éstos programas para probar sus scripts, primero debe asegurarse de guardar el documento en formato de "Texto" puro, o PHP no será capaz de ejecutar el script.

Una nota acerca del "Bloc de Notas de Windows": Si desea escribir sus archivos PHP usando el "Bloc de Notas de Windows" o en algún otro editor de texto para Windows necesita asegurarse de que sus archivos sean guardados con la extensión .php (la mayoría de editores de texto en Windows automáticamente tratarán de añadir la extensión .txt a los archivos a menos que tome los siguientes pasos para prevenirlo). Cuando guarde sus archivos y el programa le pregunte qué nombre le desea dar al archivo, use comillas para indicar el nombre (es decir, "hola.php"). Una alternativa es, en la lista de opciones "Archivos de Texto *.txt", seleccionar la opción "Todos los archivos *.*". Aquí puede escribir el nombre del archivo sin las comillas.

Ahora que ha creado un pequeño script de PHP que funciona correctamente, es hora de trabajar con el script de PHP más famoso; vamos a hacer una llamada a la función phpinfo() para obtener información acerca de su sistema y configuración como las variables predefinidas disponibles, los módulos utilizados por PHP, y las diferentes opciones de configuración. Tomemos unos segundos para revisar esta información.

Anterior | Inicio | Siguiente
Una explicación sencilla | Subir | Algo útil


Algo útil

Hagamos ahora algo que puede ser más útil. Vamos a chequear qué clase de navegador web utiliza. Para hacerlo, vamos a consultar la información que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siempre comienzan con un signo de dólar ("$") en PHP. La variable que vamos a utilizar en esta situación es $_SERVER["HTTP_USER_AGENT"].

Nota: $_SERVER es una variable reservada por PHP que contiene toda la información del servidor web. Es conocida como Autoglobal (o Superglobal). Consulte el manual en su sección titulada Autoglobales para mas información. Éstas son variables especiales que fueron introducidas en la versión 4.1.0 de PHP. Antes podíamos usar las matrices $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque éstas han sido marcadas como obsoletas, tales matrices todavía existen. (También puede echar un vistazo a las notas relacionadas con el código antiguo.)

Para poder ver esta variable solo necesita:

Ejemplo 2-2. Impresión de una variable (elemento de la matriz)

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

Un ejemplo de los resultados de este programa sería:

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Hay muchos tipos de variables en PHP. En el ejemplo anterior imprimimos una matriz. Las matrices pueden ser muy útiles.

$_SERVER es simplemente una variable que se encuentra disponible automáticamente para usted en PHP. Puede encontrar una lista en la sección titulada Variables Reservadas del manual, o puede generar una lista completa creando un archivo como el presentado a continuación:

Ejemplo 2-3. Consultar todas las variables predefinidas con phpinfo()

<?php phpinfo(); ?>

Si abre este archivo con su navegador, puede ver una página con información acerca de PHP, junto a una lista de todas las variables que puede usar.

Puede usar más de un declaración PHP dentro de una etiqueta PHP, y crear pequeños segmentos de código que pueden hacer más que un "echo". Por ejemplo, si quisiéramos detectar el uso de "Internet Explorer", haríamos algo así:

Ejemplo 2-4. Ejemplos de uso de estructuras de control y funciones

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
    echo "Est&aacute; usando Internet Explorer<br />";
}
?>

Un ejemplo de los resultado del script puede ser:

Est&aacute; usando Internet Explorer<br />

A continuación introduciremos un par de conceptos nuevos. Tenemos una declaración "if". Si está familiarizado con la sintaxis básica del lenguaje "C", esto se vera lógico, Pero si no entiende "C", u otros lenguajes de programación donde encuentra la sintaxis usada anteriormente, probablemente debería conseguir un libro que le introduzca mejor a PHP, y lea los primeros capítulos, o también puede ver la parte del manual titulada Referencia del lenguaje. Puedes encontrar una lista de libros sobre PHP en http://www.php.net/books.php.

El segundo concepto que introducimos fue la función llamada strstr(). strstr() es una función integrada de PHP que busca un cadena dentro de otra cadena más larga. En el caso anterior estamos buscando "MSIE" dentro de $_SERVER["HTTP_USER_AGENT"]. Si la cadena fue encontrada, la función devolverá verdadero ("TRUE"), la declaración "if" se evalúa a verdadero ("TRUE") y el código adentro de las llaves {} es ejecutado. De otra manera no resulta ejecutado. Tómese la libertad de crear ejemplos similares usando "if", "else" ("de otra manera"), y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Si no está seguro sobre el modo de uso éstas funciones, es recomendable que lea las páginas del manual tituladas Cómo leer una definición de función y la sección relacionada a Funciones en PHP

Podemos continuar y demostrar cómo puede saltar adentro y afuera del modo PHP en el medio de un bloque de código.

Ejemplo 2-5. Mezcla de los modos HTML y PHP

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
?>
<h3>strstr debe haber devuelto verdadero</h3>
<center><b>Est&aacute; usando Internet Explorer</b></center>
<?php
} else {
?>
<h3>strstr debi&oacute; devolver falso</h3>
<center><b>No est&aacute; usando Internet Explorer</b></center>
<?php
}
?>

Un ejemplo de los resultados de este script puede ser:

<h3>strstr debe haber devuelto verdadero </h3>
<center><b>Est&aacute; usando Internet Explorer</b></center>

En vez de usar una sentencia PHP "echo" para demostrar algo, saltamos fuera del código PHP y escribimos HTML puro. Este es un punto muy importante y potente que debemos observar aquí, y es que la fluidez lógica del script está intacta. Sólamente las partes donde hay HTML serán enviadas a su navegador dependiendo de los resultados que strstr() devuelve (si fue verdadero [TRUE], o falso [FALSE]). En otras palabras, si la cadena MSIE fue encontrada o no.

Anterior | Inicio | Siguiente
Su primera página con PHP | Subir | Uso de Formularios HTML


Uso de Formularios HTML

Otra de las características de PHP es que gestiona formularios de HTML. El concepto básico que es importante entender es que cualquier elemento de los formularios estará disponible automáticamente en su código PHP. Por favor refiérase a la sección titulada Variables fuera de PHP en el manual para más información y ejemplos sobre cómo usar formularios HTML con PHP. Observemos un ejemplo:

Ejemplo 2-6. Un formulario HTML sencillo

<form action="accion.php" method="POST">
 Su nombre: <input type="text" name="nombre" />
 Su edad: <input type="text" name="edad" />
 <input type="submit">
</form>

No hay nada especial en este formularo, es HTML limpio sin ninguna clase de etiquetas desconocidas. Cuando el cliente llena éste formulario y oprime el botón etiquetado "Submit", una página titulada accion.php es llamada. En este archivo encontrará algo así:

Ejemplo 2-7. Procesamiento de información de nuestro formulario HTML

Hola <?php echo $_POST["nombre"]; ?>.
Tiene <?php echo $_POST["edad"]; ?> a&ntilde;os

Un ejemplo del resultado de este script podría ser:

Hola José.
Tiene 22 años

Es aparentemente obvio lo que hace. No hay mucho más que decir al respecto. Las variables $_POST["nombre"] y $_POST["edad"] son definidas automáticamente por PHP. Hace un momento usamos la variable autoglobal $_SERVER, ahora hemos introducido autoglobal $_POST, que contiene toda la información enviada por el método POST. Fíjese en el atributo method en nuestro formulario; es POST. Si hubiéramos usado GET, entonces nuestra información estaría en la variable autoglobal $_GET. También puede utilizar la autoglobal $_REQUEST si no le importa el origen de la petición. Ésta variable contiene una mezcla de información GET, POST y COOKIE. También puede ver la función import_request_variables().

Anterior | Inicio | Siguiente
Algo útil | Subir | Use de código antiguo con nuevas versiones de PHP


Use de código antiguo con nuevas versiones de PHP

Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos más recursos que contienen código que puede reusar en sus propios programas. Por lo general, las personas que se encargan del desarrollo de PHP tratan de que el lenguaje sea compatible con versiones anteriores, para que los programas escritos con versiones antiguas continúen funcionando cuando instale una nueva versión de PHP. En un mundo perfecto, nunca necesitaría modificar su código para hacerlo funcionar con versiones nuevas del lenguaje; pero, como todos sabemos, este no es un mundo perfecto, y usualmente son necesarios los cambios en su código.

Dos de los cambios mas importantes que afectan el código viejo son:

  • La desaparición de las matrices $HTTP_*_VARS (que usualmente son usadas como globales al interior de una función o método). Las siguientes matrices autoglobales fueron introducidas en la versión 4.1.0 de PHP. Estas son: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, y $_SESSION. Las antiguas $HTTP_*_VARS, como $HTTP_POST_VARS, todavía existen, y han existido desde PHP 3.

  • Las variables externas que ya no son registradas automáticamente. En otras palabras, a partir de PHP 4.2.0, la directiva PHP register_globals está deshabilitada (su valor es off) en php.ini. El método preferido para obtener acceso a éstos valores es por medio de las "matrices autoglobales" mencionados anteriormente. Los scripts, libros y tutoriales antiguos pueden asumir que ésta directiva es definida automáticamente como "on". Si es así, puede usar, por ejemplo, $id desde la URL http://www.example.com/foo.php?id=42. Por otra parte, no importa si el valor de la directiva es "on" u "off", $_GET['id'] está siempre disponible.

Para más detalles relacionados con estos cambios, puede ver la sección sobre variables predefinidas.

Anterior | Inicio | Siguiente
Uso de Formularios HTML | Subir | ¿Y ahora qué?


¿Y ahora qué?

Con lo que hemos visto, puede entender la mayor parte del manual, y también los ejemplos que están disponibles en los archivos. También puede encontrar otros ejemplos en los diferentes sitios de php.net en la sección de enlaces: http://www.php.net/links.php.

Para ver una presentación que muestra más acerca de lo que puede hacer PHP, visite los diferentes sitios con material relacionado a las conferencias realizadas: http://conf.php.net/ y http://talks.php.net/.

Anterior | Inicio | Siguiente
Use de código antiguo con nuevas versiones de PHP | Subir | Instalación y configuración


Referencia del lenguaje

Manual de PHP
Anterior Siguiente

III. Referencia del lenguaje

Tabla de contenidos
10. Sintaxis básica
11. Tipos
12. Variables
13. Constantes
14. Expresiones
15. Operadores
16. Estructuras de Control
17. Funciones
18. Clases y Objetos (PHP 4)
19. Clases y Objetos (PHP 5)
20. Excepciones
21. Explicando las Referencias

Anterior | Inicio | Siguiente
Como cambiar los valores de la configuración |  | Sintaxis básica


Sintaxis básica

Manual de PHP
Anterior Siguiente

Capítulo 10. Sintaxis básica

Tabla de contenidos
Saliendo de HTML
Separación de instrucciones
Comentarios

Saliendo de HTML

Para interpretar un archivo, php símplemente interpreta el texto del archivo hasta que encuentra uno de los carácteres especiales que delimitan el inicio de código PHP. El intérprete ejecuta entonces todo el código que encuentra, hasta que encuentra una etiqueta de fin de código, que le dice al intérprete que siga ignorando el código siguiente. Este mecanismo permite embeber código PHP dentro de HTML: todo lo que está fuera de las etiquetas PHP se deja tal como está, mientras que el resto se interpreta como código.

Hay cuatro conjuntos de etiquetas que pueden ser usadas para denotar bloques de código PHP. De estas cuatro, sólo 2 (<?php. . .?> y <script language="php">. . .</script>) están siempre disponibles; el resto pueden ser configuradas en el fichero de php.ini para ser o no aceptadas por el intérprete. Mientras que el formato corto de etiquetas (short-form tags) y el estilo ASP (ASP-style tags) pueden ser convenientes, no son portables como la versión de formato largo de etiquetas. Además, si se pretende embeber código PHP en XML o XHTML, será obligatorio el uso del formato <?php. . .?> para la compatibilidad con XML.

Las etiquetas soportadas por PHP son:

Ejemplo 10-1. Formas de escapar de HTML

1.  <?php echo("si quieres servir documentos XHTML o XML, haz como aqu&iacute;\n"); ?>

2.  <? echo ("esta es la m&aacute;s simple, una instrucci&oacute;n de procesado SGML \n"); ?>
    <?= expression ?> Esto es una abreviatura de "<? echo expression ?>"

3.  <script language="php">
        echo ("muchos editores (como FrontPage) no
              aceptan instrucciones de procesado");
    </script>

4.  <% echo ("Opcionalmente, puedes usar las etiquetas ASP"); %>
    <%= $variable; # Esto es una abreviatura de "<% echo . . ." %>

El método primero, <?php. . .?>, es el más conveniente, ya que permite el uso de PHP en código XML como XHTML.

El método segundo no siempre está disponible. El formato corto de etiquetas está disponible con la función short_tags() (sólo PHP 3), activando el parámetro del fichero de configuración de PHP short_open_tag, o compilando PHP con la opción --enable-short-tags del comando configure. Aunque esté activa por defecto en php.ini-dist, se desaconseja el uso del formato de etiquetas corto.

El método cuarto sólo está disponible si se han activado las etiquetas ASP en el fichero de configuración: asp_tags.

Nota: El soporte de etiquetas ASP se añadió en la versión 3.0.4.

Nota: No se debe usar el formato corto de etiquetas cuando se desarrollen aplicaciones o bibliotecas con intención de redistribuirlas, o cuando se desarrolle para servidores que no están bajo nuestro control, porque puede ser que el formato corto de etiquetas no esté soportado en el servidor. Para generar código portable y redistribuíble, asegúrate de no usar el formato corto de etiquetas.

La etiqueta de fin de bloque incluirá tras ella la siguiente línea si hay alguna presente. Además, la etiqueta de fin de bloque lleva implícito el punto y coma; no necesitas por lo tanto añadir el punto y coma final de la última línea del bloque PHP.

PHP permite estructurar bloques como:

Ejemplo 10-2. Métodos avanzados de escape

<?php
if ($expression) {
    ?>
    <strong>This is true.</strong>
    <?php
} else {
    ?>
    <strong>This is false.</strong>
    <?php
}
?>
Este ejemplo realiza lo esperado, ya que cuando PHP encuentra las etiquetas ?> de fin de bloque, empieza a escribir lo que encuentra tal cual hasta que encuentra otra etiqueta de inicio de bloque. El ejemplo anterior es, por supuesto, inventado. Para escribir bloques grandes de texto generamente es más eficiente separalos del código PHP que enviar todo el texto mediante las funciones echo(), print() o similares.

Anterior | Inicio | Siguiente
Referencia del lenguaje | Subir | Separación de instrucciones


Separación de instrucciones

Las separación de instrucciones se hace de la misma manera que en C o Perl - terminando cada declaración con un punto y coma.

La etiqueta de fin de bloque (?>) implica el fin de la declaración, por lo tanto lo siguiente es equivalente:

<?php
    echo "This is a test";
?>

<?php echo "This is a test" ?>

Anterior | Inicio | Siguiente
Sintaxis básica | Subir | Comentarios


Comentarios

PHP soporta el estilo de comentarios de 'C', 'C++' y de la interfaz de comandos de Unix. Por ejemplo:

<?php
    echo "This is a test"; // This is a one-line c++ style comment
    /* This is a multi line comment
       yet another line of comment */
    echo "This is yet another test";
    echo "One Final Test"; # This is shell-style style comment
?>

Los estilos de comentarios de una linea actualmente sólo comentan hasta el final de la linea o el bloque actual de código PHP, lo primero que ocurra.

<h1>This is an <?php # echo "simple";?> example.</h1>
<p>The header above will say 'This is an example'.

Hay que tener cuidado con no anidar comentarios de estilo 'C', algo que puede ocurrir al comentar bloques largos de código.

<?php
 /*
    echo "This is a test"; /* This comment will cause a problem */
 */
?>

Los estilos de comentarios de una linea actualmente sólo comentan hasta el final de la linea o del bloque actual de código PHP, lo primero que ocurra. Esto implica que el código HTML tras // ?> seráa impreso: ?> sale del modo PHP, retornando al modo HTML, el comentario // no le influye.

Anterior | Inicio | Siguiente
Separación de instrucciones | Subir | Tipos


Tipos

Manual de PHP
Anterior Siguiente

Capítulo 11. Tipos

Tabla de contenidos
Introducción
Booleanos
Enteros
Números de punto flotante
Cadenas
Matrices
Objetos
Recurso
NULL
Pseudo-tipos usados en esta documentación
Manipulación de Tipos

Introducción

PHP soporta ocho tipos primitivos.

Cuatro tipos escalares:

  • boolean

  • integer

  • float (número de punto-flotante, también conocido como 'double')

  • string

Dos tipos compuestos:

  • array

  • object

Y finalmente dos tipos especiales:

  • resource

  • NULL

Este manual introduce también algunos pseudo-tipos por razones de legibilidad:

  • mixed

  • number

  • callback

También puede encontrar algunas referencias al tipo "double". Considere al tipo double como el mismo que float, los dos nombres existen solo por razones históricas.

El tipo de una variable usualmente no es declarado por el programador; en cambio, es decidido en tiempo de compilación por PHP dependiendo del contexto en el que es usado la variable.

Nota: Si desea chequear el tipo y valor de una cierta expresión, use var_dump().

Nota: Si tan solo desea una representación legible para humanos del tipo para propósitos de depuración, use gettype(). Para chequear por un cierto tipo, no use gettype(); en su lugar utilice las funciones is_tipo. Algunos ejemplos:

<?php
$un_bool = TRUE;   // un valor booleano
$un_str  = "foo";  // una cadena
$un_str2 = 'foo';  // una cadena
$un_int  = 12;     // un entero

echo gettype($un_bool); // imprime: boolean
echo gettype($un_str);  // imprime: string

// Si este valor es un entero, incrementarlo en cuatro
if (is_int($un_int)) {
    $un_int += 4;
}

// Si $bool es una cadena, imprimirla
// (no imprime nada)
if (is_string($un_bool)) {
    echo "Cadena: $un_bool";
}
?>

Si quisiera forzar la conversión de una variable a cierto tipo, puede moldear la variable, o usar la función settype() sobre ella.

Note que una variable puede ser evaluada con valores diferentes en ciertas situaciones, dependiendo del tipo que posee en cada momento. Para más información, vea la sección sobre Manipulación de Tipos. Asimismo, puede encontrarse interesado en consultar las tablas de comparación de tipos, ya que éstas muestran ejemplos de las varias comparaciones relacionadas con tipos.

Anterior | Inicio | Siguiente
Comentarios | Subir | Booleanos


Booleanos

Este es el tipo más simple. Un boolean expresa un valor de verdad. Puede ser TRUE or FALSE.

Nota: El tipo booleano fue introducido en PHP 4.

Sintaxis

Para especificar un literal booleano, use alguna de las palabras clave TRUE o FALSE. Ambas son insensibles a mayúsculas y minúsculas.

<?php
$foo = True; // asignar el valor TRUE a $foo
?>

Usualmente se usa algún tipo de operador que deuelve un valor boolean, y luego éste es pasado a una estructura de control.

<?php
// == es un operador que prueba por
// igualdad y devuelve un booleano
if ($accion == "mostrar_version") {
    echo "La versión es 1.23";
}

// esto no es necesario...
if ($mostrar_separadores == TRUE) {
    echo "<hr>\n";
}

// ...porque se puede escribir simplemente
if ($mostrar_separadores) {
    echo "<hr>\n";
}
?>

Conversión a booleano

Para convertir explícitamente un valor a boolean, use el moldeamiento (bool) o (boolean). Sin embargo, en la mayoría de casos no es necesario usar el moldeamiento, ya que un valor será convertido automáticamente si un operador, función o estructura de control requiere un argumento tipo boolean.

Vea también Manipulación de Tipos.

Cuando se realizan conversiones a boolean, los siguientes valores son considerados FALSE:

  • el boolean FALSE mismo

  • el integer 0 (cero)

  • el float 0.0 (cero)

  • el valor string vacío, y el string "0"

  • un array con cero elementos

  • un object con cero variables miembro (sólo en PHP 4)

  • el tipo especial NULL (incluyendo variables no definidas)

  • objetos SimpleXML creados desde etiquetas vacías

Cualquier otro valor es considerado TRUE (incluyendo cualquier resource).

Aviso

¡-1 es considerado TRUE, como cualquier otro número diferente a cero (ya sea negativo o positivo)!

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>

Anterior | Inicio | Siguiente
Tipos | Subir | Enteros


Enteros

Un integer es un número del conjunto Z = {..., -2, -1, 0, 1, 2, ...}.

Vea también: Entero de longitud arbitraria / GMP, Números de punto flotante, y Precisión arbitraria / BCMath

Sintaxis

Los enteros pueden ser especificados en notación decimal (base-10), hexadecimal (base-16) u octal (base-8), opcionalmente precedidos por un signo (- o +).

Si usa la notación octal, debe preceder el número con un 0 (cero), para usar la notación hexadecimal, preceda el número con 0x.

Ejemplo 11-1. Literales tipo entero

<?php
$a = 1234; // número decimal
$a = -123; // un número negativo
$a = 0123; // número octal (equivalente al 83 decimal)
$a = 0x1A; // número hexadecimal (equivalente al 26 decimal)
?>
Formalmente, la posible estructura para literales enteros es:

decimal     : [1-9][0-9]*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+

octal       : 0[0-7]+

integer     : [+-]?decimal
            | [+-]?hexadecimal
            | [+-]?octal

El tamaño de un entero es dependiente de la plataforma, aunque un valor máximo de aproximadamente dos billones es el valor usual (lo que es un valor de 32 bits con signo). PHP no soporta enteros sin signo.

Aviso

Si un dígito inválido es pasado a un entero octal (p.ej. 8 o 9), el resto del número es ignorado.

Ejemplo 11-2. Curiosidad de valores octales

<?php
var_dump(01090); // 010 octal = 8 decimal
?>

Desbordamiento de enteros

Si especifica un número más allá de los límites del tipo integer, será interpretado en su lugar como un float. Asimismo, si realiza una operación que resulta en un número más allá de los límites del tipo integer, un float es retornado en su lugar.

<?php
$numero_grande =  2147483647;
var_dump($numero_grande);
// salida: int(2147483647)

$numero_grande =  2147483648;
var_dump($numero_grande);
// salida: float(2147483648)

// también es cierto para enteros hexadecimales especificados entre 2^31 y 2^32-1:
var_dump( 0xffffffff );
// salida: float(4294967295)

// esto no ocurre con los enteros indicados como hexadecimales más allá de 2^32-1:
var_dump( 0x100000000 );
// salida: int(2147483647)

$millon = 1000000;
$numero_grande =  50000 * $millon;
var_dump($numero_grande);
// salida: float(50000000000)
?>

Aviso

Desafortunadamente, había un fallo en PHP que provocaba que esto no siempre funcionara correctamente cuando se presentaban números negativos. Por ejemplo: cuando hace -50000 * $millon, el resultado será -429496728. Sin embargo, cuando ambos operandos son positivos no se presenta ningún problema.

Este problema fue resuelto en PHP 4.1.0.

No hay un operador de división de enteros en PHP. 1/2 produce el float 0.5. Puede moldear el valor a un entero para asegurarse de redondearlo hacia abajo, o puede usar la función round().

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Conversión a entero

Para convertir explícitamente un valor a integer, use alguno de los moldeamientos (int) o (integer). Sin embargo, en la mayoría de casos no necesita usar el moldeamiento, ya que un valor será convertido automáticamente si un operador, función o estructura de control requiere un argumento tipo integer. También puede convertir un valor a entero con la función intval().

Vea también Manipulación de Tipos.

Desde booleans

FALSE producirá 0 (cero), y TRUE producirá 1 (uno).

Desde números de punto flotante

Cuando se realizan conversiones desde un flotante a un entero, el número será redondeado hacia cero.

Si el flotante se encuentra más allá de los límites del entero (usualmente +/- 2.15e+9 = 2^31), el resultado es indefinido, ya que el flotante no tiene suficiente precisión para dar un resultado entero exacto. No se producirá una advertencia, ¡ni siquiera una noticia en este caso!

Aviso

Nunca moldee una fracción desconocida a integer, ya que esto en ocasiones produce resultados inesperados.

<?php
echo (int) ( (0.1+0.7) * 10 ); // imprime 7!
?>

Para más información, consulte la advertencia sobre precisión-flotante.

Desde cadenas

Vea Conversión de cadenas a números

Desde otros tipos

Atención

El comportamiento de convertir desde entero no es definido para otros tipos. Actualmente, el comportamiento es el mismo que si el valor fuera antes convertido a booleano. Sin embargo, no confíe en este comportamiente, ya que puede ser modificado sin aviso.

Anterior | Inicio | Siguiente
Booleanos | Subir | Números de punto flotante


Números de punto flotante

Los números de punto flotante (también conocidos como "flotantes", "dobles" o "números reales") pueden ser especificados usando cualquiera de las siguientes sintaxis:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>

Formalmente:

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM ( ({LNUM} | {DNUM}) [eE][+-]? {LNUM})

El tamaño de un flotante depende de la plataforma, aunque un valor común consiste en un máximo de ~1.8e308 con una precisión de aproximadamente 14 dígitos decimales (lo que es un valor de 64 bits en formato IEEE).

Precisión del punto flotante

Es bastante común que algunas fracciones decimales simples como 0.1 o 0.7 no puedan ser convertidas a su representación binaria interna sin perder un poco de precisión. Esto puede llevar a resultados confusos: por ejemplo, floor((0.1+0.7)*10) usualmente devolverá 7 en lugar del esperado 8 ya que el resultado de la representación interna es en realidad algo como 7.9999999999....

Esto se encuentra relacionado al hecho de que es imposible expresar de forma exacta algunas fracciones en notación decimal con un número finito de dígitos. Por ejemplo, 1/3 en forma decimal se convierte en 0.3333333. . ..

Así que nunca confíe en resultados de números flotantes hasta el último dígito, y nunca compare números de punto flotante para conocer si son equivalentes. Si realmente necesita una mejor precisión, es buena idea que use las funciones matemáticas de precisión arbitraria o las funciones gmp en su lugar.

Conversión a flotante

Para más información sobre cuándo y cómo son convertidas las cadenas a flotantes, vea la sección titulada Conversión de cadenas a números. Para valores de otros tipos, la conversión es la misma que si el valor hubiese sido convertido a entero y luego a flotante. Vea la sección Conversión a entero para más información. A partir de PHP 5, una noticia es generada si intenta convertir un objeto a flotante.

Anterior | Inicio | Siguiente
Enteros | Subir | Cadenas


Cadenas

Un valor string es una serie de caracteres. En PHP, un caracter es lo mismo que un byte, es decir, hay exactamente 256 tipos de caracteres diferentes. Esto implica también que PHP no tiene soporte nativo de Unicode. Vea utf8_encode() y utf8_decode() para conocer sobre el soporte Unicode.

Nota: El que una cadena se haga muy grande no es un problema. PHP no impone límite práctico alguno sobre el tamaño de las cadenas, así que no hay ninguna razón para preocuparse sobre las cadenas largas.

Sintaxis

Un literal de cadena puede especificarse en tres formas diferentes.

  • comillas simples

  • comillas dobles

  • sintaxis heredoc

Comillas simples

La forma más simple de especificar una cadena sencilla es rodearla de comillas simples (el caracter ').

Para especificar una comilla sencilla literal, necesita escaparla con una barra invertida (\), como en muchos otros lenguajes. Si una barra invertida necesita aparecer antes de una comilla sencilla o al final de la cadena, necesitará doblarla. Note que si intenta escapar cualquier otro caracter, ¡la barra invertida será impresa también! De modo que, por lo general, no hay necesidad de escapar la barra invertida misma.

Nota: En PHP 3, se generará una advertencia de nivel E_NOTICE cuando esto ocurra.

Nota: A diferencia de las otras dos sintaxis, las variables y secuencias de escape para caracteres especiales no serán expandidas cuando ocurren al interior de cadenas entre comillas sencillas.

<?php
echo 'esta es una cadena simple';

echo 'También puede tener saltos de línea embebidos
en las cadenas de esta forma, ya que
es válido';

// Imprime: Arnold dijo una vez: "I'll be back"
echo 'Arnold dijo una vez: "I\'ll be back"';

// Imprime: Ha eliminado C:\*.*?
echo 'Ha eliminado C:\\*.*?';

// Imprime: Ha eliminado C:\*.*?
echo 'Ha eliminado C:\*.*?';

// Imprime: Esto no va a expandirse: \n una nueva línea
echo 'Esto no va a expandirse: \n una nueva línea';

// Imprime: Las variables no se $expanden $tampoco
echo 'Las variables no se $expanden $tampoco';
?>

Comillas dobles

Si la cadena se encuentra rodeada de comillas dobles ("), PHP entiende más secuencias de escape para caracteres especiales:

Tabla 11-1. Caracteres escapados

secuencia | significado
\n | alimentación de línea (LF o 0x0A (10) en ASCII)
\r | retorno de carro (CR o 0x0D (13) en ASCII)
\t | tabulación horizontal (HT o 0x09 (9) en ASCII)
\\ | barra invertida
\$ | signo de dólar
\" | comilla-doble
\[0-7]{1,3} | la secuencia de caracteres que coincide con la expresión regular es un caracter en notación octal
\x[0-9A-Fa-f]{1,2} | la secuencia de caracteres que coincide con la expresión regular es un caracter en notación hexadecimal

Nuevamente, si intenta escapar cualquier otro caracter, ¡la barra invertida será impresa también! Antes de PHP 5.1.1, la barra invertida en \{$var} no venía imprimiéndose.

Pero la característica más importante de las cadenas entre comillas dobles es el hecho de que los nombres de variables serán expandidos. Vea procesamiento de cadenas para más detalles.

Heredoc

Otra forma de delimitar cadenas es mediante el uso de la sintaxis heredoc ("<<<"). Debe indicarse un identificador (seguido por un salto de línea) después de la secuencia <<<, luego la cadena, y luego el mismo identificador para cerrar la cita.

El identificador de cierre debe comenzar en la primera columna de la línea. Asimismo, el identificador usado debe seguir las mismas reglas que cualquier otra etiqueta en PHP: debe contener solo caracteres alfanuméricos y de subrayado, y debe iniciar con un caracter no-dígito o de subrayado.

Aviso

Es muy importante notar que la línea con el identificador de cierre no contenga otros caracteres, excepto quizás por un punto-y-coma (;). Esto quiere decir en especial que el identificador no debe usar sangría, y no debe haber espacios o tabuladores antes o después del punto-y-coma. Es importante también notar que el primer caracter antes del identificador de cierre debe ser un salto de línea, tal y como lo defina su sistema operativo. Esto quiere decir \r en Macintosh, por ejemplo. El delimitador de cierre (posiblemente seguido de un punto-y-coma) debe ser seguido también por una nueva línea.

Si esta regla es rota y el identificador de cierre no es "limpio", entonces no se considera un identificador de cierre y PHP continuará en busca de uno. Si, en tal caso, no se encuentra un identificador de cierre apropiado, entonces un error del analizador sintáctico resultará con el número de línea apuntando al final del script.

No es permitido usar la sintaxis heredoc al inicializar miembros de clase. Use otro tipo de sintaxis en su lugar.

Ejemplo 11-3. Ejemplo inválido

<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}
?>

El texto heredoc se comporta tal como una cadena entre comillas dobles, sin las comillas dobles. Esto quiere decir que no necesita escapar tales comillas en sus bloques heredoc, pero aun puede usar los códigos de escape listados anteriormente. Las variables son expandidas, aunque debe tenerse el mismo cuidado cuando se expresen variables complejas al interior de un segmento heredoc, al igual que con otras cadenas.

Ejemplo 11-4. Ejemplo de uso de una cadena heredoc

<?php
$cadena = <<<FIN
Ejemplo de una cadena
que se extiende por varias líneas
usando la sintaxis heredoc.
FIN;

/* Un ejemplo más complejo, con variables. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$nombre = 'MiNombre';

echo <<<FIN
Mi nombre es "$nombre". Estoy imprimiendo algo de $foo->foo.
Ahora, estoy imprimiendo algo de {$foo->bar[1]}.
Esto debería imprimir una letra 'A' mayúscula: \x41
FIN;
?>

Nota: El soporte heredoc fue agregado en PHP 4.

Procesamiento de variables

Cuando una cadena es especificada en comillas dobles o al interior de un bloque heredoc, las variables son interpretadas en su interior.

Existen dos tipos de sintaxis: una simple y una compleja. La sintaxis simple es la más común y conveniente. Esta ofrece una forma de interpretar una variable, un valor array, o una propiedad de un object.

La sintaxis compleja fue introducida en PHP 4, y puede reconocerse por las llaves que rodean la expresión.

Sintaxis simple

Si un signo de dólar ($) es encontrado, el analizador sintáctico tomará ambiciosamente tantos lexemas como le sea posible para formar un nombre de variable válido. Rodee el nombre de la variable de llaves si desea especificar explícitamente el final del nombre.

<?php
$cerveza = 'Heineken';
echo "El sabor de varias $cerveza's es excelente"; // funciona, "'" no es un caracter válido para nombres de variables
echo "Tomó algunas $cervezas";   // no funciona, 's' es un caracter válido para nombres de variables
echo "Tomó algunas ${cerveza}s"; // funciona
echo "Tomó algunas {$cerveza}s"; // funciona
?>

De forma similar, puede hacer que un índice de un array o una propiedad de un object sean interpretados. En el caso de los índices de matrices, el corchete cuadrado de cierre (]) marca el final del índice. Para las propiedades de objetos, se aplican las mismas reglas de las variables simples, aunque con las propiedades de objetos no existe un truco como el que existe con las variables.

<?php
// Estos ejemplos son específicos al uso de matrices al interior de
// cadenas. Cuando se encuentre por fuera de una cadena, siempre rodee
// de comillas las claves tipo cadena de su matriz, y no use
// {llaves} por fuera de cadenas tampoco.

// Mostremos todos los errores
error_reporting(E_ALL);

$frutas = array('fresa' => 'roja', 'banano' => 'amarillo');

// Funciona pero note que esto trabaja de forma diferente por fuera de
// cadenas entre comillas
echo "Un banano es $frutas[banano].";

// Funciona
echo "Un banano es {$frutas['banano']}.";

// Funciona, pero PHP busca una constante llamada banano primero, como
// se describe más adelante.
echo "Un banano es {$frutas[banano]}.";

// No funciona, use llaves. Esto resulta en un error de análisis sintáctico.
echo "Un banano es $frutas['banano'].";

// Funciona
echo "Un banano es " . $frutas['banano'] . ".";

// Funciona
echo "Este cuadro tiene $cuadro->ancho metros de ancho.";

// No funciona. Para una solución, vea la sintaxis compleja.
echo "Este cuadro tiene $cuadro->ancho00 centímetros de ancho.";
?>

Para cualquier cosa más sofisticada, debería usarse la sintaxis compleja.

Sintaxis compleja (llaves)

Esta no es llamada compleja porque la sintaxis sea compleja, sino porque es posible incluir expresiones complejas de esta forma.

De hecho, de esta forma puede incluir cualquier valor que sea parte del espacio de nombres al interior de cadenas. Simplemente escriba la expresión en la misma forma que lo haría si se encontrara por fuera de una cadena, y luego la ubica entre { y }. Ya que no es posible escapar '{', esta sintaxis será reconocida únicamente cuando el caracter $ se encuentra inmediatamente después de {. (Use "{\$" para obtener una secuencia literal "{$"). Algunos ejemplos para aclarar el asunto:

<?php
// Mostremos todos los errores
error_reporting(E_ALL);

$genial = 'fantástico';

// No funciona, imprime: Esto es { fantástico}
echo "Esto es { $genial}";

// Funciona, imprime: Esto es fantástico
echo "Esto es {$genial}";
echo "Esto es ${genial}";

// Funciona
echo "Este cuadro tiene {$cuadro->ancho}00 centímetros de ancho.";

// Funciona
echo "Esto funciona: {$matriz[4][3]}";

// Esto está mal por la misma razón por la que $foo[bar] está mal por
// fuera de una cadena. En otras palabras, aun funciona pero ya que
// PHP busca primero una constante llamada foo, genera un error de
// nivel E_NOTICE (constante indefinida).
echo "Esto está mal: {$matriz[foo][3]}";

// Funciona. Cuando se usan matrices multi-dimensionales, use siempre
// llaves alrededor de las matrices al interior de cadenas
echo "Esto funciona: {$matriz['foo'][3]}";

// Funciona.
echo "Esto funciona: " . $arr['foo'][3];

echo "Puede incluso escribir {$obj->valores[3]->nombre}";

echo "Este es el valor de la variable llamada $nombre: {${$nombre}}";
?>

Acceso a cadenas y modificación por caracter

Los caracteres al interior de una cadena pueden ser consultados y modificados al especificar el desplazamiento, comenzando en cero, del caracter deseado después de la cadena usando corchetes cuadrados tipo-matriz como $cadena[42], así que piense en una cadena como un array de caracteres.

Nota: También es posible acceder a los caracteres usando llaves como $cadena{42} para el mismo propósito. Sin embargo, se prefiere el uso de corchetes cuadrados ya que el estilo {corchetes} es considerado obsoleto a partir de PHP 6.

Ejemplo 11-5. Algunos ejemplos de cadenas

<?php
// Obtener el primer caracter de una cadena
$cadena = 'Esta es una prueba.';
$primer = $cadena[0];

// Obtener el tercer caracter de una cadena
$tercer = $cadena[2];

// Obtener el último caracter de una cadena.
$cadena = 'Esta es también una prueba.';
$ultimo = $cadena[strlen($cadena)-1];

// Modificar el último caracter de una cadena
$cadena = 'Observe el mar';
$cadena[strlen($cadena)-1] = 'l';

// El método alternativo usando {} es obsoleto desde PHP 6
$tercer = $cadena{2};

?>

Funciones y operadores útiles

Las cadenas pueden ser concatenadas usando el operador '.' (punto). Note que el operador '+' (adición) no funciona para este propósito. Por favor refiérase a la sección Operadores de cadena para más información.

Existen bastantes funciones útiles para la modificación de cadenas.

Vea la sección de funciones de cadena para consultar funciones de uso general, o las funciones de expresiones regulares para búsquedas y reemplazos avanzados (en dos sabores: Perl y POSIX extendido).

Existen también funciones para cadenas tipo URL, y funciones para encriptar/descifrar cadenas (mcrypt y mhash).

Finalmente, si aun no ha encontrado lo que busca, vea también las funciones de tipo de caracter.

Conversión a cadena

Es posible convertir un valor a una cadena usando el moldeamiento (string), o la función strval(). La conversión a cadena se realiza automáticamente para usted en el contexto de una expresión cuando se necesita una cadena. Esto ocurre cuando usa las funciones echo() o print(), o cuando compara el valor de una variable con una cadena. El contenido de las secciones del manual sobre Tipos y Manipulación de Tipos ayudan a aclarar este hecho. Vea también settype().

Un valor boolean TRUE es convertido a la cadena "1", el valor FALSE se representa como "" (una cadena vacía). De esta forma, usted puede convertir de ida y vuelta entre valores booleanos y de cadena.

Un número integer o de punto flotante (float) es convertido a una cadena que representa el número con sus dígitos (incluyendo la parte del exponente para los números de punto flotante).

Nota: El caracter de punto decimal es definido en la localización del script (categoría LC_NUMERIC). Vea setlocale().

Las matrices son siempre convertidas a la cadena "Array", de modo que no puede volcar los contenidos de un valor array con echo() o print() para ver lo que se encuentra en su interior. Para ver un elemento, usted tendría que hacer algo como echo $arr['foo']. Vea más adelante algunos consejos sobre el volcado/vista del contenido completo.

Los objetos son convertidos siempre a la cadena "Object". Si quisiera imprimir los valores de variables miembro de un object para efectos de depuración, lea los parágrafos siguientes. Si quiere conocer el nombre de clase del cual un objeto dado es instancia, use get_class(). A partir de PHP 5, el método __toString() es usado si resulta aplicable.

Los recursos son siempre convertidos a cadenas con la estructura "Resource id #1" en donde 1 es el número único del valor resource asignado por PHP durante tiempo de ejecución. Si quisiera obtener el tipo del recurso, use get_resource_type().

NULL se convierte siempre a una cadena vacía.

Como puede apreciar, el imprimir matrices, objetos o recursos no le ofroce información útil sobre los valores mismos. Consulte las funciones print_r() y var_dump() para conocer mejores formas de imprimir valores para depuración.

También puede convertir valores PHP a cadenas y almacenarlas permanentemente. Este método es conocido como seriación, y puede ser efectuado con la función serialize(). También puede seriar valores PHP a estructuras XML, si cuenta con soporte WDDX en su configuración de PHP.

Conversión de cadenas a números

Cuando una cadena es evaluada como un valor numérico, el valor resultante y su tipo son determinados como sigue.

La cadena será evaluada como un float si contiene cualquier caracter entre '.', 'e', o 'E'. De otra forma, evaluará como un entero.

El valor es dado por la porción inicial de la cadena. Si la cadena comienza con datos numéricos válidos, éstos serán el valor usado. De lo contrario, el valor será 0 (cero). Un signo opcional es considerado un dato numérico válido, seguido por uno o más dígitos (que pueden contener un punto decimal), seguidos por un exponente opcional. El exponente es una 'e' o 'E' seguida de uno o más dígitos.

<?php
$foo = 1 + "10.5";                // $foo es flotante (11.5)
$foo = 1 + "-1.3e3";              // $foo es flotante (-1299)
$foo = 1 + "bob-1.3e3";           // $foo es entero (1)
$foo = 1 + "bob3";                // $foo es entero (1)
$foo = 1 + "10 Cerditos";         // $foo es entero (11)
$foo = 4 + "10.2 Cerditos";       // $foo es flotante (14.2)
$foo = "10.0 cerdos " + 1;        // $foo es flotante (11)
$foo = "10.0 cerdos " + 1.0;      // $foo es flotante (11)
?>

Para más información sobre esta conversión, vea la página del manual Unix sobre strtod(3).

Si quisiera probar cualquiera de los ejemplos presentados en esta sección, puede cortar y pegar los ejemplos e insertar la siguiente línea para verificar por sí mismo lo que está sucediendo:

<?php
echo "\$foo==$foo; tipo es " . gettype ($foo) . "<br />\n";
?>

No espere obtener el código de un caractar convirtiéndolo a un entero (como lo haría en C, por ejemplo). Use las funciones ord() y chr() para convertir entre códigos de caracter y caracteres.

Anterior | Inicio | Siguiente
Números de punto flotante | Subir | Matrices


Matrices

Una matriz en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo es optimizado en varias formas, de modo que puede usarlo como una matriz real, o una lista (vector), tabla asociativa (caso particular de implementación de un mapa), diccionario, colección, pila, cola y probablemente más. Ya que puede tener otra matriz PHP como valor, es realmente fácil simular árboles.

Una explicación sobre tales estructuras de datos se encuentra por fuera del propósito de este manual, pero encontrará al menos un ejemplo de cada uno de ellos. Para más información, le referimos a literatura externa sobre este amplio tema.

Sintaxis

Especificación con array()

Un array puede ser creado por la construcción de lenguaje array(). Ésta toma un cierto número de parejas clave => valor separadas con coma.

array( [clave =>] valor
     , ...
     )
// clave puede ser un integer o string
// valor puede ser cualquier valor

<?php
$matriz = array("foo" => "bar", 12 => true);

echo $matriz["foo"]; // bar
echo $matriz[12];    // 1
?>

Una clave puede ser un integer o un string. Si una clave es la representación estándar de un integer, será interpretada como tal (es decir, "8" será interpretado como 8, mientras que "08" será interpretado como "08"). Los valores flotantes en clave serán truncados a valores tipo integer. No existen tipos diferentes para matrices indexadas y asociativas en PHP; sólo existe un tipo de matriz, el cual puede contener índices tipo entero o cadena.

Un valor puede ser de cualquier tipo en PHP.

<?php
$matriz = array("unamatriz" => array(6 => 5, 13 => 9, "a" => 42));

echo $matriz["unamatriz"][6];    // 5
echo $matriz["unamatriz"][13];   // 9
echo $matriz["unamatriz"]["a"];  // 42
?>

Si no especifica una clave para un valor dado, entonces es usado el máximo de los índices enteros, y la nueva clave será ese valor máximo + 1. Si especifica una clave que ya tiene un valor asignado, ése valor será sobrescrito.

<?php
// Esta matriz es la misma que ...
array(5 => 43, 32, 56, "b" => 12);

// ...esta matriz
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>

Aviso

A partir de PHP 4.3.0, el comportamiento de generación de índices descrito ha cambiado. Ahora, si agrega un elemento a una matriz cuya clave máxima actual es un valor negativo, entonces la siguiente clave creada será cero (0). Anteriormente, el nuevo índice hubiera sido establecido a la clave mayor existente + 1, al igual que con los índices positivos.

Al usar TRUE como clave, el valor será evaluado al integer 1. Al usar FALSE como clave, el valor será evaluado al integer 0. Al usar NULL como clave, el valor será evaluado a una cadena vacía. El uso de una cadena vacía como clave creará (o reemplazará) una clave con la cadena vacía y su valor; no es lo mismo que usar corchetes vacíos.

No es posible usar matrices u objetos como claves. Al hacerlo se producirá una advertencia: Illegal offset type.

Creación/modificación con sintaxis de corchetes cuadrados

Es posible modificar una matriz existente al definir valores explícitamente en ella.

Esto es posible al asignar valores a la matriz al mismo tiempo que se especifica la clave entre corchetes. También es posible omitir la clave, agregar una pareja vacía de corchetes ("[]") al nombre de la variable en ese caso.

$matriz[clave] = valor;
$matriz[] = valor;
// clave puede ser un integer o string
// valor puede ser cualquier valor
Si $matriz no existe aun, ésta será creada. De modo que esta es también una forma alternativa de especificar una matriz. Para modificar un cierto valor, simplemente asigne un nuevo valor a un elemento especificado con su clave. Si desea remover una pareja clave/valor, necesita eliminarla mediante unset().

<?php
$matriz = array(5 => 1, 12 => 2);

$matriz[] = 56;    // Esto es igual que $matriz[13] = 56;
                   // en este punto del script

$matriz["x"] = 42; // Esto agrega un nuevo elemento a la
                   // matriz con la clave "x"

unset($matriz[5]); // Esto elimina el elemento de la matriz

unset($matriz);    // Esto elimina la matriz completa
?>

Nota: Como se menciona anteriormente, si provee los corchetes sin ninguna clave especificada, entonces se toma el máximo de los índices enteros existentes, y la nueva clave será ese valor máximo + 1. Si no existen índices enteros aun, la clave será 0 (cero). Si especifica una clave que ya tenía un valor asignado, el valor será reemplazado.

Aviso

A partir de PHP 4.3.0, el comportamiento de generación de índices descrito ha cambiado. Ahora, si agrega un elemento al final de una matriz en la que la clave máxima actual es negativa, la siguiente clave creada será cero (0). Anteriormente, el nuevo índice hubiera sido definido como la mayor clave + 1, al igual que ocurre con los índices positivos.

Note que la clave entera máxima usada para este caso no necesita existir actualmente en la matriz. Tan solo debe haber existido en la matriz en algún punto desde que la matriz haya sido re-indexada. El siguiente ejemplo ilustra este caso:

<?php
// Crear una matriz simple.
$matriz = array(1, 2, 3, 4, 5);
print_r($matriz);

// Ahora eliminar cada ítem, pero dejar la matriz misma intacta:
foreach ($matriz as $i => $valor) {
    unset($matriz[$i]);
}
print_r($matriz);

// Agregar un ítem (note que la nueva clave es 5, en lugar de 0 como
// podría esperarse).
$matriz[] = 6;
print_r($matriz);

// Re-indexar:
$matriz = array_values($matriz);
$matriz[] = 7;
print_r($matriz);
?>

El resultado del ejemplo seria:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Funciones útiles

Existe un buen número de funciones útiles para trabajar con matrices. Consulte la sección funciones de matrices.

Nota: La función unset() le permite remover la definición de claves de una matriz. Tenga en cuenta que la matriz NO es re-indexada. Si sólo usa "índices enteros comunes" (comenzando desde cero, incrementando en uno), puede conseguir el efecto de re-indexación usando array_values().

<?php
$a = array(1 => 'uno', 2 => 'dos', 3 => 'tres');
unset($a[2]);
/* producirá una matriz que hubiera sido definida como
   $a = array(1 => 'uno', 3 => 'tres');
   y NO
   $a = array(1 => 'uno', 2 =>'tres');
*/

$b = array_values($a);
// Ahora $b es array(0 => 'uno', 1 =>'tres')
?>

La estructura de control foreach existe específicamente para las matrices. Ésta provee una manera fácil de recorrer una matriz.

Recomendaciones sobre matrices y cosas a evitar

¿Porqué es incorrecto $foo[bar]?

Siempre deben usarse comillas alrededor de un índice de matriz tipo cadena literal. Por ejemplo, use $foo['bar'] y no $foo[bar]. ¿Pero qué está mal en $foo[bar]? Es posible que haya visto la siguiente sintaxis en scripts viejos:

<?php
$foo[bar] = 'enemigo';
echo $foo[bar];
// etc
?>

Esto está mal, pero funciona. Entonces, ¿porqué está mal? La razón es que este código tiene una constante indefinida (bar) en lugar de una cadena ('bar' - note las comillas), y puede que en el futuro PHP defina constantes que, desafortunadamente para su código, tengan el mismo nombre. Funciona porque PHP automáticamente convierte una cadena pura (una cadena sin comillas que no corresponda con símbolo conocido alguno) en una cadena que contiene la cadena pura. Por ejemplo, si no se ha definido una constante llamada bar, entonces PHP reemplazará su valor por la cadena 'bar' y usará ésta última.

Nota: Esto no quiere decir que siempre haya que usar comillas en la clave. No querrá usar comillas con claves que sean constantes o variables, ya que en tal caso PHP no podrá interpretar sus valores.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Matriz simple:
$matriz = array(1, 2);
$conteo = count($matriz);
for ($i = 0; $i < $conteo; $i++) {
    echo "\nRevisando $i: \n";
    echo "Mal: " . $matriz['$i'] . "\n";
    echo "Bien: " . $matriz[$i] . "\n";
    echo "Mal: {$matriz['$i']}\n";
    echo "Bien: {$matriz[$i]}\n";
}
?>

Nota: El resultado del ejemplo seria:

Revisando 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mal:
Bien: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mal:
Bien: 1

Revisando 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mal:
Bien: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mal:
Bien: 2

Más ejemplos para demostrar este hecho:

<?php
// Mostrar todos los errores
error_reporting(E_ALL);

$matriz = array('fruta' => 'manzana', 'vegetal' => 'zanahoria');

// Correcto
print $matriz['fruta'];   // manzana
print $matriz['vegetal']; // zanahoria

// Incorrecto. Esto funciona pero también genera un error de PHP de
// nivel E_NOTICE ya que no hay definida una constante llamada fruta
//
// Notice: Use of undefined constant fruta - assumed 'fruta' in...
print $matriz[fruta];    // manzana

// Definamos una constante para demostrar lo que pasa. Asignaremos el
// valor 'vegetal' a una constante llamada fruta.
define('fruta', 'vegetal');

// Note la diferencia ahora
print $matriz['fruta'];  // manzana
print $matriz[fruta];    // zanahoria

// Lo siguiente está bien ya que se encuentra al interior de una
// cadena. Las constantes no son procesadas al interior de
// cadenas, así que no se produce un error E_NOTICE aquí
print "Hola $matriz[fruta]";  // Hola manzana

// Con una excepción, los corchetes que rodean las matrices al
// interior de cadenas permiten el uso de constantes
print "Hola {$matriz[fruta]}";    // Hola zanahoria
print "Hola {$matriz['fruta']}";  // Hola manzana

// Esto no funciona, resulta en un error de intérprete como:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Esto se aplica también al uso de superglobales en cadenas, por supuesto
print "Hola $matriz['fruta']";
print "Hola $_GET['foo']";

// La concatenación es otra opción
print "Hola " . $matriz['fruta']; // Hola manzana
?>

Cuando habilita error_reporting() para mostrar errores de nivel E_NOTICE (como por ejemplo definiendo el valor E_ALL) verá estos errores. Por defecto, error_reporting se encuentra configurado para no mostrarlos.

Tal y como se indica en la sección de sintaxis, debe existir una expresión entre los corchetes cuadrados ('[' y ']'). Eso quiere decir que puede escribir cosas como esta:

<?php
echo $matriz[alguna_funcion($bar)];
?>

Este es un ejemplo del uso de un valor devuelto por una función como índice de matriz. PHP también conoce las constantes, tal y como ha podido apreciar aquellas E_* antes.

<?php
$descripciones_de_error[E_ERROR]   = "Un error fatal ha ocurrido";
$descripciones_de_error[E_WARNING] = "PHP produjo una advertencia";
$descripciones_de_error[E_NOTICE]  = "Esta es una noticia informal";
?>

Note que E_ERROR es también un identificador válido, asi como bar en el primer ejemplo. Pero el último ejemplo es equivalente a escribir:

<?php
$descripciones_de_error[1] = "Un error fatal ha ocurrido";
$descripciones_de_error[2] = "PHP produjo una advertencia";
$descripciones_de_error[8] = "Esta es una noticia informal";
?>

ya que E_ERROR es igual a 1, etc.

Tal y como lo hemos explicado en los anteriores ejemplos, $foo[bar] aun funciona pero está mal. Funciona, porque debido a su sintaxis, se espera que bar sea una expresión constante. Sin embargo, en este caso no existe una constante con el nombre bar. PHP asume ahora que usted quiso decir bar literalmente, como la cadena "bar", pero que olvidó escribir las comillas.

¿Entonces porqué está mal?

En algún momento en el futuro, el equipo de PHP puede querer usar otra constante o palabra clave, o puede que usted introduzca otra constante en su aplicación, y entonces se ve en problemas. Por ejemplo, en este momento no puede usar las palabras empty y default de esta forma, ya que son palabras clave reservadas especiales.

Nota: Reiterando, al interior de un valor string entre comillas dobles, es válido no rodear los índices de matriz con comillas, así que "$foo[bar]" es válido. Consulte los ejemplos anteriores para más detalles sobre el porqué, asi como la sección sobre procesamiento de variables en cadenas.

Conversión a matriz

Para cualquiera de los tipos: integer, float, string, boolean y resource, si convierte un valor a un array, obtiene una matriz con un elemento (con índice 0), el cual es el valor escalar con el que inició.

Si convierte un object a una matriz, obtiene las propiedades (variables miembro) de ese objeto como los elementos de la matriz. Las claves son los nombres de las variables miembro con algunas excepciones notables: las variables privadas tienen el nombre de la clase al comienzo del nombre de la variable; las variables protegidas tienen un caracter '*' al comienzo del nombre de la variable. Estos valores adicionados al inicio tienen bytes nulos a los lados. Esto puede resultar en comportamiento inesperado.

<?php

class A {
    private $A; // Este campo se convertirá en '\0A\0A'
}

class B extends A {
    private $A; // Este campo se convertirá en '\0B\0A'
    public $AA; // Este campo se convertirá en 'AA'
}

var_dump((array) new B());
?>

En el ejemplo anterior parecerá que se tienen dos claves llamadas 'AA', aunque en realidad una de ellas se llama '\0A\0A'.

Si convierte un valor NULL a matriz, obtiene una matriz vacía.

Comparación

Es posible comparar matrices con array_diff() y mediante operadores de matriz.

Ejemplos

El tipo matriz en PHP es bastante versátil, así que aquí se presentan algunos ejemplos que demuestran el poder completo de las matrices.

<?php
// esto
$a = array( 'color'  => 'rojo',
            'sabor'  => 'dulce',
            'forma'  => 'redonda',
            'nombre' => 'manzana',
                       4        // la clave será 0
          );

// es completamente equivalente a
$a['color']  = 'rojo';
$a['sabor']  = 'dulce';
$a['forma']  = 'redonda';
$a['nombre'] = 'manzana';
$a[]         = 4;        // la clave será 0

$b[] = 'a';
$b[] = 'b';
$b[] = 'c';
// resultará en la matriz array(0 => 'a' , 1 => 'b' , 2 => 'c'),
// o simplemente array('a', 'b', 'c')
?>

Ejemplo 11-6. Uso de array()

<?php
// Array como mapa de propiedades
$mapa = array( 'versión'          => 4,
               'SO'               => 'Linux',
               'idioma            => 'inglés',
               'etiquetas_cortas' => true
            );

// claves estrictamente numéricas
$matriz = array( 7,
                 8,
                 0,
                 156,
                 -10
               );
// esto es lo mismo que array(0 => 7, 1 => 8, ...)

$cambios = array(         10, // clave = 0
                  5    =>  6,
                  3    =>  7,
                  'a'  =>  4,
                          11, // clave = 6 (el índice entero máximo era 5)
                  '8'  =>  2, // clave = 8 (¡entero!)
                  '02' => 77, // clave = '02'
                  0    => 12  // el valor 10 será reemplazado por 12
                );

// matriz vacía
$vacio = array();
?>

Ejemplo 11-7. Colección

<?php
$colores = array('rojo', 'azul', 'verde', 'amarillo');

foreach ($colores as $color) {
    echo "¿Le gusta el $color?\n";
}

?>

El resultado del ejemplo seria:

¿Le gusta el rojo?
¿Le gusta el azul?
¿Le gusta el verde?
¿Le gusta el amarillo?

Modificar los valores de la matriz directamente es posible a partir de PHP 5, pasándolos por referencia. Las versiones anteriores necesitan una solución alternativa:

Ejemplo 11-8. Colección

<?php
// PHP 5
foreach ($colores as &$color) {
    $color = strtoupper($color);
}
unset($color); /* se asegura de que escrituras subsiguientes a $color
no modifiquen el último elemento de la matriz */

// Alternativa para versiones anteriores
foreach ($colores as $clave => $color) {
    $colores[$clave] = strtoupper($color);
}

print_r($colores);
?>

El resultado del ejemplo seria:

Array
(
    [0] => ROJO
    [1] => AZUL
    [2] => VERDE
    [3] => AMARILLO
)

Este ejemplo crea una matriz con base uno.

Ejemplo 11-9. Índice con base 1

<?php
$primercuarto  = array(1 => 'Enero', 'Febrero', 'Marzo');
print_r($primercuarto);
?>

El resultado del ejemplo seria:

Array
(
    [1] => 'Enero'
    [2] => 'Febrero'
    [3] => 'Marzo'
)

Ejemplo 11-10. Llenado de una matriz

<?php
// llenar una matriz con todos los ítems de un directorio
$gestor = opendir('.');
while (false !== ($archivo = readdir($gestor))) {
    $archivos[] = $archivo;
}
closedir($gestor);
?>

Las matrices son ordenadas. Puede también cambiar el orden usando varias funciones de ordenamiento. Vea la sección sobre funciones de matrices para más información. Puede contar el número de items en una matriz usando la función count().

Ejemplo 11-11. Ordenamiento de una matriz

<?php
sort($archivos);
print_r($archivos);
?>

Dado que el valor de una matriz puede ser cualquier cosa, también puede ser otra matriz. De esta forma es posible crear matrices recursivas y multi-dimensionales.

Ejemplo 11-12. Matrices recursivas y multi-dimensionales

<?php
$frutas = array ( "frutas"  => array ( "a" => "naranja",
                                       "b" => "banano",
                                       "c" => "manzana"
                                     ),
                  "numeros" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "hoyos"   => array (      "primero",
                                       5 => "segundo",
                                            "tercero"
                                     )
                );

// Algunos ejemplos que hacen referencia a los valores de la matriz anterior
echo $frutas["hoyos"][5];    // imprime "segundo"
echo $frutas["frutas"]["a"]; // imprime "naranja"
unset($frutas["hoyos"][0]);  // elimina "primero"

// Crear una nueva matriz multi-dimensional
$jugos["manzana"]["verde"] = "bien";
?>

Debe advertir que la asignación de matrices siempre involucra la copia de valores. También quiere decir que el apuntador interno de matriz usado por current() y otras funciones similares es reestablecido. Necesita usar el operador de referencia para copiar una matriz por referencia.

<?php
$matriz1 = array(2, 3);
$matriz2 = $matriz1;
$matriz2[] = 4; // $matriz2 cambia,
                // $matriz1 sigue siendo array(2, 3)

$matriz3 = &$matriz1;
$matriz3[] = 4; // ahora $matriz1 y $matriz3 son iguales
?>

Anterior | Inicio | Siguiente
Cadenas | Subir | Objetos


Objetos

Inicialización de Objetos

Para inicializar un objeto, use la sentencia new, lo que instancia el objeto a una variable.

<?php
class foo
{
    function hacer_foo()
    {
        echo "Haciendo foo.";
    }
}

$bar = new foo;
$bar->hacer_foo();
?>

Para una discusión completa, por favor refiérase a la sección Clases y Objetos.

Conversión a objeto

Si un objeto es convertido a un objeto, éste no es modificado. Si un valor de cualquier otro tipo es convertido a objeto, una nueva instancia de la clase stdClass es creada. Si el valor era NULL, la nueva instancia será vacía. Las matrices son convertidas a objeto usando las claves de la matriz como nombres de propiedades y con sus valores correspondientes. Para cualquier otro valor, una variable miembro llamada scalar contendrá el valor.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // imprime 'ciao'
?>

Anterior | Inicio | Siguiente
Matrices | Subir | Recurso


Recurso

Un recurso es una variable especial, que contiene una referencia a un recurso externo. Los recursos son creados y usados por funciones especiales. Vea el apéndice para un listado de todas estas funciones y los tipos de recurso correspondientes.

Nota: El tipo recurso fue introducido en PHP 4

Vea también get_resource_type().

Conversión a un recurso

Dado que los tipos de recurso contienen gestores especiales a archivos abiertos, conexiones con bases de datos, áreas de pintura de imágenes y cosas por el estilo, no es posible convertir cualquier valor a un recurso.

Liberación de recursos

Gracias al sistema de conteo de referencias introducido con el Motor Zend de PHP 4, se detecta automáticamente cuando un recurso ya no es referenciado (tal como en Java). Cuando este es el caso, todos los recursos que fueron usados para éste recurso se liberan por el recolector de basura. Por esta razón, rara vez se necesita liberar la memoria manualmente mediante el uso de alguna función free_result.

Nota: Los enlaces persistentes con bases de datos son especiales, ellos no son destruidos por el recolector de basura. Vea también la sección sobre conexiones persistentes.

Anterior | Inicio | Siguiente
Objetos | Subir | NULL


NULL

El valor especial NULL representa que una variable no tiene valor. NULL es el único valor posible del tipo NULL.

Nota: El tipo null se introdujo en PHP 4.

Una variable es considerada como NULL si

  • se ha asignado la constante NULL a la variable.

  • no ha sido definida con valor alguno.

  • ha sido eliminada con unset().

Sintaxis

Existe un solo valor de tipo NULL, y ese es la palabra clave NULL, insensible a mayúsculas y minúsculas.

<?php
$var = NULL;
?>

Vea también is_null() y unset().

Anterior | Inicio | Siguiente
Recurso | Subir | Pseudo-tipos usados en esta documentación


Pseudo-tipos usados en esta documentación

mixed

mixed indica que un parámetro puede aceptar múltiples tipos (pero no necesariamente todos).

gettype() por ejemplo aceptará todos los tipos PHP, mientras que str_replace() aceptará cadenas y matrices.

number

number indica que un parámetro puede ser integer o float.

callback

Algunas funciones como call_user_func() o usort() aceptan llamadas de retorno definidas por el usuario como un parámetro. Las funciones tipo llamada de retorno no sólo pueden ser funciones simples, también pueden ser métodos de objetos incluyendo métodos estáticos de clase.

Una función de PHP es pasada simplemente usando su nombre como una
cadena. Puede pasar cualquier función incorporada o definida por el
usuario con la excepción de array(),
echo(), empty(),
eval(), exit(),
isset(), list(),
print() y unset().

Un método de un objeto instanciado es pasado como una matriz que contiene un objeto como el elemento con el índice 0 y un nombre de método como el elemento con índice 1.

Los métodos estáticos de clase pueden ser pasados también sin instanciar un objeto de esa clase al pasar el nombre de clase en lugar de un objeto como el elemento con índice 0.

Además de la creación de funciones comunes definidas por el usuario, create_function() puede ser usada para crear una función de llamada de retorno anónima.

Ejemplo 11-13. Ejemplos de funciones tipo llamada de retorno

<?php

// Una llamada de retorno de ejemplo
function mi_llamada_de_retorno() {
    echo '¡Hola mundo!';
}

// Un método como llamada de retorno de ejemplo
class MiClase {
    function miMetodoDeRetorno() {
        echo '¡Hola Mundo!';
    }
}

// Tipo 1: Llamada de retorno simple
call_user_func('mi_llamada_de_retorno');

// Tipo 2: Llamada de método estático de clase
call_user_func(array('MiClase', 'miMetodoDeRetorno'));

// Tipo 3: Llamada a un metodo de objeto
$obj = new MiClase();
call_user_func(array($obj, 'miMetodoDeRetorno'));
?>

Nota: En PHP4 es necesario usar una referencia para crear una llamada de retorno que apunte al objeto real, y no a una copia de éste. Para más detalles, vea Referencias Explicadas.

void

void como tipo de retorno quiere decir que el valor de retorno no tiene utilidad. void en una lista de parámetros quiere decir que la función no recibe ningún parámetro.

Anterior | Inicio | Siguiente
NULL | Subir | Manipulación de Tipos


Manipulación de Tipos

PHP no requiere (o soporta) la definición explícita de tipos en la declaración de variables; el tipo de una variable es determinado por el contexto en el que la variable es usada. Lo que quiere decir que si asigna un valor de cadena a la variable $var, $var se convierte en una cadena. Si luego asigna un valor entero a $var, ésta se convierte en entera.

Un ejemplo de la conversión automática de tipos de PHP es el operador de adición '+'. Si cualquiera de los operandos es un flotante, entonces todos los operandos son evaluados como flotantes, y el resultado será un flotante. De otro modo, los operandos serán interpretados como enteros, y el resultado será también un entero. Note que este NO modifica los tipos de los operandos mismos; el único cambio está en la forma como los operandos son evaluados.

<?php
$foo = "0";  // $foo es una cadena (ASCII 48)
$foo += 2;   // $foo es ahora un entero (2)
$foo = $foo + 1.3;  // $foo es ahora un flotante (3.3)
$foo = 5 + "10 Cerditos"; // $foo es entero (15)
$foo = 5 + "10 Cerdos";   // $foo es entero (15)
?>

Si los dos últimos ejemplos lucen extraños, consulte Conversión de cadenas a números.

Si desea forzar que una variable sea evaluada como un cierto tipo, consulte la sección sobre Moldeamiento de tipos. Si desea cambiar el tipo de una variable, vea settype().

Si quisiera probar cualquiera de los ejemplos en esta sección, puede usar la función var_dump().

Nota: El comportamiento de una conversión automática a matriz no se encuentra definido en el momento.

Asimismo, ya que PHP soporta el uso de índices en cadenas por medio de desplazamientos usando la misma sintaxis que la indexación de matrices, el siguiente ejemplo permanece válido para todas las versiones de PHP:

<?php
$a    = 'carro'; // $a es una cadena
$a[0] = 'b';     // $a sigue siendo una cadena
echo $a;         // barro
?>

Vea la sección titulada Acceso a cadenas por caracter para más información.

Moldeamiento de Tipos

El moldeamiento de tipos en PHP funciona de forma muy similar a como ocurre en C: el nombre del tipo deseado es escrito entre paréntesis antes de la variable que debe ser moldeada.

<?php
$foo = 10;   // $foo es un entero
$bar = (boolean) $foo;   // $bar es un booleano
?>

Los moldeamiontos permitidos son:

  • (int), (integer) - moldeamiento a entero

  • (bool), (boolean) - moldeamiento a booleano

  • (float), (double), (real) - moldeamiento a flotante

  • (string) - moldeamiento a cadena

  • (array) - moldeamiento a matriz

  • (object) - moldeamiento a objeto

Note que las tabulaciones y los espacios son permitidos al interior de los paréntesis, así que las siguientes expresiones son funcionalmente equivalentes:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Nota: En lugar de moldear una variable a cadena, puede también rodear la variable de comillas dobles.

<?php
$foo = 10;            // $foo es un entero
$cad = "$foo";        // $cad es una cadena
$fst = (string) $foo; // $fst es también una cadena

// Esto imprime "son lo mismo"
if ($fst === $cad) {
    echo "son lo mismo";
}
?>

Puede que no sea obvio qué sucede exactamente cuando se moldea entre ciertos tipos. Para más información, consulte las secciones:

  • Conversión a booleano

  • Conversión a entero

  • Conversión a flotante

  • Conversión a cadena

  • Conversión a matriz

  • Conversión a objeto

  • Conversión a un recurso

  • Las tablas de comparación de tipos

Anterior | Inicio | Siguiente
Pseudo-tipos usados en esta documentación | Subir | Variables


Variables

Manual de PHP
Anterior Siguiente

Capítulo 12. Variables

Tabla de contenidos
Conceptos Básicos
Variables predefinidas
Ambito de las variables
Variables variables
Variables externas a PHP

Conceptos Básicos

En PHP las variables se representan como un signo de dólar seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas.

Los nombres de variables siguen las mismas reglas que otras etiquetas en PHP. Un nombre de variable valido tiene que empezar con una letra o una raya (underscore), seguido de cualquier número de letras, números y rayas. Como expresión regular se podria expresar como: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Nota: En nuestro caso, una letra es a-z, A-Z, y los caracteres ASCII del 127 al 255 (0x7f-0xff).

<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var";      // outputs "Bob, Joe"

$4site = 'not yet';     // invalid; starts with a number
$_4site = 'not yet';    // valid; starts with an underscore
$täyte = 'mansikka';    // valid; 'ä' is ASCII 228 (Extendido)
?>

En PHP3, las variables siempre se asignan por valor. Esto significa que cuando se asigna una expresión a una variable, el valor íntegro de la expresión original se copia en la variable de destino. Esto quiere decir que, por ejemplo, después e asignar el valor de una variable a otra, los cambios que se efectúen a una de esas variables no afectará a la otra. Para más información sobre este tipo de asignación, vea Expresiones.

PHP4 ofrece otra forma de asignar valores a las variables: asignar por referencia. Esto significa que la nueva variable simplemente referencia (en otras palabras, "se convierte en un alias de" ó "apunta a") la variable original. Los cambios a la nueva variable afectan a la original, y viceversa. Esto también significa que no se produce una copia de valores; por tanto, la asignación ocurre más rápidamente. De cualquier forma, cualquier incremento de velocidad se notará sólo en los bucles críticos cuando se asignen grandes matrices u objetos.

Para asignar por referencia, simplemente se antepone un ampersandsigno "&" al comienzo de la variable cuyo valor se está asignando (la variable fuente). Por ejemplo, el siguiente trozo de código produce la salida 'Mi nombre es Bob' dos veces:

<?php
$foo = 'Bob';              // Asigna el valor 'Bob' a $foo
$bar = &amp;$foo;              // Referencia $foo v&iacute;a $bar.
$bar = "Mi nombre es $bar";  // Modifica $bar...
echo $foo;                 // $foo tambi&eacute;n se modifica.
echo $bar;
?>

Algo importante a tener en cuenta es que sólo las variables con nombre pueden ser asignadas por referencia.

<?php
$foo = 25;
$bar = &amp;$foo;      // Esta es una asignaci&oacute;n v&aacute;lida.
$bar = &amp;(24 * 7);  // Inv&aacute;lida; referencia una expresi&oacute;n sin nombre.

function test() {
   return 25;
}

$bar = &amp;test();    // Inv&aacute;lida.
?>

Anterior | Inicio | Siguiente
Manipulación de Tipos | Subir | Variables predefinidas


Variables predefinidas

PHP proporciona una gran cantidad de variables predefinidas a cualquier script que se ejecute. De todas formas, muchas de esas variables no pueden estar completamente documentadas ya que dependen de sobre qué servidor se esté ejecutando, la versión y configuración de dicho servidor, y otros factores. Algunas de estas variables no estarán disponibles cuando se ejecute PHP desde la línea de comandos.Para obtener una lista de estas variables podeis consultar la sección Variables predefinidas reservadas.

Aviso

A partir de PHP 4.2.0, el valor por defecto de la directiva PHP register_globals es off (desactivada). Este es un cambio importante en PHP. Teniendo register_globals off afecta el conjunto de variables predefinidas disponibles en el sistema. Por ejemplo, para obtener DOCUMENT_ROOT se usará $_SERVER['DOCUMENT_ROOT'] en vez de $DOCUMENT_ROOT ó $_GET['id'] de la URL http://www.example.com/test.php?id=3 en vez de $id ó $_ENV['HOME'] en vez de $HOME.

Para más información sobre este cambio, podeis consultar el apartado de configuración sobre register_globals, el capítulo sobre seguridad Usando "Register Globals" , asi como los anuncios de lanzamiento de PHP 4.1.0 y 4.2.0

El uso de las variables reservadas predefinidas en PHP, como matrices superglobales es recomendable.

A partir de PHP 4.1.0, PHP ofrece un conjunto adicional de matrices predefinidas, conteniendo variables del servidor web, el entorno y entradas del usuario. Estas nuevas matrices son un poco especiales porque son automáticamente globales. Por esta razón, son conocidas a menudo como "autoglobales" ó "superglobales". Las superglobales se mencionan más abajo; sin embargo para una lista de sus contenidos y más información sobre variables predefinidas en PHP, consultar la sección Variables predefinidas reservadas. Podreis ver como las variables predefinidas antiguas ($HTTP_*_VARS) todavía existen. A partir de PHP 5.0.0, las matrices de tipo "long" de variables predefinidas, se pueden desactivar con la directiva register_long_arrays.

Variables variables: Las superglobales no pueden usarse como variables variables.

Si ciertas variables no son definidas en variables_order, las matrices PHP predefinidas asociadas a estas, estarán vacias.

PHP superglobales

$GLOBALS

Contiene una referencia a cada variable disponible en el espectro de las variables del script. Las llaves de esta matriz son los nombres de las variables globales. $GLOBALS existe dese PHP 3.

$_SERVER

Variables definidas por el servidor web ó directamente relacionadas con el entorno en don el script se esta ejecutando. Análoga a la antigua matriz $HTTP_SERVER_VARS (la cual está todavía disponible, aunque no se use).

$_GET

Variables proporcionadas al script por medio de HTTP GET. Análoga a la antigua matriz $HTTP_GET_VARS (la cual está todavía disponible, aunque no se use).

$_POST

Variables proporcionadas al script por medio de HTTP POST. Análoga a la antigua matriz $HTTP_POST_VARS (la cual está todavía disponible, aunque no se use).

$_COOKIE

Variables proporcionadas al script por medio de HTTP cookies. Análoga a la antigua matriz $HTTP_COOKIE_VARS (la cual está todavía disponible, aunque no se use).

$_FILES

Variables proporcionadas al script por medio de la subida de ficheros via HTTP . Análoga a la antigua matriz $HTTP_POST_FILES (la cual está todavía disponible, aunque no se use). Vea también Subiendo ficheros por método POST para más información.

$_ENV

Variables proporcionadas al script por medio del entorno. Análoga a la antigua matriz $HTTP_ENV_VARS (la cual está todavía disponible, aunque no se use).

$_REQUEST

Variables proporcionadas al script por medio de cuaquier mecanismo de entrada del usuario y por lo tanto no se puede confiar en ellas. La presencia y el orden en que aparecen las variables en esta matriz es definido por la directiva de configuración variables_order. Esta matriz no tiene un análogo en versiones anteriores a PHP 4.1.0. Vea también import_request_variables().

Nota: Cuando se utiliza la linea de comandos, argv y argc no son incluidas aquí; estas variables se podrán encontrar en la matriz

$_SESSION

Variables registradas en la sesión del script. Análoga a la antigua matriz $HTTP_SESSION_VARS (la cual está todavía disponible, aunque no se use). Vea también la sección Funciones para el manejo de sessiones para más información.

Anterior | Inicio | Siguiente
Variables | Subir | Ambito de las variables


Ambito de las variables

El ámbito de una variable es el contexto dentro del que la variable está definida. La mayor parte de las variables PHP sólo tienen un ámbito simple. Este ámbito simple también abarca los ficheros incluidos y los requeridos. Por ejemplo:

<?php
$a = 1;
include "b.inc";
?>

Aquí, la variable $a dentro del script incluido b.inc. De todas formas, dentro de las funciones definidas por el usuario aparece un ámbito local a la función. Cualquier variables que se use dentro de una función está, por defecto, limitada al ámbito local de la función. Por ejemplo:

<?php
$a = 1; /* global scope */

function Test()
{
    echo $a; /* reference to local scope variable */
}

Test();
?>

Este script no producirá salida, ya que la orden echo utiliza una versión local de la variable $a, a la que no se ha asignado ningún valor en su ámbito. Puede que usted note que hay una pequeña diferencia con el lenguaje C, en el que las variables globales están disponibles automáticamente dentro de la función a menos que sean expresamente sobreescritas por una definición local. Esto puede causar algunos problemas, ya que la gente puede cambiar variables globales inadvertidamente. En PHP, las variables globales deben ser declaradas globales dentro de la función si van a ser utilizadas dentro de dicha función. Veamos un ejemplo:

<?php
$a = 1;
$b = 2;

function Sum()
{
    global $a, $b;

    $b = $a + $b;
}

Sum();
echo $b;
?>

El script anterior producirá la salida "3". Al declarar $a y $b globales dentro de la función, todas las referencias a tales variables se referirán a la versión global. No hay límite al número de variables globales que se pueden manipular dentro de una función.

Un segundo método para acceder a las variables desde un ámbito global es usando la matriz $GLOBALS. El ejemplo anterior se puede reescribir así:

<?php
$a = 1;
$b = 2;

function Sum()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}

Sum();
echo $b;
?>

La matriz $GLOBALS es una matriz asociativa con el nombre de la variable global como clave y los contenidos de dicha variable como el valor del elemento de la matriz. $GLOBALS existe en cualquier ámbito, esto pasa porque $GLOBALS es una superglobal. Aqui teneis un ejemplo que demuestra el poder de las superglobales:

<?php
function test_global()
{
    // Most predefined variables aren't "super" and require
    // 'global' to be available to the functions local scope.
    global $HTTP_POST_VARS;

    print $HTTP_POST_VARS['name'];

    // Superglobals are available in any scope and do
    // not require 'global'.  Superglobals are available
    // as of PHP 4.1.0
    print $_POST['name'];
}
?>

Otra característica importante del ámbito de las variables es la variable static. Una variable estática existe sólo en el ámbito local de la función, pero no pierde su valor cuando la ejecución del programa abandona este ámbito. Consideremos el siguiente ejemplo:

<?php
function Test ()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

Esta función tiene poca utilidad ya que cada vez que es llamada asigna a $a el valor 0 y representa un "0". La sentencia $a++, que incrementa la variable, no sirve para nada, ya que en cuanto la función termina la variable $a desaparece. Para hacer una función útil para contar, que no pierda la pista del valor actual del conteo, la variable $a debe declararse como estática:

<?php
function Test()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

Ahora, cada vez que se llame a la función Test(), se representará el valor de $a y se incrementará.

Las variables estáticas también proporcionan una forma de manejar funciones recursivas. Una función recursiva es la que se llama a sí misma. Se debe tener cuidado al escribir una función recursiva, ya que puede ocurrir que se llame a sí misma indefinidamente. Hay que asegurarse de implementar una forma adecuada de terminar la recursión. La siguiente función cuenta recursivamente hasta 10, usando la variable estática $count para saber cuándo parar:

<?php
function Test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        Test ();
    }
    $count--;
}
?>

En motor Zend 1, utilizado por PHP4, implementa los modificadores static y global para variables en términos de referencias. Por ejemplo, una variable global verdadera importada dentro del ámbito de una función con global, crea una referencia a la variable global. Esto puede ser causa de un comportamiento inesperado, tal y como podemos comprobar en el siguiente ejemplo:

<?php
function test_global_ref() {
    global $obj;
    $obj = &new stdclass;
}

function test_global_noref() {
    global $obj;
    $obj = new stdclass;
}

test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>

Al ejecutar este ejemplo obtendremos la siguiente salida:

NULL
object(stdClass)(0) {
}

Un comportamiento similar se aplica a static. Referencias no son guardadas estáticamente.

<?php
function &get_instance_ref() {
    static $obj;

    echo "Static object: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Assign a reference to the static variable
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo "Static object: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Assign the object to the static variable
        $obj = new stdclass;
    }
    $obj->property++;
    return $obj;
}

$obj1 = get_instance_ref();
$still_obj1 = get_instance_ref();
echo "\n";
$obj2 = get_instance_noref();
$still_obj2 = get_instance_noref();
?>

Al ejecutar este ejemplo obtendremos la siguiente salida:

Static object: NULL
Static object: NULL

Static object: NULL
Static object: object(stdClass)(1) {
  ["property"]=>
  int(1)
}

Este ejemplo demuestra que al asignar una referencia a una variable estática, esta no es recordada cuando se invoca la funcion &get_instance_ref() por segunda vez.

Anterior | Inicio | Siguiente
Variables predefinidas | Subir | Variables variables


Variables variables

A veces es conveniente tener nombres de variables variables. Dicho de otro modo, son nombres de variables que se pueden establecer y usar dinámicamente. Una variable normal se establece con una sentencia como:

<?php
$a = "hello";
?>

Una variable variable toma el valor de una variable y lo trata como el nombre de una variable. En el ejemplo anterior, hello, se puede usar como el nombre de una variable utilizando dos signos de dólar. p.ej.

<?php
$$a = "world";
?>

En este momento se han definido y almacenado dos variables en el árbol de símbolos de PHP: $a, que contiene "hello", y $hello, que contiene "world". Es más, esta sentencia:

<?php
echo "$a ${$a}";
?>

produce el mismo resultado que:

<?php
echo "$a $hello";
?>

p.ej. ambas producen el resultado: hello world.

Para usar variables variables con matrices, hay que resolver un problema de ambigüedad. Si se escribe $$a[1] el intérprete necesita saber si nos referimos a utilizar $a[1] como una variable, o si se pretendía utilizar $$a como variable y el índice [1] como índice de dicha variable. La sintaxis para resolver esta ambigüedad es: ${$a[1]} para el primer caso y ${$a}[1] para el segundo.

Aviso

Tener en cuenta que variables variables no pueden usarse con Matrices superglobales. Esto significa que no se pueden hacer cosas como ${$_GET}. Si buscais un método para manejar la disponibilidad de superglobales y las antiguas HTTP_*_VARS, podeis intentar referiros a ellas.

Anterior | Inicio | Siguiente
Ambito de las variables | Subir | Variables externas a PHP


Variables externas a PHP

Formularios HTML (GET y POST)

Cuando se envía un formulario a un script PHP, las variables de dicho formulario pasan a estar automáticamente disponibles en el script gracias a PHP. Por ejemplo, consideremos el siguiente formulario:

Ejemplo 12-1. Variables de formulario simples

<form action="foo.php" method="POST">
    Name:  <input type="text" name="username"><br>
    Email: <input type="text" name="email"><br>
    <input type="submit" name="submit" value="Submit me!">
</form>

Dependiendo de tu configuración y preferencias personales, existen muchas maneras de acceder a los datos de tus formularios HTML. Algunos ejemplos:

Ejemplo 12-2. Accediendo datos de un formulario simple HTML POST

<?php
// Available since PHP 4.1.0

   print $_POST['username'];
   print $_REQUEST['username'];

   import_request_variables('p', 'p_');
   print $p_username;

// Available since PHP 3.  As of PHP 5.0.0, these long predefined
// variables can be disabled with the register_long_arrays directive.

   print $HTTP_POST_VARS['username'];

// Available if the PHP directive register_globals = on.  As of
// PHP 4.2.0 the default value of register_globals = off.
// Using/relying on this method is not preferred.

   print $username;
?>

Usando un formulario GET es similar excepto en el uso de variables predefinidas, que en este caso serán del tipo GET. GET también se usa con QUERY_STRING (la información despues del símbolo '?' en una URL). Por ejemplo http://www.example.com/test.php?id=3 contiene datos GET que son accesibles con $_GET['id']. Vea también $_REQUEST y import_request_variables().

Nota: Matrices superglobales, como $_POST y$_GET, están disponibles desde PHP 4.1.0.

Como hemos dicho, antes de PHP 4.2.0, el valor por defecto de register_globals era on (activado). Y, en PHP 3 estba siempre activado. La comunidad PHP anima a no confiar en esta directiva ya que es preferible asumir que tiene el valor off (desactivada) y programar teniendo en cuenta esto.

Nota: La directiva de configuración magic_quotes_gpc afecta a valores Get, Post y Cookie, Si esta activada (on) el valor (It's "PHP!") sera convertido automaticamente a (It\'s \"PHP!\"). "Escaping" es necesario en inserciones a bases de datos. Vea también addslashes(), stripslashes() y magic_quotes_sybase.

PHP tambien entiende matrices en el contexto de variables de formularios. (vea la faq relacionada). Se puede, por ejemplo, agrupar juntas variables relacionadas ó usar esta característica para obtener valores de una entrada "select2 múltiple. Por ejemplo, vamos a mandar un formulario asi mismo y a presentar los datos cuando se reciban:

Ejemplo 12-3. Variables de formulario más complejas

<?php
if ($HTTP_POST_VARS['action'] == 'submitted') {
    print '<pre>';

    print_r($HTTP_POST_VARS);
    print '<a href="'. $HTTP_SERVER_VARS['PHP_SELF'] .'">Please try again</a>';

    print '</pre>';
} else {
?>
<form action="<?php echo $HTTP_SERVER_VARS['PHP_SELF']; ?>" method="POST">
    Name:  <input type="text" name="personal[name]"><br>
    Email: <input type="text" name="personal[email]"><br>
    Beer: <br>
    <select multiple name="beer[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br>
    <input type="hidden" name="action" value="submitted">
    <input type="submit" name="submit" value="submit me!">
</form>
<?php
}
?>

en PHP 3, el uso de matrices de variables de formularios está limitado a matrices unidimensionales. En PHP 4, no existe esta restricción.

IMAGE SUBMIT variable names

Cuando mandamos un formulario, es posible usar una imagen en vez del botón estandar de "mandar":

<input type="image" src="image.gif" name="sub">

Cuando el usuario hace click en cualquier parte de la imagen, el formulario que la acompaña se transmitirá al servidor con dos variables adicionales, sub_x y sub_y. Estas contienen las coordenadas del click del usuario dentro de la imagen. Los más experimentados puede notar que los nombres de variable enviados por el navegador contienen un guión en vez de un subrayado (guión bajo), pero PHP convierte el guión en subrayado automáticamente.

Cookies HTTP

PHP soporta cookies de HTTP de forma transparente tal y como están definidas en en las Netscape's Spec. Las cookies son un mecanismo para almacenar datos en el navegador y así rastrear o identificar a usuarios que vuelven. Se pueden crear cookies usando la función SetCookie(). Las cookies son parte de la cabecera HTTP, así que se debe llamar a la función SetCookie antes de que se envíe cualquier salida al navegador. Es la misma restricción que para la función header(). Los datos de una cookie estan disponibles en la matriz con datos de cookies apropiada, tal como $_COOKIE, $HTTP_COOKIE_VARS y también en $_REQUEST. vea la función setcookie() para más detalles y ejemplos.

Si se quieren asignar múltiples valores a una sola cookie, basta con añadir [] al nombre de la cookie para definirla como una matriz. Por ejemplo:

<?php
  setcookie("MyCookie[foo]", "Testing 1", time()+3600);
  setcookie("MyCookie[bar]", "Testing 2", time()+3600);
?>

Esto creara dos cookies separadas aunque MyCookie será una matriz simple en el script. Si se quiere definir una sola cookie con valores multiples, considerar primero el uso de la función serialize() ó explode() en el valor.

Nótese que una cookie reemplazará a una cookie anterior que tuviese el mismo nombre en el navegador a menos que el camino (path) o el dominio fuesen diferentes. Así, para una aplicación de carro de la compra se podría querer mantener un contador e ir pasándolo. P.ej.

Ejemplo 12-4. Ejemplo SetCookie

<?php
$count++;
setcookie("count", $count, time()+3600);
setcookie("Cart[$count]", $item, time()+3600);
?>

Puntos en los nombres de variables de entrada

Típicamente, PHP no altera los nombres de las variables cuando se pasan a un script. De todas formas, hay que notar que el punto no es un carácter válido en el nombre de una variable PHP. Por esta razón:

<?php
$varname.ext;  /* nombre de variable invalido */
?>
Lo que el intérprete ve es el nombre de una variable $varname, seguido por el operador de concatenación, y seguido por la prueba (es decir, una cadena sin entrecomillar que no coincide con ninguna palabra clave o reservada conocida) 'ext'. Obviamente, no se pretendía que fuese este el resultado.

Por esta razón, es importante hacer notar que PHP reemplazará automáticamente cualquier punto en los nombres de variables de entrada por guiones bajos (subrayados).

Determinando los tipos de variables

Dado que PHP determina los tipos de las variables y los convierte (generalmente) según lo necesita, no siempre resulta obvio de qué tipo es una variable dada en un momento concreto. PHP incluye varias funciones que descubren de qué tipo es una variable: gettype(), is_array(), is_float(), is_int(), is_object(), y is_string(). Vea también el capítulo sobre Tipos.

Anterior | Inicio | Siguiente
Variables variables | Subir | Constantes


Constantes

Manual de PHP
Anterior Siguiente

Capítulo 13. Constantes

Tabla de contenidos
Sintaxis
Constantes predefinidas

Una constante es un identificador para expresar un valor simple. Como el nombre sugiere, este valor no puede variar durante la ejecución del script. (Las constantes especiales __FILE__ y __LINE__ son una excepción a esto, ya que actualmente no lo soin). Una constante es sensible a mayúsculas por defecto. Por convención, los identificadores de constantes suelen declararse en mayúsculas

El nombre de una constante sigue las mismas reglas que cualquier etiqueta en PHP. Un nombre de constante válido empieza con una letra o un caracter de subrayado, seguido por cualquier número de letras, números, o subrayados. Se podrían expresar mediante la siguiente expresión regular: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Nota: Para nuestros propósitos , entenderemos como letra los carácteres a-z, A-Z, y los ASCII del 127 hasta el 255 (0x7f-0xff).

El alcanze de una constante es global, Es decir, es posible acceder a ellas sin preocuparse por el ámbito de alcance.

Sintaxis

Se puede definir una constante usando la función define(). Una vez definida, no puede ser modificada ni eliminada .

Solo se puede definir como constantes valores escalares (boolean, integer, float y string ).

Para obtener el valor de una constante solo es necesario especificar su nombre. A diferencia de las variables, no se tiene que especificar el prefijo $. Tambien se puede utilizar la función constant(), para obtener el valor de una constante, en el caso de que queramos expresarla de forma dinámica Usa la función get_defined_constants() parar obtener una lista de todas las constantes definidas.

Nota: Las contantes y las variables (globales) se encuentran en un espacio de nombres distinto. Esto implica que por ejemplo TRUE y $TRUE son diferentes.

Si usas una constante todavia no definida, PHP asume que estás refiriéndote al nombre de la constante en si. Se lanzará un aviso si esto sucede. Usa la función defined() para comprobar la existencia de dicha constante.

Estas son las diferencias entre constantes y variables:

  • Las constantes no son precedidas por un símbolo de dolar ($)

  • Las contantes solo pueden ser definidas usando la función() define , nunca por simple asignación

  • Las constantes pueden ser definidas y accedidas sin tener en cuenta las reglas de alcanze del ámbito.

  • Las constantes no pueden ser redefinidas o eliminadas despues de establecerse; y

  • Las constantes solo puede albergar valores escalares

Ejemplo 13-1. Definiendo constantes

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>

Anterior | Inicio | Siguiente
Variables externas a PHP | Subir | Constantes predefinidas


Constantes predefinidas

PHP ofrece un largo número de constantes predefinidas a cualquier script en ejecución. Muchas de estas constantes, sin embargo, son creadas por diferentes extensiones, y solo estarán presentes si dichas extensiones están disponibles, bien por carga dinámica o porque has sido compiladas.

Se puede encontrar una lista de constantes predefinidas en la seccion Constantes predefinidas.

Anterior | Inicio | Siguiente
Constantes | Subir | Expresiones


Expresiones

Manual de PHP
Anterior Siguiente

Capítulo 14. Expresiones

Las expresiones son la piedra angular de PHP. En PHP, casi cualquier cosa que escribes es una expresión. La forma más simple y ajustada de definir una expresión es "cualquier cosa que tiene un valor".

Las formas más básicas de expresiones son las constantes y las variables. Cuando escribes "$a = 5", estás asignando '5' a $a. '5', obviamente, tiene el valor 5 ó, en otras palabras '5' es una expresión con el valor 5 (en este caso, '5' es una constante entera).

Después de esta asignación, se espera que el valor de $a sea 5 también, de manera que si escribes $b = $a, se espera también que se comporte igual que si escribieses $b = 5. En otras palabras, $a es una expresión también con el valor 5. Si todo va bien, eso es exactamente lo que pasará.

Las funciones son un ejemplo algo más complejo de expresiones. Por ejemplo, considera la siguiente función:

<?php
function foo () {
    return 5;
}
?>

Suponiendo que estés familiarizado con el concepto de funciones (si no lo estás échale un vistazo al capítulo sobre funciones), asumirás que teclear $c = foo() es esencialmente lo mismo que escribir $c = 5, y has acertado. Las funciones son expresiones que valen el valor que retornan. Como foo() devuelve 5, el valor de la expresión 'foo()' es 5. Normalmente las funciones no devuelven un valor fijo, sino que suele ser calculado.

Desde luego, los valores en PHP no se limitan a enteros, y lo más normal es que no lo sean. PHP soporta tres tipos escalares: enteros, punto flotante y cadenas (los tipos escalares son aquellos cuyos valores no pueden 'dividirse' en partes menores, no como los arrays, por ejemplo). PHP también soporta dos tipos compuestos (no escalares): arrays y objetos. Se puede asignar cada uno de estos tipos de valor a variables o bien retornarse de funciones, sin ningún tipo de limitación.

Hasta aquí, los usuarios de PHP/FI 2 no deberían haber notado ningún cambio. Sin embargo, PHP lleva las expresiones mucho más allá, al igual que otros lenguajes. PHP es un lenguaje orientado a expresiones, en el sentido de que casi todo es una expresión. Considera el ejemplo anterior '$a = 5'. Es sencillo ver que hay dos valores involucrados, el valor de la constante entera '5', y el valor de $a que está siendo actualizado también a 5. Pero la verdad es que hay un valor adicional implicado aquí, y es el valor de la propia asignación. La asignación misma se evalúa al valor asignado, en este caso 5. En la práctica, quiere decir que '$a = 5', independientemente de lo que hace, es una expresión con el valor 5. De esta manera, escribir algo como '$b = ($a = 5)' es como escribir '$a = 5; $b = 5;' (un punto y coma marca el final de una instrucción). Como las asignaciones se evalúan de derecha a izquierda, puedes escribir también '$b = $a = 5'.

Otro buen ejemplo de orientación a expresiones es el pre y post incremento y decremento. Los usuarios de PHP/FI 2 y los de otros muchos lenguajes les sonará la notación variable++ y variable--. Esto son las operaciones de incremento y decremento. En PHP/FI 2, la instrucción '$a++' no tiene valor (no es una expresión), y no puedes asignarla o usarla de ningún otro modo. PHP mejora las características del incremento/decremento haciéndolos también expresiones, como en C. En PHP, como en C, hay dos tipos de incremento - pre-incremento y post-incremento. Ambos, en esencia, incrementan la variable y el efecto en la variable es idéntico. La diferencia radica en el valor de la propia expresion incremento. El preincremento , escrito '++$variable', se evalúa al valor incrementado (PHP incrementa la variable antes de leer su valor, de ahí el nombre 'preincremento'). El postincremento, escrito '$variable++', se evalúa al valor original de $variable antes de realizar el incremento (PHP incrementa la variable después de leer su valor, de ahí el nombre 'postincremento').

Un tipo muy corriente de expresiones son las expresiones de comparación. Estas expresiones se evalúan a 0 o 1, significando FALSO (FALSE) o VERDADERO (TRUE), respectivamente. PHP soporta > (mayor que), >= (mayor o igual que), == (igual que), != (distinto), < (menor que) y <= (menor o igual que). Estas expresiones se usan frecuentemente dentro de la ejecución condicional como la instrucción if.

El último tipo de expresiones que trataremos, es la combinación operador-asignación. Ya sabes que si quieres incrementar $a en 1, basta con escribir '$a++' o ++$a'. Pero qué pasa si quieres añadir más de 1, por ejemplo 3? Podrías escribir '$a++' múltiples veces, pero no es una forma de hacerlo ni eficiente ni cómoda. Una práctica mucho más corriente es escribir '$a = $a + 3'. '$a + 3' se evalúa al valor de $a más 3, y se asigna de nuevo a $a, lo que resulta en incrementar $a en 3. En PHP, como en otros lenguajes como C, puedes escribir esto de una forma más concisa, que con el tiempo será más clara y también fácil de entender. Añadir 3 al valor actual de $a se puede escribir como '$a += 3'. Esto quiere decir exactamente "toma el valor de $a, súmale 3, y asígnalo otra vez a $a". Además de ser más corto y claro, también resulta en una ejecución más rápida. El valor de '$a += 3', como el valor de una asignación normal y corriente, es el valor asignado. Ten en cuenta que NO es 3, sino el valor combinado de $a más 3 (ése es el valor asignado a $a). Cualquier operación binaria puede ser usada en forma de operador-asignación, por ejemplo '$a -= 5' (restar 5 del valor de $a), '$b *= 7' (multiplicar el valor de $b por 7), etc.

Hay otra expresión que puede parecer extraña si no la has visto en otros lenguaes, el operador condicional ternario:

<?php
$first ? $second : $third
?>

Si el valor de la primera subexpresión es verdadero (distinto de cero), entonces se evalúa la segunda subexpresión, si no, se evalúa la tercera y ése es el valor.

El siguiente ejemplo te ayudará a comprender un poco mejor el pre y post incremento y las expresiones en general:

<?php
function double($i) {
    return $i*2;
}
$b = $a = 5;        /* asignar el valor cinco a las variables $a y $b */
$c = $a++;          /* postincremento, asignar el valor original de $a (5) a $c */
$e = $d = ++$b;     /* preincremento, asignar el valor incrementado de $b (6) a
                       $d y a $e */

/* en este punto, tanto $d como $e son iguales a 6 */

$f = double($d++);  /* asignar el doble del valor de $d antes
                       del incremento, 2*6 = 12 a $f */
$g = double(++$e);  /* asignar el doble del valor de $e despu&eacute;s
                       del incremento, 2*7 = 14 a $g */
$h = $g += 10;      /* primero, $g es incrementado en 10 y termina valiendo 24.
                       despu&eacute;s el valor de la asignaci&oacute;n (24) se asigna a $h,
                       y $h tambi&eacute;n acaba valiendo 24. */
?>

Al principio del capítulo hemos dicho que describiríamos los distintos tipos de instrucciones y, como prometimos, las expresiones pueden ser instrucciones. Sin embargo, no todas las expresiones son instrucciones. En este caso, una instrucción tiene la forma 'expr' ';', es decir, una expresión seguida de un punto y coma. En '$b=$a=5;', $a=5 es una expresión válida, pero no es una instrucción en sí misma. Por otro lado '$b=$a=5:' sí es una instrucción válida.

Una última cosa que vale la pena mencionar, es el valor booleano de las expresiones. En muchas ocasiones, principalmente en condicionales y bucles, no estás interesado en el valor exacto de la expresión, sino únicamente si es TRUE ó FALSE Las constantes TRUE y FALSE son los dos posibles valores booleanos. Cuando es necesario, una expresión se puede transformar automáticamente al tipo booleano. Consultar la sección sobre type-casting para obtener detalles de como se hace.

PHP brinda una completa y potente implementación de expresiones, y documentarla enteramente está más allá del objetivo de este manual. Los ejemplos anteriores, deberían darte una buena idea de qué son las expresiones y cómo construir expresiones útiles. A lo largo del resto del manual, escribiremos expr para indicar una expresión PHP válida.

Anterior | Inicio | Siguiente
Constantes predefinidas | Subir | Operadores


Operadores

Manual de PHP
Anterior Siguiente

Capítulo 15. Operadores

Tabla de contenidos
Precedencia de Operadores
Operadores de Aritmética
Operadores de Asignación
Operadores Bit a Bit
Operadores de Comparación
Operadores de Control de Errores
Operadores de ejecución
Operadores de Incremento/Decremento
Operadores de Lógica
Operadores de Cadena
Operadores de Matrices
Operadores de Tipo

Un operador es algo a lo que usted entrega uno o más valores (o expresiones, en jerga de programación) y produce otro valor (de modo que la construcción misma se convierte en una expresión). Así que puede pensar sobre las funciones o construcciones que devuelven un valor (como print) como operadores, y en aquellas que no devuelven nada (como echo) como cualquier otra cosa.

Existen tres tipos de operadores. En primer lugar se encuentra el operador unario, el cual opera sobre un único valor, por ejemplo ! (el operador de negación) o ++ (el operador de incremento). El segundo grupo se conoce como operadores binarios; este grupo contiene la mayoría de operadores que soporta PHP, y una lista se encuentra disponible más adelante en la sección Precedencia de Operadores.

El tercer grupo consiste del operador ternario: ?:. Éste debe ser usado para seleccionar entre dos expresiones, en base a una tercera, en lugar de seleccionar dos sentencias o rutas de ejecución. Rodear las expresiones ternarias con paréntesis es una muy buena idea.

Precedencia de Operadores

La precedencia de un operador indica qué tan "cerca" se agrupan dos expresiones. Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18, ya que el operador de multiplicación ("*") tiene una mayor precedencia que el operador de adición ("+"). Los paréntesis pueden ser usados para marcar la precedencia, si resulta necesario. Por ejemplo: (1 + 5) * 3 evalúa a 18. Si la precedencia de los operadores es la misma, se utiliza una asociación de izquierda a derecha.

La siguiente tabla lista la precedencia de los operadores, con aquellos de mayor precedencia listados al comienzo de la tabla. Los operadores en la misma línea tienen la misma precedencia, en cuyo caso su asociatividad decide el orden para evaluarlos.

Tabla 15-1. Precedencia de Operadores

Asociatividad | Operadores | Información Adicional
no-asociativo | new | new
izquierda | [ | array()
no-asociativos | ++ -- | incremento/decremento
no-asociativos | ~ - (int) (float) (string) (array) (object) @ | tipos
no-asociativos | instanceof | tipos
derecha | ! | lógicos
izquierda | * / % | aritmética
izquierda | + - . | aritmética, y cadena
izquierda | << >> | manejo de bits
no-asociativos | < <= > >= | comparación
no-asociativos | == != === !== | comparación
izquierda | & | manejo de bits, y referencias
izquierda | ^ | manejo de bits
izquierda | | | manejo de bits
izquierda | && | lógicos
izquierda | || | lógicos
izquierda | ? : | ternario
derecha | = += -= *= /= .= %= &= |= ^= <<= >>= | asignación
izquierda | and | lógicos
izquierda | xor | lógicos
izquierda | or | lógicos
izquierda | , | varios usos

La asociatividad de izquierda quiere decir que la expresión es evaluada desde la izquierda a la derecha, la asociatividad de derecha quiere decir lo contrario.

Ejemplo 15-1. Asociatividad

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>
Use paréntesis para incrementar la legibilidad del código.

Nota: Aunque ! tiene una mayor precedencia que =, PHP permitirá aun expresiones similares a la siguiente: if (!$a = foo()), en cuyo caso el valor de retorno de foo() va a dar a $a.

Anterior | Inicio | Siguiente
Expresiones | Subir | Operadores de Aritmética


Operadores de Aritmética

¿Recuerda la aritmética básica del colegio? Éstos operadores funcionan tal como aquéllos.

Tabla 15-2. Operadores de Aritmética

Ejemplo | Nombre | Resultado
-$a | Negación | El opuesto de $a.
$a + $b | Adición | Suma de $a y $b.
$a - $b | Substracción | Diferencia entre $a y $b.
$a * $b | Multiplicación | Producto de $a y $b.
$a / $b | División | Cociente de $a y $b.
$a % $b | Módulo | Resto de $a dividido por $b.

El operador de división ("/") devuelve un valor flotante en todos los casos, incluso si los dos operandos son enteros (o cadenas que son convertidas a enteros).

Nota: El resto de $a % $b es negativo para valores negativos de $a.

Vea también la página del manual sobre Funciones mateméticas.

Anterior | Inicio | Siguiente
Operadores | Subir | Operadores de Asignación


Operadores de Asignación

El operador básico de asignación es "=". A primera vista, usted podría pensar en él como "es igual a". No lo haga. Lo que quiere decir en realidad es que el operando de la izquierda recibe el valor de la expresión a la derecha (es decir, "se define a").

El valor de una expresión de asignación es el valor que se asigna. Es decir, el valor de "$a = 3" es 3. Esto le permite hacer una que otra cosa curiosa:

<?php

$a = ($b = 4) + 5; // $a es igual a 9 ahora, y $b ha sido definido a 4.

?>

En conjunto con el operador básico de asignación, existen "operadores combinados" para todos los operadores de aritmética binaria, unión de matrices y de cadenas, que le permiten usar un valor en una expresión y luego definir su valor como el resultado de esa expresión. Por ejemplo:

<?php

$a = 3;
$a += 5; // define $a como 8, como si hubiésemos dicho: $a = $a + 5;
$b = "¡Hola ";
$b .= "a todos!"; // define $b como "¡Hola a todos!", tal como $b = $b . "a todos!";

?>

Note que la asignación copia la variable original en la nueva (asignación por valor), de modo que cualquier cambio a una no afecta a la otra. Esto puede resultar de importancia si necesita copiar algo como una matriz de gran tamaño al interior de un ciclo reducido. A partir de PHP4, es soportada la asignación por referencia, usando la sintaxis $var = &$otra_var;, pero esto no es posible en PHP3. 'Asignación por referencia' quiere decir que ambas variables terminan apuntando a los mismos datos y que nada es realmente copiado. Para aprender más sobre las referencias, por favor refiérase a las Referencias explicadas. A partir de PHP 5 los objetos son asignados por referencia a menos que explícitamente se diga lo contrario con la nueva palabra clave clone.

Anterior | Inicio | Siguiente
Operadores de Aritmética | Subir | Operadores Bit a Bit


Operadores Bit a Bit

Los operadores bit a bit le permiten activar o desactivar bits individuales de un entero. Si los parámetros tanto a la izquierda y a la derecha son cadenas, el operador bit a bit trabajará sobre los valores ASCII de los caracteres.

<?php
echo 12 ^ 9; // Imprime '5'

echo "12" ^ "9"; // Imprime el caracter Backspace (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Imprime los valores ascii #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4
?>

Tabla 15-3. Operadores Bit a Bit

Ejemplo | Nombre | Resultado
$a & $b | Y | Los bits que están activos tanto en $a como en $b son activados.
$a | $b | O | Los bits que están activos ya sea en $a o en $b son activados.
$a ^ $b | O exclusivo (Xor) | Los bits que estén activos en $a o $b, pero no en ambos, son activados.
~ $a | No | Los bits que estén activos en $a son desactivados, y vice-versa.
$a << $b | Desplazamiento a izquierda | Desplaza los bits de $a, $b pasos a la izquierda (cada paso quiere decir "multiplicar por dos")
$a >> $b | Desplazamiento a derecha | Desplaza los bits de $a, $b pasos a la derecha (cada paso quiere decir "dividir por dos")

Aviso

No realice desplazamientos a derecha para más de 32 bits en sistemas de 32 bits. No realice desplazamientos a izquierda en caso de que resulte en un número de más de 32 bits.

Anterior | Inicio | Siguiente
Operadores de Asignación | Subir | Operadores de Comparación


Operadores de Comparación

Los operadores de comparación, como su nombre indica, le permiten comparar dos valores. Puede que también se encuentre interesado en consultar las tablas de comparación de tipos, ya que éstas muestran ejemplos de varios tipos de comparaciones relacionadas con tipos.

Tabla 15-4. Operadores de Comparación

Ejemplo | Nombre | Resultado
$a == $b | Igual | TRUE si $a es igual a $b.
$a === $b | Idéntico | TRUE si $a es igual a $b, y son del mismo tipo. (A partir de PHP 4)
$a != $b | Diferente | TRUE si $a no es igual a $b.
$a <> $b | Diferente | TRUE si $a no es igual a $b.
$a !== $b | No idénticos | TRUE si $a no es igual a $b, o si no son del mismo tipo. (A partir de PHP 4)
$a < $b | Menor que | TRUE si $a es escrictamente menor que $b.
$a > $b | Mayor que | TRUE si $a es estrictamente mayor que $b.
$a <= $b | Menor o igual que | TRUE si $a es menor o igual que $b.
$a >= $b | Mayor o igual que | TRUE si $a es mayor o igual que $b.

Si compara un entero con una cadena, la cadena es convertida a un número. Si compara dos cadenas numéricas, ellas son comparadas como enteros. Estas reglas también se aplican a la sentencia switch.

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true

switch ("a") {
case 0:
    echo "0";
    break;
case "a": // nunca se ejecuta ya que "a" ya ha coincidido con 0
    echo "a";
    break;
}
?>

Para varios tipos, la comparación se realiza de acuerdo con la siguient tabla (en orden).

Tabla 15-5. Comparación con Varios Tipos

Tipo del Operando 1 | Tipo del Operando 2 | Resultado
null o string | string | Convertir NULL a "", comparación numérica o de léxico
bool o null | cualquiera | Convertir a bool, FALSE < TRUE
object | object | Las clases internas pueden definir su propia comparación, clases diferentes son incomparables, la misma clase - comparan propiedades en la misma forma que las matrices (PHP 4), PHP 5 tiene su propia explicación
string, resource o number | string, resource o number | Traducir las cadenas y recursos a números, matemática usual
array | array | Una matriz con menos elementos es menor, si una clave del operando 1 no se encuentra en el operando 2 entonces las matrices son incomparables, de otra forma - comparar valor por valor (vea el siguiente ejemplo)
array | cualquiera | array es siempre mayor
object | cualquiera | object es siempre mayor

Ejemplo 15-2. Transcripción de la comparación de matrices estándar

<?php
// Las matrices son comparadas de esta forma con los operadores de comparación estándar
function comparacion_matrices_estandar($op1, $op2)
{
    if (count($op1) < count($op2)) {
        return -1; // $op1 < $op2
    } elseif (count($op1) > count($op2)) {
        return 1; // $op1 > $op2
    }
    foreach ($op1 as $clave => $val) {
        if (!array_key_exists($clave, $op2)) {
            return null; // incomparable
        } elseif ($val < $op2[$clave]) {
            return -1;
        } elseif ($val > $op2[$clave]) {
            return 1;
        }
    }
    return 0; // $op1 == $op2
}
?>

Vea también strcasecmp(), strcmp(), Operadores de matriz, y la sección del manual sobre Tipos.

Operador Ternario

Otro operador condicional es el operador "?:" (o ternario).

Ejemplo 15-3. Asignación de un valor predeterminado

<?php
// Ejemplo de uso de: el Operador Ternario
$accion = (empty($_POST['accion'])) ? 'predeterminada' : $_POST['accion'];

// La línea anterior es idéntica a esta sentencia if/else
if (empty($_POST['accion'])) {
    $accion = 'predeterminada';
} else {
    $accion = $_POST['accion'];
}

?>
La expresión (expr1) ? (expr2) : (expr3) evalúa a expr2 si expr1 evalúa a TRUE, y expr3 si expr1 evalúa a FALSE.

Nota: Por favor note que el operador ternario es una sentencia, y que no evalúa a una variable, sino al resultado de una sentencia. Es importante saber esto si se desea devolver una variable por referencia. La sentencia return $var == 42 ? $a : $b; en una función con retorno-por-referencia no funcionará por lo que se ha mencionado y una advertencia es generada en versiones posteriores de PHP.

Nota: Es recomendable que evite "apilar" las expresiones ternarias. El comportamiente de PHP cuando se usa más de un operador ternario al interior de una sentencia no es obvio:

Ejemplo 15-4. Comportamiento Ternario No-Obvio

<?php
// a primera vista, lo siguiente parece imprimir 'true'
echo (true?'true':false?'t':'f');

// sin embargo, la salida real de la línea anterior es 't'
// esto se debe a que las expresiones ternarias son evaluadas de izquierda a
// derecha

// la siguiente es una versión más obvia del código presentado anteriormente
echo ((true ? 'true' : 'false') ? 't' : 'f');

// aquí puede ver que la primera expresión es evaluada como 'true', la cual
// en su lugar evalúa a (bool)true, devolviendo por lo tanto la rama de
// verdad de la segunda expresión ternaria.
?>

Anterior | Inicio | Siguiente
Operadores Bit a Bit | Subir | Operadores de Control de Errores


Operadores de Control de Errores

PHP ofrece soporte para un operador de control de errores: el signo de arroba (@). Cuando es colocado al comienzo de una expresión en PHP, cualquier mensaje de error que pudiera generarse a causa de esa expresión será ignorado.

Si la característica track_errors está habilitada, cualquier mensaje de error generado por la expresión será almacenado en la variable $php_errormsg. La variable será sobrescrita en cada instancia de error, así que realice sus chequeos de forma temprana si quiere usarla.

<?php
/* Error intencional de archivo */
$mi_archivo = @file ('archivo_que_no_existe') or
    die ("La apertura de archivo ha fallado: el error fue '$php_errormsg'");

// esto funciona con cualquier expresión, no solo con funciones:
$valor = @$cache[$llave];
// no producirá una anotación si el índice $llave no existe.

?>

Nota: El operador @ trabaja sólo sobre expresiones. Una simple regla de oro es: si usted puede tomar el valor de algo, entonces puede usar el operador @ sobre ese algo. Por ejemplo, puede usarlo al inicio de variables, llamadas a funciones y sencencias include(), constantes, y así sucesivamente. No puede usarlo sobre definiciones de función o clase, ni sobre estructuras condicionales como if y foreach, y así sucesivamente.

Vea también error_reporting() y la sección del manual sobre funciones de Gestión de Errores y Registros.

Aviso

En la actualidad, el operador de prefijo "@" para control de errores deshabilitará incluso el reporte de errores en casos de fallos críticos que terminarán la ejecución del script. Entre otras cosas, esto quiere decir que si usa "@" para eliminar los errores de una cierta función, y ésta no se encuentra disponible o ha sido escrita de forma incorrecta, el script se detendrá en ese punto sin dar indicación alguna del motivo.

Anterior | Inicio | Siguiente
Operadores de Comparación | Subir | Operadores de ejecución


Operadores de ejecución

PHP soporta un operador de ejecución: las comillas invertidas (``). ¡Note que no se trata de comillas sencillas! PHP intentará ejecutar el contenido entre las comillas como si se tratara de un comando del intérprete de comandos; su salida será devuelta (es decir, no será simplemente volcada como salida; puede ser asignada a una variable). El uso del operador de comillas invertidas es idéntico al de shell_exec().

<?php
$salida = `ls -al`;
echo "<pre>$salida</pre>";
?>

Nota: El operador de comillas invertidas es deshabilitado cuando se encuentra activo safe mode o cuando se deshabilita shell_exec().

Vea también la sección del manual sobre funciones de Ejecución de Programas, popen() proc_open(), y Uso de PHP desde la línea de comandos.

Anterior | Inicio | Siguiente
Operadores de Control de Errores | Subir | Operadores de Incremento/Decremento


Operadores de Incremento/Decremento

PHP ofrece soporte de operadores de pre- y post-incremento y decremento, estilo-C.

Nota: Los operadores de incremento/decremento no afectan a los valores booleanos. Decrementar valores NULL tampoco tiene efecto, aunque incrementarlos resulta en 1.

Tabla 15-6. Operadores de Incremento/decremento

Ejemplo | Nombre | Efecto
++$a | Pre-incremento | Incrementa $a en uno, y luego devuelve $a.
$a++ | Post-incremento | Devuelve $a, y luego incrementa $a en uno.
--$a | Pre-decremento | Decrementa $a en uno, luego devuelve $a.
$a-- | Post-decremento | Devuelve $a, luego decrementa $a en uno.

Aquí hay un script sencillo de ejemplo:

<?php
echo "<h3>Postincremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a++ . "<br />\n";
echo "Debe ser 6: " . $a . "<br />\n";

echo "<h3>Preincremento</h3>";
$a = 5;
echo "Debe ser 6: " . ++$a . "<br />\n";
echo "Debe ser 6: " . $a . "<br />\n";

echo "<h3>Postdecremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a-- . "<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";

echo "<h3>Predecremento</h3>";
$a = 5;
echo "Debe ser 4: " . --$a . "<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";
?>

PHP sigue la convención de Perl cuando trabaja con operaciones aritméticas sobre variables de caracter, y no la convención de C. Por ejemplo, en Perl 'Z'+1 se convierte en 'AA', mientras que en C 'Z'+1 se convierte en '[' ( ord('Z') == 90, ord('[') == 91). Note que las variables de caracter pueden ser incrementadas pero no decrementadas, y aun así solo son soportados los caracteres ASCII planos (a-z y A-Z).

Ejemplo 15-5. Operaciones Aritméticas sobre Variables de Caracter

<?php
$i = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$i . "\n";
}
?>

El resultado del ejemplo seria:

X
Y
Z
AA
AB
AC

Incrementar o decrementar valores booleanos no tiene efecto.

Anterior | Inicio | Siguiente
Operadores de ejecución | Subir | Operadores de Lógica


Operadores de Lógica

Tabla 15-7. Operadores de Lógica

Ejemplo | Nombre | Resultado
$a and $b | Y | TRUE si tanto $a como $b son TRUE.
$a or $b | O | TRUE si cualquiera de $a o $b es TRUE.
$a xor $b | O exclusivo (Xor) | TRUE si $a o $b es TRUE, pero no ambos.
! $a | No | TRUE si $a no es TRUE.
$a && $b | Y | TRUE si tanto $a como $b son TRUE.
$a || $b | O | TRUE si cualquiera de $a o $b es TRUE.

La razón para tener las dos variaciones diferentes de los operadores "and" y "or" es que ellos operan con precedencias diferentes. (Vea Precedencia de Operadores.)

Anterior | Inicio | Siguiente
Operadores de Incremento/Decremento | Subir | Operadores de Cadena


Operadores de Cadena

Existen dos operadores para datos tipo string. El primero es el operador de concatenación ('.'), el cual devuelve el resultado de concatenar sus argumentas a lado derecho e izquierdo. El segundo es el operador de asignación sobre concatenación ('.='), el cual adiciona el argumento del lado derecho al argumento en el lado izquierdo. Por favor consulte Operadores de Asignación para más información.

<?php
$a = "¡Hola ";
$b = $a . "Mundo!"; // ahora $b contiene "¡Hola Mundo!"

$a = "¡Hola ";
$a .= "Mundo!";     // ahora $a contiene "¡Hola Mundo!"
?>

Vea también las secciones del manual sobre el tipo String y las funciones de Cadenas.

Anterior | Inicio | Siguiente
Operadores de Lógica | Subir | Operadores de Matrices


Operadores de Matrices

Tabla 15-8. Operadores de Matrices

Ejemplo | Nombre | Resultado
$a + $b | Unión | Unión de $a y $b.
$a == $b | Igualdad | TRUE si $a y $b tienen las mismas parejas llave/valor.
$a === $b | Identidad | TRUE si $a y $b tienen las mismas parejas llave/valor en el mismo orden y de los mismos tipos.
$a != $b | No-igualdad | TRUE si $a no es igual a $b.
$a <> $b | No-igualdad | TRUE si $a no es igual a $b.
$a !== $b | No-identidad | TRUE si $a no es idéntico a $b.

El operador + adiciona la matriz del lado derecho a aquél al lado izquierdo, al mismo tiempo que cualquier llave duplicada NO es sobrescrita.

<?php
$a = array("a" => "manzana", "b" => "banano");
$b = array("a" => "pera", "b" => "fresa", "c" => "cereza");

$c = $a + $b; // Unión de $a y $b
echo "Unión de \$a y \$b: \n";
var_dump($c);

$c = $b + $a; // Unión de $b y $a
echo "Unión de \$b y \$a: \n";
var_dump($c);
?>

Cuando sea ejecutado, este script producirá la siguiente salida:
Unión de $a y $b:
array(3) {
  ["a"]=>
  string(7) "manzana"
  ["b"]=>
  string(6) "banano"
  ["c"]=>
  string(6) "cereza"
}
Unión de $b y $a:
array(3) {
  ["a"]=>
  string(4) "pera"
  ["b"]=>
  string(5) "fresa"
  ["c"]=>
  string(6) "cereza"
}

Los elementos de las matrices son considerados equivalentes en la comparación si éstos tienen la misma clave y valor.

Ejemplo 15-6. Comparación de matrices

<?php
$a = array("manzana", "banano");
$b = array(1 => "banano", "0" => "manzana");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Vea también las secciones del manual sobre el tipo Array y funciones de Matrices.

Anterior | Inicio | Siguiente
Operadores de Cadena | Subir | Operadores de Tipo


Operadores de Tipo

instanceof es usado para determinar si una variable PHP es una instancia de objeto de cierta clase:

Ejemplo 15-7. Uso de instanceof con clases

<?php
class MiClase
{
}
class NoMiClase
{
}
$a = new MiClase;

var_dump($a instanceof MiClase);
var_dump($a instanceof NoMiClase);
?>

El resultado del ejemplo seria:

bool(true)
bool(false)
instanceof puede ser usado también para determinar si una variable es una instancia de objeto de una clase que hereda de una clase padre:

Ejemplo 15-8. Uso de instanceof con clases heredadas

<?php
class ClasePadre
{
}
class MiClase extends ClasePadre
{
}
$a = new MiClase;

var_dump($a instanceof MiClase);
var_dump($a instanceof ClasePadre);
?>

El resultado del ejemplo seria:

bool(true)
bool(true)
Por último, instanceof puede ser usado también para determinar si una variable es una instancia de objeto de una clase que implementa una interfaz:

Ejemplo 15-9. Uso de instanceof para una clase

<?php
interface MiInterfaz
{
}
class MiClase implements MiInterfaz
{
}
$a = new MiClase;

var_dump($a instanceof MiClase);
var_dump($a instanceof MiInterfaz);
?>

El resultado del ejemplo seria:

bool(true)
bool(true)

Aunque instanceof es usado por lo general con un nombre de clase literal, también puede usarse con otro objeto o una variable tipo cadena:

Ejemplo 15-10. Uso de instanceof con otras variables

<?php
interface MiInterfaz
{
}
class MiClase implements MiInterfaz
{
}
$a = new MiClase;
$b = new MiClase;
$c = 'MiClase';
$d = 'NoMiClase';
var_dump($a instanceof $b); // $b es un objeto de la clase MiClase
var_dump($a instanceof $c); // $c es una cadena 'MiClase'
var_dump($a instanceof $d); // $d es una cadena 'NoMiClase'
?>

El resultado del ejemplo seria:

bool(true)
bool(true)
bool(false)

Hay algunas trampas comunes de las que hay que tener cuidado. En versiones anteriores a PHP 5.1.0, instanceof llamaría __autoload() si el nombre de clase no existía. Adicionalmente, si la clase no estaba cargada, ocurriría un error fatal. Esto puede ser evitado usando una referencia dinámica de clase, o una variable tipo cadena que contenga el nombre de clase:

Ejemplo 15-11. Evitar búsquedas de nombres de clase y errores fatales con instanceof en PHP 5.0

<?php
$d = 'NoMiClase';
var_dump($a instanceof $d); // no acurre un error fatal aquí
?>

El resultado del ejemplo seria:

bool(false)

El operador instanceof fue introducido en PHP 5. Anteriormente is_a() era usado, pero desde entonces is_a() ha sido marcada como función obsoleta, prefiriéndose el uso de instanceof.

Vea también get_class() e is_a().

Anterior | Inicio | Siguiente
Operadores de Matrices | Subir | Estructuras de Control


Estructuras de Control

Manual de PHP
Anterior Siguiente

Capítulo 16. Estructuras de Control

Tabla de contenidos
if
else
elseif
Sintaxis Alternativa de Estructuras de Control
while
do..while
for
foreach
break
continue
switch
declare
return
require()
include()
require_once()
include_once()

Todo script PHP se compone de una serie de sentencias. Una sentencia puede ser una asignación, una llamada a función, un bucle, una sentencia condicional e incluso una sentencia que no haga nada (una sentencia vacía). Las sentencias normalmente acaban con punto y coma. Además, las sentencias se pueden agrupar en grupos de sentencias encapsulando un grupo de sentencias con llaves. Un grupo de sentencias es también una sentencia. En este capítulo se describen los diferentes tipos de sentencias.

if

La construcción if es una de las más importantes características de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP caracteriza una estructura if que es similar a la de C:

<?php
if (expr)
    sentencia
?>

Como se describe en la sección sobre expresiones, expr se evalúa a su valor condicional (boolean). Si expr se evalúa como TRUE, PHP ejecutará la sentencia, y si se evalúa como FALSE - la ignorará. Se puede encontrar más información sobre los valores evaluados como FALSE en la sección Convirtiendo a un valor condicional (boolean)'.

El siguiente ejemplo mostraría a es mayor que b si $a fuera mayor que $b:

<?php
if ($a > $b)
   print "a es mayor que b";
?>

A menudo, se desea tener más de una sentencia ejecutada de forma condicional. Por supuesto, no hay necesidad de encerrar cada sentencia con una cláusula if. En vez de eso, se pueden agrupar varias sentencias en un grupo de sentencias. Por ejemplo, este código mostraría a es mayor que b si $a fuera mayor que $b, y entonces asignaría el valor de $a a $b:

<?php
 if ($a > $b) {
     print "a es mayor que b";
     $b = $a;
 }
?>

Las sentencias if se pueden anidar indefinidamente dentro de otras sentencias if, lo cual proporciona una flexibilidad completa para ejecuciones condicionales en las diferentes partes de tu programa.

Anterior | Inicio | Siguiente
Operadores de Tipo | Subir | else


Sintaxis Alternativa de Estructuras de Control

PHP ofrece una sintaxis altenativa para alguna de sus estructuras de control; a saber, if, while, for, y switch. En cada caso, la forma básica de la sintaxis alternativa es cambiar abrir-llave por dos puntos (:) y cerrar-llave por endif;, endwhile;, endfor;, or endswitch;, respectivamente.

<?php if ($a==5): ?>
 A es igual a 5
 <?php endif; ?>

En el ejemplo de arriba, el bloque HTML "A es igual 5" se anida dentro de una sentencia if escrita en la sintaxis alternativa. El bloque HTML se mostraría solamente si $a fuera igual a 5.

La sintaxis alternativa se aplica a else y también a elseif. La siguiente es una estructura if con elseif y else en el formato alternativo:

<?php
 if ($a == 5):
     print "a es igual a 5";
     print "...";
 elseif ($a == 6):
     print "a es igual a 6";
     print "!!!";
 else:
     print "a no es ni 5 ni 6";
 endif;
?>

Mirar también while, for, e if para más ejemplos.

Anterior | Inicio | Siguiente
elseif | Subir | while


return

Si se llama desde una función, return() termina inmediatamente la ejecución de la función y retorna su argumento como valor de la función. return() tambien terminará la ejecución de una sentencia eval()ó un script PHP.

Si el script actual ha sido incluido ó requerido con include() ó require(), el control es transferido al script que llamo al script incluido. Además, si el script actual fue incluido, el valor dado a return() será retornado como el valor de la llamada include(). Si return() es invocado desde el script principal, la ejecución terminara inmediatamente. Si el script actual fue incluido con las opciones de configuración auto_prepend_file ó auto_append_file, la ejecución terminara inmediatamente.

Para más información, consultar Retornando valores.

Nota: Tener en cuenta que ya que return() es un constructor del lenguaje y no una función, los paréntesis alrededor de sus argumentos, son solo necesarios si el argumento contiene una expresion, no se suelen utilizar tan a menudo, cuando retornan una variable.

Anterior | Inicio | Siguiente
declare | Subir | require()


Funciones

Manual de PHP
Anterior Siguiente

Capítulo 17. Funciones

Tabla de contenidos
Funciones definidas por el usuario
Parámetros de las funciones
Devolviendo valores
Funciones variables
Funciones internas (incorporadas)

Funciones definidas por el usuario

Una función se puede definir con la siguiente sintaxis:

Ejemplo 17-1. Psuedo código para demostrar el uso de funciones

<?php
function foo ($arg_1, $arg_2, ..., $arg_n)
{
    echo "Funci&oacute;n de ejemplo.\n";
    return $retval;
}
?>

Cualquier instrucción válida de PHP puede aparecer en el cuerpo de la función, incluso otras funiones y definiciones de clases.

En PHP3, las funciones deben definirse antes de que se referencien. En PHP4 no existe tal requerimiento.Excepto cuando una función es definida condicionalmente como en los ejemplos siguientes.

Cuando una función es definida condicionalmente como se puede ver en estos dos ejemplos, su definición debe ser procesada antes que sea llamada.

Ejemplo 17-2. Funciones Condicionales

<?php

$makefoo = true;

/* We can't call foo() from here
   since it doesn't exist yet,
   but we can call bar() */

bar();

if ($makefoo) {
  function foo ()
  {
    echo "I don't exist until program execution reaches me.\n";
  }
}

/* Now we can safely call foo()
   since $makefoo evaluated to true */

if ($makefoo) foo();

function bar()
{
  echo "I exist immediately upon program start.\n";
}

?>

Ejemplo 17-3. Funciones dentro de funciones

<?php
function foo()
{
  function bar()
  {
    echo "I don't exist until foo() is called.\n";
  }
}

/* We can't call bar() yet
   since it doesn't exist. */

foo();

/* Now we can call bar(),
   foo()'s processesing has
   made it accessible. */

bar();

?>

PHP no soporta la redefinición de funciones previamente declaradas.

Nota: Los nombres de funciones se pueden llamar con mayusculas o minusculas, aunque es una buena costumbre el llamar a las funciones tal y como aparecen en su definición.

PHP3 no soporta un número variable de parámetros, aunque sí soporta parámetros por defecto (ver Valores por defecto de de los parámetros para más información). PHP4 soporta ambos: ver Listas de longitud variable de parámetros y las referencias de las funciones func_num_args(), func_get_arg(), y func_get_args() para más información.

Anterior | Inicio | Siguiente
include_once() | Subir | Parámetros de las funciones


Parámetros de las funciones

La información puede suministrarse a las funciones mediante la lista de parámetros, una lista de variables y/o constantes separadas por comas.

PHP soporta pasar parámetros por valor (el comportamiento por defecto), por referencia, y parámetros por defecto. Listas de longitud variable de parámetros sólo están soportadas en PHP4 y posteriores; ver Listas de longitud variable de parámetros y la referencia de las funciones func_num_args(), func_get_arg(), y func_get_args() para más información. Un efecto similar puede conseguirse en PHP3 pasando un array de parámetros a la función:

Ejemplo 17-4. Pasando matrices a funciones

<?php
function takes_array($input)
{
    echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>

Pasar parámetros por referencia

Por defecto, los parámetros de una función se pasan por valor (de manera que si cambias el valor del argumento dentro de la función, no se ve modificado fuera de ella). Si deseas permitir a una función modificar sus parámetros, debes pasarlos por referencia.

Si quieres que un parámetro de una función siempre se pase por referencia, puedes anteponer un ampersand (&) al nombre del parámetro en la definición de la función:

Ejemplo 17-5. Pasando parámetros de funciones por referencia

<?php
function add_some_extra(&$string)
{
    $string .= ' y algo m&aacute;s.';
}
$str = 'Esto es una cadena, ';
add_some_extra($str);
echo $str;    // Saca 'Esto es una cadena, y algo m&aacute;s.'
?>

Parámetros por defecto

Una función puede definir valores por defecto para los parámetros escalares estilo C++:

Ejemplo 17-6. Uso de parámetros por defecto en funciones

<?php
function makecoffee ($type = "cappucino")
{
    return "Hacer una taza de $type.\n";
}
echo makecoffee ();
echo makecoffee ("espresso");
?>

La salida del fragmento anterior es:

Hacer una taza de cappucino.
Hacer una taza de espresso.

El valor por defecto tiene que ser una expresión constante, y no una variable, miembro de una clase ó llamada a una función.

Destacar que cuando se usan parámetros por defecto, estos tienen que estar a la derecha de cualquier parámetro sin valor por defecto; de otra manera las cosas no funcionarán de la forma esperada. Considera el siguiente fragmento de código:

Ejemplo 17-7. Uso incorrecto de parámetros por defecto en funciones

<?php
function makeyogurt ($type = "acidophilus", $flavour)
{
    return "Haciendo un bol de $type $flavour.\n";
}

echo makeyogurt ("mora");   // No funcionar&aacute; de la manera
esperada
?>

La salida del ejemplo anterior es:

Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Haciendo un bol de mora.

Y ahora, compáralo con:

Ejemplo 17-8. Uso correcto de parámetros por defecto en funciones

<?php
function makeyogurt ($flavour, $type = "acidophilus")
{
    return "Haciendo un bol de $type $flavour.\n";
}

echo makeyogurt ("mora");   // funciona como se esperaba
?>

La salida de este ejemplo es:

Haciendo un bol de acidophilus mora.

Lista de longitud variable de parámetros

PHP4 soporta las listas de longitud variable de parámetros en las funciones definidas por el usuario. Es realmente fácil, usando las funciones func_num_args(), func_get_arg(), y func_get_args().

No necesita de ninguna sintaxis especial, y las listas de parámetros pueden ser escritas en la llamada a la función y se comportarán de la manera esperada.

Anterior | Inicio | Siguiente
Funciones | Subir | Devolviendo valores


Devolviendo valores

Los valores se retornan usando la instrucción opcional return. Puede devolverse cualquier tipo de valor, incluyendo listas y objetos.

Ejemplo 17-9. Us0 de return()

<?php
function square ($num)
{
    return $num * $num;
}
echo square (4);   // saca '16'.
?>

No puedes devolver múltiples valores desde una función, pero un efecto similar se puede conseguir devolviendo una lista.

Ejemplo 17-10. Retornando una matriz para obtener múltiples valores

<?php
function small_numbers()
{
    return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>

Para retornar una referencia desde una función, se tiene que usar el operador de referencias & tanto en la declaración de la función como en la asignación del valor de retorno a una variable;

Ejemplo 17-11. Retornando una referencia desde una función

<?php
function &returns_reference()
{
    return $someref;
}

$newref =& returns_reference();
?>

Para más información sobre referencias,consultar Explicando Referencias.

Anterior | Inicio | Siguiente
Parámetros de las funciones | Subir | Funciones variables


Funciones variables

PHP soporta el concepto de funciones variable, esto significa que si una variable tiene unos paréntesis añadidos al final, PHP buscará una función con el mismo nombre que la evaluación de la variable, e intentará ejecutarla. Entre otras cosas, esto te permite implementar retrollamadas (callbacks), tablas de funciones y demás.

Las funciones varibles no funcionarán con construcciones del lenguaje, tal como echo(), print(), unset(), isset(), empty(), include(), require() y derivados. Se necesitará usar una función propia para utilizar cualquiera de estos constructores como funciones variables.

Ejemplo 17-12. Ejemplo de función variable

<?php
function foo()
{
    echo "In foo()<br>\n";
}

function bar($arg = '')
{
    echo "In bar(); argument was '$arg'.<br>\n";
}

// This is a wrapper function around echo
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // This calls foo()

$func = 'bar';
$func('test');  // This calls bar()

$func = 'echoit';
$func('test');  // This calls echoit()
?>

También se puede llamar a un metodo de un objeto usando la característica variable de las funciones.

Ejemplo 17-13. Ejemplo sobre el metodo variable

<?php
class Foo
{
    function Var()
    {
        $name = 'Bar';
        $this->$name(); // This calls the Bar() method
    }

    function Bar()
    {
        echo "This is Bar";
    }
}

$foo = new Foo();
$funcname = "Var";
$foo->$funcname();  // This calls $foo->Var()

?>

Ver también call_user_func(), variable variables y function_exists().

Anterior | Inicio | Siguiente
Devolviendo valores | Subir | Funciones internas (incorporadas)


Funciones internas (incorporadas)

PHP tiene incorporadas muchas funciones y construcciones. Existen también funciones que requieren extensiones específicas de PHP para que no fallen con un error fatal del tipo "undefined function". Por ejemplo, para usar funciones image, tal como imagecreatetruecolor(), se necesita compilar PHP con soporte para GD. O para usar mysql_connect() se necesita compilar PHP con soporte para MySQL. Existen muchas funciones en el núcleo de PHP que se incluyen en cada version de PHP, como las funciones string y variable. Una llamada a la función phpinfo() ó get_loaded_extensions() mostrará que extensiones están cargadas en tu versión de PHP. Tener tambien en cuenta que muchas extensiones se encuentran activadas por defecto y que el manual de PHP se encuentra dividido en partes, según estas extensiones. Vea los capítulos configuración, instalación y los capitulos sobre cada extensión, para obtener información sobre como configurar vuestro PHP

La explicación de como leer e intrerpretar un prototipo de función se encuentra en la sección del manual titulada como leer la definición de una función. Es importante entender que devuelve una función ó si la función trabaja directamente en el valor entregado a la misma. Por ejemplo, str_replace() devuelve una cadena modificada mientras que usort() trabaja directamente en el valor entregado a la misma. Cada página del manual contiene información específica sobre las diferentes funciones existentes, parametros que utilizan, valores devueltos, cambios de comportamiento, etc. Es importante conocer estas diferencias para poder escribir correctamente código PHP.

Vea también function_exists(), referencias de funciones,
 get_extension_funcs() y
 dl().

Anterior | Inicio | Siguiente
Funciones variables | Subir | Clases y Objetos (PHP 4)


Clases y Objetos (PHP 4)

Manual de PHP
Anterior Siguiente

Capítulo 18. Clases y Objetos (PHP 4)

Tabla de contenidos
class
extends
Constructores
Operador de Resolución de Contexto (::)
parent
Seriación de objetos, objetos en sesiones
Las funciones mágicas __sleep y __wakeup
Las referencias al interior del constructor
Comparación de objetos

class

Una clase es una colección de variables y funciones que trabajan con estas variables. Una clase es definida usando la siguiente sintaxis:

<?php
class Carrito {
    var $items;  // Ítems en nuestro carrito de compras

    // Agregar $num artículos de $artnr al carrito

    function agregar_item($artnr, $num) {
        $this->items[$artnr] += $num;
    }

    // Tomar $num artículos de $artnr del carrito

    function retirar_item($artnr, $num) {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } elseif ($this->items[$artnr] == $num) {
            unset($this->items[$artnr]);
            return true;
        } else {
            return false;
        }
    }
}
?>

Esto define una clase llamada Carrito que consiste de una matriz asociativa de artículos en el carrito y dos funciones para agregar y eliminar elementos del carrito.

Aviso

NO es posible separar la definición de una clase en varios archivos. Asimismo NO es posible separar la definición de una clase en bloques PHP diferentes, a menos que la separación sea al interior de una declaración de método. Lo siguiente no funciona:

<?php
class prueba {
?>
<?php
    function prueba() {
        print 'Bien';
    }
}
?>

Sin embargo, lo siguiente es permitido:

<?php
class prueba {
    function prueba() {
        ?>
        <?php
        print 'Bien';
    }
}
?>

Las siguientes notas de precaución son válidas para PHP 4.

Atención

El nombre stdClass es usado internamente por Zend y es reservado. No puede tener una clase con el nombre stdClass en PHP.

Atención

Los nombres de función __sleep y __wakeup son mágicos en las clases PHP. No puede tener funciones con estos nombres en cualquiera de sus clases a menos que desee usar la funcionalidad mágica asociada con ellas. Vea más información a continuación.

Atención

PHP reserva todos los nombres de función que comienzan con __ como mágicos. Se recomienda que no use nombres de función con __ en PHP a menos que desee usar alguna funcionalidad mágica documentada.

En PHP 4, sólo se permiten inicializadores constantes para variables var. Para inicializar variables con valores no-constantes, necesita una función de inicialización que sea llamada automáticamente cuando un objeto es construido a partir de la clase. Tal función es llamada constructora (vea más información a continuación).

<?php
class Carrito {
    /* Ninguna de estas expresiones funciona en PHP 4. */
    var $fecha_hoy = date("Y-m-d");
    var $nombre = $primer_nombre;
    var $duenyo = 'Fred ' . 'Jones';
    /* Aunque, las matrices que contienen valores constantes funcionan */
    var $items = array("VCR", "TV");
}

/* Así es como debe declararse. */
class Carrito {
    var $fecha_hoy;
    var $nombre;
    var $duenyo;
    var $items = array("VCR", "TV");

    function Carrito() {
        $this->fecha_hoy = date("Y-m-d");
        $this->nombre = $GLOBALS['primer_nombre'];
        /* etc. . . */
    }
}
?>

Las clases son tipos, es decir, son planos usados para variables reales. Necesita crear una variable del tipo deseado con el operador new.

<?php
$carrito = new Carrito;
$carrito->agregar_item("10", 1);

$otro_carrito = new Carrito;
$otro_carrito->agregar_item("0815", 3);
?>

Esto crea los objetos $carrito y $otro_carrito, ambos de la clase Carrito. La función agregar_item() del objeto $carrito es llamada para agregar 1 item del artículo número 10 al $carrito. Se agregan 3 items del artículo número 0815 al $otro_carrito.

Ambos, $carrito y $otro_carrito, tienen funciones agregar_item(), retirar_item() y una variable items. Estas son variables y funciones diferentes. Puede pensar sobre los objetos como algo similar a las directorios en un sistema de archivos. En un sistema de archivos es posible tener dos archivos LEAME.TXT diferentes, siempre y cuando estén en directorios diferentes. Tal y como con los directorios, en donde es necesario escribir las rutas de nombres completas para llegar a cada archivo a partir del directorio del nivel superior, es necesario especificar el nombre completo de la función que desea llamar: en términos de PHP, el directorio de nivel superior sería el espacio de nombres global, y el separador de ruta sería ->. De tal modo que los nombres $carrito->items y $otro_carrito->items hacen referencia a dos variables diferentes. Note que la variable se llama $carrito->items, no $carrito->$items, es decir, un nombre de variable en PHP solo tiene un único signo de dólar.

<?php
// correcto, un solo $
$carrito->items = array("10" => 1);

// inválido, ya que $carrito->$items se convierte en $carrito->""
$carrito->$items = array("10" => 1);

// correcto, pero puede o no ser lo que se busca:
// $carrito->$mivar se convierte en $carrito->items
$mivar = 'items';
$carrito->$mivar = array("10" => 1);
?>

Al interior de una definición de clase, no se conoce el nombre bajo el que el objeto será accesible en su programa: en el momento en que la clase Carrito fue escrita, no se conocía si el objeto se llamaría $carrito, $otro_carrito, o algo diferente más adelante. Por lo tanto, no es posible escribir $carrito->items al interior de la clase Carrito. En su lugar, para poder acceder a sus propias funciones y variables desde el interior de una clase, es posible usar la pseudo-variable $this, la cual puede leerse como 'mi propio' o 'el objeto actual'. Por lo tanto, '$this->items[$num_art] += $num' puede leerse como 'agregar $num al contador $num_art de mi propia matriz de items', o 'agregar $num al contador $num_art de la matriz de items al interior del objeto actual'.

Nota: Usualmente, la pseudo-variable $this no es definida si el método en el que se encuentra es llamado estáticamente. Sin embargo, esta no es una regla estricta: $this se define si un método es llamado estáticamente desde el interior de otro objeto. En este caso, el valor de $this es aquél del objeto que hace la llamada. Esto se ilustra en el siguiente ejemplo:

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this se define (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this no se define.\n";
        }
    }
}

class B
{
    function bar()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

El resultado del ejemplo seria:

$this se define (a)
$this no se define.
$this se define (b)
$this no se define.

Nota: Existen algunas funciones interesantes que manejan clases y objetos. Puede que quiera echar un vistazo a las Funciones de Clase/Objeto.

Anterior | Inicio | Siguiente
Funciones internas (incorporadas) | Subir | extends


Seriación de objetos, objetos en sesiones

Nota: En PHP 3, los objetos perdían su asociación de clase a lo largo del proceso de seriación y decodificación. La variable resultante es de tipo objeto, pero no tiene clase ni métodos, de modo que es inútil (se ha convertido en algo como una matriz con una sintaxis curiosa).

Atención

La siguiente información es válida para PHP >= 4 únicamente.

serialize() devuelve una cadena que contiene una representación tipo secuencia-de-bytes de cualquier valor que pueda ser almacenado en PHP. unserialize() puede causar que estas cadenas recreen los valores de variable originales. Usando el método de seriación para guardar un objeto guardará todas las variables en un objeto. Las funciones en un objeto no se guardarán, sólo el nombre de la clase.

Para poder usar unserialize() con un objeto, la clase de ese objeto necesita ser definida. Es decir, si tiene un objeto $a de la clase A en pagina1.php y codifica ésta variable, obtendrá una cadena que hace referencia a la clase A y contiene todos los valores de variables contenidas en $a. Si desea tener la capacidad de revertir el proceso de seriación en pagina2.php, recreando $a de la clase A, la definición de la clase A debe estar presente en pagina2.php. Esto puede conseguirse por ejemplo almacenando la definición de la clase A en un archivo de inclusión e incluyéndolo tanto en pagina1.php como en pagina2.php.

<?php
// clase_a.inc:

  class A {
      var $uno = 1;

      function mostrar_uno() {
          echo $this->uno;
      }
  }

// pagina1.php:

  include("clase_a.inc");

  $a = new A;
  $s = serialize($a);
  // almacenar $s en alguna parte en donde pagina2.php lo pueda encontrar.
  $fp = fopen("almacenamiento", "w");
  fwrite($fp, $s);
  fclose($fp);

// pagina2.php:

  // esto es necesario para revertir la seriación apropiadamente.
  include("clase_a.inc");

  $s = implode("", @file("almacenamiento"));
  $a = unserialize($s);

  // ahora use la función mostrar_uno() del objeto $a.
  $a->mostrar_uno();
?>

Si está usando sesiones y usa session_register() para registrar objetos, estos objetos son seriados automáticamente al final de cada página PHP, y son decodificados de vuelta automáticamente en cada una de las siguientes páginas. Esto quiere decir, básicamente, que tales objetos pueden aparecer en cualquiera de sus páginas una vez hacen parte de su sesión.

Es bastante recomendable que incluya las definiciones de clase de todos esos objetos registrados en todas sus páginas, incluso si no va a usar realmente estas clases en todas sus páginas. Si no lo hace y un objeto está siendo decodificado sin que su definición de clase esté presente, perderá su asociación de clase y se convertirá en un objeto de la clase stdClass sin ninguna función disponible, es decir, se hará prácticamente inútil.

De modo que si en el ejemplo anterior $a se hacía parte de una sesión ejecutando session_register("a"), debería incluírse el archivo clase_a.inc en todas sus páginas, no sólo en pagina1.php y pagina2.php.

Anterior | Inicio | Siguiente
parent | Subir | Las funciones mágicas __sleep y __wakeup


Las referencias al interior del constructor

Crear referencias al interior del constructor puede llevar a resultados confusos. Esta sección tipo-tutorial le ayuda a evitar problemas.

<?php
class Foo {
    function Foo($nombre) {
        // crear una referencia al interior de la matriz global $refglobal
        global $refglobal;
        $refglobal[] = &$this;
        // definir el nombre al valor pasado
        $this->definirNombre($nombre);
        // e imprimirlo
        $this->imprimirNombre();
    }

    function imprimirNombre() {
        echo "<br />", $this->nombre;
    }

    function definirNombre($nombre) {
        $this->nombre = $nombre;
    }
}
?>

Revisemos si existe una diferencia entre $bar1, que ha sido creado usando el operador de copia = y $bar2 que ha sido creado usando el operador de referencia =&...

<?php
$bar1 = new Foo('definido en el constructor');
$bar1->imprimirNombre();
$refglobal[0]->imprimirNombre();

/* salida:
definido en el constructor
definido en el constructor
definido en el constructor */

$bar2 =& new Foo('definido en el constructor');
$bar2->imprimirNombre();
$refglobal[1]->imprimirNombre();

/* salida:
definido en el constructor
definido en el constructor
definido en el constructor */
?>

Aparentemente no hay ninguna diferencia, pero en realidad hay una bastante importante: $bar1 y $refglobal[0] _NO_ son referenciados, NO son la misma variable. Esto se debe a que "new" no devuelve una referencia por defecto, en su lugar devuelve una copia.

Nota: No existe una pérdida de rendimiento (ya que desde PHP 4 se usa el conteo de referencias) al devolver copias en lugar de referencias. Al contrario, con frecuencia es mejor trabajar simplemente con copias en lugar de referencias, ya que crear referencias toma cierto tiempo mientras que crear copias prácticamente no toma nada de tiempo (a menos que ninguna de ellas sea una matriz u objeto grande y una de ellas se modifique y luego las otras subsecuentemente, entonces sería buena idea usar referencias para modificarlas todas al mismo tiempo).

Para probar lo que se dice más arriba, veamos el siguiente código.

<?php
// ahora cambiaremos el nombre. ¿qué espera que pase?
// puede que espere que tanto $bar1 como $refglobal[0] cambien sus nombres...
$bar1->definirNombre('definido desde afuera');

// como se ha mencionado antes, ese no es el caso.
$bar1->imprimirNombre();
$refglobal[0]->imprimirNombre();

/* salida:
definido desde afuera
definido en el constructor */

// veamos qué cambia entre $bar2 y $refglobal[1]
$bar2->definirNombre('definido desde afuera');

// por suerte, no solo son iguales, son la misma variable, de modo que
// $bar2->nombre y $refglobal[1]->nombre son el mismo también
$bar2->imprimirNombre();
$refglobal[1]->imprimirNombre();

/* salida:
definido desde afuera
definido desde afuera */
?>

Otro ejemplo final, intente entenderlo.

<?php
class A {
    function A($i) {
        $this->valor = $i;
        // intente descubrir porqué no necesitamos una referencia aquí
        $this->b = new B($this);
    }

    function crearRef() {
        $this->c = new B($this);
    }

    function echoValor() {
        echo "<br />","clase ",get_class($this),': ',$this->valor;
    }
}

class B {
    function B(&$a) {
        $this->a = &$a;
    }

    function echoValor() {
        echo "<br />","clase ",get_class($this),': ',$this->a->valor;
    }
}

// intente entender porqué usar una simple copia produciría
// un resultado no deseado en la línea marcada con *
$a =& new A(10);
$a->crearRef();

$a->echoValor();
$a->b->echoValor();
$a->c->echoValor();

$a->valor = 11;

$a->echoValor();
$a->b->echoValor(); // *
$a->c->echoValor();

?>

El resultado del ejemplo seria:

clase A: 10
clase B: 10
clase B: 10
clase A: 11
clase B: 11
clase B: 11

Anterior | Inicio | Siguiente
Las funciones mágicas __sleep y __wakeup | Subir | Comparación de objetos


Comparación de objetos

En PHP 4, los objetos son comparados en una forma muy simple: Dos instancias de objeto son iguales si tienen los mismos atributos y valores, y son instancias de la misma clase. Reglas similares se aplican cuando se comparan dos objetos usando el operador de identidad (===).

Si ejecutáramos el código del siguiente ejemplo:

Ejemplo 18-1. Ejemplo de comparación de objetos en PHP 4

<?php
function bool_a_cadena($bool) {
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compararObjetos(&$o1, &$o2) {
    echo 'o1 == o2 : '.bool_a_cadena($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool_a_cadena($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool_a_cadena($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool_a_cadena($o1 !== $o2)."\n";
}

class Bandera {
    var $bandera;

    function Bandera($bandera=true) {
            $this->bandera = $bandera;
    }
}

class BanderaCambiante extends Bandera {

    function encender() {
        $this->bandera = true;
    }

    function apagar() {
        $this->bandera = false;
    }
}

$o = new Bandera();
$p = new Bandera(false);
$q = new Bandera();

$r = new BanderaCambiante();

echo "Comparar instancias creadas con los mismos parámetros\n";
compararObjetos($o, $q);

echo "\nComparar instancias creadas con parámetros diferentes\n";
compararObjetos($o, $p);

echo "\nComparar una instancia de una clase padre con una de una subclase\n";
compararObjetos($o, $r);
?>

El resultado del ejemplo seria:

Comparar instancias creadas con los mismos parámetros
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Comparar instancias creadas con parámetros diferentes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Comparar una instancia de una clase padre con una de una subclase
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
Que es la salida que podemos esperar dadas las reglas de comparación descritas anteriormente. Solo las instancias con los mismos valores para sus atributos y de la misma clase son consideradas iguales e idénticas.

Incluso en los casos en donde tenemos composición de objetos, se aplican las mismas reglas de comparación. En el ejemplo siguiente creamos una clase contenedora que almacena una matriz asociativa de objetos Bandera.

Ejemplo 18-2. Comparación de objetos compuestos en PHP 4

<?php
class ConjuntoBanderas {
    var $conjunto;

    function ConjuntoBanderas($matrizBanderas = array()) {
        $this->conjunto = $matrizBanderas;
    }

    function agregarBandera($nombre, $bandera) {
        $this->conjunto[$nombre] = $bandera;
    }

    function eliminarBandera($nombre) {
        if (array_key_exists($nombre, $this->conjunto)) {
            unset($this->conjunto[$nombre]);
        }
    }
}

$u = new ConjuntoBanderas();
$u->agregarBandera('bandera1', $o);
$u->agregarBandera('bandera2', $p);
$v = new ConjuntoBanderas(array('bandera1'=>$q, 'bandera2'=>$p));
$w = new ConjuntoBanderas(array('bandera1'=>$q));

echo "\nObjetos compuestos u(o,p) y v(q,p)\n";
compararObjetos($u, $v);

echo "\nu(o,p) y w(q)\n";
compararObjetos($u, $w);
?>

El resultado del ejemplo seria:

Objetos compuestos u(o,p) y v(q,p)
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

u(o,p) y w(q)
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Anterior | Inicio | Siguiente
Las referencias al interior del constructor | Subir | Clases y Objetos (PHP 5)


Clases y Objetos (PHP 5)

Manual de PHP
Anterior Siguiente

Capítulo 19. Clases y Objetos (PHP 5)

Tabla de contenidos
Introducción
Las Bases
Auto carga de Objetos
Constructores y Destructores
Visibilidad
Alcance del operador de resolución (::)
La palabra reservada 'Static'
Constantes De la Clase
Abstracción de Objetos
Interfaces de Objetos
Sobrecarga
Interacción de Objetos
Patrones
Métodos mágicos
La palabra reservada 'Final'
Clonado de Objetos
Comparación de Objetos
Reflección
Type Hinting

Introducción

En PHP 5 hay un nuevo modelo de Objetos. El manejo de PHP de objetos ha sido reescrito por completo, permitiendo un mejor desempeño y mas características.

Anterior | Inicio | Siguiente
Comparación de objetos | Subir | Las Bases


Las Bases

clase

Cada definición de clase empieza con la palabra "class", seguida por un nombre de clase, el cual puede ser cualquier nombre que no esté en la lista de palabras reserved en PHP. Seguida por un par de llaves curvas, las cuales contienen la definición de los miembros de la clase y los métodos. Una seudo variable $this está disponible cuando un método es llamado dentro del contexto de un objeto. $this es una referencia al objeto que se está usando (usualmente el objeto al que el método pertenece, pero puede ser otro objeto, si un método es llamado estáticamente desde el contexto de un objeto secundario). Este es ilustrado en el siguiente ejemplo:

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this is defined (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}

class B
{
    function bar()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

El resultado del ejemplo seria:

$this is defined (a)
$this is not defined.
$this is defined (b)
$this is not defined.

Ejemplo 19-1. Definición simple de una clase

<?php
class SimpleClass
{
    // member declaration
    public $var = 'a default value';

    // method declaration
    public function displayVar() {
        echo $this->var;
    }
}
?>

Nuevo objeto

Para crear una instancia de un objeto, un nuevo objeto debe ser creado y asignado a una variable. Un objeto siempre será asignado cuando se crea un objeto nuevo a menos que el objeto tenga un constructor definido que arroje una excepción en caso de error.

Ejemplo 19-2. Creando una instancia

<?php
$instance = new SimpleClass()
?>

Cuando se asigna una instancia de un objeto previamente creado a una nueva variable, la nueva variable accesará la misma instancia que la del objeto a la que fue asignada. Este comportamiento es el mismo cuando se pasan instancias a una función. Una nueva instancia de un objeto previamente creado puede ser hecho clonandolo.

Ejemplo 19-3. Asignamiento de Objeto

<?php
$assigned   =  $instance;
$reference  =& $instance;

$instance->var = '$assigned will have this value';

$instance = null; // $instance and $reference become null

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

El resultado del ejemplo seria:

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$assigned will have this value"
}

Extendiendo objetos

Una clase puede heredar métodos y miembros de otra clase usando la palabra 'extends' en la declaración. No es posible extender de múltiples clases, una clase puede heredar solo de una clase base.

Los métodos de herencia y sus miembros pueden ser evitados, redeclarandolos con el mismo nombre con el que los definió la clase padre, a menos que la clase padre haya definido un método como final. Es posible accesar a los métodos o miembros redeclarados haciendo referencia a ellos con parent::

Ejemplo 19-4. Herencia de SimpleClass

<?php
class ExtendClass extends SimpleClass
{
    // Redefine the parent method
    function displayVar()
    {
        echo "Extending class\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

El resultado del ejemplo seria:

Extending class
a default value

Anterior | Inicio | Siguiente
Clases y Objetos (PHP 5) | Subir | Auto carga de Objetos


Auto carga de Objetos

Muchos desarrolladores que escriben aplicaciones con programación orientada a objetos crean un archivo fuente PHP por cada definición de clase. Una de las molestias más grandes es tener que escribir una larga lista de includes necesarios al principio de cada script (uno para cada clase).

En PHP 5, esto ya no es necesario. Puede definir una función __autoload la cual es llamada automáticamente en caso de que intente usar una clase que no ha sido definida aún. Al llamar esta función la ejecución del script da una última oportunidad de cargar la clase antes de que PHP falle con un error.

Nota: Las excepciones arrojadas en la función __autoload no pueden ser capturadas en el bloque catch y resultan en el despliegue de un error fatal.

Ejemplo 19-5. Ejemplo de auto carga

Este ejemplo intenta cargar las clases MyClass1 y MyClass2 de los archivos MyClass1.php y MyClass2.php respectivamente.

<?php
function __autoload($class_name) {
    require_once $class_name . '.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2();
?>

Anterior | Inicio | Siguiente
Las Bases | Subir | Constructores y Destructores


Constructores y Destructores

Constructor

void __construct ( [mixed args [, ...]] )

PHP 5 permite a los desarrolladores declarar métodos constructores para las clases. Las clases que tienen un método constructor llaman a este método cada vez que se crea un nuevo objeto, para cualquier inicialización que el objeto puede necesitar antes de ser usado.

Nota: Los constructores padres no son llamados implicitamente si la clase hijo define un constructor. Para poder ejecutar el constructor de la clase padre, se debe hacer una llamada a parent::__construct() dentro del constructor de la clase hijo.

Ejemplo 19-6. Usando constructores unificados

<?php
class BaseClass {
   function __construct() {
       print "In BaseClass constructor\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}

$obj = new BaseClass();
$obj = new SubClass();
?>

Para tener compatibilidad con versiones anteriores, si PHP 5 no encuentra una función __construct() para una clase dada, buscará la forma de la función del constructor que se usaba anteriormente por el nombre de la clase. Efectivamente, esto significa que el único caso que puede tener compatibilidad es si la clase tiene un método llamado __construct() el cual fue usado para semánticas diferentes.

Destructores

void __destruct ( void )

PHP 5 introduce un concepto de destructor similar a aquellos de otros lenguajes de programación orientada a objetos, tal como C++. El método destructor será llamado tan pronto como todas las referencias a un objeto en particular sean removidas o cuando el objeto sea explícitamente destruido.

Ejemplo 19-7. Ejemplo de Destructor

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Como los constructores, los destructores de la clase padre no serán llamados explícitamente por el compilador. Para ejecutar un destructor padre, se debe tener una llamada explícita a parent::__destruct() en el cuerpo del destructor.

Nota: El destructor es llamado durante la finalización del script, de tal manera que los headers ya han sido enviados.

Nota: Intentar arrojar una excepción desde un destructor produce un error fatal.

Anterior | Inicio | Siguiente
Auto carga de Objetos | Subir | Visibilidad


Visibilidad

La visibilidad de una propiedad o método puede ser definida al anteponerle a la declaración con las palabras reservadas: public, protected o private. Los elementos declarados con Public pueden ser accesados en todos lados. Los Protected limitan el acceso a las clases heredadas (y a la clase que define el elemento). Los Private limitan la visibilidad solo a la clase que lo definió.

Visibilidad de los miembros

Los miembros de la clase debe estar definidos con public, private o protected.

Ejemplo 19-8. Declaración de miembros

<?php
/**
 * Define MyClass
 */
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private

/**
 * Define MyClass2
 */
class MyClass2 extends MyClass
{
    // We can redeclare the public and protected method, but not private
    protected $protected = 'Protected2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj->public; // Works
echo $obj2->private; // Undefined
echo $obj2->protected; // Fatal Error
$obj2->printHello(); // Shows Public, Protected2, not Private

?>

Nota: La forma de declarar una variable en PHP 4 con la palabra reservada var ya no es válida para los objetos de PHP 5. Por compatibilidad una variable declarada en php se asumirá con visibilidad pública, y se emitirá una advertencia E_STRICT.

Visibilidad de los métodos

Los métodos de clase deben ser definidos con public, private o protected. Los métodos sin ninguna declaración son tomados como public.

Ejemplo 19-9. Declaración de métodos

<?php
/**
 * Define MyClass
 */
class MyClass
{
    // Contructors must be public
    public function __construct() { }

    // Declare a public method
    public function MyPublic() { }

    // Declare a protected method
    protected function MyProtected() { }

    // Declare a private method
    private function MyPrivate() { }

    // This is public
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Works
$myclass->MyProtected(); // Fatal Error
$myclass->MyPrivate(); // Fatal Error
$myclass->Foo(); // Public, Protected and Private work

/**
 * Define MyClass2
 */
class MyClass2 extends MyClass
{
    // This is public
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Fatal Error
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Works
$myclass2->Foo2(); // Public and Protected work, not Private
?>

Anterior | Inicio | Siguiente
Constructores y Destructores | Subir | Alcance del operador de resolución (::)


Alcance del operador de resolución (::)

El alcance del operador de resolución (también llamado Paamayim Nekudotayim) o en términos simples, dobles dos puntos, es un símbolo que permite acceso a los miembros o métodos estaticos, constantes, y eliminados de una clase.

Cuando se referencían estos elementos desde afuera de la definición de la clase, usan el nombre de la clase.

Paamayin Nekudotayim podrí, en principio, parecer una extraña elección para nombrar un doble-dos-puntos. Sin embargo, mientras se escribia el compilador Zend 0.5, (el cuál da fuerza a PHP 3), ese fue el nombre que el equipo decidió darle. En realidad significa doble-dos-puntos ¡en Hebreo!.

Ejemplo 19-10. :: desde afuera de la definición de la clase

<?php
class MyClass {
    const CONST_VALUE = 'A constant value';
}

echo MyClass::CONST_VALUE;
?>

Dos palabras reservadas self y parent son usadas para accesar los miembros o métodos desde adentro de la definición de la clase.

Ejemplo 19-11. :: desde dentro de la definición de la clase

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'static var';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

OtherClass::doubleColon();
?>

Cuando al extender una clase se elimina las definiciones de un método de la clase padre, PHP no llamará el método de la clase padre. Es opcional a la clase extendida decidir si se deba llamar al método de la clase padre. Esto también aplica a Constructores y Destructores, Sobrecarga, y definición de los métodos Mágico.

Ejemplo 19-12. Llamando al método de la clase padre

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Override parent's definition
    public function myFunc()
    {
        // But still call the parent function
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

Anterior | Inicio | Siguiente
Visibilidad | Subir | La palabra reservada 'Static'


La palabra reservada 'Static'

Declarar miembros de clases o métodos como estáticos, los hace accesibles desde afuera del contexto del objeto. Un miembro o método declarado como estático no puede ser accesado con una variable que es una instancia del objeto y no puede ser redefinido en una extensión de la clase.

La declaración static debe estar después de la declaración de visibilidad. Por compatibilidad con PHP 4, si no se usa la declaración de visibilidad, entonces el miembro o método será tratado tal si como se hubiera declarado como public static.

A causa de que los métodos estáticos son accesibles sin que se haya creado una instancia del objeto, la pseudo variable $this no está disponible dentro de los métodos declarados como estáticos.

De hecho las llamadas a métodos static son resueltas en tiempo de ejecución. Cuando sea explícitamente un nombre de clase, el método ya ha sido identificado completamente y no es necesario aplicar las reglas de herencia. Si la llamada es hecha por self entonces self es traducido a la clase actual, esto es, la clase a la que pertenece el código. Aquí tampoco aplican las reglas de herencia.

Las propiedades estáticas no pueden ser accesadas a través del objeto usando el operador de flecha ->.

Ejemplo 19-13. Ejemplo de miembro Static

<?php
class Foo
{
    public static $my_static = 'foo';

    public function staticValue() {
        return self::$my_static;
    }
}

class Bar extends Foo
{
    public function fooStatic() {
        return parent::$my_static;
    }
}

print Foo::$my_static . "\n";

$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n";      // Undefined "Property" my_static

// $foo::my_static is not possible

print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

Ejemplo 19-14. Ejmeplo de método Static

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod();
?>

Anterior | Inicio | Siguiente
Alcance del operador de resolución (::) | Subir | Constantes De la Clase


Constantes De la Clase

Es posible definir valores constantes en cada clase manteniendo el mismo valor y siendo incambiable. Las constantes difieren de las variables normales en que no se usa el símbolo $ para declararlas o usarlas. Como los miembros estáticos, los valores constantes no pueden ser accesados desde una instancia de un objeto (usando $object::constant).

Ejemplo 19-15. Definiendo y usando constantes

<?php
class MyClass
{
    const constant = 'constant value';

    function showConstant() {
        echo  self::constant . "\n";
    }
}

echo MyClass::constant . "\n";

$class = new MyClass();
$class->showConstant();
// echo $class::constant;  is not allowed
?>

Anterior | Inicio | Siguiente
La palabra reservada 'Static' | Subir | Abstracción de Objetos


Abstracción de Objetos

PHP 5 introduce clases y métodos abstractos. No es permitido crear una instancia de una clase que ha sido definida como abstracta. Cualquier clase que contenga por lo menos un método abstracto debe también ser abstracta. Los métodos definidos como abstractos simplemente declaran el método, no pueden definir la implementación

Cuando se hereda desde una clase abstracta, todos los metodos marcados como abstractos en la declaración de la clase padre, deben de ser definidos por la clase hijo; adicionalmente, estos metodos se deben definir con la misma o menor visibilidad. Si el método abstracto es definido como protected, la implementació de la función debe ser definida como protected o public.

Ejemplo 19-16. Ejemplos de la clase Abstract

<?php
abstract class AbstractClass
{
    // Force Extending class to define this method
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

    // Common method
    public function printOut() {
        print $this->getValue() . "\n";
    }
}

class ConcreteClass1 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass1";
    }

    public function prefixValues($prefix) {
        return "{$prefix}ConcreteClass1";
    }
}

class ConcreteClass2 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass2";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass2";
    }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>

El resultado del ejemplo seria:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2

El coódigo anterior que no tenía clases definidas por el usuario o funciones llamadas 'abstractas' puede correr sin necesidad de modificación.

Anterior | Inicio | Siguiente
Constantes De la Clase | Subir | Interfaces de Objetos


Interfaces de Objetos

Las interfaces de objetos permiten crear código el cual especifica métodos que una clase debe implementar, sin tener que definir como serán manejados esos métodos.

Las interfaces son definidas usando la palabra reservada 'interface', de la misma manera que las clases estándar, pero sin que cualquiera de los métodos tenga su contenido definido.

Todos los métodos en una interface deben ser publicos, esto es la naturaleza de una interface.

implements

Para implementar una interface, se usa el operador implements. Todos los métodos en la interface deben ser implementados dentro de una clase; de no hacerse así resultará en error fatal. Las clases pueden implementar más de una interface si se desea al separar cada interface con una coma.

Ejemplos

Ejemplo 19-17. Ejemplo de Interface

<?php
// Declare the interface 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Implement the interface
// This will work
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// This will not work
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}

?>

Vea tambien el operador instanceof.

Anterior | Inicio | Siguiente
Abstracción de Objetos | Subir | Sobrecarga


Sobrecarga

Las llamadas a métodos y los accesos a los miembros pueden ser sobrecargadas por medio de los métodos __call, __get y __set. Estos métodos serán accionados cuando su objeto u objeto heredado no contengan los miembros o métodos que está intentado accesar. All overloading methods must not be defined as static.

Since PHP 5.1.0 it is also possible to overload the isset() and unset() functions via the __isset and __unset methods respectively.

Sobrecarga de Miembros

void __set ( string name, mixed value )

mixed __get ( string name )

bool __isset ( string name )

void __unset ( string name )

Los miembros de la clase pueden ser sobrecargados para ejecutar código personalizado definido en la clase al definir estos métodos de nombre especial. El parámetro $name usado es el nombre de la variable que debe ser asignada (set) u obtenida (get). El parámetro $value del método __set() especifica el valor que el objeto debe tener $value.

Ejemplo 19-18. Ejemplo de sobrecarga con with __get, __set, __isset y __unset

<?php
class Setter
{
    public $n;
    private $x = array("a" => 1, "b" => 2, "c" => 3);

    private function __get($nm)
    {
        echo "Getting [$nm]\n";

        if (isset($this->x[$nm])) {
            $r = $this->x[$nm];
            print "Returning: $r\n";
            return $r;
        } else {
            echo "Nothing!\n";
        }
    }

    private function __set($nm, $val)
    {
        echo "Setting [$nm] to $val\n";

        if (isset($this->x[$nm])) {
            $this->x[$nm] = $val;
            echo "OK!\n";
        } else {
            echo "Not OK!\n";
        }
    }

    private function __isset($nm)
    {
        echo "Checking if $nm is set\n";

        return isset($this->x[$nm]);
    }

    private function __unset($nm)
    {
        echo "Unsetting $nm\n";

        unset($this->x[$nm]);
    }
}

$foo = new Setter();
$foo->n = 1;
$foo->a = 100;
$foo->a++;
$foo->z++;

var_dump(isset($foo->a)); //true
unset($foo->a);
var_dump(isset($foo->a)); //false

// this doesn't pass through the __isset() method
// because 'n' is a public property
var_dump(isset($foo->n));

var_dump($foo);
?>

El resultado del ejemplo seria:

Setting [a] to 100
OK!
Getting [a]
Returning: 100
Setting [a] to 101
OK!
Getting [z]
Nothing!
Setting [z] to 1
Not OK!

Checking if a is set
bool(true)
Unsetting a
Checking if a is set
bool(false)
bool(true)

object(Setter)#1 (2) {
    ["n"]=>
    int(1)
    ["x:private"]=>
    array(2) {
        ["b"]=>
        int(2)
        ["c"]=>
        int(3)
    }
}

Sobrecarga de Métodos

mixed __call ( string name, array arguments )

Los métodos de la clase pueden ser sobrecargados para ejecutar código personalizado definido en la clase al definir este método en particular. El parámetro $value es el nombre de la función que se pidió usar. Los argumentos que fueron pasados en la función serán definidos como una matriz en el parámetro $arguments. El valor regresado del método __call() será regresado a quien haya llamado al método.

Ejemplo 19-19. Ejemplo de sobrecarga con __call

<?php
class Caller
{
    private $x = array(1, 2, 3);

    public function __call($m, $a)
    {
        print "Method $m called:\n";
        var_dump($a);
        return $this->x;
    }
}

$foo = new Caller();
$a = $foo->test(1, "2", 3.4, true);
var_dump($a);
?>

El resultado del ejemplo seria:

Method test called:
array(4) {
    [0]=>
    int(1)
    [1]=>
    string(1) "2"
    [2]=>
    float(3.4)
    [3]=>
    bool(true)
}
array(3) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
}

Anterior | Inicio | Siguiente
Interfaces de Objetos | Subir | Interacción de Objetos


Interacción de Objetos

PHP 5 provee una forma para que los objetos a ser definidos puedan interactuar a través de una lista de campos, con, por ejemplo una sentencia foreach. Por defecto, todas las propiedades visibles serán usadas para la interacción.

Ejemplo 19-20. Simple interacción de un Objeto

<?php
class MyClass
{
    public $var1 = 'value 1';
    public $var2 = 'value 2';
    public $var3 = 'value 3';

    protected $protected = 'protected var';
    private   $private   = 'private var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

El resultado del ejemplo seria:

var1 => value 1
var2 => value 2
var3 => value 3

MyClass::iterateVisible:
var1 => value 1
var2 => value 2
var3 => value 3
protected => protected var
private => private var

Como se muestra en la salida, foreach interactúa a través de todas la variables visibles que pueden ser accesadas. Para dar un paso más allá, puede implementar uno de las interfaces internas de PHP llamada Iterator. Esto permite que el objeto decida qué y como el objeto deba interactuar.

Ejemplo 19-21. Interacción de Objetos que implementan Iterator

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind() {
        echo "rewinding\n";
        reset($this->var);
    }

    public function current() {
        $var = current($this->var);
        echo "current: $var\n";
        return $var;
    }

    public function key() {
        $var = key($this->var);
        echo "key: $var\n";
        return $var;
    }

    public function next() {
        $var = next($this->var);
        echo "next: $var\n";
        return $var;
    }

    public function valid() {
        $var = $this->current() !== false;
        echo "valid: {$var}\n";
        return $var;
    }
}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}
?>

El resultado del ejemplo seria:

rewinding
current: 1
valid: 1
current: 1
key: 0
0: 1
next: 2
current: 2
valid: 1
current: 2
key: 1
1: 2
next: 3
current: 3
valid: 1
current: 3
key: 2
2: 3
next:
current:
valid:

También puede definir la clase de tal manera que no necesita definir todas la funciones del Iterator, simplemente implementando la interface PHP 5 IteratorAggregate.

Ejemplo 19-22. Interacción de objetos que implementan IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
    private $items = array();
    private $count = 0;

    // Required definition of interface IteratorAggregate
    public function getIterator() {
        return new MyIterator($this->items);
    }

    public function add($value) {
        $this->items[$this->count++] = $value;
    }
}

$coll = new MyCollection();
$coll->add('value 1');
$coll->add('value 2');
$coll->add('value 3');

foreach ($coll as $key => $val) {
    echo "key/value: [$key -> $val]\n\n";
}
?>

El resultado del ejemplo seria:

rewinding
current: value 1
valid: 1
current: value 1
key: 0
key/value: [0 -> value 1]

next: value 2
current: value 2
valid: 1
current: value 2
key: 1
key/value: [1 -> value 2]

next: value 3
current: value 3
valid: 1
current: value 3
key: 2
key/value: [2 -> value 3]

next:
current:
valid:

Nota: Para más ejemplos de iterators, vea la Extensión SPL.

Anterior | Inicio | Siguiente
Sobrecarga | Subir | Patrones


Patrones

Los patrones son formas de describir las mejores prácticas y los buenos diseños. Estos muestran una solución flexible a los problemas comunes de programación.

Factory

El patrón Factory permita la instancia de objetos en tiempo de ejecución. Es llamado el patrón Factory puesto que es responsable de "manufacturar" un objeto.

Ejemplo 19-23. Método Factory

<?php
class Example
{
    // The factory method
    public static function &factory($type)
    {
        if (include_once 'Drivers/' . $type . '.php') {
            $classname = 'Driver_' . $type;
            return new $classname;
        } else {
            throw new Exception ('Driver not found');
        }
    }
}
?>

Al definir este método en una clase se nos permite que los drivers sean cargados al vuelo. Si la clase Example fuera una clase de abstracción de base de datos, cargar un manejador de MySQL y SQLite podría ser hecho como sigue:

<?php
// Load a MySQL Driver
$mysql = Example::factory('MySQL');

// Load a SQLite Driver
$sqlite = Example::factory('SQLite');
?>

Singleton

El patrón Singleton aplica a situaciones en las cuales hay la necesidad de ser una sola instancia de una clase. El ejemplo más común de esto es una conexión de base de datos. Implementando este patrón permite a un programador hacer esta simple isntancia fácilmente accesible a muchos otros objetos.

Ejemplo 19-24. Función Singleton

<?php
class Example
{
    // Hold an instance of the class
    private static $instance;

    // A private constructor; prevents direct creation of object
    private function __construct()
    {
        echo 'I am constructed';
    }

    // The singleton method
    public static function singleton()
    {
        if (!isset(self::$instance)) {
            $c = __CLASS__;
            self::$instance = new $c;
        }

        return self::$instance;
    }

    // Example method
    public function bark()
    {
        echo 'Woof!';
    }

    // Prevent users to clone the instance
    public function __clone()
    {
        trigger_error('Clone is not allowed.', E_USER_ERROR);
    }

}

?>

Esto permite que se obtenga una simple instancia de la clase Example.

<?php
// This would fail because the constructor is private
$test = new Example;

// This will always retrieve a single instance of the class
$test = Example::singleton();
$test->bark();

// This will issue an E_USER_ERROR.
$test_clone = clone($test);

?>

Anterior | Inicio | Siguiente
Interacción de Objetos | Subir | Métodos mágicos


Métodos mágicos

Los nombres de función: __construct, __destruct (see Constructores y Destructores), __call, __get, __set, __isset, __unset (see Sobrecarga), __sleep, __wakeup, __toString, __clone y __autoload son mágicos en las clases de PHP. No puede tener funciones con esos nombres en cualquiera de sus clases a menos que se desee la funcionalidad mágica asociada con ellos.

Atención

PHP reserva todos los nombres de funciones que empiecen con __ como mágicas. Es recomendado que no use nombres de funciones con __ en PHP a menos que dese alguna mágica funcionalidad documentada.

__sleep y __wakeup

serialize() checa si su clase tiene una función con el nombre mágico __sleep. Si es así, esa función es ejecutada antes de cualquier serialización. Esta puede limpiar el objeto y se espera que regrese una matriz con los nombres de todas las variables de ese objeto que puede ser serializadas.

La intención de usar __sleep es cerrar cualquier conexión a base de datos que el objeto pueda tener, terminar de enviar cualquier dato o ejecutar tareas similares de limpieza. También, la función es útil si tiene objetos muy grandes los cuales no necesitan mantenerse completos.

Inversamente, unserialize() checa por la presencia de una función con el nombre mágico __wakeup. Si está presente, está función puede reconstruir cualquier recurso que el objeto pueda tener.

La intención de __wakeup es reestablecer cualquier conexión a base de datos que se pueda haber perdido durante la serialización y ejecutar otras tareas de reinicialización.

Ejemplo 19-25. Sleep and wakeup

<?php
class Connection {
    protected $link;
    private $server, $username, $password, $db;

    public function __construct($server, $username, $password, $db)
    {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->db = $db;
        $this->connect();
    }

    private function connect()
    {
        $this->link = mysql_connect($this->server, $this->username, $this->password);
        mysql_select_db($this->db, $this->link);
    }

    public function __sleep()
    {
        mysql_close($this->link);
    }

    public function __wakeup()
    {
        $this->connect();
    }
}
?>

__toString

El método __toString permite a una clase decidir como actuar cuando es convertida en cadena.

Ejemplo 19-26. Ejemplo simple

<?php
// Declare a simple class
class TestClass
{
    public $foo;

    public function __construct($foo) {
        $this->foo = $foo;
    }

    public function __toString() {
        return $this->foo;
    }
}

$class = new TestClass('Hello');
echo $class;
?>

El resultado del ejemplo seria:

Hello

No tiene otro valor que cuando el método __toString es llamado solo cuando es directamente combinado con echo() o print().

Ejemplo 19-27. Casos donde __toString es llamado

<?php
// __toString called
echo $class;

// __toString called (still a normal parameter for echo)
echo 'text', $class;

// __toString not called (concatenation operator used first)
echo 'text' . $class;

// __toString not called (cast to string first)
echo (string) $class;

// __toString not called (cast to string first)
echo "text $class";
?>

Anterior | Inicio | Siguiente
Patrones | Subir | La palabra reservada 'Final'


La palabra reservada 'Final'

PHP 5 introduce la palabra reservada 'final', la cual prevee que las clases hijo puedan sobreescribir un método, usando el prefijo 'final' en la definición del método. Si la clase en sí misma es definida como 'final' entonces no puede ser extendida.

Ejemplo 19-28. Ejemplo de métodos con Final

<?php
class BaseClass {
   public function test() {
       echo "BaseClass::test() called\n";
   }

   final public function moreTesting() {
       echo "BaseClass::moreTesting() called\n";
   }
}

class ChildClass extends BaseClass {
   public function moreTesting() {
       echo "ChildClass::moreTesting() called\n";
   }
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting()
?>

Ejemplo 19-29. Ejemplo de clase con Final

<?php
final class BaseClass {
   public function test() {
       echo "BaseClass::test() called\n";
   }

   // Here it doesn't matter if you specify the function as final or not
   final public function moreTesting() {
       echo "BaseClass::moreTesting() called\n";
   }
}

class ChildClass extends BaseClass {
}
// Results in Fatal error: Class ChildClass may not inherit from final class (BaseClass)
?>

Anterior | Inicio | Siguiente
Métodos mágicos | Subir | Clonado de Objetos


Clonado de Objetos

Crear una copia de un objeto con una replica de todas sus propiedades no es siempre lo que se desea hacer. Un buen ejemplo de la necesidad de copiar los constructores, es si se tiene un objeto el cual representa una ventana GTK y el objeto contiene los recursos de esta ventana GTK, cuando se crea un duplicado, puede quererse crear una nueva ventana con las mismas propiedades y hacer que el nuevo objeto tenga los recursos de la ventana nueva. Otro ejemplo es si su objeto tiene la referencia a otro objeto el cual usa, y cuando se duplica el objeto padre, quiere crear una nueva instancia de este otro objeto así que la replica tiene su propia copia.

Una copia de un objeto es creada usando la palabra 'clone' (la cual llama el método __clone() del objeto, si es posible). Un método __clone() de un objeto no puede ser llamado directamente.

$copy_of_object = clone $object;

Cuando un objeto es clonado, PHP 5 informará una copia baja de todas las propiedades del objeto. Cualquier propiedad que sean referencias a otras variables, permanecerán siendo referencias. Si un método __clone() es definido, entonces el método __clone() del nuevo objeto creado será llamado, para permitir cualquier propiedad que tenga que ser cambiada.

Ejemplo 19-30. Clonando un objeto

<?php
class SubObject
{
    static $instances = 0;
    public $instance;

    public function __construct() {
        $this->instance = ++self::$instances;
    }

    public function __clone() {
        $this->instance = ++self::$instances;
    }
}

class MyCloneable
{
    public $object1;
    public $object2;

    function __clone()
    {
        // Force a copy of this->object, otherwise
        // it will point to same object.
        $this->object1 = clone($this->object1);
    }
}

$obj = new MyCloneable();

$obj->object1 = new SubObject();
$obj->object2 = new SubObject();

$obj2 = clone $obj;

print("Original Object:\n");
print_r($obj);

print("Cloned Object:\n");
print_r($obj2);

?>

El resultado del ejemplo seria:

Original Object:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 1
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Cloned Object:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 3
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)

Anterior | Inicio | Siguiente
La palabra reservada 'Final' | Subir | Comparación de Objetos


Comparación de Objetos

En PHP 5, la comparación de objetos es más complicada que en PHP 4 y más de acuerdo con lo que uno esperaría de un lenguaje orientado a objetos (no es que PHP no sea uno de tales lenguajes).

Cuando se usa el operador de comparación (==), las variables del objeto son comparadas de una forma simple, digase: Dos instancias de objetos son iguales si tienes los mismos atributos y valores, y son instancias de la misma clase.

Por otro lado, cuando se usa el operador identico (===), las variables del objeto son identicas solo si refieren a la misma instancia de la misma clase.

Un ejemplo clarificará estas reglas.

Ejemplo 19-31. Ejemplo de comparación de objetos en PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSE';
    } else {
        return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
        $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
        $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Two instances of the same class\n";
compareObjects($o, $p);

echo "\nTwo references to the same instance\n";
compareObjects($o, $q);

echo "\nInstances of two different classes\n";
compareObjects($o, $r);
?>

El resultado del ejemplo seria:

Two instances of the same class
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Two references to the same instance
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Instances of two different classes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Anterior | Inicio | Siguiente
Clonado de Objetos | Subir | Reflección


Reflección

Introducción

PHP 5 viene con un API completa de reflexión que agrega la habilidad de hacer ingeniería inversa de clases, interfaces, funciones y métodos así como extensiones. Adicionalmente, el API de reflexión también ofrece formas de obtener los comentarios de los documentos para funciones, clases y métodos.

El API de reflexión es una extensión orientada a objetos para el compilador Zend, consistente de las siguientes clases:

<?php
class Reflection { }
interface Reflector { }
class ReflectionException extends Exception { }
class ReflectionFunction implements Reflector { }
class ReflectionParameter implements Reflector { }
class ReflectionMethod extends ReflectionFunction { }
class ReflectionClass implements Reflector { }
class ReflectionObject extends ReflectionClass { }
class ReflectionProperty implements Reflector { }
class ReflectionExtension implements Reflector { }
?>

Nota: Para detalles de estas clases, de una mirada a los siguientes capítulos.

Si fuéramos a ejecutar el código en el siguiente ejemplo:

Ejemplo 19-32. Uso básico del API reflexión

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

El resultado del ejemplo seria:

Class [ <internal> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [6] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
  }

  - Methods [9] {
    Method [ <internal> final private method __clone ] {
    }

    Method [ <internal> <ctor> public method __construct ] {

      - Parameters [2] {
        Parameter #0 [ <required> $message ]
        Parameter #1 [ <required> $code ]
      }
    }

    Method [ <internal> final public method getMessage ] {
    }

    Method [ <internal> final public method getCode ] {
    }

    Method [ <internal> final public method getFile ] {
    }

    Method [ <internal> final public method getLine ] {
    }

    Method [ <internal> final public method getTrace ] {
    }

    Method [ <internal> final public method getTraceAsString ] {
    }

    Method [ <internal> public method __toString ] {
    }
  }
}

ReflectionFunction

La clase ReflectionFunction te permite funciones de ingeniería inversa.

<?php
class ReflectionFunction implements Reflector
{
    final private __clone()
    public object __construct(string name)
    public string __toString()
    public static string export()
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public array getStaticVariables()
    public mixed invoke(mixed* args)
    public mixed invokeArgs(array args)
    public bool returnsReference()
    public ReflectionParameter[] getParameters()
    public int getNumberOfParameters()
    public int getNumberOfRequiredParameters()
}
?>

Nota: invokeArgs() fue agregado en PHP 5.1.0.

Para entender directamente una función, primero tiene que crear una isntancia de la clase ReflectionFunction. Hasta entonces puede llamar cualquier de los métodos anteriores en esta instancia.

Ejemplo 19-33. Usando la clase ReflectionFunction

<?php
/**
 * A simple counter
 *
 * @return    int
 */
function counter()
{
    static $c = 0;
    return $c++;
}

// Create an instance of the Reflection_Function class
$func = new ReflectionFunction('counter');

// Print out basic information
printf(
    "===> The %s function '%s'\n".
    "     declared in %s\n".
    "     lines %d to %d\n",
    $func->isInternal() ? 'internal' : 'user-defined',
    $func->getName(),
    $func->getFileName(),
    $func->getStartLine(),
    $func->getEndline()
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($func->getDocComment(), 1));

// Print static variables if existant
if ($statics = $func->getStaticVariables())
{
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoke the function
printf("---> Invokation results in: ");
var_dump($func->invoke());

// you may prefer to use the export() method
echo "\nReflectionFunction::export() results:\n";
echo ReflectionFunction::export('counter');
?>

Nota: El método invoke() acepta un número de variable de argumentos los cuales son pasados a la función tal y como se hace en call_user_func().

ReflectionParameter

La clase ReflectionParameter obtiene información acerca de los parámetros de una función o un método.

<?php
class ReflectionParameter implements Reflector
{
    final private __clone()
    public object __construct(string name)
    public string __toString()
    public static string export()
    public string getName()
    public bool isPassedByReference()
    public ReflectionClass getClass()
    public bool allowsNull()
    public bool isOptional()
    public bool isDefaultValueAvailable()
    public mixed getDefaultValue()
}
?>

Nota:
     getDefaultValue(),
     isDefaultValueAvailable(),
     isOptional() fueron agregados en PHP 5.1.0.

Para entender los parámetros de la función, tendrá primero que crear una instancia de la clase ReflectionFunction o de la clase ReflectionMethod y entonces usar sus método getParameters() para obtener una matriz de parámetros.

Ejemplo 19-34. Usando la clase ReflectionParameter

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

// Create an instance of Reflection_Function with the
// parameter given from the command line.
$reflect = new ReflectionFunction($argv[1]);

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i,
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

ReflectionClass

La clase ReflectionClass te permite hacer ingeniería inversa de clases.

<?php
class ReflectionClass implements Reflector
{
    final private __clone()
    public object __construct(string name)
    public string __toString()
    public static string export()
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public bool isInstantiable()
    public bool hasConstant(string name)
    public bool hasProperty(string name)
    public bool hasMethod(string name)
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public ReflectionMethod getConstructor()
    public ReflectionMethod getMethod(string name)
    public ReflectionMethod[] getMethods()
    public ReflectionProperty getProperty(string name)
    public ReflectionProperty[] getProperties()
    public array getConstants()
    public mixed getConstant(string name)
    public ReflectionClass[] getInterfaces()
    public bool isInterface()
    public bool isAbstract()
    public bool isFinal()
    public int getModifiers()
    public bool isInstance(stdclass object)
    public stdclass newInstance(mixed* args)
    public ReflectionClass getParentClass()
    public bool isSubclassOf(ReflectionClass class)
    public array getStaticProperties()
    public array getDefaultProperties()
    public bool isIterateable()
    public bool implementsInterface(string name)
    public ReflectionExtension getExtension()
    public string getExtensionName()
}
?>

Nota: hasConstant(), hasMethod(), hasProperty() fueron agregados en PHP 5.1.0.

Para entender una clase, primero tendrá que crear una instancia de la clase ReflectionClass. Entonces puede llamar cualquiera de los métodos anteriores en esta instancia.

Ejemplo 19-35. Usando la clase ReflectionClass

<?php
interface Serializable
{
    // ...
}

class Object
{
    // ...
}

/**
 * A counter class
 */
class Counter extends Object implements Serializable
{
    const START = 0;
    private static $c = Counter::START;

    /**
     * Invoke counter
     *
     * @access  public
     * @return  int
     */
    public function count() {
        return self::$c++;
    }
}

// Create an instance of the ReflectionClass class
$class = new ReflectionClass('Counter');

// Print out basic information
printf(
    "===> The %s%s%s %s '%s' [extends %s]\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d [%s]\n",
        $class->isInternal() ? 'internal' : 'user-defined',
        $class->isAbstract() ? ' abstract' : '',
        $class->isFinal() ? ' final' : '',
        $class->isInterface() ? 'interface' : 'class',
        $class->getName(),
        var_export($class->getParentClass(), 1),
        $class->getFileName(),
        $class->getStartLine(),
        $class->getEndline(),
        $class->getModifiers(),
        implode(' ', Reflection::getModifierNames($class->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($class->getDocComment(), 1));

// Print which interfaces are implemented by this class
printf("---> Implements:\n %s\n", var_export($class->getInterfaces(), 1));

// Print class constants
printf("---> Constants: %s\n", var_export($class->getConstants(), 1));

// Print class properties
printf("---> Properties: %s\n", var_export($class->getProperties(), 1));

// Print class methods
printf("---> Methods: %s\n", var_export($class->getMethods(), 1));

// If this class is instantiable, create an instance
if ($class->isInstantiable()) {
    $counter = $class->newInstance();

    echo '---> $counter is instance? ';
    echo $class->isInstance($counter) ? 'yes' : 'no';

    echo "\n---> new Object() is instance? ";
    echo $class->isInstance(new Object()) ? 'yes' : 'no';
}
?>

Nota: El método newInstance() acepta un número variable de argumentos los cuales son pasados a la función tal y como si se usara call_user_func().

Nota: $class = new ReflectionClass('Foo'); $class->isInstance($arg) es equivalente a $arg instanceof Foo o is_a($arg, 'Foo').

ReflectionMethod

La clase ReflectionMethod te permite hacer ingenieria inversa de los métodos de la clase.

<?php
class ReflectionMethod extends ReflectionFunction
{
    public __construct(mixed class, string name)
    public string __toString()
    public static string export()
    public mixed invoke(stdclass object, mixed* args)
    public moxed invokeArgs(stdclass object, array args)
    public bool isFinal()
    public bool isAbstract()
    public bool isPublic()
    public bool isPrivate()
    public bool isProtected()
    public bool isStatic()
    public bool isConstructor()
    public bool isDestructor()
    public int getModifiers()
    public ReflectionClass getDeclaringClass()

    // Inherited from ReflectionFunction
    final private __clone()
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public array getStaticVariables()
    public bool returnsReference()
    public ReflectionParameter[] getParameters()
    public int getNumberOfParameters()
    public int getNumberOfRequiredParameters()
}
?>

Para entender los métodos, primero tendrá que crear una instancia de la clase ReflectionMethod. Puede entonces llamar cualquiera de los métodos anteriores en esta instancia.

Ejemplo 19-36. Usando la clase ReflectionMethod

<?php
class Counter
{
    private static $c = 0;

    /**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Create an instance of the Reflection_Method class
$method = new ReflectionMethod('Counter', 'increment');

// Print out basic information
printf(
    "===> The %s%s%s%s%s%s%s method '%s' (which is %s)\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d[%s]\n",
        $method->isInternal() ? 'internal' : 'user-defined',
        $method->isAbstract() ? ' abstract' : '',
        $method->isFinal() ? ' final' : '',
        $method->isPublic() ? ' public' : '',
        $method->isPrivate() ? ' private' : '',
        $method->isProtected() ? ' protected' : '',
        $method->isStatic() ? ' static' : '',
        $method->getName(),
        $method->isConstructor() ? 'the constructor' : 'a regular method',
        $method->getFileName(),
        $method->getStartLine(),
        $method->getEndline(),
        $method->getModifiers(),
        implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($method->getDocComment(), 1));

// Print static variables if existant
if ($statics= $method->getStaticVariables()) {
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoke the method
printf("---> Invokation results in: ");
var_dump($method->invoke(NULL));
?>

Nota: Tratar de invocar métodos private, protected o abstract resultará en una excepción siendo arrojada del método invoke().

Nota: Para métodos static como se vió anteriormente, se debe a invoke() se debe pasar NULL como primer argumento. Para métodos no estáticos, se pasa una instancia de la clase.

ReflectionProperty

La clase ReflectionProperty te permite hacer ingeniería inversa a las propiedades de la clase.

<?php
class ReflectionProperty implements Reflector
{
    final private __clone()
    public __construct(mixed class, string name)
    public string __toString()
    public static string export()
    public string getName()
    public bool isPublic()
    public bool isPrivate()
    public bool isProtected()
    public bool isStatic()
    public bool isDefault()
    public int getModifiers()
    public mixed getValue(stdclass object)
    public void setValue(stdclass object, mixed value)
    public ReflectionClass getDeclaringClass()
}
?>

Para entender las propiedades, se debe primero crear una instancia de la clase ReflectionProperty. Y entonces puede llamar cualquiera de los métodos anteriores sobre esta instancia.

Ejemplo 19-37. Usando la clase ReflectionProperty

<?php
class String
{
    public $length  = 5;
}

// Create an instance of the ReflectionProperty class
$prop = new ReflectionProperty('String', 'length');

// Print out basic information
printf(
    "===> The%s%s%s%s property '%s' (which was %s)\n" .
    "     having the modifiers %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Create an instance of String
$obj= new String();

// Get current value
printf("---> Value is: ");
var_dump($prop->getValue($obj));

// Change value
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));

// Dump object
var_dump($obj);
?>

Nota: Trying to get or set private or protected class property's values will result in an exception being thrown.

ReflectionExtension

La clase ReflectionExtension te permite hacer ingeniería inversa a extensiones. Puede obtener todas las extensiones cargadas en tiempo de ejecución usando get_loaded_extensions().

<?php
class ReflectionExtension implements Reflector {
    final private __clone()
    public __construct(string name)
    public string __toString()
    public static string export()
    public string getName()
    public string getVersion()
    public ReflectionFunction[] getFunctions()
    public array getConstants()
    public array getINIEntries()
    public ReflectionClass[] getClasses()
    public array getClassNames()
}
?>

Para entender una extensión, primero se tiene que crear una instancia de la clase ReflectionExtension. Y entonces puede llamarse a cualquiera de los métodos mencionados arriba sobre esa instancia.

Ejemplo 19-38. Usando la clase ReflectionExtension

<?php
// Create an instance of the ReflectionProperty class
$ext = new ReflectionExtension('standard');

// Print out basic information
printf(
    "Name        : %s\n" .
    "Version     : %s\n" .
    "Functions   : [%d] %s\n" .
    "Constants   : [%d] %s\n" .
    "INI entries : [%d] %s\n" .
    "Classes     : [%d] %s\n",
        $ext->getName(),
        $ext->getVersion() ? $ext->getVersion() : 'NO_VERSION',
        sizeof($ext->getFunctions()),
        var_export($ext->getFunctions(), 1),

        sizeof($ext->getConstants()),
        var_export($ext->getConstants(), 1),

        sizeof($ext->getINIEntries()),
        var_export($ext->getINIEntries(), 1),

        sizeof($ext->getClassNames()),
        var_export($ext->getClassNames(), 1)
);
?>

Extendiendo las clases de reflexión

En caso de que se quiera crear una versión especializada de las clases integradas (es decir, para crear HTML con colores cuando se exporta, tener fácil acceso a las variables de los miembros en lugar de los métodos o tener métodos de utilería), se puede simplemente extenderlos.

Ejemplo 19-39. Extendiendo las clase integradas

<?php
/**
 * My Reflection_Method class
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = '';

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility= Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Demo class #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Demo class #2
 *
 */
class U extends T {
    function x() {}
}

// Print out information
var_dump(new My_Reflection_Method('U', 'x'));
?>

Nota: Precaución: Si se desea sobreescribir el constructor, recuerde llamar el constructor padre _antes_ que cualquier otro código que se inserte. El no hacerlo así resultará en: Fatal error: Internal error: Failed to retrieve the reflection object

Anterior | Inicio | Siguiente
Comparación de Objetos | Subir | Type Hinting


Type Hinting

PHP 5 introduce Type Hinting. Las funciones ahora son capaces de forzar que los parámetros sean objetos especificando el nombre de la clase en el prototipo de la función.

Ejemplo 19-40. Ejemplo de Type Hinting

<?php
// An example class
class MyClass
{
    /**
     * A test function
     *
     * First parameter must be an object of type OtherClass
     */
    public function test(OtherClass $otherclass) {
        echo $otherclass->var;
    }
}

// Another example class
class OtherClass {
    public $var = 'Hello World';
}
?>

Al no satisfacer el tipo al que se le hace referencia resulta en un error fatal.

<?php
// An instance of each class
$myclass = new MyClass;
$otherclass = new OtherClass;

// Fatal Error: Argument 1 must be an object of class OtherClass
$myclass->test('hello');

// Fatal Error: Argument 1 must be an instance of OtherClass
$foo = new stdClass;
$myclass->test($foo);

// Fatal Error: Argument 1 must not be null
$myclass->test(null);

// Works: Prints Hello World
$myclass->test($otherclass);
?>

Type hinting también aplica en funciones:

<?php
// An example class
class MyClass {
    public $var = 'Hello World';
}

/**
 * A test function
 *
 * First parameter must be an object of type MyClass
 */
function MyFunction (MyClass $foo) {
    echo $foo->var;
}

// Works
$myclass = new MyClass;
MyFunction($myclass);
?>

Type Hints puede solo ser del tipo object. El tradicional type hinting con int y string no está permitidos.

Anterior | Inicio | Siguiente
Reflección | Subir | Excepciones


Explicando las Referencias

Manual de PHP
Anterior Siguiente

Capítulo 21. Explicando las Referencias

Tabla de contenidos
What References Are
Lo que las Referencias son
Lo que las Referencias no son
Paso de variables por Referencia
Retorno por Referencia
Borrando Referencias
Más Referencias

What References Are

Las Referencias en PHP son un medio para acceder al mismo contenido de una variable pero con diferentes nombres. No son como los punteros de C, sino que son alias en la tabla de símbolos. Hay que tener en cuenta, que en PHP el nombre de una variable y el contenido de una variable son diferentes, de manera que el mismo contenido, puede tener varios nombres. La analogía más cercana podría ser la de los archivos de Unix y sus nombres, dónde los nombres de las variables serían los directorios, y el contenido de las variables es el archivo en si. Las referencias también pueden ser pensadas como un enlace duro en un sistema de archivos Unix.

Anterior | Inicio | Siguiente
Excepciones | Subir | Lo que las Referencias son


Lo que las Referencias son

Las Referencias en PHP te permiten lograr que dos variables "apunten" al mismo contenido. Cuando haces algo como:

$a =& $b

significa que $a y $b apuntan a la misma variable.

Nota: $a y $b son completamente iguales, no es que $a esté apuntando a $b o viceversa, sino que tanto $a como $b apuntan al mismo lugar.

La misma sintáxis puede ser utilizada con funciones, que devuelven Referencias, y con el operador new (en PHP 4.0.4 o superior):

$bar =& new fooclass();
$foo =& find_var ($bar);

Nota: El no utilizar el operador & causa que el objeto sea copiado en memoria. Si utilizamos $this en la clase, entonces actuaremos sobre la instancia actual de la clase. Las asignaciones sin & harán una copia de la instancia (por ejemplo, del objeto) y $this operará en la copia, lo que no siempre es el comportamiento deseado. Usualmente se desea utilizar una sola instancia, debido a razones de memoria y performance de la aplicación.

Mientras que se puede utilizar @ para silenciar cualquier error en el constructor utilizando @new, esto no funciona cuando utilizamos &new. Esto es una limitación del Zend Engine y por lo tanto, resultará en un error de sintáxis.

Otro uso que se le puede dar a las referencias es el traspaso de variables por-referencia. Esto se logra haciendo que una variable 'local' a la función y una variable en el script 'referencien' al mismo contenido. Por ejemplo:

function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);

hará que $a valga 6. Esto es posible porque en la funció foo, la variable $var 'referencia' al mismo contenido que la variable $a. Más información acerca de paso por referencia.

Un tercer uso de las referencias es el retorno por referencia.

Anterior | Inicio | Siguiente
Explicando las Referencias | Subir | Lo que las Referencias no son


Lo que las Referencias no son

Como se ha mencionado antes, las Referencias NO son punteros. Esto significa que el siguiente ejemplo no hará lo que se espera:

function foo (&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);

Lo que ocurrirá aquí es que $var en foo será 'ligada' con $bar al momento de llamar a la función. Pero luego será 're-ligada' con $GLOBALS["baz"]. No existe manera de ligar $bar en el ámbito global del script con alguna otra cosa utilizando el mecanismo de Referencias, ya que $bar no existe dentro de foo (está representado por $var, pero $var solo está ligado por el contenido, no por el nombre en la tabla de símbolos).

Anterior | Inicio | Siguiente
Lo que las Referencias son | Subir | Paso de variables por Referencia


Paso de variables por Referencia

Podemos pasar variables a una función por referencia, para que ésta pueda modificar sus argumentos. La sintáxis es la siguiente :

function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);
// $a ser&aacute; 6 aqui

Notar que no hay signo de referencia en la llamada a la función - solo en la definición de la misma. Colocar el signo de referencia solo en la definición de la función alcanza para pasar correctamente el argumento por referencia.

La lista siguiente indica que puede ser pasado por referencia:

  • Variables, por ejemplo foo($a)

  • Operador New, por ejemplo foo(new foobar())

  • Referencias, devueltas por una función:

    function &bar()
    {
        $a = 5;
        return $a;
    }
    foo(bar());

    Se recomienda leer también la explicación sobre retorno por referencia.

Cualquier otro tipo de expresión no debería pasarse por referencia, ya que el resultado sería indefinido. Los ejemplos de paso por referencia siguientes son inválidos:

function bar() // Notar que falta &
{
    $a = 5;
    return $a;
}
foo(bar());

foo($a = 5) // Expresi&oacute;n, no variable
foo(5) // Constante, no variable

Estos requerimientos son para PHP 4.0.4 y superior.

Anterior | Inicio | Siguiente
Lo que las Referencias no son | Subir | Retorno por Referencia


Retorno por Referencia

Devolver por Referencia es muy útil cuando se quiere utilizar una función para averiguar a que variable debe estar una referencia ligada. Cuando se devuelve por referencia, se debe utilizar esta sintáxis:

function &encontrar_var ($param)
{
    ...codigo...
    return $var_encontrada;
}

$foo =& encontrar_var ($bar);
$foo->x = 2;

En este ejemplo, el atributo del objeto devuelto por la función encontrar_var fue asignado, no ya en la copia, como habría sucedido si no se utilizaba la sintáxis de referencias.

Nota: A diferencia del paso de parámetros, aquí se debe utilizar & en ambos lugares - para indicar que se pretende devolver por referencia ( y no una copia, como usualmente sucede) y que además esa referencia sea 'ligada' a una variable, y no solo asignada.

Anterior | Inicio | Siguiente
Paso de variables por Referencia | Subir | Borrando Referencias


Borrando Referencias

Cuando de borra una referencia, solo se rompe esa unión entre el nombre de la variable y el contenido. Esto no significa que el contenido haya sido destruido. Por ejemplo :

$a = 1;
$b =& $a;
unset ($a);

no destruiría $b, solo $a.

Nuevamente, sería útil pensar el tema de las referencias como una analogía al comando unlink de Unix.

Anterior | Inicio | Siguiente
Retorno por Referencia | Subir | Más Referencias


Más Referencias

Muchas construcciones sintácticas en PHP son implementadas utilizando el mecanismo referencial, de manera que todo lo dicho anteriormente sobre las referencias también se aplica a estas construcciones. Algunas de ellas, como pasar o retornar por referencia, se mencionaron antes. Otras construcciones que utilizan referencias son:

Referencias globales

Cuando declaramos una variable como global $var en realidad estamos creando una referencia a una variable global. Esto significa, que es lo mismo que hacer :

$var =& $GLOBALS["var"];

De esta manera, por ejemplo, si borramos $var no estaríamos borrando la variable global.

$this

En un método de objeto, $this es siempre una referencia al objeto que contiene el método.

Anterior | Inicio | Siguiente
Borrando Referencias | Subir | Seguridad


Seguridad

Manual de PHP
Anterior Siguiente

IV. Seguridad

Tabla de contenidos
22. Introducción
23. Consideraciones generales
24. Instalación como un binario CGI
25. Instalación como módulo de Apache
26. Seguridad del sistema de archivos
27. Seguridad de Bases de Datos
28. Reporte de Errores
29. Uso de Register Globals
30. Datos Enviados por el Usuario
31. Comillas Mágicas
32. Ocultando PHP
33. Mantenerse al Día

Anterior | Inicio | Siguiente
Más Referencias |  | Introducción


Introducción

Manual de PHP
Anterior Siguiente

Capítulo 22. Introducción

PHP es un poderoso lenguaje e intérprete, ya sea incluido como parte de un servidor web en forma de módulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza. PHP está diseñado específicamente para ser un lenguaje más seguro para escribir programas CGI que Perl o C, y con la selección correcta de opciones de configuración en tiempos de compilación y ejecución, y siguiendo algunas prácticas correctas de programación, PHP le puede dar la combinación precisa de libertad y seguridad que usted necesita.

Ya que hay muchas maneras de utilizar PHP, existen varias opciones de configuración diseñadas para controlar su comportamiento. Un amplio rango de opciones le garantizan que pueda usar PHP para muchos propósitos distintos, pero también quiere decir que hay combinaciones de éstas opciones y configuraciones de servidor que pueden resultar en un entorno inseguro.

El nivel de flexibilidad en la configuración de PHP se compara quizás solo con su flexibilidad de desarrollo. PHP puede ser usado para escribir aplicaciones completas de servidor, con todo el poder de un usuario de un intérprete de comandos, o puede ser usado para inclusiones simples del lado del servidor con muy poco riesgo en un entorno minuciosamente controlado. Cómo construir ese entorno, y qué tan seguro es, básicamente depende del desarrollador PHP.

Este capítulo comienza con algunas recomendaciones generales de seguridad, explica las diferentes combinaciones de opciones de configuración y las situaciones en las que pueden ser usadas con seguridad, y describe diferentes consideraciones a la hora de programar para diferentes niveles de seguridad.

Anterior | Inicio | Siguiente
Seguridad | Subir | Consideraciones generales


Consideraciones generales

Manual de PHP
Anterior Siguiente

Capítulo 23. Consideraciones generales

Un sistema completamente seguro es prácticamente un imposible, de modo que el enfoque usado con mayor frecuencia en la profesión de seguridad es uno que busque el balance adecuado entre riesgo y funcionalidad. Si cada variable enviada por un usuario requiriera de dos formas de validación biométrica (como rastreo de retinas y análisis dactilar), usted contaría con un nivel extremadamente alto de confiabilidad. También implicaría que llenar los datos de un formulario razonablemente complejo podría tomar media hora, cosa que podría incentivar a los usuarios a buscar métodos para esquivar los mecanismos de seguridad.

La mejor seguridad con frecuencia es lo suficientemente razonable como para suplir los requerimientos dados sin prevenir que el usuario realice su labor de forma natural, y sin sobrecargar al autor del código con una complejidad excesiva. De hecho, algunos ataques de seguridad son simples recursos que aprovechan las vulnerabilidades de este tipo de seguridad sobrecargada, que tiende a erosionarse con el tiempo.

Una frase que vale la pena recordar: Un sistema es apenas tan bueno como el eslabón más débil de una cadena. Si todas las transacciones son registradas copiosamente basándose en la fecha/hora, ubicación, tipo de transacción, etc. pero la verificación del usuario se realiza únicamente mediante una cookie sencilla, la validez de atar a los usuarios al registro de transacciones es mermada severamente.

Cuando realice pruebas, tenga en mente que no será capaz de probar todas las diferentes posibilidades, incluso para las páginas más simples. Los datos de entrada que usted puede esperar en sus aplicaciones no necesariamente tendrán relación alguna con el tipo de información que podría ingresar un empleado disgustado, un cracker con meses de tiempo entre sus manos, o un gato doméstico caminando sobre el teclado. Es por esto que es mejor observar el código desde una perspectiva lógica, para determinar en dónde podrían introducirse datos inesperados, y luego hacer un seguimiento de cómo esta información es modificada, reducida o amplificada.

Internet está repleto de personas que tratan de crearse fama al romper la seguridad de su código, bloquear su sitio, publicar contenido inapropiado, y por lo demás haciendo que sus días sean más interesantes. No importa si usted administra un sitio pequeño o grande, usted es un objetivo por el simple hecho de estar en línea, por tener un servidor al cual es posible conectarse. Muchas aplicaciones de cracking no hacen distinciones por tamaños, simplemente recorren bloques masivos de direcciones IP en busca de víctimas. Trate de no convertirse en una.

Anterior | Inicio | Siguiente
Introducción | Subir | Instalación como un binario CGI


Instalación como un binario CGI

Manual de PHP
Anterior Siguiente

Capítulo 24. Instalación como un binario CGI

Tabla de contenidos
Posibles ataques
Caso 1: sólo se sirven archivos públicos
Caso 2: uso de --enable-force-cgi-redirect
Caso 3: configuración de doc_root o user_dir
Caso 4: intérprete PHP por fuera del árbol web

Posibles ataques

El uso de PHP como un binario CGI es una opción para el tipo de situaciones en las que por alguna razón no se desea integrar PHP como módulo de algún software de servidor web (como Apache), o en donde se espera usar PHP con diferentes tipos de capas que envuelven el entorno CGI para crear ambientes chroot y setuid seguros para la ejecución de scripts. Esta configuración usualmente involucra la instalación de un binario ejecutable del intérprete PHP en el directorio cgi-bin del servidor web. El aviso de seguridad de CERT CA-96.11 recomienda que se evite la colocación de cualquier intérprete bajo cgi-bin. Incluso si el binario PHP puede ser usado como un intérprete independiente, PHP está diseñado para prevenir el tipo de ataques que esta configuración hace posible:

  • Acceso a archivos del sistema: http://mi.servidor/cgi-bin/php?/etc/passwd

    La información del query en una URL, la cual viene después del signo de interrogación (?), es pasada como argumentos de línea de comandos al intérprete por la interfaz CGI. Usualmente los intérpretes abren y ejecutan el archivo especificado como primer argumento de la línea de comandos.

    Cuando es invocado como un binario CGI, PHP se rehúsa a interpretar los argumentos de la línea de comandos.

  • Acceso a cualquier documento web en el servidor: http://mi.servidor/cgi-bin/php/zona_secreta/doc.html

    El segmento de la URL que sigue al nombre del binario de PHP, que contiene la información sobre la ruta /zona_secreta/doc.html es usada convencionalmente para especificar el nombre de un archivo que ha de ser abierto e interpretado por el programa CGI. Usualmente, algunas directivas de configuración del servidor web (Apache: Action) son usadas para redireccionar peticiones de documentos como http://mi.servidor/zona_secreta/script.php al intérprete de PHP. Bajo este modelo, el servidor web revisa primero los permisos de acceso al directorio /zona_secreta, y después de eso crea la petición de redireccionamiento a http://mi.servidor/cgi-bin/php/zona_secreta/script.php. Desafortunadamente, si la petición se hace originalmente en esta forma, no se realizan chequeos de acceso por parte del servidor web para el archivo /zona_secreta/script.php, únicamente para el archivo /cgi-bin/php. De este modo, cualquier usuario capaz de acceder a /cgi-bin/php es capaz también de acceder a cualquier documento protegido en el servidor web.

    En PHP, la configuración de tiempo de compilación --enable-force-cgi-redirect y las directivas de configuración en tiempo de ejecución doc_root y user_dir pueden ser usadas para prevenir este tipo de ataques, si el árbol de documentos del servidor llegara a tener directorio alguno con restricciones de acceso. Consulte las siguientes secciones para una explicación detallada de las diferentes combinaciones.

Anterior | Inicio | Siguiente
Consideraciones generales | Subir | Caso 1: sólo se sirven archivos públicos


Caso 1: sólo se sirven archivos públicos

Si su servidor no tiene contenido alguno que no esté restringido por contraseñas o control de acceso basado en direcciones ip, no hay ninguna necesidad de recurrir a estas opciones de configuración. Si su servidor web no le permite hacer redireccionamientos, o el servidor no tiene una forma de comunicarle al binario PHP que la petición de redireccionamiento es segura, puede especificar la opción --enable-force-cgi-redirect en el script de configuración. Aun así debe asegurarse de que sus scripts PHP no dependan de alguna forma especial de hacer llamados al script, ya sea directamente mediante http://mi.servidor/cgi-bin/php/dir/script.php ni por la redirección http://mi.servidor/dir/script.php.

Los redireccionamientos pueden ser configurados en Apache mediante el uso de directivas AddHandler y Action (vea más adelante).

Anterior | Inicio | Siguiente
Instalación como un binario CGI | Subir | Caso 2: uso de --enable-force-cgi-redirect


Caso 2: uso de --enable-force-cgi-redirect

Esta opción en tiempo de compilación previene que cualquier persona haga llamados a PHP directamente mediante una URL como http://mi.servidor/cgi-bin/php/directorio_secreto/script.php. En lugar de esto, PHP analizará documentos de esta forma únicamente si han pasado por una regla de redirección del servidor web.

Por lo general, el redireccionamiento en la configuración de Apache es realizada con alguna de las siguientes directivas:

Action php-script /cgi-bin/php
AddHandler php-script .php

Esta opción ha sido probada únicamente con el servidor web Apache, y depende de que Apache defina la variable de entorno no-estándar REDIRECT_STATUS a la hora de gestionar peticiones redirigidas. Si su servidor web no dispone de modo alguno de comunicar si la petición es directa o redirigida, no puede usar esta opción y debe recurrir a alguna de las otras formas documentadas aquí de ejecutar la versión CGI.

Anterior | Inicio | Siguiente
Caso 1: sólo se sirven archivos públicos | Subir | Caso 3: configuración de doc_root o user_dir


Caso 3: configuración de doc_root o user_dir

Incluir contenido activo en los directorios de documentos del servidor web, como scripts y ejecutables, es considerada en ocasiones una práctica insegura. Si, por algún fallo de configuración, los scripts no llegaran a ser ejecutados sino desplegados como documentos HTML normales, esto podría resultar en la revelación de información crítica como trabajos cubiertos por normas de propiedad intelectual o datos de seguridad como contraseñas. Por lo tanto muchos administradores de sistemas preferirán la configuración de otra estructura de directorios para los scripts que sean asequibles únicamente a través del CGI PHP, y por lo tanto deben ser interpretados siempre y no desplegados directamente.

Así mismo, si el método para asegurarse de que las peticiones no son redireccionadas, tal y como se describió en la sección anterior, no está disponible, es necesario entonces configurar un directorio raíz (doc_root) de scripts que sea diferente al directorio raíz de documentos web.

Puede definir el directorio raíz para scripts de PHP mediante la directiva de configuración doc_root en el archivo de configuración, o puede darle un valor a la variable de entorno PHP_DOCUMENT_ROOT. Si ésta está definida, la versión CGI de PHP construirá siempre el nombre del archivo a abrir con este doc_root y la información de la ruta dada en la petición, de modo que puede estar seguro de que ningún script será ejecutado por fuera de este directorio (excepto por aquellos indicados en user_dir, como se verá a continuación).

Otra opción que puede ser usada en este caso es user_dir. Cuando user_dir no está definida, lo único que controla la apretura de archivos es doc_root. Abrir una URL como http://mi.servidor/~usuario/doc.php no resulta en la apertura de un archivo bajo el directorio personal del usuario, sino de un archivo llamado ~usuario/doc.php bajo la ruta doc_root (así es, un directorio cuyo nombre comienza por el caracter de equivalencia [~]).

Si user_dir está definido como, por ejemplo, public_php, una petición como http://mi.servidor/~usuario/doc.php abrirá un archivo llamado doc.php bajo el directorio con el nombre public_php ubicado en el directorio personal del usuario. Si el directorio personal del usuario es /home/usuario, el archivo ejecutado es /home/usuario/public_php/doc.php.

La expansión del valor de user_dir ocurre independientemente del parámetro doc_root, de modo que es posible controlar el directorio raíz de los documentos y el acceso a los directorios de los usuarios en forma separada.

Anterior | Inicio | Siguiente
Caso 2: uso de --enable-force-cgi-redirect | Subir | Caso 4: intérprete PHP por fuera del árbol web


Caso 4: intérprete PHP por fuera del árbol web

Una opción bastante segura es colocar el intérprete binario de PHP en alguna parte por fuera del árbol de archivos web. En /usr/local/bin, por ejemplo. El único inconveniente real con esta alternativa es que ahora usted tendrá que colocar una línea como esta:

#!/usr/local/bin/php

al comienzo de cualquier archivo que contenga etiquetas PHP. También tendrá que hacer cada archivo ejecutable. Esto quiere decir que debe tratarlo exactamente igual a como trataría cualquier otro script CGI escrito en Perl o sh o cualquier otro lenguaje de scripting común que usara el mecanismo de escape-shell #! para el lanzamiento del intérprete.

Para lograr que PHP gestione correctamente la información de PATH_INFO y PATH_TRANSLATED con este tipo de configuración, el intérprete PHP debe haber sido compilado con la opción de configuración --enable-discard-path.

Anterior | Inicio | Siguiente
Caso 3: configuración de doc_root o user_dir | Subir | Instalación como módulo de Apache


Instalación como módulo de Apache

Manual de PHP
Anterior Siguiente

Capítulo 25. Instalación como módulo de Apache

Cuando PHP es usado como un módulo de Apache, hereda los permisos del usuario de Apache (generalmente los del usuario "nobody"). Este hecho representa varios impactos sobre la seguridad y las autorizaciones. Por ejemplo, si está usando PHP para acceder a una base de datos, a menos que tal base de datos disponga de un control de acceso propio, usted tendrá que hacer que la base de datos sea asequible por el usuario "nobody". Esto quiere decir que un script malicioso podría tener acceso y modificar la base de datos, incluso sin un nombre de usuario y contraseña. Es completamente posible que un archivador automatizado de documentos web pudiera toparse con la página web de administración de una base de datos, y eliminar todas sus bases de datos. Usted puede protegerse de este tipo de situaciones mediante mecanismos de autorización de Apache, o puede diseñar su propio modelo de acceso usando LDAP, archivos .htaccess, etc. e incluir ese código como parte de sus scripts PHP.

Con frecuencia, una vez la seguridad se ha establecido en un punto en donde el usuario de PHP (en este caso, el usuario de apache) tiene asociada una muy leve capacidad de riesgo, se descubre que PHP se encuentra ahora imposibilitado de escribir archivos en los directorios de los usuarios. O quizás se le haya desprovisto de la capacidad de acceder o modificar bases de datos. Se ha prevenido exitosamente que pudiera escribir tanto archivos buenos como malos, o que pudiera realizar transacciones buenas o malas en la base de datos.

Un error de seguridad cometido con frecuencia en este punto es darle permisos de administrador (root) a apache, o incrementar las habilidades del usuario de apache de alguna otra forma.

Escalar los permisos del usuario de Apache hasta el nivel de administrador es extremadamente peligroso y puede comprometer al sistema entero, así que el uso de entornos sudo, chroot, o cualquier otro mecanismo que sea ejecutado como root no debería ser una opción viable para aquellos que no son profesionales en seguridad.

Existen otras soluciones más simples. Mediante el uso de open_basedir usted puede controlar y restringir aquellos directorios que podrían ser usados por PHP. También puede definir áreas solo-Apache, para restringir todas las actividades basadas en web a archivos que no son de usuarios, o del sistema.

Anterior | Inicio | Siguiente
Caso 4: intérprete PHP por fuera del árbol web | Subir | Seguridad del sistema de archivos


Seguridad del sistema de archivos

Manual de PHP
Anterior Siguiente

Capítulo 26. Seguridad del sistema de archivos

PHP está sujeto a la seguridad misma de la mayoría de sistemas de servidores en lo que a permisos sobre archivos y directorios se refiere. Esto le permite controlar cuáles archivos en el sistema de archivos pueden ser leídos. Debe tenerse cuidado con aquellos archivos que tengan permisos de lectura globales, para asegurarse de que su contenido es seguro y no represente peligro el que pueda ser leído por todos los usuarios con acceso al sistema de archivos.

Ya que PHP fue diseñado para permitir acceso al nivel de usuarios al sistema de archivos, es completamente posible escribir un script PHP que le permita leer archivos del sistema como /etc/passwd, modificar sus conexiones tipo ethernet, enviar trabajos de impresión masivos, etc. Esto tiene algunas implicaciones obvias, en el sentido en que usted tiene que asegurarse de que los archivos desde lo que lee y hacia los que escribe datos, sean los correctos.

Considere el siguiente script, en donde un usuario indica que quisiera eliminar un archivo ubicado en su directorio personal. Este caso asume que se trata de una situación en donde se usa normalmente una interfaz web que se vale de PHP para la gestión de archivos, así que el usuario de Apache tiene permitido eliminar archivos en los directorios personales de los usuarios.

Ejemplo 26-1. Un chequeo pobre de variables nos lleva a...

<?php
// eliminar un archivo del directorio personal del usuario

$nombre_usuario = $_POST['nombre_enviado_por_el_usuario'];
$directorio     = "/home/$nombre_usuario";

$archivo_a_eliminar = "$archivo_de_usuario";

unlink ("$directorio/$archivo_de_usuario");

echo "&iexcl;El archivo $archivo_a_eliminar ha sido eliminado!";
?>
Ya que el nombre de usuario es enviado desde un formulario de usuario, cualquiera puede enviar un nombre de usuario y archivo propiedad de otra persona, y eliminar archivos. En este caso, usted querrá usar otro método de autenticación. Considere lo que sucede si las variables enviadas son "../etc/" y "passwd". El código entonces se ejecutaría efectivamente como:

Ejemplo 26-2. ... un ataque al sistema de archivos

<?php
// elimina un archivo de cualquier parte del disco duro al que el
// usuario de PHP tiene acceso. Si PHP tiene acceso de root:

$nombre_usuario = "../etc/";
$directorio     = "/home/../etc/";

$archivo_a_eliminar = "passwd";

unlink ("/home/../etc/passwd");

echo "&iexcl;El archivo /home/../etc/passwd ha sido eliminado!";
?>
Hay dos importantes medidas que usted debe tomar para prevenir estas situaciones.

  • Otorgarle únicamente permisos limitados al usuario web del binario PHP.

  • Chequear todas las variables que son enviadas por usuarios.

Aquí hay una versión mejorada del script:

Ejemplo 26-3. Un chequeo de nombres de archivos más seguro

<?php
// elimina un archivo de cualquier parte del disco duro al que el
// usuario de PHP tiene acceso.

$nombre_usuario = $_SERVER['REMOTE_USER']; // uso de un mecanismo de
                                           // autenticacion

$directorio = "/home/$nombre_usuario";

$archivo_a_eliminar = basename("$archivo_de_usuario"); // remover rutas
unlink ($directorio/$archivo_a_eliminar);

$fp = fopen("/home/registros/eliminacion.log","+a"); // registrar el proceso

$cadena_de_registro = "$nombre_usuario $directorio $archivo_a_eliminar";

fwrite ($fp, $cadena_de_registro);
fclose($fp);

echo "&iexcl;El archivo $archivo_a_eliminar ha sido eliminado!";
?>
Sin embargo, incluso este caso no está libre de problemas. Si su sistema de autenticación le ha permitido a los usuarios la creación de sus propios nombres en el sistema, y un usuario elige "../etc/", el sistema se encuenrta nuevamente expuesto. Por esta razón, puede que uster prefiera escribir un chequeo más personalizado:

Ejemplo 26-4. Chequeo de nombres de archivos aun más seguro

<?php
$nombre_usuario = $_SERVER['REMOTE_USER']; // uso de un mecanismo de
                                           // autenticacion

$directorio = "/home/$nombre_usuario";

if (!ereg('^[^./][^/]*$', $archivo_de_usuario))
     die('nombre de archivo inv&aacute;lido'); // finalizar,
                                               // no ejecutar el proceso

if (!ereg('^[^./][^/]*$', $nombre_usuario))
     die('nombre de archivo inv&aacute;lido'); // finalizar,
                                               // no ejecutar el proceso

//etc...
?>

Dependiendo de su sistema operativo, existe una amplia variedad de archivos sobre los que usted debería estar atento, incluyendo las entradas de dispositivos (/dev/ o COM1), archivos de configuración (archivos /etc/ y los archivos .ini), areas conocidas de almacenamiento de datos (/home/, Mis Documentos), etc. Por esta razón, usualmente es más sencillo crear una política en donde se prohíba toda transacción excepto por aquellas que usted permita explícitamente.

Anterior | Inicio | Siguiente
Instalación como módulo de Apache | Subir | Seguridad de Bases de Datos


Seguridad de Bases de Datos

Manual de PHP
Anterior Siguiente

Capítulo 27. Seguridad de Bases de Datos

Tabla de contenidos
Diseño de Bases de Datos
Conexión con la Base de Datos
Modelo de Almacenamiento Encriptado
Inyección de SQL

Hoy en día, las bases de datos son componentes cardinales de cualquier aplicación basada en web, permitiendo que los sitios web provean contenido dinámico. Debido a que información considerablemente sensible o secreta puede ser almacenada en una base de datos, usted debe considerar seriamente la protección de sus bases de datos.

Para recuperar o almacenar cualquier información necesita conectarse a la base de datos, enviar una consulta válida, recoger el resultado y cerrar la conexión. Hoy en día, el lenguaje de consultas usado comúnmente en estas interacciones es el Lenguaje de Consultas Estructurado (SQL por sus siglas en inglés). Puede apreciar cómo un atacante puede intentar acometidas con una consulta SQL.

Como puede suponer, PHP no puede proteger su base de datos por sí solo. Las siguientes secciones están dirigidas a servir de introducción a los conceptos básicos de cómo acceder y manipular bases de datos desde scripts PHP.

Mantenga en mente esta simple regla: protección en profundidad. Entre más acciones tome para incrementar la protección de su base de datos, menor será la probabilidad de que un atacante tenga éxito exponiendo o abusando de cualquier información almacenada. Un buen diseño del esquema de la base de datos y de la aplicación basta para lidiar con sus mayores temores.

Diseño de Bases de Datos

El primer paso siempre es crear la base de datos, a menos que desee usar una creada por alguien más. Cuando una base de datos es creada, ésta es asignada a un dueño, quien ejecutó la sentencia de creación. Usualmente, únicamente el dueño (o un super-usuario) puede hacer cualquier cosa con los objetos de esa base de datos, y para que otros usuarios puedan usarla, deben otorgarse privilegios.

Las aplicaciones nunca deberían conectarse a la base de datos bajo el usuario correspondiente a su dueño, o como un super-usuario, ya que estos usuarios pueden, por ejemplo, ejecutar cualquier consulta a su antojo, modificando el esquema (p. ej. eliminando tablas) o borrando su contenido completo.

Usted puede crear diferentes usuarios de la base de datos para cada aspecto de su aplicación con derechos muy limitados sobre los objetos de la base de datos. Tan solo deben otorgarse los privilegios estrictamente necesarios, y evitar que el mismo usuario pueda interactuar con la base de datos en diferentes casos de uso. Esto quiere decir que si un intruso gana acceso a su base de datos usando las credenciales de sus aplicaciones, él solo puede efectuar tantos cambios como su aplicación se lo permita.

Es buena idea que no implemente toda la lógica del asunto en la aplicación web (es decir, en su script); en su lugar, hágalo en el esquema de la base de datos usando vistas, disparadores o reglas. Si el sistema evoluciona, se espera que nuevos puertos sean abiertos a la aplicación, y tendrá que re-implementar la lógica para cada cliente de la base de datos. Por sobre todo, los disparadores pueden ser usados para gestionar de forma transparente todos los campos automáticamente, lo cual con frecuencia provee información útil cuando se depuren problemas de su aplicación, o se realicen rastreos sobre transacciones particulares.

Anterior | Inicio | Siguiente
Seguridad del sistema de archivos | Subir | Conexión con la Base de Datos


Conexión con la Base de Datos

Puede que desee establecer las conexiones sobre SSL para encriptar las comunicaciones cliente/servidor, incrementando el nivel de seguridad, o puede hacer uso de ssh para encriptar la conexión de red entre los clientes y el servidor de la base de datos. Si cualquiera de estos recursos es usado, entonces monitorear su tráfico y adquirir información sobre su base de datos será difícil para un atacante potencial.

Anterior | Inicio | Siguiente
Seguridad de Bases de Datos | Subir | Modelo de Almacenamiento Encriptado


Modelo de Almacenamiento Encriptado

SSL/SSH protege los datos que viajan desde el cliente al servidor, SSL/SSH no protege los datos persistentes almacenados en la base de datos. SSL es un protocolo sobre-el-cable.

Una vez el atacante adquiere acceso directo a su base de datos (evitando el paso por el servidor web), los datos críticos almacenados pueden estar expuestos o malutilizados, a menos que la información esté protegida en la base de datos misma. La encripción de datos es una buena forma de mitigar esta amenaza, pero muy pocas bases de datos ofrecen este tipo de mecanismo de encripción de datos.

La forma más sencilla de evitar este problema es crear primero su propio paquete de encripción, y luego utilizarlo desde sus scripts de PHP. PHP puede ayudarle en este sentido con varias extensiones, como Mcrypt y Mhash, las cuales cubren una amplia variedad de algoritmos de encripción. El script encripta los datos antes de insertarlos en la base de datos, y los decripta cuando los recupera. Vea las referencias para consultar más ejemplos de cómo opera la encripción.

En el caso de datos realmente escondidos, si su representación original no se necesita (es decir, no debe ser desplegada), los resúmenes criptográficos pueden llegar a considerarse también. El ejemplo clásico de gestión de resúmenes criptogáficos es el almacenamiento de secuencias MD5 de una contraseña en una base de datos, en lugar de la contraseña misma. Vea también crypt() y md5().

Ejemplo 27-1. Uso de un campo de contraseñas encriptado

<?php

// almacenamiento de resumen criptográfico de la contraseña
$consulta  = sprintf("INSERT INTO usuarios(nombre,contr) VALUES('%s','%s');",
                     pg_escape_string($nombre_usuario), md5($contrasenya));
$resultado = pg_query($conexion, $consulta);

// consulta de verificación de la contraseña enviada
$consulta  = sprintf("SELECT 1 FROM usuarios WHERE nombre='%s' AND contr='%s';",
                     pg_escape_string($nombre_usuario), md5($contrasenya));
$resultado = pg_query($conexion, $consulta);

if (pg_num_rows($resultado) > 0) {
    echo '¡Bienvenido, $nombre_usuario!';
}
else {
    echo 'No pudo autenticarse a $nombre_usuario.';
}

?>

Anterior | Inicio | Siguiente
Conexión con la Base de Datos | Subir | Inyección de SQL


Inyección de SQL

Muchos desarrolladores web no son conscientes de cómo pueden manipularse las consultas SQL, y asumen que una consulta SQL es un comando confiable. Esto representa que las consultas SQL pueden burlar los controles de acceso, y de este modo evitar los chequeos estándares de autenticación y autorización, y a veces las consultas SQL pueden incluso permitir acceso a comandos al nivel del sistema operativo de la máquina huésped.

La Inyección Directa de Comandos SQL es una técnica en la cual un atacante crea o altera comandos SQL existentes para exponer datos escondidos, o sobrescribir datos críticos, o incluso ejecutar comandos del sistema peligrosos en la máquina en donde se encuentra la base de datos. Esto se consigue cuando la aplicación toma información de entrada del usuario y la combina con parámetros estáticos para construir una consulta SQL. Los siguientes ejemplos, desafortunadamente, están basados en historias reales.

Debido a la falta de validación de la información de entrada y el establecimiento de conexiones con la base de datos desde un super-usuario o aquel que puede crear usuarios, el atacante podría crear un super-usuario en su base de datos.

Ejemplo 27-2. Paginación del conjunto de resultados ... y creación de super-usuarios (PostgreSQL)

<?php

$offset   = $argv[0]; // atención, ¡no se valida la entrada!
$consulta = "SELECT id, nombre FROM productos ORDER BY nombre LIMIT 20 " .
            "OFFSET $offset;";

$resultado = pg_query($conexion, $consulta);

?>
Los usuarios normales pulsan sobre los enlaces 'siguiente' y 'anterior', en donde el desplazamiento ($offset) se encuentra codificado en la URL. El script espera que el valor entrante $offset sea un número decimal. Sin embargo, qué sucede si alguien intenta un ataque añadiendo una forma codificada (urlencode()) de lo siguiente en la URL

0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--

Si esto ocurriera, entonces el script le presentaría un acceso de superusuario al atacante. Note que 0; es usado para ofrecer un desplazamiento válido a la consulta original y finalizarla.

Nota: Es una técnica común obligar al analizador sintáctico de SQL a que ignore el resto de la consulta escrita por el desarrollador mediante --, el cual es el signo de comentarios en SQL.

Una forma viable de adquirir contraseñas es jugar con las páginas de resultados de búsquedas. Lo único que necesita el atacante es ver si existen variables enviadas por el usuario que sean usadas en sentencias SQL, y que no sean tratadas apropiadamente. Estos filtros pueden ubicarse por lo general previos a cláusulas WHERE, ORDER BY, LIMIT y OFFSET en sentencias SELECT para personalizar la instrucción. Si su base de datos soporta la construcción UNION, el atacante puede intentar añadir una consulta completa a la consulta original para generar una lista de contraseñas desde una tabla cualquiera. El uso de campos encriptados de contraseñas es altamente recomendable.

Ejemplo 27-3. Listado de artículos ... y algunas contraseñas (en cualquier base de datos)

<?php

$consulta  = "SELECT id, nombre, insertado, tam FROM productos
                  WHERE tam = '$tam'
                  ORDER BY $orden LIMIT $limite, $offset;";
$resultado = odbc_exec($conexion, $consulta);

?>
La parte estática de la consulta puede combinarse con otra sentencia SELECT la cual revela todas las contraseñas:

'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--

Si esta consulta (la cual juega con ' y --) fuera asignada a una de las variables usadas en $consulta, la bestia de la consulta habrá despertado.

Las sentencias UPDATE de SQL son también susceptibles a ataque. Estas consultas también se encuentran amenazadas por un posible acotamiento y adición de una consulta completamente nueva. Pero en este caso el atacante puede amañar la información de una cláusula SET. En este caso se requiere contar con cierta información sobre el esquema de la base de datos para poder manipular la consulta satisfactoriamente. Esta información puede ser adquirida mediante el estudio de los nombres de variables de los formularios, o simplemente por fuerza bruta. No existen demasiadas convenciones para nombrar campos de contraseñas o nombres de usuario.

Ejemplo 27-4. De restablecer una contraseña ... a adquirir más privilegios (con cualquier servidor de base de datos)

<?php
$consulta = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
Pero un usuario malicioso envía el valor ' or uid like'%admin%'; -- como $uid para cambiar la contraseña del administrador, o simplemente establece $pwd a "hehehe', admin='yes', trusted=100 " (con un espacio al inicio) para adquirir más privilegios. En tal caso, la consulta sería manipulada:

<?php

// $uid == ' or uid like'%admin%'; --
$consulta = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --";

// $pwd == "hehehe', admin='yes', trusted=100 "
$consulta = "UPDATE usertable SET pwd='hehehe', admin='yes', trusted=100 WHERE ...;"

?>

Un horrible ejemplo de cómo puede accederse a comandos del nivel del sistema operativo en algunas máquinas anfitrionas de bases de datos.

Ejemplo 27-5. Ataque al sistema operativo de la máquina anfitriona de la base de datos (MSSQL Server)

<?php

$consulta  = "SELECT * FROM productos WHERE id LIKE '%$prod%'";
$resultado = mssql_query($consulta);

?>
Si el atacante envía el valor a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- a $prod, entones la $consulta será:

<?php

$consulta  = "SELECT * FROM productos
                    WHERE id LIKE '%a%'
                    exec master..xp_cmdshell 'net user test testpass /ADD'--";
$resultado = mssql_query($consulta);

?>

MSSQL Server ejecuta sentencias SQL en el lote, incluyendo un comando para agregar un nuevo usuario a la base de datos de cuentas locales. Si esta aplicación estuviera corriendo como sa y el servicio MSSQLSERVER está corriendo con los privilegios suficientes, el atacante tendría ahora una cuenta con la que puede acceder a esta máquina.

Nota: Algunos de los ejemplos anteriores están atados a un servidor de base de datos específico. Esto no quiere decir que un ataque similar sea imposible con otros productos. Su base de datos puede ser vulnerable de forma semejante, en alguna otra manera.

Técnicas de protección

Usted puede argumentar con justa razón que el atacante debe poseer cierta cantidad de información sobre el esquema de la base de datos en la mayoría de ejemplos que hemos visto. Tiene razón, pero usted nunca sabe cuándo y cómo puede filtrarse esta información, y si ocurre, su base de datos estará expuesta. Si está usando un paquete de gestión de bases de datos de código abierto, o cuyo código fuente está disponible públicamente, el cual puede pertenecer a algún sistema de administración de contenido o foro, los intrusos pueden producir fácilmente una copia de un trozo de su código. También puede ser un riesgo de seguridad si es un segmento de código pobremente diseñado.

Estos ataques se basan principalmente en la explotación del código que no ha sido escrito pensando en la seguridad. Nunca confíe en ningún tipo de información de entrada, especialmente aquella que proviene del lado del cliente, aun si lo hace desde una caja de selección, un campo de entrada hidden o una cookie. El primer ejemplo le muestra que una consulta así de descuidada puede causar desastres.

  • Nunca se conecte a la base de datos como un super-usuario o como el dueño de la base de datos. Use siempre usuarios personalizados con privilegios muy limitados.

  • Revise si la entrada recibida es del tipo apropiado. PHP posee un amplio rango de funciones de validación de datos, desde los más simples encontrados en Funciones sobre variables y en Funciones de tipo de caracter (p. ej. is_numeric(), ctype_digit() respectivamente) hasta el soporte para Expresiones Regulares compatibles con Perl.

  • Si la aplicación espera alguna entrada numérica, considere la verificación de información con is_numeric(), o modifique silenciosamente su tipo usando settype(), o utilice su representación numérica, dada por sprintf().

    Ejemplo 27-6. Una forma más segura de generar una consulta para paginado

    <?php

    settype    ($offset, 'integer');
    $consulta = "SELECT id, nombre FROM productos ORDER BY nombre " .
                    "LIMIT 20 OFFSET $offset;";

    // note el simbolo %d en la cadena de formato, usar %s no tendría sentido
    $consulta = sprintf("SELECT id, nombre FROM productos ORDER BY nombre" .
                            "LIMIT 20 OFFSET %d;", $offset);

    ?>

  • Ubique cada valor no-numérico que entrega el usuario y que sea pasado a la base de datos entre comillas con la función de escape de cadenas específica a su base de datos (p.ej. mysql_escape_string(), sql_escape_string(), etc.). Si no hay disponible un mecanismo de escape de cadenas específico a la BD, las funciones addslashes() y str_replace() pueden ser útiles (dependiendo del tipo de base de datos). Vea el primer ejemplo. Como se ve allí, agregar comillas a la parte estática de la consulta no es suficiente, haciéndola fácilmente manipulable.

  • No imprima ninguna información específica sobre la base de datos, especialmente sobre su esquema, ya sea por razones justas o por equivocaciones. Vea también Reporte de Errores y Gestión de Errores y Funciones de Registro.

  • Puede usar procedimientos almacenados y cursores previamente definidos para abstraer el acceso a las bases de datos, de modo que los usuarios no tengan acceso directo a las tablas o vistas, aunque esta solución tiene otros impactos.

Además de estas acciones, usted puede beneficiarse del registro explícito de las consultas realizadas, ya sea desde su script o por la base de datos misma, si ésta soporta la gestión de registros. Por supuesto, el registro de acciones no puede prevenir cualquier intento peligroso, pero puede ser útil para rastrear cuáles aplicaciones han sido usadas para violar la seguridad. El registro en sí no es útil; lo es la información que contiene. Por lo general, es mejor contar con más detalles que con menos.

Anterior | Inicio | Siguiente
Modelo de Almacenamiento Encriptado | Subir | Reporte de Errores


Reporte de Errores

Manual de PHP
Anterior Siguiente

Capítulo 28. Reporte de Errores

Hablando de la seguridad en PHP, hay dos caras en lo que se concierne al reporte de errores. Una es benéfica al incremento de la seguridad, la otra va en dirección de su detrimento.

Una táctica de ataque típica involucra la acumulación de un perfil de datos del sistema alimentándolo con datos inapropiados, y luego chequear los tipos de errores que son devueltos, y sus contextos. Esto permite que el cracker del sistema pueda adquirir información del servidor, para así determinar posibles debilidades. Por ejemplo, si un atacante ha recogido información sobre una página creada a partir de los datos de un formulario, él podría intentar sobrescribir las variables, o modificarlas:

Ejemplo 28-1. Ataque a Variables con una página HTML personalizada

<form method="post" action="destino_del_ataque?username=badfoo&amp;password=badfoo">
<input type="hidden" name="username" value="badfoo" />
<input type="hidden" name="password" value="badfoo" />
</form>

Los errores de PHP que son devueltos normalmente pueden ser bastante útiles para un desarrollador que esté tratando de depurar un script, indicando cosas como la función o archivo que falló, el archivo PHP y el número de línea en donde ocurren los fallos. Toda esta es información de la que puede sacarse provecho. No es extraño que un desarrollador php use show_source(), highlight_string(), o highlight_file() como medida de depuración, pero en un sitio en producción, esta acción puede exponer variables ocultas, sintaxis sin chequear, y otra información peligrosa. Algo especialmente peligroso es ejecutar código que proviene de fuentes bien conocidas con gestores de depuración incorporados, o que usan técnicas de depuración comunes. Si el atacante puede determinar qué técnica general está usando, puede intentar un ataque de fuerza bruta sobre una página, enviando varias cadenas comunes de depuración:

Ejemplo 28-2. Explotación de variables comunes de depuración

<form method="post" action="destino_del_ataque?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Independientemente del método de gestión de errores, la capacidad de conseguir que un sistema revele sus posibles estados de error representa un camino para darle información al atacante.

Por ejemplo, el estilo mismo de un error de PHP genérico indica que el sistema está ejecutando PHP. Si el atacante estuviera viendo una página .html, y quisiera consultar qué está siendo usado para la generación de ella por detrás (en busca de debilidades conocidas en el sistema), podría determinar que el sistema fue creado usando PHP alimentándolo con información equivocada.

Un error de función puede indicar si el sistema está ejecutando un tipo particular de motor de base de datos, o dar pistas sobre cómo fue programada o diseñada una página web. Esto facilita posteriores investigaciones en determinados puertos abiertos de bases de datos, o en busca de fallos específicos o debilidades en una página web. Al entregar diferentes trozos de datos inválidos al sistema, por ejemplo, un atacante puede determinar el orden de autenticación en un script, (a partir de los números de línea de los errores) así como averiguar sobre vulnerabilidades que pueden aprovecharse en diferentes puntos del script.

Un error del sistema de archivos o en general de PHP puede indicar qué permisos tiene el servidor web, así como la estructura y organización de los archivos en el servidor web. Algún código de gestión de errores escrito por el desarrollador puede agravar este problema, llevando a la fácil explotación de información hasta entonces "escondida".

Existen tres soluciones principales a este problema. La primera es revisar cuidadosamente todas las funciones, y tratar de compensar por la mayoría de errores encontrados. La segunda es deshabilitar el reporte de errores completamente del código que está siendo ejecutado. La tercera es usar las funciones de gestión de errores personalizables de PHP para crear su propio gestor de errores. Dependiendo de su política de seguridad, puede encontrar que todas ellas pueden ser aplicables a su situación.

Una forma de detectar este problema por adelantado es hacer uso del reporte de errores propio de PHP (error_reporting()), para ayudarle a asegurar su código y encontrar uso de variables que pueda ser peligroso. Al probar su código, previamente a su entrega final, con E_ALL, puede encontrar rápidamente áreas en donde sus variables pueden estar abiertas a la manipulación y explotación en distintas formas. Una vez esté listo para liberar su código, es buena idea que deshabilite el reporte de errores por completo definiendo error_reporting() a 0, o desactive la impresión de errores usando la opción de php.ini display_errors, de modo que pueda aislar su código de ataques potenciales. Si elige la última opción, debe definir también la ruta a su archivo de registro usando la directiva ini error_log, y habilitar log_errors.

Ejemplo 28-3. Detección de variables peligrosas con E_ALL

<?php
if ($nombre_usuario) {  // Variable no inicializada o chequeada antes de su uso
    $login_correcto = 1;
}
if ($login_correcto == 1) { // Si la condicion anterior falla, esta variable
                            // no se encuentra inicializada ni validada
                            // antes de su uso

    readfile ("/informacion/altamente/confidencial/index.html");
}
?>

Anterior | Inicio | Siguiente
Inyección de SQL | Subir | Uso de Register Globals


Uso de Register Globals

Manual de PHP
Anterior Siguiente

Capítulo 29. Uso de Register Globals

Quizás el cambio más controversial en la historia de PHP se ha dado cuando la directiva register_globals pasó de tener como valor por defecto ON al valor OFF en PHP 4.2.0. La dependencia sobre esta directiva era bastante común y muchas personas nisiquiera estaban enteradas de que existía y asumían que ese era el modo en que PHP trabajaba. Esta página explicará cómo puede llegar a escribirse código inseguro con esta directiva pero tenga en mente que no es la directiva misma la que es insegura sino el uso inapropiado de ella.

Cuando se encuentra activa, la directiva register_globals inyectará sus scripts con todo tipo de variables, como variables de peticiones provenientes de formularios HTML. Esto junto con el hecho de que PHP no requiere la inicialización de variables significa que es muy fácil escribir código inseguro. Fue una decisión difícil, pero la comunidad de PHP decidió desahibilar esta directiva por defecto. Cuando está habilitada, las personas usan variables sin saber con seguridad de dónde provienen y solo queda asumir. Las variables internas que son definidas en el script mismo son mezcladas con los datos enviados por los usuarios y al deshabilitar register_globals se modifica este comportamiento. Demostremos este caso con un ejemplo del uso incorrecto de register_globals:

Ejemplo 29-1. Ejemplo del uso inapropiado de register_globals = on

<?php
// definir $autorizado = true solo si el usuario ha sido autenticado

if (usuario_autenticado()) {
    $autorizado = true;
}

// Ya que no inicializamos $autorizado como false, esta podria estar
// definida a traves de register_globals, como en el caso de GET
// auth.php?autorizado=1

// De modo que cualquier persona podria verse como autenticada!

if ($autorizado) {
    include "/datos/muy/importantes.php";
}
?>

Cuando register_globals = on, nuestra lógica anterior podría verse comprometida. Cuando la directiva está deshabilitada, $autorizado no puede definirse a través de peticiones, así que no habrá ningún problema, aunque es cierto que siempre es una buena práctica de programación inicializar las variables primero. Por ejemplo, en nuestro ejemplo anterior pudimos haber realizado primero algo como $authorized = false. Hacer esto representa que el código anterior podría funcionar con register_globals establecido a on u off ya que los usuarios no serían autorizados por defecto.

Otro ejemplo es aquel de las sesiones. Cuando register_globals = on, podríamos usar también $nombre_usuario en nuestro siguiente ejemplo, pero nuevamente usted debe notar que $nombre_usuario puede provenir de otros medios, como GET (a través de la URL).

Ejemplo 29-2. Ejemplo del uso de sesiones con register_globals on u off

<?php
// No sabriamos de donde proviene $nombre_usuario, pero sabemos que
// $_SESSION es para datos de sesion

if (isset($_SESSION['nombre_usuario'])) {

    echo "Hola <b>{$_SESSION['nombre_usuario']}</b>";

} else {

    echo "Hola <b>Invitado</b><br />";
    echo "&iquest;Quisiera iniciar su sesi&oacute;n?";

}
?>

Incluso es posible tomar medidas preventivas para advertir cuando se intente falsificar la información. Si usted sabe previamente con exactitud el lugar de donde debería provenir una variable, usted puede chequear si los datos enviados provienen de una fuente inadecuada. Aunque esto no garantiza que la información no haya sido falsificada, esto requiere que un atacante adivine el medio apropiado para falsificar la información. Si no le importa de dónde proviene la información, puede usar $_REQUEST ya que allí se incluye una mezcla de variables que provienen de datos GET, POST y COOKIE. Consulte también la sección del manual sobre el uso de variables desde fuera de PHP.

Ejemplo 29-3. Detección de envenenamiento simple de variables

<?php
if (isset($_COOKIE['COOKIE_MAGICA'])) {

    // COOKIE_MAGICA proviene de una cookie.
    // Asegurese de validar los datos de la cookie!

} elseif (isset($_GET['COOKIE_MAGICA']) || isset($_POST['COOKIE_MAGICA'])) {

   mail("admin@example.com", "Posible intento de intromision",
        $_SERVER['REMOTE_ADDR']);
   echo "Violaci&oacute;n de seguridad, el administrador ha sido alertado.";
   exit;

} else {

   // COOKIE_MAGICA no fue definida en este REQUEST

}
?>

Por supuesto, deshabilitar register_globals no quiere decir que su código vaya a ser seguro. Por cada trozo de datos que sea enviado por el usuario, éste debe ser chequeado en otras formas. ¡Siempre valide los datos de los usuarios e inicialice sus variables! Para chequear por variables no inicializadas, usted puede usar error_reporting() para mostrar errores del nivel E_NOTICE.

Para más información sobre la emulación del valor On u Off de register_globals, consulte este FAQ.

Superglobals: Nota de disponibilidad: Desde 4.1.0, están disponibles algunas matrices superglobales tales como $_GET, $_POST, y $_SERVER, etc. Para más información puede consultar la sección superglobals

Anterior | Inicio | Siguiente
Reporte de Errores | Subir | Datos Enviados por el Usuario


Datos Enviados por el Usuario

Manual de PHP
Anterior Siguiente

Capítulo 30. Datos Enviados por el Usuario

Las mayores debilidades de muchos programas PHP no son inherentes al lenguaje mismo, sino simplemente un problema generado cuando se escribe código sin pensar en la seguridad. Por esta razón, usted debería tomarse siempre el tiempo para considerar las implicaciones de cada pedazo de código, para averiguar el posible peligro involucrado cuando una variable inesperada es enviada.

Ejemplo 30-1. Uso Peligroso de Variables

<?php
// eliminar un archivo del directorio personal del usuario .. o
// quizas de alguien mas?

unlink ($variable_malvada);

// Imprimir el registro del acceso... o quizas una entrada de /etc/passwd?
fwrite ($desc_archivo, $variable_malvada);

// Ejecutar algo trivial.. o rm -rf *?
system ($variable_malvada);
exec ($variable_malvada);

?>
Usted debería examinar siempre, y cuidadosamente su código para asegurarse de que cualquier variable siendo enviada desde un navegador web sea chequeada apropiadamente, y preguntarse a sí mismo:

  • ¿Este script afectará únicamente los archivos que se pretende?

  • ¿Puede tomarse acción sobre datos inusuales o indeseados?

  • ¿Puede ser usado este script en formas malintencionadas?

  • ¿Puede ser usado en conjunto con otros scripts en forma negativa?

  • ¿Serán adecuadamente registradas las transacciones?

Al preguntarse adecuadamente estas preguntas mientras escribe su script, en lugar de hacerlo posteriormente, usted previene una desafortunada re-implementación del programa cuando desee incrementar el nivel de seguridad. Al comenzar con esta mentalidad, no garantizará la seguridad de su sistema, pero puede ayudar a mejorarla.

Puede que también desee considerar la deshabilitación de register_globals, magic_quotes, u otros parámetros convenientes que pueden causar confusión sobre la validez, fuente o valor de una determinada variable. Trabajar con PHP en modo error_reporting(E_ALL) también puede ayudarle a advertir variables que están siendo usadas antes de ser chequeadas o inicializadas (de modo que puede prevenir que datos inusuales produzcan operaciones inadvertidas).

Anterior | Inicio | Siguiente
Uso de Register Globals | Subir | Comillas Mágicas


Comillas Mágicas

Manual de PHP
Anterior Siguiente

Capítulo 31. Comillas Mágicas

Tabla de contenidos
Qué Son Las Comillas Mágicas
Porqué Usar Comillas Mágicas
Porqué No Usar Comillas Mágicas
Desactivación de Comillas Mágicas

Las comillas mágicas (o "Magic Quotes") se refieren a un proceso que automáticamente escapa datos de entrada en los scripts de PHP. Es recomendable escribir código con las comillas mágicas deshabilitadas, y en su lugar escapar los datos en tiempo de ejecución, a medida que se necesite.

Qué Son Las Comillas Mágicas

Cuando se habilitan, todos los caracteres ' (comilla sencilla), " (comilla doble), \ (barra invertida) y NULL se escapan con una barra invertida de forma automática. Esto es idéntico a lo que hace addslashes().

Existen tres directivas de comillas mágicas:

  • magic_quotes_gpc

    Afecta los datos de peticiones HTTP (GET, POST y COOKIE). No puede definirse en tiempo de ejecución, y su valor predeterminado es on en PHP.

    Vea también get_magic_quotes_gpc().

  • magic_quotes_runtime

    Si se habilita, la mayoría de funciones que devuelven datos de una fuente externa, incluyendo bases de datos y archivos de texto, escaparán las comillas con una barra invertida. Puede definirse en tiempo de ejecución, y su valor predeterminado en PHP es off.

    Vea también set_magic_quotes_runtime() y get_magic_quotes_runtime().

  • magic_quotes_sybase

    Si se habilita, una comilla sencilla se escapa con una comilla sencilla en lugar de una barra invertida. Asimismo, sobreescribe completamente magic_quotes_gpc. Habilitar ambas directivas quiere decir que sólo las comillas sencillas se escapan como ''. Las comillas dobles, las barras invertidas y los NULL permanecerán intactos y sin escapar.

    Vea también ini_get() para conocer su valor.

Anterior | Inicio | Siguiente
Datos Enviados por el Usuario | Subir | Porqué Usar Comillas Mágicas


Porqué Usar Comillas Mágicas

  • Útil para principiantes

    Las comillas mágicas son implementadas en PHP para ayudar a que el código escrito por principiantes no resulte peligroso. Aunque la Inyección SQL es posible aun con las comillas mágicas habilitadas, el riesgo es reducido.

  • Conveniencia

    Para insertar datos en una base de datos, las comillas mágicas básicamente usan addslashes() sobre todos los datos Get, Post, y Cookie, y lo hace automáticamente.

Anterior | Inicio | Siguiente
Comillas Mágicas | Subir | Porqué No Usar Comillas Mágicas


Porqué No Usar Comillas Mágicas

  • Portabilidad

    Asumir que estén habilitadas, o deshabilitadas, afecta la portabilidad. Use get_magic_quotes_gpc() para verificar su valor, y escriba su código de forma acorde.

  • Rendimiento

    Ya que no todo fragmento de datos escapados es insertado en una base de datos, existe una pérdida en rendimiento al escapar todos esos datos. Simplemente llamar las funciones de escape (como addslashes()) en tiempo de ejecución es más eficiente.

    Aunque php.ini-dist habilita estas directivas por defecto, php.ini-recommended las deshabilita. Esta recomendación se hace principalmente por razones de rendimiento.

  • Inconveniencia

    Ya que no todos los datos necesitan ser escapados, con frecuencia resulta molesto ver datos escapados cuando no debieran estarlo. Por ejemplo, enviar un correo electrónico desde un formulario y ver un montón de \' en el mensaje. Arreglar esto puedo requerir un uso exagerado de stripslashes().

Anterior | Inicio | Siguiente
Porqué Usar Comillas Mágicas | Subir | Desactivación de Comillas Mágicas


Desactivación de Comillas Mágicas

Puede que la directiva magic_quotes_gpc solo pueda ser desactivada en el nivel de sistema, y no en tiempo de ejecución. En otras palabras, usar ini_set() no es posible.

Ejemplo 31-1. Desactivación de comillas mágicas del lado del servidor

Un ejemplo que define el valor de estas directivas a Off en php.ini. Para detalles adicionales, lea la sección del manual titulada Cómo modificar los parámetros de configuración.

; Magic Quotes
;

; Comillas mágicas para datos GET/POST/Cookie de entrada.
magic_quotes_gpc = Off

; Comillas mágicas para datos generados en tiempo de ejecución,
; p.ej. desde SQL, exec(), etc
magic_quotes_runtime = Off

; Usar comillas mágicas tipo Sybase (escapar ' con '' en lugar de \').
magic_quotes_sybase = Off

Si el acceso a la configuración del servidor no se encuentra disponible, el uso de .htaccess es también una opción. Por ejemplo:

php_flag magic_quotes_gpc Off

Con el propósito de escribir código portable (código que funciona en cualquier entorno), por ejemplo si la configuración en el nivel del servidor no es posible, he aquí un ejemplo de cómo deshabilitar magic_quotes_gpc en tiempo de ejecución. Este método es ineficiente así que es preferible definir las directivas apropiadas en algún otro lugar.

Ejemplo 31-2. Deshabilitar comillas mágicas en tiempo de ejecución

<?php
if (get_magic_quotes_gpc()) {
    function stripslashes_profundo($valor)
    {
        $valor = is_array($valor) ?
                    array_map('stripslashes_profundo', $valor) :
                    stripslashes($valor);

        return $valor;
    }

    $_POST = array_map('stripslashes_profundo', $_POST);
    $_GET = array_map('stripslashes_profundo', $_GET);
    $_COOKIE = array_map('stripslashes_profundo', $_COOKIE);
    $_REQUEST = array_map('stripslashes_profundo', $_REQUEST);
}
?>

Anterior | Inicio | Siguiente
Porqué No Usar Comillas Mágicas | Subir | Ocultando PHP


Ocultando PHP

Manual de PHP
Anterior Siguiente

Capítulo 32. Ocultando PHP

En general, la seguridad por oscuridad es una de las formas más débiles de seguridad. Pero, en algunos casos, cada pequeño elemento extra de seguridad es deseable.

Unas cuantas técnicas simples pueden ayudarle a esconder PHP, posiblemente retrasando a un atacante que esté intentando descubrir debilidades en su sistema. Al establecer expose_php = off en su archivo php.ini, usted reduce la cantidad de información disponible a posibles atacantes.

Otra táctica consiste en configurar los servidores web como apache para que procesen diferentes tipos de archivos como scripts de PHP, ya sea con una directiva .htaccess, o en el archivo de configuración de apache mismo. En ese caso puede usar extensiones de archivo que produzcan confusión:

Ejemplo 32-1. Ocultando PHP como otro lenguaje

# Hacer que el codigo PHP parezca como otro tipo de codigo
AddType application/x-httpd-php .asp .py .pl
U ocultarlo completamente:

Ejemplo 32-2. Uso de tipos desconocidos como extensiones para PHP

# Hacer que el codigo PHP parezca como de tipos desconocidos
AddType application/x-httpd-php .bop .foo .133t
O escóndalo como código HTML, lo que tiene un pequeño impacto de rendimiento ya que todos los documentos HTML serán procesados por el motor de PHP:

Ejemplo 32-3. Uso de tipos HTML para extensiones PHP

# Hacer que todo el codigo PHP luzca como HTML
AddType application/x-httpd-php .htm .html
Para que esto funcione de manera efectiva, usted debe renombrar sus archivos PHP con las extensiones anteriores. Aunque es una forma de seguridad por oscuridad, representa una medida preventiva menor con pocos inconvenientes.

Anterior | Inicio | Siguiente
Desactivación de Comillas Mágicas | Subir | Mantenerse al Día


Mantenerse al Día

Manual de PHP
Anterior Siguiente

Capítulo 33. Mantenerse al Día

PHP, como cualquier otro sistema de tamaño considerable, está bajo constante escrutinio y remodelación. Cada nueva versión incluye con frecuencia cambios mayores y menores para mejorar la seguridad y reparar cualquier fallo, problemas de configuración, y otros asuntos que puedan afectar la seguridad y estabilidad global de su sistema.

Como cualquier lenguaje y programa de scripting del nivel del sistema, el mejor enfoque es el de actualizar con frecuencia, y mantenerse alerta sobre las últimas versiones y sus cambios.

Anterior | Inicio | Siguiente
Ocultando PHP | Subir | Características


Características

Manual de PHP
Anterior Siguiente

V. Características

Tabla de contenidos
34. Autentificación HTTP con PHP
35. Cookies
36. Sesiones
37. Manejo de XForms
38. Manejo de envío de archivos
39. Usando archivos remotos
40. Manejando conexiones
41. Conexiones persistentes a bases de datos
42. Modo Seguro (Safe Mode)
43. Usando PHP desde la línea de comando

Anterior | Inicio | Siguiente
Mantenerse al Día |  | Autentificación HTTP con PHP


Autentificación HTTP con PHP

Manual de PHP
Anterior Siguiente

Capítulo 34. Autentificación HTTP con PHP

Las caracteríticas de autentificación HTTP en PHP solo están disponibles cuando se está ejecutando como un módulo en Apache y hasta ahora no lo estan en la versión CGI. En un script PHP como módulo de Apache, se puede usar la función header() para enviar un mensaje de "Autentificación requerida" al navegador cliente haciendo que muestre una ventana de entrada emergente con nombre de usuario y contraseña. Una vez que el usuario ha rellenado el nombre y la contraseña, la URL que contiene el script PHP será llamada de nuevo con las variables predefinidas PHP_AUTH_USER, PHP_AUTH_PW, y AUTH_TYPE asignadas con el nombre de usuario, la contraseña y el tipo de autentificación respectivamente. Estas variables predefinidas se pueden encontrar en las matrices $_SERVER y $HTTP_SERVER_VARS. Sólo autentificación "Básica" está soportada en este momento. Consulte la función header() para más información.

Nota sobre la versión PHP: Las Autoglobales, tales como $_SERVER, han estado disponibles desde la versión de PHP 4.1.0. $HTTP_SERVER_VARS ha estado disponible desde PHP 3.

Un script de ejemplo que fuerce la autentificación del cliente en una página sería como el siguiente:

Ejemplo 34-1. Ejemplo de autentificación HTTP

<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
  } else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
  }
?>

Nota de compatibilidad: Por favor tener cuidado cuando esteis programando las lineas de cabecera HTTP. Para garantizar la máxima compatibilidad con todos los clientes, la palabra clave "Basic" debe de ser escrita con "B" mayúscula, la cadena de texto debe estar incluida entre comillas dobles (no simples) y exactamente un espacio debe preceder el código 401 en la linea de cabecera HTTP/1.0 401

En vez de, sencillamente, mostrar PHP_AUTH_USER y PHP_AUTH_PW, seguramente querais comprobar la validez del nombre de usuario y la contraseña. Tal vez enviando una consulta a una base de datos o buscando el usuario en un fichero dbm.

Vigilar aquí los navegadores Interner Explorer con bugs. Parecen muy quisquillosos con el orden de las cabeceras. Enviar la cabecera WWW-Autentificación antes que la cabecera HTTP/1.0 401 parece ser el truco por ahora.

En fecha de la versión PHP 4.3.0, para prevenir que alguien escriba un script que revele la contraseña de una página que ha sido autentificada a través de algún mecanismo externo tradicional, las variables PHP_AUTH no serán asignadas si algún tipo de autentificación externa ha sido activada para la página en particular. En este caso, la variable REMOTE_USER puede ser usada para identificar al usuario autentificado externamente. Asi que se puedes utilizar $_SERVER['REMOTE_USER'].

Configuration Note: PHP usa la directiva AuthType para determinar si una autentificación externa esta en uso.

Nota, a pesar de todo, lo ya dicho no proteje de que alguien que controle una URL no autentificada robe contraseñas de URLs autentificadas en el mismo servidor.

Tanto Netscape como Internet Explorer borrarán la caché de la ventana de autentificación en el navegador local después de recibir una respuesta 401 del servidor. Esto puede usarse, de forma efectiva, para "desconectar" a un usuario, forzandole a reintroducir su nombre y contraseña. Algunas personas usan esto para "hacer caducar" entradas, o para proveer un botón de "desconectar".

Ejemplo 34-2. Ejemplo de autentificación HTTP forzando una reentrada

<?php
  function authenticate() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "You must enter a valid login ID and password to access this resource\n";
    exit;
  }

  if (!isset($_SERVER['PHP_AUTH_USER']) ||
      ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
   authenticate();
  }
  else {
   echo "<p>Welcome: {$_SERVER['PHP_AUTH_USER']}<br>";
   echo "Old: {$_REQUEST['OldAuth']}";
   echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='POST'>\n";
   echo "<input type='hidden' name='SeenBefore' value='1'>\n";
   echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}'>\n";
   echo "<input type='submit' value='Re Authenticate'>\n";
   echo "</form></p>\n";
  }
?>

Este comportamiento no es requerido por el estándar de autentificación básica de HTTP, por lo que nunca debe depender de esto. Pruebas con Lynx han demostrado que Lynx no borra las credenciales de autentificación con una respuesta 401 del servidor, por lo que pulsando atrás y después adelante abriría el recurso de nuevo (siempre que los requerimientos de contraseña no hayan cambiado).

Además tener en cuenta que hasta la version de PHP 4.3.3, la autentificación HTTP no funcionaba con el servidor IIS de Microsoft y la versión CGI de PHP, debido a una limitación de IIS. Para que funcione a partir de PHP 4.3.3, debeis de editar vuestra configuración sobre "Seguridad en directorios" en IIS. Pulsar en 'Editar" y elegir solamente "acceso anonimo", todos los demas campos no se deben de elegir.

Otra limitación es, si estais usando el módulo de IIS (ISAPI), que no podeis usar las variables PHP_AUTH_*, en su lugar debeis utilizar la variable HTTP_AUTHORIZATION. Por ejemplo: list($user, $pw) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

Nota para IIS:: Para que la autentificación HTTP funcione con IIS, la directiva de PHP cgi.rfc2616_headers debe de tener el valor 0 (valor por defecto).

Nota: Si safe mode está activado, el uid de el script es agregado a la cabecera WWW-Authenticate

Anterior | Inicio | Siguiente
Características | Subir | Cookies


Cookies

Manual de PHP
Anterior Siguiente

Capítulo 35. Cookies

PHP soporta transparentemente cookies HTTP. Las Cookies son un mecanismo que sirve para almacenar datos en el navegador del usuario remoto, para así poder identificar al usuario cuando vuelva. Se pueden poner cookies usando la función setcookie(). Las Cookies son parte de la cabecera HTTP, por tanto la función setcookie() debe ser llamada antes de que se produzca cualquier salida al navegador. Esta limitación es la misma a la de la función header(). Se pueden usar las funciones de almacenamiento intermedio del resultado para retrasar el resultado del script hasta que hayas decidido mandar o no una cookie o cabecera.

Cualquier cookie enviada a ti desde el cliente, automáticamente se convertirá en una variable PHP igual que ocurre con los métodos de datos GET y POST, dependiendo de las variables de configuración register_globals y variables_order. Si deseas asignar multiples valores a una cookie simple, añade simplemente [] a el nombre de la cookie.

En PHP 4.1.0 y posteriores, la matriz auto-global $_COOKIE será siempre actualizada con cualquier cookie mandada por el cliente. $HTTP_COOKIE_VARS es tambien actualizada en versiones anteriores de PHP cuando la variable de configuración track_vars esté activada. (Siempre activada a partir de PHP 4.0.3.)

Para más detalles, incluyendo notas o bugs de navegadores, ver la función setcookie() y setrawcookie().

Anterior | Inicio | Siguiente
Autentificación HTTP con PHP | Subir | Sesiones


Sesiones

Manual de PHP
Anterior Siguiente

Capítulo 36. Sesiones

El soporte de sesiones en PHP consiste en un mecanismo para preservar ciertos datos a lo largo de accesos posteriores. Esto le permite construir aplicaciones más personalizadas e incrementar el atractivo de su sitio web. Toda la información se encuentra en la sección de Referencia de sesiones.

Anterior | Inicio | Siguiente
Cookies | Subir | Manejo de XForms


Manejo de XForms

Manual de PHP
Anterior Siguiente

Capítulo 37. Manejo de XForms

XForms define una variación de los tradicionales formularios web que permite que éstos sean usados en una variedad más amplia de plataformas y navegadores, e incluso en medios no-tradicionales como documentos PDF.

La primera diferencia clave en XForms es el modo en que el formulario es enviado al cliente. XForms para Autores HTML contiene una descripción detallada de cómo crear XForms; para los propósitos de este tutorial, tan solo estaremos viendo un ejemplo sencillo.

Ejemplo 37-1. Un formulario XForms de búsqueda simple

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>B&uacute;squeda</h:title>
 <model>
  <submission action="http://example.com/buscar"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Buscar</label></input>
  <submit submission="s"><label>Iniciar</label></submit>
 </h:p>
</h:body>
</h:html>

El anterior formulario despliega una caja de entrada de texto (llamada q), y un botón de enviar. Cuando el botón de enviar es pulsado, el formulario será enviado a la página indicada por action.

Aquí es en donde empieza a lucir diferente desde el punto de vista de su aplicación web. En un formulario HTML normal, los datos serían enviados como application/x-www-form-urlencoded, sin embargo, en el mundo de XForms, esta información es enviada como datos en formato XML.

Si ha tomado la decisión de trabajar con XForms, entonces probablemente quiera los datos en XML, en ese caso, debe echar un vistazo a $HTTP_RAW_POST_DATA en donde encontrará el documento XML generado por el navegador, el cual puede pasar a su motor XSLT o intérprete de documentos favorito.

Si no se encuentra interesado en dar formato, y sólo desea que los datos sean cargados en la variable $_POST tradicional, puede indicarle al navegador del cliente que envíe sus datos como application/x-www-form-urlencoded modificando el atributo method al valor urlencoded-post.

Ejemplo 37-2. Uso de un XForm para poblar $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>B&uacute;squeda</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Buscar</label></input>
  <submit submission="s"><label>Iniciar</label></submit>
 </h:p>
</h:body>
</h:html>

Nota: Al momento en que se escriben estas líneas, muchos navegadores no ofrecen soporte para XForms. Revise la versión de su navegador si el anterior ejemplo falla.

Anterior | Inicio | Siguiente
Sesiones | Subir | Manejo de envío de archivos


Manejo de envío de archivos

Manual de PHP
Anterior Siguiente

Capítulo 38. Manejo de envío de archivos

Tabla de contenidos
Envío de archivos con el método POST
Errores comunes
Envío de multiples ficheros
Soporte del método PUT

Envío de archivos con el método POST

PHP es capaz de recibir envíos de archivo de cualquier navegador que cumpla la norma RFC-1867 (entre los que se incluyen Netscape Navigator 3 o posterior, Microsoft Internet Explorer 3 con un parche o posterior sin éste). Ésta característica permite que los usuarios envien archivos de texto y binarios. Mediante la autentificación y funciones de manejo de archivos de PHP, es posible un control total de quién puede enviar archivos y que se hace con éstos una vez recibidos.

Es importante destacar que PHP también soporta el método PUT para envío de archivos tal y como lo utiliza Netscape Composer y el cliente Amaya de W3C. Consulte Soporte del método PUT para más detalles.

Una página de envío de archivos se puede crear mediante un formulario parecido a éste:

Ejemplo 38-1. Formulario de envío de archivo

<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
La _URL_ debe tener como destino un script PHP. El input oculto MAX_FILE_SIZE debe encontrarse antes del input de tipo "file" para indicar el tamaño máximo de archivo que se puede enviar en bytes

Aviso

MAX_FILE_SIZE debe ser consultado por el navegador; aun así es sencillo saltarse este máximo por lo tanto no se debe presuponer que el navegador siempre lo respetará. En contrapartida, la configuracion de PHP relativa al tamaño maximo no puede ser obviada.

Las variables definidas para los archivos enviados varian en función de la versión y configuración de PHP que se utilice. Las variables de las que hablamos a continuación serán definidas en la página destino despues de una recepción de fichero correcta. Cuando track_vars este activado, el array $HTTP_POST_FILES/$_FILES se inicializará. Por ultimo, las variables relacionadas seran inicializadas como globales cuando register_globals esté habilitado. Cabe señalar que el uso de las variables globales no esta recomendado en ningún caso.

Nota: track_vars esta activado siempre desde PHP 4.0.3. A partir de PHP 4.1.0 , $_FILES puede ser utilizado alternativamente a $HTTP_POST_FILES. $_FILES es siempre global asi que global no debe ser usado con $_FILES en el ámbito de función.

$HTTP_POST_FILES/$_FILES contienen la información sobre el fichero recibido.

A continuación se describe el contenido de $HTTP_POST_FILES. Se ha tomado el nombre 'userfile' para el fichero recibido tal y como se usaba en el script de ejemplo anterior:

$HTTP_POST_FILES['userfile']['name']

El nombre original del fichero en la máquina cliente.

$HTTP_POST_FILES['userfile']['type']

El tipo mime del fichero (si el navegador lo proporciona). Un ejemplo podría ser "image/gif".

$HTTP_POST_FILES['userfile']['size']

El tamaño en bytes del fichero recibido.

$HTTP_POST_FILES['userfile']['tmp_name']

El nombre del fichero temporal que se utiliza para almacenar en el servidor el archivo recibido.

Nota: A partir de PHP 4.1.0 se puede utilizar el variable corta $_FILES. PHP 3 no soporta $HTTP_POST_FILES.

Cuando register_globals se activa en el php.ini las siguientes variables son accesibles. Se ha tomado el nombre 'userfile' para el fichero recibido tal y como se usaba en el script de ejemplo del principio:

  • $userfile - El nombre del fichero temporal que se utiliza para almacenar en el servidor el archivo recibido.

  • $userfile_name - El nombre original del fichero en la máquina cliente.

  • $userfile_size - El tamaño en bytes del fichero recibido.

  • $userfile_type - El tipo mime del fichero (si el navegador lo proporciona). Un ejemplo podría ser "image/gif".

Se puede ver que "$userfile" (en las variables anteriores) toma el valor del atributo "name" que contenga el campo <input> de tipo "file" del formulario de envio. En el ejemplo anterior, elegimos llamarlo "userfile".

Nota: register_globals = On se desaconseja por razones de seguridad y rendimiento.

Por defecto, los ficheros serán almacenados en el directorio temporal por defecto del servidor a no ser que se especifique otra localizacion con la directiva upload_tmp_dir en php.ini. El directorio temporal por defecto del servidor puede ser modificado cambiando el valor de la variable de entorno TMPDIR en el contexto en que se ejecuta PHP La configuración de las variables de entorno no se puede realizar en PHP a través de la función putenv(). Esta variable de entorio puede ser utilizada también para asegurarnos que otras operaciones con archivos recibidos están funcionando correctamente.

Ejemplo 38-2. Verificando los archivos recibidos

Los siguientes ejemplos son validos para versiones de PHP 4 superiores a la 4.0.2. Veanse las funciones is_uploaded_file() y move_uploaded_file().

<?php
// In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
    copy($HTTP_POST_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
} else {
    echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
/* ...or... */
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
?>

El script PHP que recibe el fichero, debe implementar la lógica necesaria para determinar que debe ser realizado con el fichero. Se puede utilizar, por ejemplo, la variable $HTTP_POST_FILES['userfile']['size'] para descartar los ficheros demasiado chicos o demasiado grandes; por otro lado, se puede usar la variable $HTTP_POST_FILES['userfile']['type'] para descartar los que no se ajusten a algun criterio de tipo. Cualquiera que sea la logica que utilicemos, se debe borrar o mover el archivo del directorio temporal.

El archivo será borrado del directorio temporal al final de la petición si no se ha movido o renombrado.

Anterior | Inicio | Siguiente
Manejo de XForms | Subir | Errores comunes


Errores comunes

A MAX_FILE_SIZE no se le puede dar un valor mayor que el valor que se haya especificado en la directivaupload_max_filesize. Por defecto se tiene un límite de 2 MegaBytes.

Si se ha activado el límite de memoria, se deben especificar un valor alto para memory_limit. En cualquier caso, se debe asegurar un valor suficientemente grande para memory_limit.

Si max_execution_time tiene un valor muy pequeño, la ejecución del script puede exceder este valor. De esta forma, se debe asegurar un valor suficientemente grande para max_execution_time.

Si post_max_size tiene un valor muy pequeño, los ficheros mas grandes a este valor, no podrán ser enviados. Por ello, se debe asegurar un valor suficientemente grande para post_max_size.

No verificar que ficheros se estan manipulando puede tener como consecuencia que los usuarios puedan acceder a información sensible en otros directorios.

Cabe señalar que el httpd de CERN parece cortar todo a partir del primer espacio en blanco en el "content-type" de la cabecera mime que obtiene del cliente. Si este es el caso, con el httpd de CERN no se soporta la funcionalidad de envío de ficheros.

Anterior | Inicio | Siguiente
Manejo de envío de archivos | Subir | Envío de multiples ficheros


Envío de multiples ficheros

Se pueden enviar multiples ficheros usando diferentes nombres (name) para los input.

Así mismo, es posible enviar varios archivos simultaneamente y tener organizada en arrays la información. Para hacer esto, se utiliza la misma sintáxis que cuando tenemos multiples "selects" o "checkboxes" en el formulario HTML:

Nota: El soporte para envío multiple de ficheros fue añadido en la versión 3.0.10.

Ejemplo 38-3. Envío de multiples ficheros

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br>
  <input name="userfile[]" type="file"><br>
  <input name="userfile[]" type="file"><br>
  <input type="submit" value="Send files">
</form>

Cuando el formulario del ejemplo es enviado, los arrays $HTTP_POST_FILES['userfile'], $HTTP_POST_FILES['userfile']['name'] y $HTTP_POST_FILES['userfile']['size'] son inicializados. Así mismo pasa con $_FILES en PHP 4.1.0 o superiores y $HTTP_POST_VARS en PHP 3. Cuando register_globals esta activa, las variables globales para los archivos recibidos también son inicializadas. Cada uno de estos arrays tendrá en los índices numericos correspondientes los valores para cada fichero recibido.

Por ejemplo, si tomamos como nombres de archivo enviados /home/test/review.html y /home/test/xwp.out. Tendríamos en $HTTP_POST_FILES['userfile']['name'][0] el valor de review.html, y en $HTTP_POST_FILES['userfile']['name'][1] tendríamos xwp.out; analogamente, $HTTP_POST_FILES['userfile']['size'][0] contendría el tamaño del fichero review.html, y asi sucesivamente...

$HTTP_POST_FILES['userfile']['name'][0], $HTTP_POST_FILES['userfile']['tmp_name'][0], $HTTP_POST_FILES['userfile']['size'][0] y $HTTP_POST_FILES['userfile']['type'][0] tambien son asignadas.

Anterior | Inicio | Siguiente
Errores comunes | Subir | Soporte del método PUT


Soporte del método PUT

PHP soporta el metodo HTTP PUT que usan aplicaciones como Netscape Composer y Amaya del W3C. Las peticiones PUT son más sencillas que el método POST. Un ejemplo:

PUT /path/filename.html HTTP/1.1

Esto normalmente significaría que el cliente remoto quiere salvar el contenido como: /path/filename.html en tu árbol web. Lógicamente no una buena idea que la gente pueda escribir en tu árbol web. Para manipular esta petición debes decirle al servidor que esta petición sea atendida por un script PHP. En Apache, por ejemplo, se utiliza para esto la directiva Script en los alguno de los archivos de configuración del servidor. Un sitio típico de uso es dentro del bloque &lt;Directory&gt; o quizás en el bloque &lt;Virtualhost&gt;. Una linia así deberia hacer ésta función:

Script PUT /put.php

Ésto le dice a Apache que envíe todas peticiones PUT para URIs que contengan esta linia al script put.php. Se asume que PHP se encuentra activo y con la extensión .php enlazada a él.

Dentro del script put.php3 se podría implementar algo así:

<?php copy($PHP_UPLOADED_FILE_NAME,$DOCUMENT_ROOT.$REQUEST_URI); ?>

Esto copiaría el archivo a la localización requerida por el cliente remoto. Aqui se pueden ejecutar funciones de autentificación de usuario o cualquier otro tipo de chequeo. El archivo se guarda en el archivo temporal del sistema servidor de la misma manera que el Método POST. Cuando la petición finaliza, el archivo temporal es eliminado. En consequencia el script dede proceder al trato de éste inmediatamente, ya sea para copiarlo, renombrarlo, etc. El archivo se encuentra en la variable $PHP_PUT_FILENAME, y el destino sugerido por el cliente en la variable $REQUEST_URI (puede variar en servidores web que no sean Apache). No es necesario hacer caso al destino sugerido por el cliente. Por ejemplo se podrían copiar los archivos enviados a directorios especialmente designados para esta tarea.

Anterior | Inicio | Siguiente
Envío de multiples ficheros | Subir | Usando archivos remotos


Usando archivos remotos

Manual de PHP
Anterior Siguiente

Capítulo 39. Usando archivos remotos

Siempre que allow_url_fopen esté habilitado en php.ini, se pueden usar URLs HTTP y FTP con la mayoría de las funciones que toman un archivo como parámetro. Además URLs pueden ser usadas con include(), include_once(), require() y require_once(). Consultar Apéndice M para más información sobre los protocolos soportados por PHP.

Nota: En PHP 4.0.3 y versiones anteriores, para usar envolturas URL, habia que configurar PHP usando la opción de configuración --enable-url-fopen-wrapper.

Nota: Las versiones para windows de PHP anteriores a PHP 4.3 no soportaban acceso remoto a ficheros en las funciones siguientes: include(), include_once(), require(), require_once(), y las funciones imagecreatefromXXX de la extensión Referencia LXIII, Funciones para imágenes.

Por ejemplo, se puede usar este para abrir un archivo en un servidor web remoto, analizar en la salida la información que se quiera, y entonces, usar la información en una consulta a base de datos, o simplemente para sacarlas en un estilo que coincida con el resto de su sitio web.

Ejemplo 39-1. Obtener el título de una página remota

<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
    echo "<p>Unable to open remote file.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* This only works if the title and its tags are on one line */
    if (eregi ("<title>(.*)</title>", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

También se puede escribir a archivos en un servidor FTP (siempre que se conecte como un usuario con los correctos derechos de acceso). Solamente se pueden crear nuevos ficheros usando este método; si se intenta sobreescribir un fichero ya existente, la función fopen() fallará

Para conectar como un usuario distinto de 'anonymous', se necesita especificar el nombre de usuario (y posiblemente contraseña) dentro de la URL, tales como 'ftp://usuario:clave@ftp.example.com/ruta/hacia/archivo'. (Se puede usar la misma clase de sintaxis para acceder a archivos via HTTP cuando se requería una autenticació de same sort of syntax to access files via HTTP when they require Basic authentication.)

Ejemplo 39-2. Almacenando datos en un servidor remoto

<?php
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$file) {
    echo "<p>Unable to open remote file for writing.\n";
    exit;
}
/* Write the data here. */
fwrite ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Nota: Podeis creer por el ejemplo anterior, que podeis usar esta tecnica para escribir en un fichero de registro remoto. Desgraciadamente no funcionaria porque la llamada fopen() fallaria si el fichero remoto existe. Para usar registros distribuidos de esa manera podeis consultar la funcion syslog().

Anterior | Inicio | Siguiente
Soporte del método PUT | Subir | Manejando conexiones


Manejando conexiones

Manual de PHP
Anterior Siguiente

Capítulo 40. Manejando conexiones

Nota: Todo lo siguiente se aplica a partir de la versión 3.0.7 y posterior.

Internamente en PHP se mantiene el estado de la conexión. Hay 3 posibles estados:

  • 0 - NORMAL

  • 1 - ABORTED (Abortado)

  • 2 - TIMEOUT (Fuera de tiempo)

Cuando un script PHP se está ejecutando se activa el estado NORMAL. Si el cliente remoto se desconecta, se pasa al estado ABORTED. Esto suele ocurrir cuando el usuario pulsa en el botón STOP del navegador. Si se alcanza el límite de tiempo impuesto por PHP (ver set_time_limit()), se pasa al estado TIMEOUT.

Puedes decidir si quieres que la desconexión de un cliente cause que tu script sea abortado. Algunas veces es cómodo que tus scripts se ejecuten por completo, incluso si no existe ya un navegador remoto que reciba la salida. El comportamiento por defecto es sin embargo, que tu script se aborte cuando el cliente remoto se desconecta. Este comportamiento puede ser configurado vía la directiva ignore_user_abort en el fichero php3.ini, o también con la función ignore_user_abort(). Si no le espeficicas al PHP que cuando un usuario aborte lo ignore, tu script terminará su ejecución. La única excepción es si tienes registrada un función de desconexión usando la función register_shutdown_function(). Con una función de desconexión, cuando un usuario remoto pulsa en el botón STOP, la próxima vez que tu script intenta mostrar algo, PHP detecta que la conexión ha sido abortada y se llama a la función de desconexión. Esta función de desconexión también se llama al final de la ejecución de tu script cuando se ha ejecutado normalmente, de manera que si quieres hacer algo diferente en caso de que un cliente se haya desconectado, puedes usar la función connection_aborted(). Esta función devuelve TRUE si la conexión fue abortada.

Vuestro script también se puede terminar por un temporizador interno. El timeout por defecto es de 30 segundos. Se puede cambiar usando la directiva max_execution_time en el fichero php.ini o la correspondiente directiva php_max_execution_time en la configuración del servidor de páginas Apache, como también con la función set_time_limit(). Cuando el temporizador expira, el script se aborta como en el caso de la desconexión del cliente, de manera que si se ha definido una función de desconexión, esta se llamará. Dentro de esta función de desconexión, puedes comprobar si fue el timeout el que causó que se llamara a la función de desconexión, llamando a la función connection_timeout(). Esta función devolverá verdadero si el timeout causa que se llame a la función de desconexión.

Hay que destacar que ambos, el estado ABORTED y el TIMEOUT, se pueden activar al mismo tiempo. Esto es posible si le dices a PHP que ignore las desconexiones intencionadas de los usuarios. PHP aún notará el hecho de que el usuario puede haberse desconectado, pero el script continuará ejecutándose. Si se alcanza el tiempo límite de ejecución será abortado y, si se ha definido una función de desconexión, esta será llamada. En este punto, encontrarás que las funciones connection_timeout() y connection_aborted() devuelven verdadero. Puedes comprobar ambos estados de una manera simple usando la función connection_status(). Esta función devuelve un campo de bit de los estados activos. De este modo, si ambos estados están activos devolvería por ejemplo un valor 3.

Anterior | Inicio | Siguiente
Usando archivos remotos | Subir | Conexiones persistentes a bases de datos


Conexiones persistentes a bases de datos

Manual de PHP
Anterior Siguiente

Capítulo 41. Conexiones persistentes a bases de datos

Las conexiones persistentes son enlaces que no se cierran cuando termina la ejecución del archivo de comandos. Cuando se pide una conexión persistente, PHP comprueba si hay ya una conexión persistente idéntica (que permanecía abierta desde antes) - y si existe, la usa. Si no existe, crea un enlace. Una conexión 'idéntica' es una conexión que se abrió hacia el mismo "host", con el mismo nombre de usuario y la misma contraseña (donde sea aplicable).

La gente que no está familiarizada con el modo como trabajan y distribuyen la carga los servidores "web" puede confundir que significa conexiones persistentes. En particular, no te dan la habilidad de abrir 'sesiones de usuario' en el mismo enlace, no dan la habilidad de construir una transacción de forma eficiente, y no hacen un montón de otras cosas. De hecho, para ser extremadamente claros sobre el tema las conexiones persistentes no te dan ninguna functionalidad que no fuera posible con sus hermanas no-persistentes.

¿Por qué?

Esto tiene que ver con el modo como funcionan los servidores "web". Hay tres modos en que un servidor "web" puede utilizar PHP para generar páginas web.

El primer método es usar PHP como una capa CGI. Cuando corre de este modo, se crea y destruye una instancia del intérprete PHP por cada página solicitada (para una página PHP) a tu servidor. Debido a que se destruye después de cada petición, cualquier recurso que adquiera (como un enlace a un servidor de base de datos SQL) se cierra cuando es destruido. En este caso, no se gana nada si se intentan usar conexiones persistentes, ya que simplemente no persisten.

El segundo, y más popular, método es correr PHP como un módulo en un servidor web multiproceso, lo cual actualmente sólo incluye Apache. Un servidor multiproceso tiene típicamente un proceso (el padre) que coordina un conjunto de procesos (sus hijos) que realmente hacen el trabajo se servir las páginas web. Cuando entra cada petición de un cliente, es entregada a uno de los hijos que no esté ya sirviendo a otro cliente. Esto significa que cuando el mismo cliente hace una segunda petción al servidor, puede ser atendido por un proceso hijo distinto del de la primera vez. Lo que una conexión persistente hace por ti en este caso es hacerlo de tal modo que cada proceso hijo sólo necesita conectar a tu SQL server la primera vez que sirve una página que hace uso de una conexión así. Cuando otra página solicita una conexión a SQL server, puede reutilizar la conexión que el hijo estableció previamente.

El último método es usar PHP como un "plug-in" para un servidor web multihilo. En la actualidad es solamente teórico -- PHP no funciona aún como "plug-in" para ningún servidor web multihilo. Actualmente PHP 4 soporta ISAPI, WSAPI y NSAPI (en Windows), lo cual permite a PHP ser utilizado como "plug-in" para servidores web multihilo como Netscape FastTrack, Internet Information Server (IIS) de Microsoft, y O'Reilly's WebSite Pro. El comportamiento es exactamente el mismo que para el modelo de multiprocesador descrito anteriormente. Tener en cuanta que el soporte para SAPI no está disponible en PHP 3.

Si las conexiones persistentes no aportan ninguna funcionalidad añadida, ¿para qué son buenas?

La respuesta aqui es extremadamente simple -- eficiencia. Las conexiones persistentes son buenas si las cabeceras de control para crear un enlace a tu servidor SQL es alta. Que estas cabeceras sean o no realmente altas depende de muchos factores. Como, qué clase de base de datos es, si esta o no situada en el mismo ordenador que el servidor web, cómo está de cargada la máquina donde se encuentre el servidor SQL, y otras así. El hecho fundamental es que si la cabecera de conexión es alta, las conexiones persistentes te ayudan considerablemente . Ellas hacen que el proceso hijo simplemente conecte solamente una vez durante todo su intervalo de vida, en vez de cada vez que procesa una pagina que requiere conectar al servidor SQL. Esto significa que por cada hijo que abrió una conexión persistente tendrá su propia conexión persistente al servidor. Por ejemplo, si tienes 20 procesos hijos distintos que corran un archivo de comandos que cree una conexión persistente a tu servidor SQL, tendrías 20 conexiones diferentes a ti servidor SQL, una por cada hijo.

No obstante, hay que tener en cuenta que esto puede tener desventajas si estais utilizando una base de datos con límites de conexión, por debajo del numero de procesos hijo con conexiones persistentes. Si tu base de datos tiene un límite de 16 conexiones simultaneas y en el curso de una sesión de servidor, 17 procesos hijo intentan conectarse, uno de ellos no podrá hacerlo. Si existen errores en los scripts, que no permitan terminar la conexion (p.ej.bucles infinitos), una base de datos con solo 16 conexiones puede ser rápidamente hundida. Comprobar la documentacion de vuestra base de datos para obtener información sobre que hacer con conexiones abandonadas ó libres.

Aviso

Un par de advertencias más a tener en cuenta cuando utiliceis conexiones persistentes. La primera, si utilizais bloqueos en una tabla desde una conexión persistente y por cualquier causa el script no puede desbloquear la tabla, todos los scripts posteriores que usen esta conexión, quedarán bloqueados indefinídamente y se requerirá que, ó bien el servidor httpd ó la base de datos sean arrancados de nuevo. La segunda, cuando utiliceis transacciones, un bloqueo por transacción será heredado por el próximo script usando la conexión, si la ejecución del primer script termina antes que el bloqueo. en ambos caso podeis utilizar register_shutdown_function() para registrar una funcion simple de limpieza que desbloquee las tablas ó deshaga la transacción. Lo mejor para evitar problemas es no usar conexiones persistentes en scripts que usen bloqueos de tablas ó transacciones (para todolo demás pueden ser usadas sin problemas)

Un resumen importante. Las conexiones persistentes fueron diseñadas para tener una equivalencia uno-a-uno con las conexiones normales. Eso significa que deberíais siempre ser capaz de reemplazar las conexiones persistentes por conexiones no persistentes y no cambiará el modo como se comporta el archivo de comandos. Puede cambiar la eficiencia del archivo de comandos (y probablemete lo hará), ¡pero no su comportamiento!

Ver tambien fbsql_pconnect(),
ibase_pconnect(),
ifx_pconnect(), imap_popen(),
ingres_pconnect(),
msql_pconnect(),
mssql_pconnect(),
mysql_pconnect(),
ociplogon(), odbc_pconnect(),
ora_plogon(), pfsockopen(),
pg_pconnect() y
sybase_pconnect().

Anterior | Inicio | Siguiente
Manejando conexiones | Subir | Modo Seguro (Safe Mode)


Modo Seguro (Safe Mode)

Manual de PHP
Anterior Siguiente

Capítulo 42. Modo Seguro (Safe Mode)

Tabla de contenidos
Funciones restringidas/inhabilitadas por Modo Seguro

El Modo Seguro de PHP es un intento para resolver el problema de la seguridad en un servidor compartido. Tratar de resolver este problema al nivel de PHP es arquitectónicamente incorrecto, pero ya que las alternativas en un servidor web y a niveles de sistemas operativos no son tan realistas, mucha gente, especialmente la de proveedores de Internet (ISP), usa el Modo Seguro por ahora.

Tabla 42-1. Las directivas de Configuración que controlan el Modo Seguro son:

Directiva | Valor por Omisión
safe_mode | Off
safe_mode_gid | 0
safe_mode_include_dir | ""
safe_mode_exec_dir | 1
open_basedir | ""
safe_mode_allowed_env_vars | PHP_
safe_mode_protected_env_vars | LD_LIBRARY_PATH
disable_functions | ""

Cuando safe_mode está en On, el PHP verifica si el dueño del script actual coincide con el dueño del fichero a ser operado por una función de fichero. Por ejemplo:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
Corriendo este script.php
<?php
 readfile('/etc/passwd');
?>
resulta in este error cuando Modo Seguro está habilitado:
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

Sin embargo, pueden haber ambientes donde una estricta verificación del UID no es apropiada, y una relajada verificación del GID es suficiente. Esto es soportado por medio del switch safe_mode_gid. Seteándolo a On hace la verificación relajada GID, seteándolo a Off (el valor por omisión) hace la verificación del UID.

Si en vez del safe_mode, Ud. setea un directorio open_basedir, entonces todas las operaciones de fichero estarán limitadas a los ficheros bajo ese directorio especificado. Por ejemplo (ejemplo de httpd.conf de Apache):

<Directory /docroot>
  php_admin_value open_basedir /docroot
</Directory>
Si Ud. corre el mismo script.php con este seteo open_basedir, entonces este es el resultado:
Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2

Ud. también puede inhabilitar funciones individuales. Note que la directiva disable_functions no puede ser usada fuera del fichero php.ini lo que significa que Ud. no puede inhabilitar funciones en los principios per-virtualhost o per-directory en su fichero httpd.conf. Si agregamos esto a nuestro fichero php.ini:

disable_functions readfile,system
Entonces obtenemos esta salida:
Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2

Funciones restringidas/inhabilitadas por Modo Seguro

Esta es una lista probablemente incompleta y posiblemente incorrecta de las funciones limitadas por safe mode.

Tabla 42-2. Funciones limitadas por Modo Seguro

Función | Limitaciones
dbmopen() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
dbase_open() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
filepro() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
filepro_rowcount() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
filepro_retrieve() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
ifx_*() | restricciones sql_safe_mode, (!= safe mode)
ingres_*() | restricciones sql_safe_mode, (!= safe mode)
mysql_*() | restricciones sql_safe_mode, (!= safe mode)
pg_loimport() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
posix_mkfifo() | Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado.
putenv() | Obecede las ini-directivas safe_mode_protected_env_vars y safe_mode_allowed_env_vars. Vea también la documentación de putenv()
move_uploaded_file() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
chdir() | Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado.
dl() | Esta función no está habilitada en safe-mode (modo-seguro)
backtick operator | Esta función no está habilitada en safe-mode (modo-seguro)
shell_exec() (equivalencia funcional de backticks) | Esta función no está habilitada en safe-mode (modo-seguro)
exec() | Ud. puede correr sólo ejecutables dentro delsafe_mode_exec_dir. Por razones prácticas, no está actualmente permitido tener componentes .. en la ruta del fichero ejecutable.
system() | Ud. puede correr sólo ejecutatables dentro delsafe_mode_exec_dir. Por razones prácticas, no está actualmente permitido tener componentes .. en la ruta del fichero ejecutable.
passthru() | Ud. puede correr sólo ejecutatables dentro delsafe_mode_exec_dir. Por razones prácticas, no está actualmente permitido tener componentes .. en la ruta del fichero ejecutable.
popen() | Ud. puede correr sólo ejecutatables dentro delsafe_mode_exec_dir. Por razones prácticas, no está actualmente permitido tener componentes .. en la ruta del fichero ejecutable.
mkdir() | Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado.
rmdir() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
rename() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado.
unlink() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado.
copy() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado. (en source y target)
chgrp() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
chown() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado.
chmod() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Además, Ud. no puede setear los bits de SUID, SGID y sticky
touch() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado.
symlink() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado. (Nota: sólo el target es comprobado)
link() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado. (Nota: sólo the target es comprobado)
getallheaders() | En Modo Seguro, las cabeceras que empiezan con 'authorization' (insensitivo al tipo de letra) no serán retornadas. Advertencia: esto está roto por la implementación de aol-server de getallheaders()!
header() | En Modo Seguro, el UID del script está agregado a la parte realm de la cabecera WWW-Authenticate si Ud. setea esta cabecera (usado por HTTP Authentication).
highlight_file(), show_source() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado. (Nota: sólo afectado desde PHP 4.2.1)
parse_ini_file() | Comprueba que los archivos/directorios que va a utilizar, tengan la misma UID que el script que está siendo ejecutado. Comprueba si el directorio que va a utilizar, tiene la misma UID que el script que está siendo ejecutado. (Nota: sólo afectado desde PHP 4.2.1)
Cualquier función que usa php4/main/fopen_wrappers.c | ??

Anterior | Inicio | Siguiente
Conexiones persistentes a bases de datos | Subir | Usando PHP desde la línea de comando


Usando PHP desde la línea de comando

Manual de PHP
Anterior Siguiente

Capítulo 43. Usando PHP desde la línea de comando

Desde la versión 4.3.0, PHP soporta un nuevo tipo de SAPI (Interfaz De Programación De Uso Del Servidor) llamada CLI que significa literalmente interfaz de línea de comando (Command Line Interface). Como el nombre implica, este tipo de SAPI se foca en la creación de aplicaciones que pueden correr desde la línea de comando (o desde el desktop también) con PHP. Hay algunas diferencias dentro del CLI SAPI y otros SAPI que son explicadas en este capítulo. Es importante mencionar que CLI y CGI son diferentes clases de SAPI y comparten algunas características.

La interfaz llamada CLI SAPI fue introducida con PHP 4.2.0, pero es todavía en estado experimental y tiene que ser activada explícitamente con --enable-cli cuando usando ./configure. Desde PHP 4.3.0 la interfaz CLI SAPI es activada automáticamente. Tu puedes usar --disable-cli para de-activarla.

Desde PHP 4.3.0, el nombre, locación, y existencia de los binarios CLI/CGI serán diferentes dependiendo en como Instales PHP en tu sistema. Cuando ejecutes make, CGI, y CLI son compilados automáticamente, y puestas como sapi/cgi/php y sapi/cli/php respectivamente, en el directorio "source" de PHP. Debes notar, que los dos son llamados php. Lo que ocurre durante el proceso make depende en tu línea de configuración (./configure). Si el modulo SAPI es seleccionado durante tu configuración, como por ejemplo apxs, o la opción --disable-cgi es usada, el CLI es copiado a {PREFIX}/bin/php durante la ejecución del comando make install de otras maneras el CGI es instalado aquí. Por ejemplo, si pones --with-apxs en tu configuración, entonces el CLI es copiado a {PREFIX}/bin/php durante make install. Si tu quieres sobrescribir la instalación del CGI binario, utiliza make install-cli después de usar make install. Alternativamente puedes especificar --disable-cgi en tu línea de configuración.

Nota: Por que ambos --enable-cli y --enable-cgi son activados automáticamente, simplemente teniendo --enable-cli en tu línea de configuración no necesariamente significa que CLI son copiados a {PREFIX}/bin/php durante make install.

Los archivos de PHP 4.2.0 y PHP 4.2.3 distribuían el CLI como php-cli.exe, y los mantenía en el mismo directorio que el CGI php.exe. Empezando con PHP 4.3.0 el archivo para windows distribuye el CLI como php.exe en un directorio llamado cli; o sea cli/php.exe.

Que versión de SAPI tengo?: Desde tu línea de comando, ejecutando php -v te dejara saber si php es CGI o CLI.

Diferencias remarcables del CLI SAPI comparadas con otros SAPIs: SAPIs:

  • En esta clase de CGI SAPI no hay cabeceras ("headers") escritas en el resultado ("output").

    Aunque el CGI SAPI provee una manera de suprimir HTTP cabeceras ("headers"), no existe una opción equivalente que los activa en el CLI SAPI.

    CLI automáticamente empieza en modo silencioso, la opción -q existe por compatibilidad con antiguos programas CGI.

    No cambia el directorio corriente, a ese en el cual el programa vive. La opción -C es mantenida por compatibilidad.

    Errores son reportados en texto, no en el formato HTML.

  • Hay ciertas directivas en el php.ini que son sobrescrita por el CLI SAPI por que estas no hacen mucho sentido en situaciones donde la línea de comando es usada:

    Tabla 43-1. Directivas sobrescrita en php.ini

    Directivas (directives) | CLI SAPI evaluó automático (default value) | Commentario (comment)
    html_errors | FALSE | Cuando los resultados incorrectos aparecen en tu línea de comando, puede ser difícil hacer sentido de ellos con todas esas HTML tags, por esta razón, esta directiva es automáticamente FALSE.
    implicit_flush | TRUE | Es deseoso que los resultados de print (imprimir)(), echo (ecco)() y otras relacionadas, sean inmediatamente escritas como resultados y no mantenidas en ningún buffer. Tu todavía puedes usar output buffering si tu quieres manipular los resultados proveidos automáticamente.
    max_execution_time | 0 (unlimited) | Debido un numero ilimitado de posibilidades de usar PHP en la línea de comando, el máximo tiempo de ejecución es ilimitado. Aunque aplicaciones escritas para el Internet, usualmente requieres una rápida ejecución, la clase de aplicación que es ejecutada desde la línea de comando, usualmente necesitan mas tiempo para ejecutar correctamente.
    register_argc_argv TRUE

    Por que estas opciones son TRUE tu siempre necesitaras acceso al argc (el numero de argumentos pasados a la aplicación) y argv (el array de argumentos) en el CLI SAPI.

    Desde la versión 4.3.0 de PHP, las variables $argc y $argv son registradas y llenadas con los resultados apropiados cuando usando CLI SAPI. Antes de esta versión, la creación de estas variables es similar a como en CGI y MODULE versiones que requiere la PHP directiva register_globals estar on (active). Sin importar la versión o la configuración de register_globals tu siempre puedes trabajar por medio de $_SERVER o $HTTP_SERVER_VARS. Por ejemplo: $_SERVER['argv']

    Nota: Estas instrucciones no pueden ser iniciadas con valores que son diferentes a los de la configuración en php.ini o el archivo correspondiente. Esta es una limitación dada por que esos valores automáticos, son aplicados después de que todos los archivos conteniendo parámetros de configuración an sido ejecutados; PERO, esto valores pueden ser cambiados mientras to programa esta ejecutando (esto no hace sentido para todas las directivas, como por ejemplo register_argc_argv).

  • Para facilitar trabajando en la línea de comando, las siguientes constantes son definidas:

    Tabla 43-2. constantes especificas de CLI

    Constant (constante) Description (descripción)
    STDIN Una stream abierta hacia stdin. Esto nos salva de abrirla con
    $stdin = fopen('php://stdin', 'r');
    STDOUT Una stream abierta hacia stdout. Esto nos salva de abrirla con
    $stdout = fopen('php://stdout', 'w');
    STDERR Una stream abierta hacia stderr. Esto nos salva de abrirla con
    $stderr = fopen('php://stderr', 'w');

    Dado lo anterior, tu no necesitas abrir, como por ejemplo, una stream hacia stderr manualmente, solamente necesitas usar la constante en vez de usar los recursos de la stream:

    php -r 'fwrite(STDERR, "stderr\n");'
    No necesitas cerrar estas stream explícitamente, desde que son cerradas automáticamente por PHP cuando tu programa termina.

  • El CLI SAPI no cambia el directorio en el cual to estas corrientemente, al directorio donde el programa ejecutado vive!

    Ejemplo mostrando la diferencia al CGI SAPI:

    <?php
            /* Nuestra aplicaci&oacute;n llamada.php*/
            echo getcwd(), "\n";
    ?>

    Cuando usas la versión CGI el resultado es:

    $ pwd
/tmp

$ php -q otro_directorio/test.php
/tmp/otro_directorio
    Esto claramente muestra que PHP cambia su directorio al usado por el programa que ejecutas.

    Usando el CLI SAPI resulta:

    $ pwd
/tmp

$ php -f otro_directorio/test.php
/tmp
    Esto no da mas flexibilidad cuando escribiendo utilidades en la línea de comando con PHP.

    Nota:

Puedes obtener acceso a la lista de opciones proveida por PHP ejecutando PHP con el -hswitch:

Usage: php [options] [-f] <file> [args...]
       php [options] -r <code> [args...]
       php [options] [-- args...]
  -s               Display colour syntax highlighted source.
  -w               Display source with stripped comments and whitespace.
  -f <file>        Parse <file>.
  -v               Version number
  -c <path>|<file> Look for php.ini file in this directory
  -a               Run interactively
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -z <file>        Load Zend extension <file>.
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -i               PHP information
  -r <code>        Run PHP <code> without using script tags <?..?>
  -h               This help

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin
Aunque los resultados anteriores siempre serán dados en ingles, a continuación te daré una lista que probablemente sera muy útil:
Usage: php [options] [-f] <file> [args...]
         php [options] -r <code> [args...]
         php [options] [-- args...]
    -s               Display colour syntax highlighted source.
                     (colorear el sintaxis en el c&oacute;digo)
    -w               Display source with stripped comments and whitespace.
                     (remueve los comentarios y espacios del c&oacute;digo)
    -f <file>        Parse <file>.
                     (analiza <file>)
    -v               Version number
                     (la versi&oacute;n de PHP que estas usando)
    -c <path>|<file> Look for php.ini file in this directory
                     (usa el php.ini archivo localizado aqu&iacute;)
    -a               Run interactively
                     (interactivo)
    -d foo[=bar]     Define INI entry foo with value 'bar'
                     (define foo con el valor 'bar' en php.ini)
    -e               Generate extended information for debugger/profiler
                     (genera mas informaci&oacute;n para el debugger/profiler)
    -z <file>        Load Zend extension <file>.
                     (inicia las exenciones Zend <archive>)
    -l               Syntax check only (lint)
                     (Mira al sintaxis (lint))
    -m               Show compiled in modules
                     (muestra los m&oacute;dulos compilados)
    -i               PHP information
                     (informaci&oacute;n PHP)
    -r <code>        Run PHP <code> without using script tags <?..?>
                     (ejecuta PHP <code> sin usar las tags <?..?> en el script
    -h               This help
                     (estas opciones)
    args...          Arguments passed to script. Use -- args when first argument
                     starts with - or script is read from stdin
                     (Argumentos pasados al programa. Usa -- args cuando el primer
                     argumento empieza con - o tu programa es le&iacute;do directamente desde stdin)

El CLI SAPI tiene tres diferentes maneras de obtener el código PHP que tu quieres ejecutar:

  1. Puedes decir a PHP que ejecute ciertos archivos.

    php my_script.php

php -f my_script.php
    En estos dos ejemplos (aunque utilices el switch -f o no) ejecutan el archivo my_script.php. Tu puedes escoger cualquier archivo para ejecutar - tus programas PHP no tienen que terminar con la exención .php y pueden tener cualquier otra exención tu desees.

  2. Pasa el código PHP para que sea ejecutado directamente en la línea de comando.

    php -r 'print_r(get_defined_constants());'
    Debes tener cuidado en reguardo a las substituciones variables en tu línea de comando y usando comillas(").

    Nota: Deves ponerle atención al ejemplo, y notaras que no tiene tags ni al principio ni al final, el comando -r simplemente no las usa. Usando las tags te dará un error cuando trates de ejecutar el programa.

  3. Provee el código PHP para ejecutar por medio de stdin

    Esto te da la habilidad de dinámicamente crear código PHP y mandarlo al programa, como por ejemplo a continuación:

    $ some_application | some_filter | php | sort -u >final_output.txt

Tu no puedes combinar ninguna de las tres formas de ejecutar el código.

Como cualquier aplicación ejecutada en la línea de comando, el PHP binario acepta un numero de argumentos y tu programa también puede recibir argumentos. El numero de argumentos que pueden ser pasados a tu programa no es limitado por PHP (la línea de comando tiene limitaciones en el numero de símbolos que pueden ser pasados; usualmente tu nunca alcanzarías este limite). Los argumentos pasados a tu programa, están disponibles en tu array global $argv. El índex cero ("0") siempre contiene el nombre de tu programa (que es - en caso de código que esta viniendo por medio del input estándar, o del switch en la línea de comando -r. La segunda variable global registrada es $argc y contiene el numero de elementos en el array $argv (no el numero de argumentos pasados as programa).

Mientras el argumento que tu quieres pasas a tu programa no comienza con -, no tienes que esperar por nada especial. Pero si el argumento empieza con -, te puede generar problemas, por que PHP pensara que tiene que procesarlo. Para prevenir esto, usa la lista separadora de argumentos: --. Después de que el separador a sido procesado, cada siguiente argumento es pasado sin tocar a tu programa.

# This will not execute the given code but will show the PHP usage
# Esto no ejecutara el c&oacute;digo pero PHP mostrara el uso
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to your script and prevent PHP from showing it's usage
# passaremos el argumento '-h' a tu programa y prevenira que PHP demuestre su uso
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Pero, existe otra manera de usar PHP en la línea de comando. Tu puedes escribir un programa donde la primera línea empieza con #!/usr/bin/php (donde /usr/bin/php es la locación de php). Después de esto, tu puedes usar PHP común y corriente. Una vez que tu le as dado permiso de ejecución a tu programa (por ejemplo +x test) tu programa puede ser ejecutado como si fuera digamos un programa en perl:

#!/usr/bin/php
<?php
    var_dump($argv);
?>
Asumiremos que el archivo es llamado test, y esta en el mismo directorio en el cual to estas, en ese caso, podemos hacer lo siguiente.
$ chmod 755 test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
Como puedes ver, en este caso no atención es dada a pasar los parámetros que comiensen con - en tu programa.

Tabla 43-3. Opciones en la línea de comando

Opciones | Descripcion
-s

colora el sintaxis de tu código

Esta opción usa un mecanismo interno para ejecutar el archivo, y produce una versión coloreada en HML y la escribe como output normal. Nota que todo lo que hace es generar un bloque de <code> [...] </code> HTML tags, no cabecera deHTML es creada.

Nota: Esta opción no trabaja en conjunto con -r.

-w

Te mostrara tu código sin comentarios ni espacios blancos.

Nota: Esta opción no trabaja en conjunto con -r.

-f

Ejecuta el archivo indicado en la opción -f. Esta opción es opcional y puede ser excluida. Solamente proveiendo el archivo que necesita ser ejecutado es suficiente.

-v

Escribe la version de PHP, PHP SAPI y Zend al output normal, por ejemplo:

$ php -v
PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies

-c

Con esta opción uno puede especificar el directorio donde encontraremos el php.ini archivo, o tu puedes especificar una versión única del mismo (la cual no tiene que ser llamada php.ini), por ejemplo:

$ php -c /costumatisado/directorio/ mi_programa.php

$ php -c /customatisado/directorio/customatisado-archivo.ini mi_programa.php

-a

Corre PHP interactivamente.

-d

Esta opción te hayudara a crear el valor de cualquier directiva de configuración permitidas en el php.ini archivo. El sintaxis es:

-d directiva__de_configuracion [=valor]

Ejemplos:

# Omitting the value part will set the given configuration directive to "1"
# Omitiendo la parte relacionada al valor, le asignara a la directiva de configuracion el valor # "1"
$ php -d max_execution_time -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Passing an empty value part will set the configuration directive to ""
# Pasando un valor vac&iacute;o, le asignara a la directiva de configuraci&oacute;n el valor ""
php -d max_execution_time= -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# The configuration directive will be set to anything passed after the '=' character
# la directiva de configuraci&oacute;n sera asignada a todo pasada el "=" simbolo
$  php -d max_execution_time=20 -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php -d max_execution_time=doesntmakesense -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e

Generando mas información para el debugger/profiler.

-z

Activa las extensiones Zend. Si solamente un archivo es dado, PHP tratará de activar estas extensiones directamente desde el directorio predeterminado donde esté la biblioteca en su sistema (Usualmente especificado /etc/ld.so.conf en Linux). Pasando el nombre del archivo con descripción absoluta de la ubicación de sus archivos, no usará las bibliotecas en su sistema. Un archivo conteniendo la información de estos directorios, le dira a PHP que solamente trate de activar las extensiones relativas al directorio donde te encuentras

-l

Esta opción proveerá una forma conveniente para marcar tu sintaxis en tu código. En caso de suceso, el texto "No sintax errors detected in <filename> (no errores de sintaxis fueron detectados) es escrito en tu output normal, y la línea de comando retornara el código 0. En caso de problemas, el texto Errors parsing <filename>, en adición al la forma interna de detectar errores, mensajes son escritos como output normal y tu línea de comando recibirá el código 255

Esta opción no encontrara errores fatales (como por ejemplo funciones indefinida), usa -f si tu quieres probar por esta clase de errores también.

Nota: Esta opción no trabaja en conjunción con -r

-m

Usando esta opción, PHP imprime sus módulos internos (y activados) usados por PHP y Zend:

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-i | Esta opción llama phpinfo, e imprime los resultado. Si PHP no esta trabajando correctamente, es recomendable que uses esta opción observes si algún mensaje es imprimido antes de, o en medio de la información dada por esta opción. Es un detalle importante que entiendas que el mensaje imprimido es en HTML y por esta razón grandecito.
-r

Esta opción te ayudara a ejecutar PHP directamente desde la línea de comando. Las etiquetas que determinas el principio y al final de tu programa (<?php y ?>) no son necesarias y causaran errores si las pones en tu código.

Nota: Debes tener cuidado cuando usando esta forma de PHP para que no crees conflicto con la substitución de variables usada por la línea de comando.

Ejemplos de errores

$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='
El problema aquí es que sh/bash esta haciendo una substitución de variables, aunque las comillas (") están presentes. Desde que la variable $foo probablemente no esta definida, esta no se inflara en ninguna dirección, el resultado es que el código pasado a PHP para que ejecute realmente lee:
$ php -r " = get_defined_constants();"
La forma correcta de hacer esto, seria usando solamente una comilla ('), variables usando solamente una comilla no son infladas por sh/bash.
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]
Si tu no estas usando sh/bash, también puedes encontrar otros problemas. Por favor reporta estos problemas mandando un e-mail a phpdocs@lists.php.net Tu también puedes tener problemas si tratas de poner variables en tu código o cuando usas "/" como símbolos de escape. Te hemos advertido

Nota: -r esta listo en CLI SAPI y no en el CGI SAPI.

-h | Con esta opción, tu puedes obtener información acerca de las opciones describías anteriormente, y una breve descripción acerca de sus funciones.

PHP puede ejecutar tus programas absolutamente independiente de tu servidor de páginas de web. Si tu usas Unix, tu puedes añadir una línea especial al principio de tu programa, y hacerlo ejecutable, para que el sistema sepa que programa debe ejecutar tu nueva creación. Si usas windows, tu puedes asociar tu programa con php.exe para que solamente tengas que ejecutarlo como harías con otros programas bajo windows, también puedes crear un "batch" archivo para ejecutar tu programa por medio de PHP. La primera línea que usaste para hacer que tu programa funcione en Unix, no le ara daño a tu programa cuando ejecutad bajo windows, pero de esta manera puedes crear programas que puedes ser usados bajo las dos plataformas. A continuación te daremos un ejemplo:

Ejemplo 43-1. Programa para correr en la línea do comando (script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

Este es un programa en php entendido para la l&iacute;nea de
comando con una opci&oacute;n.

  Usage:
  <?php echo $argv[0]; ?> <option>

  <option> puede ser cualquier palabra que tu quieras
  imprimir. Con la opci&oacute;n --help, -help -h or -?, tu puedes
  obtener esta informaci&oacute;n

<?php
} else {
    echo $argv[1];
}
?>

En el programa anterior, usamos una línea especial como nuestra primera línea, para indicar que archivo deber ser ejecutado por PHP. Nosotros trabajamos con una versión de CLI aquí, por eso, no tendremos cabeceras de HTTP imprimidas. Hay dos variables que puedes usar cuando escribiendo aplicaciones en la línea de comando en PHP: $argc y $argv. La primera es el numero de argumentos mas uso (el nombre del programa siendo ejecutado). La segunda es un array conteniendo los argumentos, empezando con el programa nombre, y el numero cero "0" ($argv[0]).

En el programa anterior chequeamos si habían mas, o menos de dos argumentos. También trata de ver si --help, -help, -h o -?, son llamados, e imprime el mensaje de ayuda.

Si tu quieres ejecutar el programa anterior en Unix, tu tienes que hacerlo ejecutable, y simplemente llamado script.php echo this o script.php -h. En windows, tu puedes hacer un batch archivo para alcanzar estos resultados:

Ejemplo 43-2. Archivo batch para ejecutar el programa php (script.bat)

@c:\php\cli\php.exe script.php %1 %2 %3 %4

Asumiendo que llamaste el programa descrito anteriormente script.php , Y que tienes tu CLI php.exe en c:\php\cli\php.ese este archivo batch, lo ejecutara para ti con las funciones añadidas: script.bat echo this o script.bat -h.

Mira también la documentación de Readline para mas funciones que puedes usar para incrementar tus opciones en este sujeto.

Anterior | Inicio | Siguiente
Modo Seguro (Safe Mode) | Subir | Referencia de funciones


Referencia de funciones

Manual de PHP
Anterior Siguiente

VI. Referencia de funciones

See also Apéndice I.

Tabla de contenidos
I. .NET Functions
II. Funciones específicas de Apache
III. Alternative PHP Cache
IV. Depurador Avanzado de PHP
V. Funciones de matrices
VI. Funciones Aspell [deprecated]
VII. Funciones matemáticas de precisión arbitraria BCMath
VIII. Compilador Bytecode de PHP
IX. Funciones de compresión Bzip2
X. Funciones de calendario
XI. Funciones del API de CCVS
XII. Funciones de Clases/Objetos
XIII. Classkit Functions
XIV. Funciones ClibPDF
XV. Funciones COM y .Net (Windows)
XVI. Funciones para Crackear
XVII. Funciones de Tipo de Caracter
XVIII. Funciones CURL (Client URL Library)
XIX. Funciones de pago electrónico
XX. Credit Mutuel CyberMUT functions
XXI. Cyrus IMAP administration Functions
XXII. Funciones de Fecha y Hora
XXIII. DB++ Functions
XXIV. Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)
XXV. Funciones para dBase
XXVI. Funciones DBM Functions [obsoletas]
XXVII. dbx Functions
XXVIII. Funciones de acceso directo a E/S
XXIX. Funciones de Directorio
XXX. DOM Functions
XXXI. Funciones DOM XML
XXXII. enchant Functions
XXXIII. Funciones de Gestión de Errores y Registros
XXXIV. Exif Functions
XXXV. Expect Functions
XXXVI. File Alteration Monitor Functions
XXXVII. Funciones del Formato de Datos de Formulario
XXXVIII. Fileinfo Functions
XXXIX. Funciones filePro
XL. Funciones del Sistema de Archivos
XLI. Filter Functions
XLII. Funciones InterBase
XLIII. Firebird/Interbase Functions (PDO_FIREBIRD)
XLIV. FriBiDi Functions
XLV. FrontBase Functions
XLVI. Funciones FTP
XLVII. Funciones de Gestión de Funciones
XLVIII. GeoIP Functions
XLIX. Gettext
L. Funciones GMP
LI. gnupg Functions
LII. Net_Gopher
LIII. hash Functions
LIV. HTTP
LV. Funciones para Hyperwave
LVI. Hyperwave API Functions
LVII. IBM Functions (PDO_IBM)
LVIII. IBM DB2, Cloudscape and Apache Derby Functions
LIX. Funciones ICAP [eliminadas]
LX. Funciones iconv
LXI. Funciones de tratamiento de etiquetas ID3
LXII. IIS Administration Functions
LXIII. Funciones para imágenes
LXIV. Image magick Functions
LXV. Funciones IMAP, POP3 y NNTP
LXVI. Funciones de Informix
LXVII. Informix Functions (PDO_INFORMIX)
LXVIII. Ingres II functions
LXIX. IRC Gateway Functions
LXX. Integración de Java y PHP
LXXI. JSON Functions
LXXII. KADM5
LXXIII. Funciones LDAP
LXXIV. libxml Functions
LXXV. Lotus Notes Functions
LXXVI. LZF Functions
LXXVII. Funciones de Correo
LXXVIII. Funciones Mailparse
LXXIX. Funciones matemáticas
LXXX. MaxDB PHP Extension
LXXXI. MCAL functions
LXXXII. Funciones de Cifrado Mcrypt
LXXXIII. MCVE (Monetra) Payment Functions
LXXXIV. Memcache Functions
LXXXV. Funciones Mhash
LXXXVI. Funciones Mimetype
LXXXVII. Ming functions for Flash
LXXXVIII. Funciones de Miscelánea
LXXXIX. mnoGoSearch Functions
XC. Funciones de Microsoft SQL Server
XCI. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
XCII. Mohawk Software Session Handler Functions
XCIII. Funciones mSQL
XCIV. Multibyte String Functions
XCV. muscat Functions
XCVI. Funciones MySQL
XCVII. MySQL Functions (PDO_MYSQL)
XCVIII. Extensión mejorada de MySQL
XCIX. Funciones de Control de Pantalla con Terminal Ncurses
C. Funciones de Red
CI. Newt Functions
CII. NSAPI-specific Functions
CIII. Object Aggregation/Composition Functions
CIV. Object property and method call overloading
CV. Funciones de Oracle
CVI. ODBC functions
CVII. ODBC and DB2 Functions (PDO_ODBC)
CVIII. oggvorbis
CIX. OpenAL Audio Bindings
CX. OpenSSL Functions
CXI. Funciones Oracle
CXII. Oracle Functions (PDO_OCI)
CXIII. Funciones de Control de Salida
CXIV. Ovrimos SQL functions
CXV. Paradox File Access
CXVI. Parsekit Functions
CXVII. Funciones de Control de Procesos
CXVIII. Funciones de Expresiones Regulares (Compatibles con Perl)
CXIX. Funciones PDF
CXX. PDO Functions
CXXI. Phar archive stream and classes
CXXII. Opciones e Información de PHP
CXXIII. Funciones POSIX
CXXIV. Funciones de Expresiones Regulares (POSIX Extendido)
CXXV. Funciones PostgreSQL
CXXVI. PostgreSQL Functions (PDO_PGSQL)
CXXVII. Printer Functions
CXXVIII. Funciones de Ejecución de Programas
CXXIX. PostScript document creation
CXXX. Pspell Functions
CXXXI. qtdom Functions
CXXXII. Radius
CXXXIII. Rar Functions
CXXXIV. GNU Readline
CXXXV. Funciones GNU Recode
CXXXVI. RPM Header Reading Functions
CXXXVII. runkit Functions
CXXXVIII. SAM - Simple Asynchronous Messaging
CXXXIX. Satellite CORBA client extension [deprecated]
CXL. SCA Functions
CXLI. SDO Functions
CXLII. SDO XML Data Access Service Functions
CXLIII. SDO Relational Data Access Service Functions
CXLIV. Funciones Semáforo y de memoria compartida
CXLV. SESAM database functions
CXLVI. PostgreSQL Session Save Handler
CXLVII. Funciones para el manejo de sesiones
CXLVIII. Funciones de Memoria Compartida
CXLIX. Funciones SimpleXML
CL. Funciones SNMP
CLI. Funciones SOAP
CLII. Funciones de Socket
CLIII. Funciones SPL (Standard PHP Library)
CLIV. Funciones SQLite
CLV. SQLite Functions (PDO_SQLITE)
CLVI. Secure Shell2 Functions
CLVII. Statistics Functions
CLVIII. Funciones de Secuencias
CLIX. Funciones de Cadenas
CLX. Shockwave Flash functions
CLXI. Swish Functions
CLXII. Funciones de Sybase
CLXIII. TCP Wrappers Functions
CLXIV. Tidy Functions
CLXV. Tokenizer Functions
CLXVI. Unicode Functions
CLXVII. Funciones de URL
CLXVIII. Funciones de Manejo de Variables
CLXIX. Verisign Payflow Pro functions
CLXX. vpopmail Functions
CLXXI. W32api Functions
CLXXII. Funciones WDDX
CLXXIII. win32ps Functions
CLXXIV. win32service Functions
CLXXV. Funciones xattr
CLXXVI. xdiff Functions
CLXXVII. Funciones de intérprete XML
CLXXVIII. XML-RPC Functions
CLXXIX. XMLReader functions
CLXXX. XMLWriter Functions
CLXXXI. XSL functions
CLXXXII. XSLT functions
CLXXXIII. YAZ
CLXXXIV. NIS funciona
CLXXXV. Funciones de manejo de archivos Zip (sólo lectura)
CLXXXVI. Funciones de Compresión Zlib

Anterior | Inicio | Siguiente
Usando PHP desde la línea de comando |  | .NET Functions


Funciones específicas de Apache

Manual de PHP
Anterior Siguiente

II. Funciones específicas de Apache

Introducción

Estas funciones están disponibles solamente cuando PHP se ejecuta como módulo de Apache 1.x.

Instalación

Información sobre la instalación de PHP con Apache se puede encontrar en el capítulo sobre instalación en la sección sobre Apache

Configuración en tiempo de ejecución

El comportamiento del módulo PHP de Apache está sujeto a los parámetros ajustados en php.ini. Los parámetros ajustados mediante php_flag en el archivo de configuración del servidor o archivos .htaccess locales, tendrán preferencia sobre aquellos ajustados en php.ini.

Ejemplo 1. Desactivar el intérprete PHP en un directorio utilizando .htaccess

php_flag engine off

Tabla 1. Opciones de configuración de Apache

Nombre | Por defecto | Modificable | Función
engine | On | PHP_INI_ALL | habilita o desactiva el intérprete PHP
child_terminate | Off | PHP_INI_ALL | especifica si los scripts PHP pueden requerir la terminación del proceso hijo al acabar un requerimiento. Véase también apache_child_terminate()
last_modified | Off | PHP_INI_ALL | enviar la fecha de modificación de los scripts PHP como la fecha de la última modifición en la cabecera del requerimiento actual
xbithack | Off | PHP_INI_ALL | interpretar los archivos cuyo bit ejecutable esté fijado a PHP, independientemente de su extensión

A continuación se presenta una corta explicación de las directivas de configuración.

engine boolean

Esta directiva realmente sólo es útil cuando PHP es un módulo de Apache. Se utiliza para sitios que quieran activar o desactivar el intérprete de PHP en función del directorio o del host-virtual. Añadiendo engine off en los lugares apropiados del archivo httpd.conf, PHP puede ser habilitado o desactivado.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
apache_child_terminate -- Terminar un proceso de apache una vez concluido el requerimiento en ejecució
apache_get_modules -- Obtiene una lista de los módulos cargados en el servidor Apache
apache_get_version -- Obtiene la versión del servidor Apache
apache_getenv -- Obtiene una variable del entorno subprocess_env de Apache
apache_lookup_uri -- Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella
apache_note -- Obtener y establecer las notas de petición de apache
apache_request_headers -- Obtener todas las cabeceras HTTP
apache_reset_timeout -- Restaurar el temporizador de Apache
apache_response_headers -- Obtener todas las cabeceras HTTP de respuesta
apache_setenv -- fijar una variable subprocess_env de Apache
ascii2ebcdic -- Traducir una cadena en ASCII a EBCDIC
ebcdic2ascii -- Traduce una cadena en EBCDIC a ASCII
getallheaders -- Recuperar todas las cabeceras de petición HTTP
virtual -- Realizar una sub-petición de Apache

Anterior | Inicio | Siguiente
dotnet_load | Subir | apache_child_terminate


apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5)

apache_child_terminate -- Terminar un proceso de apache una vez concluido el requerimiento en ejecució

Descripcíon

bool apache_child_terminate ( void )

apache_child_terminate() registrará el proceso Apache que esté ejecutando el requeriminto PHP actual para su terminacióon una vez que la ejecución del código haya finalizado. Puede ser utilizado para terminar un proceso una vez que un script con un alto consumo de memoria haya sido ejecutado, dado que la memoria únicamente sera liberada de forma interna, pero no será devuelta al sistema operativo.

Nota: La disponibilidad de esta característica se controla mediante la directiva child_terminate php.ini, que por defecto está establecida como off (desactivada).

Esta característica tampoco está disponible en las versiones "multi-thread" de Apache, como por ejemplo la versión win32.

Véase también la función exit().

Anterior | Inicio | Siguiente
Funciones específicas de Apache | Subir | apache_get_modules


apache_get_modules

(PHP 4 >= 4.3.2, PHP 5)

apache_get_modules -- Obtiene una lista de los módulos cargados en el servidor Apache

Descripción

array apache_get_modules ( void )

Obtiene la lista de los módulo cargados en el servidor Apache.

Valores retornados

Devuelve una variable de tipo array con la lista de módulos cargados.

Registro de cambios

Versión | Descripción
5.0.0 | Ahora es posible usar Apache 1 o la API de los filtros de Apache 2. Antes, solamente estaba disponible para la API de los manejadores de Apache 2.

Ejemplos

Ejemplo 1. Ejemplo de apache_get_modules()

<?php
print_r(apache_get_modules());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

Anterior | Inicio | Siguiente
apache_child_terminate | Subir | apache_get_version


apache_get_version

(PHP 4 >= 4.3.2, PHP 5)

apache_get_version -- Obtiene la versión del servidor Apache

Descripción

string apache_get_version ( void )

Obtiene la versión del servidor Apache

Valores retornados

Si tiene éxito, devuelve la versión del servidor Apache, si la función no tiene éxito devuelve FALSE.

Registro de cambios

Versión | Descripción
4.3.4 | Se añade soporte para Apache 1.
5.0.0 | Se añade soporte de la API de los filtros de Apache 2.

Ejemplos

Ejemplo 1. Ejemplo de apache_get_version()

<?php
$version = apache_get_version();
echo "$version\n";
?>

El resultado del ejemplo seria algo similar a:

Apache/1.3.29 (Unix) PHP/4.3.4

Ver también

phpinfo()

Anterior | Inicio | Siguiente
apache_get_modules | Subir | apache_getenv


apache_getenv

(PHP 4 >= 4.3.0, PHP 5)

apache_getenv -- Obtiene una variable del entorno subprocess_env de Apache

Descripción

string apache_getenv ( string variable [, bool obtener_la_superior] )

Obtiene una variable del entorno de Apache especificada en el parámetro variable.

La función requiere el uso de Apache 2, ya que de otra forma no está definida.

Lista de parámetros

variable

La variable del entorno de Apache

obtener_la_superior

Indica si se tiene que obtener la variable superior (de más alto nivel) disponible en todos los niveles de Apache.

Valores retornados

Si tiene éxito devuelve el valor de la variable del entorno de Apache, si falla devuelve FALSE.

Ejemplos

Ejemplo 1. Ejemplo de apache_getenv()

Ejemplo de como obtener el valor de la variable SERVER_ADDR. del entorno de ejecución de Apache.

<?php
$valor = apache_getenv("SERVER_ADDR");
echo $valor;
?>

El resultado del ejemplo seria algo similar a:

42.24.42.240

Ver también

apache_sentenv()
getenv()
Superglobals

Anterior | Inicio | Siguiente
apache_get_version | Subir | apache_lookup_uri


apache_lookup_uri

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

apache_lookup_uri -- Realiza una petición parcial por la URI especificada y devuelve toda la información sobre ella

Descripción

object apache_lookup_uri ( string nombre_archivo )

Esta función realiza una petición parcial por una URI. Tan solo llega a obtener toda la información importante sobre el recurso dado.

This function is only supported when PHP is installed as an Apache module.

Lista de parámetros

nombre_archivo

El nombre de archivo (URI) que está siendo solicitado.

Valores retornados

Un object de información URI relacionada. Las propiedades de este object son:

status
the_request
status_line
method
content_type
handler
uri
filename
path_info
args
boundary
no_cache
no_local_copy
allowed
send_bodyct
bytes_sent
byterange
clength
unparsed_uri
mtime
request_time

Ejemplos

Ejemplo 1. Ejemplo de apache_lookup_uri()

<?php
$info = apache_lookup_uri('index.php?var=valor');
print_r($info);

if (file_exists($info->filename)) {
    echo '¡el archivo existe!';
}
?>

El resultado del ejemplo seria algo similar a:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/archivo.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=valor
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=valor
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
¡el archivo existe!

Anterior | Inicio | Siguiente
apache_getenv | Subir | apache_note


apache_note

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

apache_note -- Obtener y establecer las notas de petición de apache

Descripción

string apache_note ( string nombre_nota [, string valor_nota] )

apache_note() es una función específica de Apache que obtiene y define valores en la tabla notes de una petición.

Lista de parámetros

nombre_nota

El nombre de la nota.

valor_nota

El valor de la nota.

Valores retornados

Si es llamada con un argumento, devuelve el valor actual de la nota nombre_nota. Si es llamada con dos argumentos, define el valor de la nota nombre_nota a valor_nota y devuelve el valor previo de la nota nombre_nota. Si la nota no puede ser recuperada, se devuelve FALSE.

Anterior | Inicio | Siguiente
apache_lookup_uri | Subir | apache_request_headers


apache_request_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_request_headers -- Obtener todas las cabeceras HTTP

Descripción

array apache_request_headers ( void )

apache_request_headers() devuelve una matriz asociativa de todas las cabeceras HTTP en la petición actual. Esta función está disponible únicamente cuando PHP se ejecuta como un módulo de Apache.

Ejemplo 1. Ejemplo de apache_request_headers()

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

Nota: Con anterioridad a PHP 4.3.0, apache_request_headers() se denominaba getallheaders(). A partir de PHP 4.3.0, getallheaders() es un alias para apache_request_headers().

Nota: También se puede obtener el valor de las variables CGI comunes a partir de las variables de entorno, lo cual funciona independientemente de que se esté utilizando PHP como un módulo de Apache. Utiliza phpinfo() para ver una lista de todas las variables de entorno disponibles.

Anterior | Inicio | Siguiente
apache_note | Subir | apache_reset_timeout


apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers -- Obtener todas las cabeceras HTTP de respuesta

Descripción

array apache_response_headers ( void )

Devuelve una matriz con todas las cabeceras de respuesta de Apache. Esta característica sólo está disponible a partir de PHP 4.3.0.

Véase también getallheaders() y headers_sent().

Anterior | Inicio | Siguiente
apache_reset_timeout | Subir | apache_setenv


apache_setenv

(PHP 4 >= 4.2.0, PHP 5)

apache_setenv -- fijar una variable subprocess_env de Apache

Description

int apache_setenv ( string variable, string value [, bool walk_to_top] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
apache_response_headers | Subir | ascii2ebcdic


ascii2ebcdic

(PHP 3 >= 3.0.17)

ascii2ebcdic -- Traducir una cadena en ASCII a EBCDIC

Descripción

int ascii2ebcdic ( string ascii_str )

ascii2ebcdic() es una función específica de Apache que únicamente está disponible en sistemas operativos basados en EBCDIC (OS/390, BS2000). Traduce la cadena ascii_str codificada en ASCII a su representació equivalente EBCDIC (a prueba de binario), y devuelve el resultado.

Véase también la función inversa ebcdic2ascii()

Anterior | Inicio | Siguiente
apache_setenv | Subir | ebcdic2ascii


ebcdic2ascii

(PHP 3 >= 3.0.17)

ebcdic2ascii -- Traduce una cadena en EBCDIC a ASCII

Descripción

int ebcdic2ascii ( string ebcdic_str )

ebcdic2ascii() es una función específica de Apache que únicamente está disponible en sistemas operativos basados en EBCDIC (OS/390, BS2000). Traduce la cadena ebcdic_str codificada en EBCDIC a su representació equivalente ASCII (a prueba de binario), y devuelve el resultado.

Véase también la función inversa ascii2ebcdic()

Anterior | Inicio | Siguiente
ascii2ebcdic | Subir | getallheaders


getallheaders

(PHP 3, PHP 4, PHP 5)

getallheaders -- Recuperar todas las cabeceras de petición HTTP

Descripción

array getallheaders ( void )

Recupera todas las cabeceras HTTP de la petición actual.

Esta función es un alias de apache_request_headers(). Por favor lea la documentación de apache_request_headers() para más información sobre cómo trabaja esta función.

This function is only supported when PHP is installed as an Apache module.

Valores retornados

Una matriz asociativa de todas las cabeceras HTTP en la petición actual, o FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
4.3.0 | Se convierte en un alias de apache_request_headers(). Básicamente, fue renombrada. Esto se debe a que esta función solo trabaja con Apache.

Notes

Nota: A partir de PHP 4.3.3 se puede usar tambien esta funcion con el modulo de servidor NSAPI de los servidores web, Netscape/iPlanet/SunONE.

Ver también

apache_response_headers()

Anterior | Inicio | Siguiente
ebcdic2ascii | Subir | virtual


virtual

(PHP 3, PHP 4, PHP 5)

virtual -- Realizar una sub-petición de Apache

Descripción

bool virtual ( string nombre_archivo )

virtual() es una función específica de Apache que es similar a <!--#include virtual...--> en mod_include. Realiza una sub-petición de Apache. Es útil para incluir scripts CGI o archivos .shtml, o cualquier otra cosa que quisiera procesar a través de Apache. Note que para un script CGI, el script debe generar cabeceras CGI válidas. Esto quiere decir que, por lo menos, debe generar una cabecera Content-type.

Para ejecutar la sub-petición, todos los búferes son terminados y volcados al navegador, y las cabeceras pendientes son enviadas también.

This function is only supported when PHP is installed as an Apache module.

Lista de parámetros

nombre_archivo

El archivo sobre el que se efectuará el comando virtual.

Valores retornados

Ejecuta el comando virtual en caso de éxito, o devuelvo FALSE si ocurre un error.

Registro de cambios

Versión | Descripción
4.0.6 | Esta función puede ser usada sobre archivos PHP. Sin embargo, usualmente es mejor usar include() o require() para archivos PHP.

Notes

Aviso

La cadena de petición puede ser pasada al archivo incluido pero la variable $_GET es copiada desde el script padre, y solo $_SERVER['QUERY_STRING'] se llena con la cadena de query pasada. Puede que la cadena query sólo pueda ser pasada cuando se usa Apache 2. El archivo solicitado no será listado en el archivo de registro (log) access de Apache.

Nota: Las variables de entorno definidas en el archivo solicitado no están disponibles desde el script que hace el llamado.

Nota: A partir de PHP 4.3.3 se puede usar tambien esta funcion con el modulo de servidor NSAPI de los servidores web, Netscape/iPlanet/SunONE.

Anterior | Inicio | Siguiente
getallheaders | Subir | Alternative PHP Cache


Depurador Avanzado de PHP

Manual de PHP
Anterior Siguiente

IV. Depurador Avanzado de PHP

Introducción

APD (por sus siglas en inglés) es el Depurador Avanzado de PHP. Fue escrito para proporcionar la capacidad de analizar y depurar el código PHP, así como también proporcionar la capacidad de imprimir una completa descripción acerca de errores en las aplicaciones. APD soporta la depuración interactiva, pero por omisión escribe información para localizar archivos. Además ofrece registros basados en eventos de tal manera que los diversos niveles de información (incluyendo llamados a funciones, argumentos pasados, intérvalos de tiempo entre cambios en un documento, etc.) puedan ser activados o desactivados por scripts individuales.

Atención

APD es una extensión Zend, modifica la manera interna en la que PHP maneja los llamados a funciones, y en este sentido pudiera o no pudiera ser compatible con otras extensiones Zend (por ejemplo Zend Optimizer).

Instalación

APD se encuentra actualmente disponible como una extensión PECL en http://pecl.php.net/package/apd. Asegúrese de tener instalada la versión CGI de PHP y de que esté disponible en su ruta actual acompañado con el script phpize.

Ejecute el siguiente comando para descargar, estructurar e instalar la última versión estable de APD:

pear install apd

Ésto instala automáticamente el módulo APD Zend en su directorio de extensiones de PHP. No es obligatorio mantenerlo allí; es posible almacenar el módulo en cualquier directorio que PHP pueda leer mientras establezca adecuadamente el parámetro zend_extension.

Los usuarios de Windows pueden descargar la extensión dll php_apd.dll desde http://snaps.php.net/win32/PECL_STABLE/.

En su archivo INI, agregue las siguientes líneas:

zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0

Dependiendo de su instalación de PHP, la directiva zend_extension puede ser una de las siguientes:

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Instalar en Win32

Para instalar APD bajo Windows necesita un entorno de compilación PHP en funcionamiento como se describe en http://php.net -- básicamente, se requiere tener Microsoft Visual C++, win32build.zip, bison/flex, y saber cómo usarlo. Además asegúrese de que adp.dsp tenga terminaciones de líneas en modo DOS; si tiene terminaciones de líneas en modo UNIX, Microsoft Visual C++ se quejará al respecto.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de APD

Nombre | Valor predeterminado | Cambiable | Registro de cambio
apd.dumpdir | NULL | PHP_INI_ALL |
ini.apd.statement-tracing | "0" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

apd.dumpdir string

Establece el directorio en el cual APD escribe la salida del análisis de los archivos. Puede especificar una ruta absoluta o relativa.

Puede especificar un directorio diferente como un argumento a apd_set_pprof_trace().

apd.statement_tracing boolean

Especifica si se hacen o no análisis por línea. Activándolo (1) impactará en el desempeño de su aplicación.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Cómo usar PHP-APD en sus scripts

  1. En la primera línea de su script PHP, ejecute la función apd_set_pprof_trace() para iniciar el análisis:

    apd_set_pprof_trace();

    Puede insertar la línea en cualquier parte de su script, pero si no inicia el análisis al comienzo de su script descarta el examen de información que de otra manera pudiera llevarlo a un atascamiento en el desempeño.

  2. Ahora ejecute su script. La salida será escrita en apd.dumpdir/pprof_pid.ext.

    Sugerencia: Si está ejecutando la versión CGI de PHP, necesitará agregar la opción '-e' para habilitar una ampliación de la información con la finalidad de que apd funcione apropiadamente. Por ejemplo: php -e -f script.php

  3. Para mostrar la información analizada con formato, emita el comando pprofp con las opciones de ordenamiento y visualización de su preferencia. La salida con formato será algo como:

    bash-2.05b$ pprofp -R /tmp/pprof.22141.0

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    La opción -R usada en este ejemplo ordena la tabla analizada por la cantidad de tiempo real que el script tardó ejecutando una función dada. La columna "cumm call" revela cuántas veces fue llamada cada función, y la columna "s/call" revela cuántos segundos fueron necesarios para cada función, en promedio.

  4. Para generar una estructura de llamados a un archivo que pueda importar a la aplicación de análisis KCacheGrind, emita el comando pprof2calltree.

Información de contacto

Si tiene comentarios, soluciones a fallos, mejoras o quiere ayudar a desarrollar esta bestia, puede enviar un correo a apd@mail.communityconnect.com. Cualquier ayuda es bien recibida.

Tabla de contenidos
apd_breakpoint -- Detiene el intérprete y espera un retorno de carro desde el socket
apd_callstack -- Devuelve la pila actual de llamados como una matriz
apd_clunk -- Lanza una advertencia y una pila de llamadas
apd_continue -- Reinicia el intérprete
apd_croak -- Lanza un error, una pila de llamadas y detiene la ejecución
apd_dump_function_table -- Imprime la tabla actual de funciones
apd_dump_persistent_resources -- Devuelve todos los recursos persistentes como una matriz
apd_dump_regular_resources -- Devuelve todos los recursos regulares actuales como una matriz
apd_echo -- Imprime hacia el socket de depuración
apd_get_active_symbols -- Obtiene una matriz de los nombres de las variables actuales en el ámbito local
apd_set_pprof_trace -- Inicia la depuración de la sesión
apd_set_session_trace -- Inicia la depuración de la sesión
apd_set_session -- Cambia o establece el nivel de depuración actual
apd_set_socket_session_trace -- Inicia la depuración remota de la sesión
override_function -- Sobreescribe funciones incorporadas
rename_function -- Renombra nombre_original a nombre_nuevo en el símbolo function_table global

Anterior | Inicio | Siguiente
apc_store | Subir | apd_breakpoint


apd_breakpoint

(PECL)

apd_breakpoint -- Detiene el intérprete y espera un retorno de carro desde el socket

Descripción

bool apd_breakpoint ( int nivel_depuracion )

Esta función puede ser usada para detener la ejecución de su script y esperar respuestas del socket conectado. Para iniciar el programa, sólo presione la tecla enter (una línea en blanco), o introduzca un comando php para ser ejecutado. Una sesión típica usando tcplisten luciría como esto.

bash#tcplisten localhost 7777

APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
(  0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
(  0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned.  Elapsed (0.074824)
(  0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
              ++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned.  Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC:  apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);

Anterior | Inicio | Siguiente
Depurador Avanzado de PHP | Subir | apd_callstack


apd_callstack

(no version information, might be only in CVS)

apd_callstack -- Devuelve la pila actual de llamados como una matriz

Descripción

array apd_callstack ( void )

Devuelve la pila actual de llamados como una matriz.

Ejemplo 1. apd_callstack()

<?php
print_r(apd_callstack());
?>

Anterior | Inicio | Siguiente
apd_breakpoint | Subir | apd_clunk


apd_clunk

(no version information, might be only in CVS)

apd_clunk -- Lanza una advertencia y una pila de llamadas

Descripción

void apd_clunk ( string warning [, string delimiter] )

Se comporta como el módulo Carp::cluck de perl. Lanza una advertencia y una pila de llamadas. El delimitador de línea predeterminado es "<BR />\n".

Ejemplo 1. apd_clunk()

<?php
apd_clunk("Alguna Advertencia","<P>");
?>

Anterior | Inicio | Siguiente
apd_callstack | Subir | apd_continue


apd_continue

(PECL)

apd_continue -- Reinicia el intérprete

Descripción

bool apd_continue ( int nivel_depuracion )

Usualmente enviado mediante el socket para reiniciar el intérprete.

Ejemplo 1. apd_continue()

<?php
apd_continue(0);
?>

Anterior | Inicio | Siguiente
apd_clunk | Subir | apd_croak


apd_croak

(no version information, might be only in CVS)

apd_croak -- Lanza un error, una pila de llamadas y detiene la ejecución

Descripción

void apd_croak ( string advertencia [, string delimitador] )

Se comporta como el módulo Carp::croak de perl. Lanza un error, una pila de llamadas y luego detiene la ejecución. El delimitador de línea predeterminado es "<BR />\n".

Ejemplo 1. apd_croak()

<?php
apd_croak("Alguna Advertencia","<P>");
?>

Anterior | Inicio | Siguiente
apd_continue | Subir | apd_dump_function_table


apd_dump_function_table

(no version information, might be only in CVS)

apd_dump_function_table -- Imprime la tabla actual de funciones

Descripción

void apd_dump_function_table ( void )

Imprime la tabla actual de funciones.

Ejemplo 1. Ejemplo de apd_dump_function_table()

<?php
apd_dump_function_table();
?>

Anterior | Inicio | Siguiente
apd_croak | Subir | apd_dump_persistent_resources


apd_dump_persistent_resources

(no version information, might be only in CVS)

apd_dump_persistent_resources -- Devuelve todos los recursos persistentes como una matriz

Descripción

array apd_dump_persistent_resources ( void )

Devuelve todos los recursos persistentes como una matriz.

Ejemplo 1. Ejemplo de apd_dump_persistent_resources()

<?php
print_r(apd_dump_persistent_resources());
?>

Anterior | Inicio | Siguiente
apd_dump_function_table | Subir | apd_dump_regular_resources


apd_dump_regular_resources

(no version information, might be only in CVS)

apd_dump_regular_resources -- Devuelve todos los recursos regulares actuales como una matriz

Descripción

array apd_dump_regular_resources ( void )

Devuelve todos los recursos regulares actuales como una matriz.

Ejemplo 1. Ejemplo de apd_dump_regular_resources()

<?php
print_r(apd_dump_regular_resources());
?>

Anterior | Inicio | Siguiente
apd_dump_persistent_resources | Subir | apd_echo


apd_echo

(PECL)

apd_echo -- Imprime hacia el socket de depuración

Descripción

bool apd_echo ( string salida )

Usualmente enviado por medio del socket para solicitar información acerca del script en ejecución.

Ejemplo 1. Ejemplo de apd_echo()

<?php
apd_echo($i);
?>

Anterior | Inicio | Siguiente
apd_dump_regular_resources | Subir | apd_get_active_symbols


apd_get_active_symbols

(no version information, might be only in CVS)

apd_get_active_symbols -- Obtiene una matriz de los nombres de las variables actuales en el ámbito local

Descripción

array apd_get_active_symbols ( )

Devuelve los nombres de todas las variables definidas en el ámbito activo (no sus valores).

Ejemplo 1. Ejemplo de apd_get_active_symbols()

<?php
apd_echo(apd_get_active_symbols());
?>

Anterior | Inicio | Siguiente
apd_echo | Subir | apd_set_pprof_trace


apd_set_pprof_trace

(PECL)

apd_set_pprof_trace -- Inicia la depuración de la sesión

Descripción

void apd_set_pprof_trace ( [string directorio_de_volcado] )

Comienza a depurar a {directorio_de_volcado}/pprof_{id_proceso}, si directorio_de_volcado no está definido, el parámetro apd.dumpdir del archivo php.ini es usado.

Ejemplo 1. Ejemplo de apd_set_pprof_trace()

<?php
apd_set_pprof_trace();
?>

Anterior | Inicio | Siguiente
apd_get_active_symbols | Subir | apd_set_session_trace


apd_set_session_trace

(no version information, might be only in CVS)

apd_set_session_trace -- Inicia la depuración de la sesión

Descripción

void apd_set_session_trace ( int nivel_depuracion [, string directorio_de_volcado] )

Comienza a depurar a {directorio_de_volcado}/apd_dump_{id_proceso}, si directorio_de_volcado no está definido, el parámetro apd.dumpdir del archivo php.ini es usado.

nivel_depuracion es un número entero que es formado sumando los siguientes valores:

FUNCTION_TRACE      1
        ARGS_TRACE          2
        ASSIGNMENT_TRACE    4
        STATEMENT_TRACE     8
        MEMORY_TRACE        16
        TIMING_TRACE        32
        SUMMARY_TRACE       64

Sinceramente, no es muy recomendable usar MEMORY_TRACE. Es muy lento y no parece ser exacto (grandioso, ¿no?), además ASSIGNMENT_TRACE no está implementado. Entonces, para activar todos los rastreos funcionales (TIMING, FUNCTIONS, ARGS, SUMMARY (como strace -c)) use el valor 99.

Ejemplo 1. Ejemplo de apd_set_session_trace()

<?php
apd_set_session_trace(99);
?>

Anterior | Inicio | Siguiente
apd_set_pprof_trace | Subir | apd_set_session


apd_set_session

(no version information, might be only in CVS)

apd_set_session -- Cambia o establece el nivel de depuración actual

Descripción

void apd_set_session ( int nivel_depuracion )

Puede ser usado para incrementar o decrementar la depuración en un área diferente de su aplicación. nivel_depuracion es un número entero que es formado por la suma de los siguientes valores:

FUNCTION_TRACE      1
        ARGS_TRACE          2
        ASSIGNMENT_TRACE    4
        STATEMENT_TRACE     8
        MEMORY_TRACE        16
        TIMING_TRACE        32
        SUMMARY_TRACE       64

Ejemplo 1. Ejemplo de apd_set_session()

<?php
apd_set_session(9);
?>

Anterior | Inicio | Siguiente
apd_set_session_trace | Subir | apd_set_socket_session_trace


apd_set_socket_session_trace

(no version information, might be only in CVS)

apd_set_socket_session_trace -- Inicia la depuración remota de la sesión

Descripción

bool apd_set_socket_session_trace ( string direccion_ip_o_archivo_socket_unix, int tipo_socket, int puerto, int nivel_depuracion )

Se conecta al servidor tcp (p. ej. tcplisten) con la IP o socket de Dominio Unix (como un archivo) especificado, y envía la información de depuración al socket. Puede usar cualquier puerto, pero números altos son mejores puesto que la mayoría de los números bajos pueden ser usados por otros servicios del sistema.

El tipo_socket puede ser APD_AF_UNIX (para sockets basados en archivos) o APD_AF_INET (para tcp/ip estándar)

nivel_depuracion es un número entero el cual es formado sumando los siguientes valores:

FUNCTION_TRACE      1
        ARGS_TRACE          2
        ASSIGNMENT_TRACE    4
        STATEMENT_TRACE     8
        MEMORY_TRACE        16
        TIMING_TRACE        32
        SUMMARY_TRACE       64

Sinceramente, no es recomendable establecer el valor a 'cero' para comenzar, y usar los métodos de detener la ejecución para iniciar la depuración en un lugar específico en el archivo.

Ejemplo 1. Ejemplo de apd_set_socket_session_trace()

<?php
  apd_set_socket_session_trace("127.0.0.1",APD_AF_INET,7112,0);
?>

Anterior | Inicio | Siguiente
apd_set_session | Subir | override_function


override_function

(PECL)

override_function -- Sobreescribe funciones incorporadas

Descripción

bool override_function ( string nombre_funcion, string argumentos_funcion, string codigo_funcion )

Sintaxis similar a create_function(). Sobreescribe funciones incorporadas (las reemplaza en la tabla de símbolos).

Ejemplo 1. Ejemplo de override_function()

<?php
override_function('test', '$a,$b', 'echo "PROBANDO"; return $a * $b;');
?>

Anterior | Inicio | Siguiente
apd_set_socket_session_trace | Subir | rename_function


rename_function

(PECL)

rename_function -- Renombra nombre_original a nombre_nuevo en el símbolo function_table global

Descripción

bool rename_function ( string nombre_originial, string nombre_nuevo )

Cambia el nombre de nombre_original a nombre_nuevo en el símbolo function_table global. Útil para sobreescribir temporalmente las funciones incorporadas.

Ejemplo 1. Ejemplo de rename_function()

<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>

Anterior | Inicio | Siguiente
override_function | Subir | Funciones de matrices


Funciones de matrices

Manual de PHP
Anterior Siguiente

V. Funciones de matrices

Introducción

Estas funciones permiten trabajar y manipular matrices (arrays) de diferentes maneras. Las matrices se utilizan para guardar, manejar y operar grupos de variables.

Matrices simples y multi-dimensionales están soportadas y pueden ser creadas por el usuario u otras funciones. Existen funciones específicas de manejo de bases de datos que actualizan matrices con el resultado devuelto por la base de datos, numerosas otras funciones devuelven matrices como resultado.

Consultar la sección del manual Matrices si quereis una explicación detallada de como las matrices están implementadas en PHP.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Las constantes listadas aqui están siempre disponibles a través del "núcleo PHP".

CASE_LOWER (integer)

CASE_LOWER se utiliza con array_change_key_case() y se utiliza para convertir las claves de una matriz a minúsculas. Este es el valor por defecto de array_change_key_case().

CASE_UPPER (integer)

CASE_UPPER se utiliza con array_change_key_case() para convertir claves de matriz a mayúsculas.

Flags de ordenación:

SORT_ASC (integer)

SORT_ASC se utiliza con array_multisort() para ordenar en sentido ascendente.

SORT_DESC (integer)

SORT_DESC se utiliza con array_multisort() para ordenar en sentido descendente.

Flags de tipo ordenación: utilizadas por varias funciones ordenación

SORT_REGULAR (integer)

SORT_REGULAR se utiliza para comparar elementos de forma normal.

SORT_NUMERIC (integer)

SORT_NUMERIC se utiliza para comparar elementos de forma numérica.

SORT_STRING (integer)

SORT_STRING se utiliza para comparar elementos como cadenas.

COUNT_NORMAL (integer)

COUNT_RECURSIVE (integer)

EXTR_OVERWRITE (integer)

EXTR_SKIP (integer)

EXTR_PREFIX_SAME (integer)

EXTR_PREFIX_ALL (integer)

EXTR_PREFIX_INVALID (integer)

EXTR_PREFIX_IF_EXISTS (integer)

EXTR_IF_EXISTS (integer)

EXTR_REFS (integer)

Ver también

Ver tambien is_array(),
explode(), implode(),
split(), preg_split() y
unset().

Tabla de contenidos
array_change_key_case -- Devuelve una matriz con todas las claves de las cadenas convertidas a mayúsculas o minúsculas
array_chunk -- Divide una matriz en segmentos
array_combine -- Crea una nueva matriz, usando una matriz para las claves y otra para sus valores
array_count_values -- Cuenta todos los valores de una matriz
array_diff_assoc -- Comprueba las diferencias entre matrices teniendo en cuenta los índices
array_diff_key -- Calcula la diferencia de matrices usando las llaves para la comparación
array_diff_uassoc -- Computa la diferencia entre matrices con un chequeo adicional de índices, el cual es realizado por una llamada de retorno entregada por el usuario
array_diff_ukey -- Calcula la diferencia de matrices usando callback function on the keys for comparison
array_diff -- Comprueba las diferencias entre matrices
array_fill_keys -- Fill an array with values, specifying keys
array_fill -- Llena una matriz con valores
array_filter -- Filtra elementos de una matriz mediante una función "callback"
array_flip -- Intercambia los valores de una matriz con sus índices
array_intersect_assoc -- Calcula la intersección de matrices verificando que también coincidan los índices
array_intersect_key -- Calcula la intersección de matrices usando las llaves para la comparación
array_intersect_uassoc -- Calcula la intersección de matrices con chequeo de índices adicional por una función de usuario
array_intersect_ukey -- Calcula la intersecció de matrices usando una función de usuario para la comparación de los índices
array_intersect -- Calcula la intersección de matrices
array_key_exists -- Comprueba si el índice o clave dada existe en la matriz
array_keys -- Devuelve todas las claves de una matriz
array_map -- Aplica la llamada de retorno especificada a los elementos de las matrices dadas
array_merge_recursive -- Une dos o más matrices recursivamente
array_merge -- Combina dos o más matrices
array_multisort -- Ordena múltiples matrices, o matrices multi-dimensionales
array_pad -- Rellena una matriz con un valor hasta el tamaño especificado
array_pop -- Extrae el último elemento de la matriz
array_product -- Calcula el producto de valores en una matriz
array_push -- Inserta uno o más elementos al final de la matriz
array_rand -- Selecciona una o más entradas aleatorias de una matriz
array_reduce -- Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
array_reverse -- Devuelve una matriz con los elementos en orden inverso
array_search -- Busca un valor determinado en una matriz y devuelve la clave correspondiente en caso de éxito
array_shift -- Extrae un elemento del comienzo de la matriz
array_slice -- Extrae una porción de la matriz
array_splice -- Suprime una porción de la matriz y la sustituye por otra cosa
array_sum -- Calcula la suma de los valores en una matriz
array_udiff_assoc -- Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos con una llamada de retorno
array_udiff_uassoc -- Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos y los índices con una llamada de retorno
array_udiff -- Computa la diferencia entre matrices, usando una llamada de retorno para la comparación de datos
array_uintersect_assoc -- Calcula la intersección de matrices con chequeo adicional de ídices, comparando los datos por una función del usuario
array_uintersect_uassoc -- Calcula la intersección de matrices con chequeo adicional de índices, compara los datos y los índices por una función del usuario
array_uintersect -- Calcula la interseccón de matrices, compara los datos con una función del usuario
array_unique -- Remueve valores duplicados de una matriz
array_unshift -- Introduce uno o más elementos al principio de la matriz
array_values -- Devuelve todos los valores de una matriz
array_walk_recursive -- Aplicar una función de usuario recursivamente a cada miembro de una matriz
array_walk -- Aplica una función del usuario a cada elemento de una matriz.
array -- Crear una matriz
arsort -- Ordena una matriz en orden inverso y mantiene la asociación de índices
asort -- Ordena una matriz y mantiene la asociación de índices
compact -- Crea una matriz que contiene variables y sus valores
count -- Cuenta los elementos de una matriz o propiedades de un objeto
current -- Devuelve el elemento actual de una matriz
each -- Devuelve el siguiente par clave/valor de una matriz y avanza el apuntador
end -- Mueve el puntero interno de una tabla al último elemento
extract -- Importa variables a la tabla de símbolos desde una matriz
in_array -- Revisa si un valor existe en una matriz
key -- Obtiene una clave de una matriz asociativa
krsort -- Ordena una matriz por clave en orden inverso
ksort -- Ordena una matriz por clave
list -- Asigna variables como si fueran una matriz
natcasesort -- Ordena una matriz usando un algoritmo de "orden natural" sin distinguir mayúsculas de minúsculas
natsort -- Ordena una matriz usando un algoritmo de "orden natural"
next -- Avanza el puntero interno de una matriz
pos -- Alias de current()
prev -- Rebobina el puntero interno de una matriz
range -- Crea una matriz que contiene un rango de elementos
reset -- Fija el puntero interno de una matriz a su primer elemento
rsort -- Ordena una matriz en orden inverso
shuffle -- Mezcla una matriz
sizeof -- Alias of count()
sort -- Ordena una matriz
uasort -- Ordena una matriz mediante una función de comparación definida por el usuario y mantiene la asociación de índices
uksort -- Ordena una matriz por claves mediante una función definida por el usuario
usort -- Ordena una matriz por sus valores usando una función de comparación definida por el usuario

Anterior | Inicio | Siguiente
rename_function | Subir | array_change_key_case


array_change_key_case

(PHP 4 >= 4.2.0, PHP 5)

array_change_key_case -- Devuelve una matriz con todas las claves de las cadenas convertidas a mayúsculas o minúsculas

Descripción

array array_change_key_case ( array input [, int case] )

array_change_key_case() cambia las claves de la matriz input de forma que éstas sean todas mayúsculas o minúsculas. El cambio depende del parámetro opcional case, mediante el cual se pueden pasar dos constantes a la función: CASE_UPPER (mayúsculas) y CASE_LOWER (minúsculas). El valor por defecto es CASE_LOWER. La función no afectará a los índices numéricos.

Ejemplo 1. Ejemplo de array_change_key_case()

$input_array = array("PriMero" => 1, "SeGunDo" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));

La salida del programa anterior será:

Array
(
    [PRIMERO] => 1
    [SEGUNDO] => 4
)

Anterior | Inicio | Siguiente
Funciones de matrices | Subir | array_chunk


array_chunk

(PHP 4 >= 4.2.0, PHP 5)

array_chunk -- Divide una matriz en segmentos

Descripción

array array_chunk ( array input, int size [, bool preserve_keys] )

array_chunk() divide una matriz en varias matrices, cada una con un número de valores equivalente a size. La última matriz generada puede tener un número menor de valores. Las matrices se obtienen como miembros de una matriz multidimensional, que será indexada con números empezando por el cero.

Si al parámetro opcional preserve_keys se le da el valor de TRUE, se fuerza a PHP a preservar las claves originales de la matriz de entrada. Si se especifica FALSE, se utilizarán nuevos índices numéricos en cada matriz resultante. El valor por defecto es FALSE.

Ejemplo 1. Ejemplo de array_chunk()

$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, TRUE));

La salida del anterior programa será:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

Anterior | Inicio | Siguiente
array_change_key_case | Subir | array_combine


array_combine

(PHP 5)

array_combine -- Crea una nueva matriz, usando una matriz para las claves y otra para sus valores

Descripción

array array_combine ( array claves, array valores )

Devuelve un array usando los valores de la matriz claves como claves, y los valores de la matriz valores como los valores correspondientes.

Devuelve FALSE si el número de elementos de cada matriz no es equivalente o si las matrices están vacías.

Ejemplo 1. Un ejemplo simple de array_combine()

<?php
$a = array('verde', 'rojo', 'amarillo');
$b = array('aguacate', 'manzana', 'banano');
$c = array_combine($a, $b);

print_r($c);
?>

El resultado del ejemplo seria:

Array
(
    [verde]    => aguacate
    [rojo]     => manzana
    [amarillo] => banano
)

Vea también array_merge(), array_walk(), y array_values().

Anterior | Inicio | Siguiente
array_chunk | Subir | array_count_values


array_count_values

(PHP 4, PHP 5)

array_count_values -- Cuenta todos los valores de una matriz

Descripción

array array_count_values ( array entrada )

array_count_values() devuelve una matriz usando los valores de la matriz entrada como índices y su frecuencia de aparición en la entrada como valores.

Ejemplo 1. Ejemplo de array_count_values()

<?php
$matriz = array(1, "hola", 1, "mundo", "hola");
array_count_values($matriz); // devuelve array(1=>2, "hola"=>2, "mundo"=>1)
?>

El resultado del ejemplo seria:

Array
(
    [1] => 2
    [hola] => 2
    [mundo] => 1
)

Vea también count(),
array_unique(),
array_values(),
count_chars().

Anterior | Inicio | Siguiente
array_combine | Subir | array_diff_assoc


array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc -- Comprueba las diferencias entre matrices teniendo en cuenta los índices

Descripción

array array_diff_assoc ( array array1, array array2 [, array ...] )

array_diff_assoc() devuelve una matriz que contiene todos los valores de array1 que no estén presentes en ninguna de las otras matrices que se pasan como argumento. Hay que tener en cuenta que las claves de los valores se utilizan en la comparación, a diferencia de array_diff().

Ejemplo 1. Ejemplo de array_diff_assoc()

<?php
$array1 = array ("a" => "verde", "b" => "negro", "c" => "azul", "rojo");
$array2 = array ("a" => "verde", "amarillo", "rojo");
$result = array_diff_assoc ($array1, $array2);

/* El resultado es:
Array
(
    [b] => negro
    [c] => azul
    [0] => rojo
)
*/
?>

En el ejemplo anterior se ve que el par "a" => "verde" está presente en ambas matrices y por ello no aparece en la matriz resultado. Por el contrario, el par 0 => "rojo" sí aparece en el resultado puesto que en el segundo argumento el valor "red" tiene la clave 1.

Dos valores de pares clave => valor se consideran iguales si y sólo si (string) $elem1 === (string) $elem2, es decir, cuando la representación de cadena es la misma.

Nota: Hay que tener en cuenta que esta función sólo comprueba una dimensión de una matriz n-dimensional. Por supuesto, se pueden comprobar dimensiones sucesivas mediante: array_diff_assoc($array1[0], $array2[0]);.

Véase también array_diff(),
array_intersect(),
y array_intersect_assoc().

Anterior | Inicio | Siguiente
array_count_values | Subir | array_diff_key


array_diff_key

(PHP 5 >= 5.1.0RC1)

array_diff_key -- Calcula la diferencia de matrices usando las llaves para la comparación

Descripción

array array_diff_key ( array array1, array array2 [, array ...] )

array_diff_key() regresa una matriz conteniendo todos los valores de array1 que tienen llaves que no están presentes en cualquier otra matriz dada como parámetro. Note que la asociatividad es preservada. Esta función es como array_diff() excepto en que la comparación es hecha en las llaves en lugar de en los valores.

Ejemplo 1. Ejemplo array_diff_key()

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

El resultado del ejemplo seria:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Las dos llaves del par llave => valor, son consideradas iguales sólo si (string) $key1 === (string) $key2 . En otras palabras se revisa estrictamente el tipo de dato de tal manera que la representación del string debe ser el mismo.

Nota: Note por favor que esta función solo revisa una dimensión de una matriz con n dimensiones. Por supuesto puede checar en forma más profunda usando la forma array_diff_key($array1[0], $array2[0]);.

Vea también array_diff(),
array_udiff()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_ukey(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc(),
array_intersect_key() y
array_intersect_ukey().

Anterior | Inicio | Siguiente
array_diff_assoc | Subir | array_diff_uassoc


array_diff_uassoc

(PHP 5)

array_diff_uassoc -- Computa la diferencia entre matrices con un chequeo adicional de índices, el cual es realizado por una llamada de retorno entregada por el usuario

Descripción

array array_diff_uassoc ( array matriz1, array matriz2 [, array ..., callback func_comparacion_claves] )

array_diff_uassoc() devuelve un array que contiene todos los valores de matriz1 que no están presentes en ninguno de los otros argumentos. Note que las claves son usadas en la comparación, a diferencia de array_diff().

Esta comparación es realizada por una llamada de retorno entregada por el usuario. La función debe devolver un entero menor que, igual, o mayor que cero si el primer argumento es considerado como menor, igual, o mayor que el segundo, respectivamente. Esto en contraste a array_diff_assoc() en donde es usada una función interna para la comparación de índices.

Ejemplo 1. Ejemplo de array_diff_uassoc()

<?php
function func_comparacion_claves($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$matriz1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$matriz2 = array("a" => "green", "yellow", "red");
$resultado = array_diff_uassoc($matriz1, $matriz2, "func_comparacion_claves");
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

En nuestro ejemplo anterior, puede ver que la pareja "a" => "green" está presente en ambas matrices y por lo tanto no hace parte de la salida de la función. En contraste, la pareja 0 => "red" está en la salida ya que en el segundo argumento, "red" tiene una clave que es 1.

La igualdad de 2 índices es revisada por la llamada de retorno indicada por el usuario.

Nota: Por favor note que esta función sólo analiza una dimensión de una matriz n-dimensional. Por supuesto que puede analizar dimensiones más profundas usando, por ejemplo, array_diff_uassoc($matriz1[0], $matriz2[0], "func_comparacion_claves");.

Vea también array_diff(),
array_diff_assoc(), array_udiff(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() y
array_uintersect_uassoc().

Anterior | Inicio | Siguiente
array_diff_key | Subir | array_diff_ukey


array_diff_ukey

(PHP 5 >= 5.1.0RC1)

array_diff_ukey -- Calcula la diferencia de matrices usando callback function on the keys for comparison

Descripción

array array_diff_ukey ( array array1, array array2 [, array ..., callback key_compare_func] )

array_diff_ukey() regresa una matriz conteniendo todos los valores de array1 que tienen llaves que no están presentes en cualquiera de los otros argumentos. Note que la asociatividad es preservada. Esta función es como array_diff() excepto en que la comparación es hecha en las llaves en ligar de en los valores.

Esta comparación es hecha por una función proveída por el usuario. Debe regresar un entero menor que, igual a, o mayor que cero si la primera llave es considerada respectivamente menor que, igual a, o mayor que la segunda llave.

Ejemplo 1. Ejemplo array_diff_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

El resultado del ejemplo seria:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Nota: Note por favor que esta función solo revisa una dimensión en una matriz con n dimensiones. Por supuesto puede revisar más profundamente usando la forma array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Vea tambié array_diff(),
array_udiff()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_key(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc(),
array_intersect_key() y
array_intersect_ukey().

Anterior | Inicio | Siguiente
array_diff_uassoc | Subir | array_diff


array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff -- Comprueba las diferencias entre matrices

Descripción

array array_diff ( array array1, array array2 [, array ...] )

array_diff() devuelve una matriz que contiene todos los valores de array1 que no aparezcan en ninguna de las otras matrices que se pasan a la función como argumento. Hay que tener en cuenta que las claves se mantienen.

Ejemplo 1. Ejemplo de array_diff()

$array1 = array ("a" => "verde", "rojo", "azul", "rojo");
$array2 = array ("b" => "verde", "amarillo", "rojo");
$resultado = array_diff ($array1, $array2);

Lo cual hace que $resultado contenga la matriz array ("azul");. Multiples ocurrencias en $array1 son tratadas todas de la misma forma.

Nota: Dos elementos se consideran equivalentes si y sólo si (string) $elem1 === (string) $elem2, es decir, cuando la representación de cadena es la misma.

Nota: Hay que tener en cuenta que esta función sólo comprueba una dimensión de una matriz n-dimensional. Por supuesto, se pueden comprobar dimensiones sucesivas mediante: array_diff($array1[0], $array2[0]);.

Aviso

Esta función se rompió en PHP 4.0.4!

Véase también array_diff_assoc(),
array_intersect() y
array_intersect_assoc().

Anterior | Inicio | Siguiente
array_diff_ukey | Subir | array_fill_keys


array_fill

(PHP 4 >= 4.2.0, PHP 5)

array_fill -- Llena una matriz con valores

Descripción

array array_fill ( int start_index, int num, mixed value )

array_fill() introduce en una matriz tantas entradas como especifique el parámetro num, numerandolas a partir de start_index, y les asigna el valor del parámetro value.

Ejemplo 1. Ejemplo de array_fill()

$a = array_fill(5, 6, 'banana');
print_r($a);

$a contendrá ahora:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

Anterior | Inicio | Siguiente
array_fill_keys | Subir | array_filter


array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter -- Filtra elementos de una matriz mediante una función "callback"

Descripción

array array_filter ( array input [, callback function] )

array_filter() repasa cada valor en la matriz input y lo pasa a la función callback. Si la función callback devuelve verdadero, el valor es devuelto a la matriz resultado. Los índices de la matriz se mantienen.

Ejemplo 1. Ejemplo de array_filter()

<?php
function impar($var) {
    return ($var % 2 == 1);
}

function par($var) {
    return ($var % 2 == 0);
}

$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);

echo "Impares :\n";
print_r(array_filter($array1, "impar"));
echo "Pares:\n";
print_r(array_filter($array2, "par"));
?>

La salida en pantalla del programa anterior será:

Impares :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Pares:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

No se debe modificar la matriz a la que array_filter() se aplica desde la función "callback", como p. ej. añadir o eliminar un elemento, o realizar un "unset()". Si la matriz es modificada el comportamiento de esta función no está definido.

Ver también array_map(), array_reduce(), y array_walk().

Anterior | Inicio | Siguiente
array_fill | Subir | array_flip


array_flip

(PHP 4, PHP 5)

array_flip -- Intercambia los valores de una matriz con sus índices

Descripción

array array_flip ( array trans )

array_flip() devuelve una matriz con los valores intercambiados, por ejemplo los índices de trans se convierten en los valores y los valores de trans se convierten en los índices.

note que los valores de trans necesitan ser índices validos, eg. necesitan ser del tipo integer o string. Se generará una alerta si un valor tiene un tipo diferente, y el par índice/valor en cuestión no será modificado.

Si un valor se encuentra varias veces, el último índice será usado con su valor, y todos los demás se perderán

array_flip() regresa FALSE su falla.

Ejemplo 1. Ejemplo de array_flip()

<?php
$trans = array_flip($trans);
$original = strtr($str, $trans);
?>

Ejemplo 2. Ejemplo de colisión con array_flip()

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>

ahora $trans es:

Array
(
    [1] => b
    [2] => c
)

Vea también array_values(),
array_keys(), y
array_reverse().

Anterior | Inicio | Siguiente
array_filter | Subir | array_intersect_assoc


array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_intersect_assoc -- Calcula la intersección de matrices verificando que también coincidan los índices

Descripción

array array_intersect_assoc ( array matriz1, array matriz2 [, array ...] )

array_intersect_assoc() devuelve una matriz que contiene todos los valores de la matriz1 que están presentes en todos los argumentos. Nótese que las claves son consideradas en la comparación, a diferencia de array_intersect().

Ejemplo 1. Ejemplo de array_intersect_assoc()

<?php
$matriz1 = array("a" => "verde", "b" => "marron", "c" => "azul", "rojo");
$matriz2 = array("a" => "verde", "amarillo", "rojo");
$matriz_resultante = array_intersect_assoc($matriz1, $matriz2);
?>

$matriz_resultante luciría como:

Array
(
    [a] => verde
)

En nuestro ejemplo usted ve que sólo el par "a" => "verde" está presente en ambas matrices, y por lo tanto es devuelto. El valor "rojo" no es devuelto porque en $matriz1 su clave es 0 mientras que la clave de "rojo" en $matriz2 es 1.

Los dos valores de los pares clave => valor son considerados iguales sólo si (string) $elem1 === (string) $elem2 . En otras palabras, se lleva a cabo una estricta verificación del tipo de manera que la representación de la cadena debe ser la misma.

Véase también array_intersect(),
array_uintersect_assoc(),
array_intersect_uassoc(),
array_uintersect_uassoc(),
array_diff() and
array_diff_assoc().

Anterior | Inicio | Siguiente
array_flip | Subir | array_intersect_key


array_intersect_key

(PHP 5 >= 5.1.0RC1)

array_intersect_key -- Calcula la intersección de matrices usando las llaves para la comparación

Descripción

array array_intersect_key ( array array1, array array2 [, array ...] )

array_intersect_key() regresa una matriz conteniendo todos los valores de array1 los cuales tienen llaves que están presentes en todos los argumentos.

Ejemplo 1. Ejemplo array_intersect_key()

<?php
$array1 = array('azul'  => 1, 'rojo'  => 2, 'verde'  => 3, 'morado' => 4);
$array2 = array('verde' => 5, 'azul' => 6, 'amarillo' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

El resultado del ejemplo seria:

array(2) {
  ["azul"]=>
  int(1)
  ["verde"]=>
  int(3)
})

En nuestro ejemplo puede ver que sólo las llaves 'azul' y 'verde' están presentes en ambas matrices y por lo tanto son regresadas. Tambi´n note que los valores para las llaves 'azul' y 'verde' son diferentes en las dos matrices. Aún así siguen coincidiendo porque se hace la comparación sólo en las llaves. Los valores regresados son aquellos de array1.

Las dos llaves del par key => value, son considerados iguales solo si (string) $key1 === (string) $key2 . En otras palabras se hace un chequeo estricto del tipo de dato de tal manera que la representación de la cadena debe ser la misma.

Vea también array_diff(),
array_udiff()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_key(),
array_diff_ukey(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc() y
array_intersect_ukey().

Anterior | Inicio | Siguiente
array_intersect_assoc | Subir | array_intersect_uassoc


array_intersect_uassoc

(PHP 5)

array_intersect_uassoc -- Calcula la intersección de matrices con chequeo de índices adicional por una función de usuario

Descripción

array array_intersect_uassoc ( array array1, array array2 [, array ..., callback key_compare_func] )

array_intersect_uassoc() Regresa una matriz conteniendo todos los valores de array1 que están presentes en todos los argumentos. Note que los índices son usados en la comparación a diferencia de array_intersect().

La comparación de índices es hecha por una función de usuario. Esta debe regresar un entero menor que, igual a, o mayor que cero si el primer argumento es considerado ser menor que, igual a o mayor que el segundo, respectivamente.

Ejemplo 1. Ejemplo de array_intersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

El resultado del ejemplo seria:

Array
(
    [b] => brown
)

Vea también: array_intersect(),
array_intersect_assoc(),
array_uintersect_assoc(),
array_uintersect_uassoc(),
array_intersect_key() y
array_intersect_ukey().

Anterior | Inicio | Siguiente
array_intersect_key | Subir | array_intersect_ukey


array_intersect_ukey

(PHP 5 >= 5.1.0RC1)

array_intersect_ukey -- Calcula la intersecció de matrices usando una función de usuario para la comparación de los índices

Descripción

array array_intersect_ukey ( array array1, array array2 [, array ..., callback key_compare_func] )

array_intersect_ukey() regresa una matriz que contiene todos los valores de array1 los cuales tienen índices que están presentes en todos los argumentos.

Esta comparación es hecha por una función del usuario. La cual debe regresar un entero menor que, igual a, o mayor que cero si el primer índice es considerado ser menor que, igual a o mayor que el segundo, respectivamente.

Ejemplo 1. Ejemplo array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

El resultado del ejemplo seria:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
})

En nuestro ejemplo ve que solo los índices 'blue' y 'green' están presentes en ambas matrices y por lo tanto son regresados. También note los valores de los índices 'blue' y 'green' son diferentes entre las dos matrices. Aún así coinciden porque solo los índices son checados. Los valores regresados son los de array1.

Los dos índices del par key => value son considerados igual solo si (string) $key1 === (string) $key2 . En otras palabras se hace un chequeo estricto de tipo, de tal manera que la representación de la cadena sea la misma.

Vea también: array_diff(),
array_udiff()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_key(),
array_diff_ukey(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc() y
array_intersect_key().

Anterior | Inicio | Siguiente
array_intersect_uassoc | Subir | array_intersect


array_intersect

(PHP 4 >= 4.0.1, PHP 5)

array_intersect -- Calcula la intersección de matrices

Descripción

array array_intersect ( array matriz1, array matriz2 [, array ...] )

array_intersect() devuelve una matriz que contiene todos los valores de array1 que están presentes en todos los argumentos. Nótese que las claves son preservadas.

Ejemplo 1. Ejemplo de array_intersect()

<?php
$matriz1 = array("a" => "verde", "rojo", "azul");
$matriz2 = array("b" => "verde", "amarillo", "rojo");
$resultado = array_intersect($matriz1, $matriz2);
?>

Esto hace que $resultado tenga

Array
(
    [a] => green
    [0] => red
)

Nota: Dos elementos se consideran iguales si y sólo si (string) $elem1 === (string) $elem2. En palabras: cuando la representación de la cadena es la misma.

Véase también array_intersect_assoc(),
array_diff(), y
array_diff_assoc().

Anterior | Inicio | Siguiente
array_intersect_ukey | Subir | array_key_exists


array_key_exists

(PHP 4 >= 4.1.0, PHP 5)

array_key_exists -- Comprueba si el índice o clave dada existe en la matriz

Descripción

bool array_key_exists ( mixed clave, array fuente )

array_key_exists() devuelve TRUE si la clave dada existe en la matriz. La clave puede ser cualquier valor válido como índice de una matriz. array_key_exists() funciona también con objetos.

Ejemplo 1. Ejemplo de array_key_exists()

<?php
$matriz_a_buscar = array('primero' => 1, 'segundo' => 4);
if (array_key_exists('primero', $matriz_a_buscar)) {
    echo "El elemento 'primero' se encuentra en la matriz";
}
?>

Nota: El nombre de esta función es key_exists() en PHP 4.0.6.

Ejemplo 2. array_key_exists() vs isset()

isset() no devuelve TRUE para claves de matriz que corresponden a un valor NULL, mientras que array_key_exists() lo hace.

<?php
$matriz_busqueda = array('primero' => null, 'segundo' => 4);

// devuelve false
isset($matriz_busqueda['primero']);

// devuelve true
array_key_exists('primero', $matriz_busqueda);
?>

Vea también isset(), array_keys(), y in_array().

Anterior | Inicio | Siguiente
array_intersect | Subir | array_keys


array_keys

(PHP 4, PHP 5)

array_keys -- Devuelve todas las claves de una matriz

Descripción

array array_keys ( array entrada [, mixed val_a_buscar [, bool strict]] )

array_keys() devuelve las claves, numéricas y de cadena, de la matriz entrada.

Si se especifica el parámetro opcional val_a_buscar, sólo se devuelven las claves para dicho valor. De otro modo, se devuelven todas las claves de la entrada. En PHP 5, puede usar el parámetro strict para comparaciones incluyendo el tipo (===).

Ejemplo 1. Ejemplo de array_keys()

<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
?>

El resultado del ejemplo seria:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

Vea también: array_values(), array_key_exists().

Anterior | Inicio | Siguiente
array_key_exists | Subir | array_map


array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map -- Aplica la llamada de retorno especificada a los elementos de las matrices dadas

Descripción

array array_map ( callback llamada_de_retorno, array matriz1 [, array ...] )

array_map() devuelve una matriz que contiene todos los elementos de matriz1 después de haber aplicado la función llamada_de_retorno a cada uno de ellos. El número de parámetros que la función llamada_de_retorno acepte debería coincidir con el número de matrices que son pasadas como argumentos a array_map().

Ejemplo 1. Ejemplo de array_map()

<?php
function cubo($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cubo", $a);
print_r($b);
?>

Esto hace que $b contenga:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Ejemplo 2. array_map() - usando más matrices

<?php
function mostrar_Castellano($n, $m)
{
    return("El número $n es llamado $m en Castellano");
}

function map_Castellano($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("mostrar_Castellano", $a, $b);
print_r($c);

$d = array_map("map_Castellano", $a , $b);
print_r($d);
?>

El resultado del ejemplo seria:

// salida correspondiente a $c
Array
(
    [0] => El número 1 es llamado uno en Castellano
    [1] => El número 2 es llamado dos en Castellano
    [2] => El número 3 es llamado tres en Castellano
    [3] => El número 4 es llamado cuatro en Castellano
    [4] => El número 5 es llamado cinco en Castellano
)

// salida correspondiente a $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Usualmente, cuando se usan dos o más matrices, éstas deberían ser de longitudes iguales ya que la llamada de retorno es aplicada en paralelo a los elementos correspondientes. Si las matrices son de longitudes diferentes, la más corta de ellas será extendida con elementos vacíos.

Un uso interesante de esta función es la construcción de una matriz de matrices, que puede ser llevada a cabo usando NULL como el nombre de la llamada de retorno.

Ejemplo 3. Creación de una matriz de matrices

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

El resultado del ejemplo seria:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )

)

Vea también array_filter(), array_reduce(), array_walk(), create_function(), y information about the callback type.

Anterior | Inicio | Siguiente
array_keys | Subir | array_merge_recursive


array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5)

array_merge_recursive -- Une dos o más matrices recursivamente

Descripción

array array_merge_recursive ( array matriz1 [, array ...] )

array_merge_recursive() une los elementos de una o más matrices de modo tal que los valores de cada una sean añadidos al final de la matriz previa. Devuelve la matriz resultante.

Si las matrices de entrada tienen las mismas claves tipo cadena, entonces los valores de estas claves son unidas en una matriz, y esto es hecho recursivamente, de modo que si uno de los valores es una matriz misma, la función unirá también ésta con la correspondiente entrada de otra matriz. Sin embargo, si las matrices tienen la misma clave numérica, el valor más cercano al final no sobrescribirá el valor original, sino que será añadido al final.

Ejemplo 1. Ejemplo de array_merge_recursive()

<?php
$m1 = array("color" => array("favorito" => "rojo"), 5);
$m2 = array(10, "color" => array("favorito" => "verde", "azul"));
$resultado = array_merge_recursive($m1, $m2);
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [color] => Array
        (
            [favorito] => Array
                (
                    [0] => rojo
                    [1] => verde
                )

            [0] => azul
        )

    [0] => 5
    [1] => 10
)

Vea también array_merge().

Anterior | Inicio | Siguiente
array_map | Subir | array_merge


array_merge

(PHP 4, PHP 5)

array_merge -- Combina dos o más matrices

Descripción

array array_merge ( array matriz1 [, array matriz2 [, array ...]] )

array_merge() combina los elementos de dos o más matrices conjuntamente de modo que los valores de una son agregados al final de los valores de la anterior. Devuelve la matriz resultante.

Si las matrices de entrada tienen las mismas claves de cadena, el último valor para cada clave reemplazará el valor previo de la misma. Si, por el contrario, las matrices tienen la misma clave numérica, esto no pasa y los valores son simplemente agregados.

Si sólo se da una matriz, y si tiene índices numéricos, los índices son reacomodados. Para matrices asociativas, los elementos duplicados se combinarán en el último. Vea el ejemplo tres para más detalles.

Ejemplo 1. Ejemplo de array_merge()

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

El resultado del ejemplo seria:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

Ejemplo 2. Ejemplo simple de array_merge()

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

No olvide que los índices numéricos serán reenumerados

Array
(
    [0] => data
)

Si quiere preservar completamente las matrices y solo quiere agregarlos unos a otros, use el operador + :

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>

Los índices numéricos son preservados y por lo tanto la asocuación permanece.

Array
(
    [1] => data
)

Aviso

El comportamient de array_merge() fue modificado en PHP 5. A diferencia de PHP 4, la función array_merge() ahora acepta solo parámetros de tipo array. Sin embargo, puede usar forzado de tipos para convertir otros tipos. Vea el siguiente ejemplo para más detalles.

Ejemplo 3. Ejemplo PHP 5 array_merge()

<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>

El resultado del ejemplo seria:

Array
(
    [0] => foo
    [1] => bar
)

Vea también array_merge_recursive(), array_combine(), array operators.

Anterior | Inicio | Siguiente
array_merge_recursive | Subir | array_multisort


array_multisort

(PHP 4, PHP 5)

array_multisort -- Ordena múltiples matrices, o matrices multi-dimensionales

Descripción

bool array_multisort ( array matriz1 [, mixed arg [, mixed ... [, array ...]]] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

array_multisort() puede usarse para ordenar varias matrices al tiempo, o una matriz multi-dimensional por una o más dimensiones.

Las llaves asociativas (string) son conservadas, aunque las llaves numéricas son re-indexadas.

Las matrices de entrada son tratadas como columnas de una tabla que deberá ser ordenada por filas - de forma similar a la funcionalidad de una sentencia SQL ORDER BY. La primera matriz es considerada la primaria para el ordenamiento. Las filas (valores) en esa matriz que sean comparadas como iguales son ordenadas por la siguiente matriz de entrada, y así sucesivamente.

La estructura de argumentos de esta función es un poco inusual, pero flexible. El primer argumento debe ser una matriz. Subsecuentemente, cada argumento puede ser o una matriz o una bandera de ordenamiento de las siguientes.

Banderas de orientación del ordenamiento:

  • SORT_ASC - Ordenar ascendentemente

  • SORT_DESC - Ordenar descendentemente

Banderas de tipo de ordenamiento

  • SORT_REGULAR - Comparar elementos normalmente

  • SORT_NUMERIC - Comparar elementos numéricamente

  • SORT_STRING - Comparar elementos como cadenas

No pueden especificarse dos banderas de ordenamiento del mismo tipo luego de cada matriz. Las banderas de ordenamiento especificadas a continuación de un argumento matriz se aplican sólo a esa matriz - estos valores son restablecidos de vuelta a SORT_ASC y SORT_REGULAR antes de cada nuevo argumento matriz.

Ejemplo 1. Ordenamiento de varias matrices

<?php
$matriz1 = array("10", 100, 100, "a");
$matriz2 = array(1, 3, "2", 1);
array_multisort($matriz1, $matriz2);

var_dump($matriz1);
var_dump($matriz2);
?>

En este ejemplo, después del ordenamiento, la primera matriz contendrá los valores 10, "a", 100, 100. La segunda matriz contendrá 1, 1, "2", 3. Las entradas en la segunda matriz que correspondían a las entradas idénticas de la primera matriz (100 y 100) fueron ordenadas también.

array(4) {
  [0]=> string(2) "10"
  [1]=> string(1) "a"
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(1)
  [1]=> int(1)
  [2]=> string(1) "2"
  [3]=> int(3)
}

Ejemplo 2. Ordenamiento de una matriz multi-dimensional

<?php
$matriz = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($matriz[0], SORT_ASC, SORT_STRING,
                $matriz[1], SORT_NUMERIC, SORT_DESC);
var_dump($matriz);
?>

En este ejemplo, después del ordenamiento, la primera matriz se transformará a 10, 100, 100, 11, "a" (fue ordenada como cadenas en orden ascendente), y la segunda tendrá 1, 3, "2", 2, 1 (ordenada como números, en orden descendiente).

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Ejemplo 3. Ordenamiento de resultados de una base de datos

Para este ejemplo, cada elemento en la matriz datos representa una fila en una tabla. Este tipo de conjunto de datos es típico de los registros en una base de datos.

Datos de ejemplo:

volumen| edicion
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Las datos como una matriz, llamada datos. Ésta se obtendría usualmente, por ejemplo, mediante un ciclo con mysql_fetch_assoc().

<?php
$datos[] = array('volumen' => 67, 'edicion' => 2);
$datos[] = array('volumen' => 86, 'edicion' => 1);
$datos[] = array('volumen' => 85, 'edicion' => 6);
$datos[] = array('volumen' => 98, 'edicion' => 2);
$datos[] = array('volumen' => 86, 'edicion' => 6);
$datos[] = array('volumen' => 67, 'edicion' => 7);
?>

En este ejemplo, ordenaremos por volumen descendientemente, y por edicion ascendentemente.

Tenemos una matriz de filas, pero array_multisort() requiere una matriz de columnas, así que usamos el código a continuación para obtener las columnas, y luego realizar el ordenamiento.

<?php
// Obtener una lista de columnas
foreach ($datos as $llave => $fila) {
    $volumen[$llave]  = $fila['volumen'];
    $edicion[$llave] = $fila['edicion'];
}
// Ordenar los datos con volumen descendiente, edicion ascendiente
// Agregar $datos como el último parámetro, para ordenar por la llave común
array_multisort($volumen, SORT_DESC, $edicion, SORT_ASC, $datos);
?>

El conjunto de datos está ordenado ahora, y lucirá de este modo:

volumen| edicion
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

Ejemplo 4. Ordenamiento insensible a mayúsculas/minúsculas

Tanto SORT_STRING como SORT_REGULAR son sensibles a mayúsculas/minúsculas, las cadenas que comienzan con una letra mayúscula vendrán antes que las cadenas con una letra minúscula.

Para realizar una búsqueda insensible a minúsculas y mayúsculas, asegúrese de que el orden sea determinado por una copia en minúsculas de la matriz original.

<?php
$matriz = array('Alpha', 'atomico', 'Beta', 'banco');
$matriz_minusculas = array_map('strtolower', $matriz);

array_multisort($matriz_minusculas, SORT_ASC, SORT_STRING, $matriz);

print_r($matriz);
?>

El resultado del ejemplo seria:

Array
(
    [0] => Alpha
    [1] => atomico
    [2] => banco
    [3] => Beta
)

Anterior | Inicio | Siguiente
array_merge | Subir | array_pad


array_pad

(PHP 4, PHP 5)

array_pad -- Rellena una matriz con un valor hasta el tamaño especificado

Descripción

array array_pad ( array entrada, int tama_relleno, mixed valor_relleno )

array_pad() Devuelve una copia de la entrada rellenada hasta el tamaño tama_relleno con el valor valor_relleno. Si tama_relleno es positivo, entonces la matriz es rellenada por la derecha, y si es negativo, por la izquierda. Si el valor absoluto de tama_relleno es menor o igual que el tamaño de la entrada no se produce relleno alguno.

Ejemplo 1. Ejemplo de array_pad()

<?php
$entrada = array (12, 10, 9);

$resultado = array_pad ($entrada, 5, 0);
// el resultado es array (12, 10, 9, 0, 0)

$resultado = array_pad ($entrada, -7, -1);
// el resultado es array (-1, -1, -1, -1, 12, 10, 9)

$resultado = array_pad ($entrada, 2, "no");
// no rellenado
?>

Vea también array_fill(), range().

Anterior | Inicio | Siguiente
array_multisort | Subir | array_pop


array_pop

(PHP 4, PHP 5)

array_pop -- Extrae el último elemento de la matriz

Descripción

mixed array_pop ( array &matriz )

array_pop() extrae y devuelve el último valor de la matriz, acortando la matriz en un elemento. Si matriz está vacía (o no es una matriz), se regresará NULL.

Nota: Esta función ejecutará un reset() en el puntero array después de su uso.

Ejemplo 1. Ejemplo de array_pop()

<?php
$pila = array ("naranja", "plátano", "manzana", "frambuesa");
$fruta = array_pop ($pila);
print_r($pila);
?>

Después de esto, $pila tendrá sólo 3 elementos:

Array
(
    [0] => naranja
    [1] => plátano
    [2] => manzana
)

y frambuesa será asignada a $fruta.

Vea también: array_push(),
array_shift(), y
array_unshift().

Anterior | Inicio | Siguiente
array_pad | Subir | array_product


array_push

(PHP 4, PHP 5)

array_push -- Inserta uno o más elementos al final de la matriz

Descripción

int array_push ( array &matriz, mixed var [, ...] )

array_push() considera a la matriz como una pila, e inserta las variables que se le pasan al final de la matriz. La longitud de la matriz se incrementa en el número de variables insertadas. Tiene el mismo efecto que ejecutar:

<?php
$array[] = $var;
?>
para cada var.

Devuelve el nuevo número de elementos de la matriz.

Ejemplo 1. Ejemplo de array_push()

<?php
$pila = array ("naranja", "plátano");
array_push($pila, "manzana", "frambueza");
print_r($pila);
?>

Este ejemplo dejará $pila con los siguientes elementos:

Array
(
    [0] => naranja
    [1] => plátano
    [2] => manzana
    [3] => frambueza
)

Nota: Si usa array_push() para agregar un elemento a la matriz, es mejor usar $array[] = porque de esa manera no se tiene la carga de llamar a una función.

Vea también: array_pop(),
array_shift(), y
array_unshift().

Anterior | Inicio | Siguiente
array_product | Subir | array_rand


array_rand

(PHP 4, PHP 5)

array_rand -- Selecciona una o más entradas aleatorias de una matriz

Descripción

mixed array_rand ( array entrada [, int num_req] )

array_rand() es bastante útil cuando desea elegir una o más entradas aleatorias de una matriz. Recibe una matriz de entrada y un argumento opcional num_req que especifica cuántas entradas desea seleccionar; si no se precisa este argumento, recibe un valor por defecto de 1.

Si está eligiendo únicamente una entrada, array_rand() devuelve la clave de una entrada al azar. De lo contrario, devuelve una matriz de claves para las entradas aleatorias. Esto se ha hecho de esta forma para que usted pueda elegir claves al igual que valores al azar de la matriz.

Nota: A partir de PHP 4.2.0, no es necesario inicializar el generador de números aleatorios con srand() ó mt_srand(), ya que esto se hace ahora automáticamente.

Ejemplo 1. Ejemplo de array_rand()

<?php
srand((float) microtime() * 10000000);
$entrada = array("Neo", "Morfeo", "Trinity", "Cypher", "Tanque");
$claves_aleatorias = array_rand($entrada, 2);
echo $entrada[$claves_aleatorias[0]] . "\n";
echo $entrada[$claves_aleatorias[1]] . "\n";
?>

Vea también shuffle().

Anterior | Inicio | Siguiente
array_push | Subir | array_reduce


array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce -- Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno

Descripción

mixed array_reduce ( array entrada, callback funcion [, int inicial] )

array_reduce() aplica iterativamente la función funcion a los elementos de la matriz entrada, con el propósito de reducir la matriz a un solo valor. Si el argumento opcional inicial está disponible, éste será usado al inicio del proceso, o como resultado final en caso de que la matriz está vacía. Si la matriz está vacía y no se pasa el parámetro inicial, array_reduce() devuelve NULL.

Ejemplo 1. Ejemplo de array_reduce()

<?php
function rsum($v, $w)
{
    $v += $w;
    return $v;
}

function rmul($v, $w)
{
    $v *= $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", 1);
?>

Este ejemplo resultará en $b conteniendo el valor 15, $c conteniendo 1200 (= 10*1*2*3*4*5), y $d conteniendo 1.

Vea también array_filter(),
array_map(), array_unique(), y
array_count_values().

Anterior | Inicio | Siguiente
array_rand | Subir | array_reverse


array_reverse

(PHP 4, PHP 5)

array_reverse -- Devuelve una matriz con los elementos en orden inverso

Descripción

array array_reverse ( array matriz [, bool preserva_llaves] )

array_reverse() toma la matriz de entrada y devuelve una nueva matriz con los elementos en orden inverso, se preservan los índices si preserva_llaves es TRUE

Ejemplo 1. Ejemplo de array_reverse()

<?php
$entrada = array ("php", 4.0, array ("verde", "rojo"));
$resultado = array_reverse ($entrada);
$resultado_llaves = array_reverse($entrada, true);
?>

Esto hace que ambos $resultado y $resultado_llaves tengan los mismos elementos, pero note la diferencia entre los índices. La salida de $resultado y $resultado_llaves será:

Array
(
    [0] => Array
        (
            [0] => verde
            [1] => rojo
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => verde
            [1] => rojo
        )

    [1] => 4
    [0] => php
)

Nota: Esta función fue añadida en PHP 4.0.3.

Vea tambiéno array_flip().

Anterior | Inicio | Siguiente
array_reduce | Subir | array_search


array_search

(PHP 4 >= 4.0.5, PHP 5)

array_search -- Busca un valor determinado en una matriz y devuelve la clave correspondiente en caso de éxito

Descripción

mixed array_search ( mixed aguja, array pajar [, bool estricto] )

Busca en el pajar por la aguja y retorna la clave de ésta si se encuentra en la matriz, o FALSE de lo contrario.

Nota: Si aguja es una cadena, la comparación es realizada de forma sensible a mayúsculas y minúsculas.

Nota: En versiones de PHP anteriores a 4.2.0, array_search() devuelve NULL en caso de fallo, en lugar de FALSE.

Si el opcional tercer argumento, estricto, se define como TRUE entonces la función array_search() también realizará un chequeo sobre los tipos de datos de aguja en el pajar.

Si la aguja es encontrada en el pajar más de una vez, la primera clave coincidente es devuelta. Para devolver las claves de todos los valores coincidentes, use en su lugar array_keys() con el parámetro opcional valor_busqueda.

Ejemplo 1. Ejemplo de array_search()

<?php
$matriz = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$clave = array_search('green', $matriz); // $clave = 2;
$clave = array_search('red', $matriz);   // $clave = 1;
?>

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Vea también array_keys(),
array_values(), array_key_exists(),
y in_array().

Anterior | Inicio | Siguiente
array_reverse | Subir | array_shift


array_shift

(PHP 4, PHP 5)

array_shift -- Extrae un elemento del comienzo de la matriz

Descripción

mixed array_shift ( array &array )

array_shift() extrae el primer valor de la matriz y lo devuele, acortando la matriz en un elemento y moviendo todo hacia abajo. Todos los índices numéricos de la matriz serán modificados para empezar desde cero, mientras que los índices literales no serán tocados. Si array está vacío (o no es una matriz), se regresará NULL

Nota: Esta función ejecutará un reset() en el puntero array después de su uso.

Ejemplo 1. Ejemplo de array_shift()

<?php
$pila = array ("naranja", "plátano", "manzana", "frambueza");
$fruta = array_shift ($pila);
print_r($pila);
?>

Esto resulta en $pila conteniendo 3 elementos:

Array
(
    [0] => plátano
    [1] => manzana
    [2] => frambueza
)

y naranja es asignada a $fruta.

Vea también: array_unshift(),
array_push(), y
array_pop().

Anterior | Inicio | Siguiente
array_search | Subir | array_slice


array_slice

(PHP 4, PHP 5)

array_slice -- Extrae una porción de la matriz

Descripción

array array_slice ( array matriz, int desplazamiento [, int tamaño [, bool conserva_llaves]] )

array_slice() devuelve una secuencia de elementos de la matriz especificada por los parámetros desplazamiento y tamaño.

Si el desplazamiento es no negativo, la secuencia comenzará en dicha posición de la matriz. Si el desplazamiento es negativo, la secuencia comenzará en esa posición desde el final de la matriz.

Si se especifica el tamaño y éste es positivo, la secuencia contendrá tantos elementos como se diga en él. Si fuese negativo, la secuencia se detendrá a tantos elementos del final de la matriz. Si se omite, la secuencia contendrá todos los elementos desde el desplazamiento hasta el final de la matriz.

Note que array_slice() reasignará los índices de la matriz por defecto. Desde PHP 5.0.2, usted puede cambiar este comportamiento fijando el parámetro conserva_llaves a TRUE.

Ejemplo 1. Ejemplos de array_slice()

<?php
$entrada = array("a", "b", "c", "d", "e");

$salida = array_slice($input, 2);      // regresa "c", "d", and "e"
$salida = array_slice($input, -2, 1);  // regresa "d"
$salida = array_slice($input, 0, 3);   // regresa "a", "b", and "c"

// note la diferencias en las índices
print_r(array_slice($entrada, 2, -1));
print_r(array_slice($entrada, 2, -1, true));
?>

El resultado del ejemplo seria:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Vea también: array_splice(), unset().

Anterior | Inicio | Siguiente
array_shift | Subir | array_splice


array_splice

(PHP 4, PHP 5)

array_splice -- Suprime una porción de la matriz y la sustituye por otra cosa

Descripción

array array_splice ( array &entrada, int desplazamiento [, int tamano [, array sustitucion]] )

array_splice() suprime los elementos designados por el desplazamiento y el tamano de la matriz entrada, y los sustituye con los elementos de la matriz de sustitucion si se especifica.

Si el desplazamiento es positivo, el comienzo de la parte suprimida sería en esa posición desde el comienzo de la matriz de entrada. Si el desplazamiento es negativo, se cuenta la posición desde el final de la matriz de entrada.

Si se omite tamano, se suprime todo desde el desplazamiento hasta el final de la matriz. Si se especifica el tamano y es positivo, se suprimirán tantos elementos como se especifica. Si fuera negativo, el final de la porción eliminada estará a tantos elementos del final de la matriz. Truco: para eliminar todo desde el desplazamiento hasta el final de la matriz cuando también se especifica sustitucion, utilice count($entrada) como tamano.

Si se especifica la matriz de sustitucion, entonces los elementos suprimidos son reemplazados con los elementos de dicha matriz. Si los valores de desplazamiento y tamano son tales que nada es borrado, los elementos de la matriz sustitucion se insertarán en la posición indicada por el desplazamiento. Note que los índices en la matriz que se remplaza no serán conservados. Si el parámetro sustitucion es de sólo un elemento no es necesario poner array().

Las siguientes funciones son equivalentes: Las sentencias siguientes cambian los valores de $entrada en la misma forma:

Tabla 1. Equivalencias array_splice()

array_push($input, $x, $y) | array_splice($input, count($input), 0, array($x, $y))
array_pop($input) | array_splice($input, -1)
array_shift($input) | array_splice($input, 0, 1)
array_unshift($input, $x, $y) | array_splice($input, 0, 0, array($x, $y))
$input[$x] = $y // Para matrices donde el índice equivale a la posición | array_splice($input, $x, 1, $y)

Devuelve una matriz que tiene los elementos eliminados

Ejemplo 1. Ejemplos de array_splice()

<?php
$entrada = array("rojo", "verde", "azul", "amarillo");

array_splice($entrada, 2);      // $entrada vale ahora array("rojo", "verde")
array_splice($entrada, 1, -1);  // $entrada vale ahora array("rojo", "amarillo")
array_splice($entrada, 1, count($entrada), "naranja");
                              // $entrada vale ahora array("rojo", "naranja")
array_splice($entrada, -1, 1, array("negro", "marr&oacute;n"));
                              // $entrada vale ahora array("rojo", "verde",
                              //          "azul", "negro", "marr&oacute;n")
?>

Vea también: array_slice(),
unset(),
array_merge().

Anterior | Inicio | Siguiente
array_slice | Subir | array_sum


array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sum -- Calcula la suma de los valores en una matriz

Descripción

number array_sum ( array matriz )

array_sum() devuelve la suma de los valores de una matriz como un entero o un valor de punto flotante.

Ejemplo 1. Ejemplos de array_sum()

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

El resultado del ejemplo seria:

sum(a) = 20
sum(b) = 6.9

Nota: Las versiones de PHP anteriores a 4.2.1 modificaban la matriz misma pasada como argumento y convertía las cadenas a números (lo que en la mayoría de casos significaba convertirlas a cero, dependiendo de sus valores).

Anterior | Inicio | Siguiente
array_splice | Subir | array_udiff_assoc


array_udiff_assoc

(PHP 5)

array_udiff_assoc -- Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos con una llamada de retorno

Descripción

array array_udiff_assoc ( array matriz1, array matriz2 [, array ..., callback func_comparacion_datos] )

array_udiff_assoc() devuelve un array que contiene todos los valores de matriz1 que no están presentes en ninguno de los otros argumentos. Note que las claves son usadas en la comparación, a diferencia de array_diff() y array_udiff(). La comparación entre datos de las matrices es realizada usando una llamada de retorno especificada por el usuario. En este sentido, el comportamiento de esta función es opuesto al de array_diff_assoc(), la cual usa una función interna para la comparación.

Ejemplo 1. Ejemplo de array_udiff_assoc()

<?php
class cr {
    private $miembro_privado;
    function cr($val)
    {
        $this->miembro_privado = $val;
    }

    function func_comp_cr($a, $b)
    {
        if ($a->miembro_privado === $b->miembro_privado) return 0;
        return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$resultado = array_udiff_assoc($a, $b, array("cr", "func_comp_cr"));
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [0.1] => cr Object
        (
            [miembro_privado:private] => 9
        )

    [0.5] => cr Object
        (
            [miembro_privado:private] => 12
        )

    [0] => cr Object
        (
            [miembro_privado:private] => 23
        )
)

En nuestro ejemplo anterior puede observar la pareja "1" => new cr(4) presente en ambas matrices y por lo tanto no hace parte de la salida de la función.

Para la comparación es usada la llamada de retorno entregada por el usuario. Ésta debe devolver un entero menor que, igual, o mayor que cero si el primer argumento es considerado como menor, igual, o mayor que el segundo, respectivamente.

Nota: Por favor note que esta función sólo analiza una dimensión de una matriz n-dimensional. Por supuesto, puede analizar dimensiones más profundas usando, por ejemplo, array_udiff_assoc($matriz1[0], $matriz2[0], "func_alguna_comparacion");.

Vea también array_diff(),
array_diff_assoc(),
array_diff_uassoc(), array_udiff(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() y
array_uintersect_uassoc().

Anterior | Inicio | Siguiente
array_sum | Subir | array_udiff_uassoc


array_udiff_uassoc

(PHP 5)

array_udiff_uassoc -- Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos y los índices con una llamada de retorno

Descripción

array array_udiff_uassoc ( array matriz1, array matriz2 [, array ..., callback func_comparacion_datos, callback func_comparacion_claves] )

array_udiff_uassoc() devuelve un array que contiene todos los valores de matriz1 que no están presentes en ninguno de los otros argumentos. Note que las claves son usadas en la comparación, a diferencia de array_diff() y array_udiff(). La comparación de los datos de las matrices es realizada usando una llamada de retorno entregada por el usuario: func_comparacion_datos. En este sentido, su comportamiento es el opuesto del de array_diff_assoc(), quien usa una función interna para la comparación. La comparación de claves (índices) es realizada también por la llamada de retorno func_comparacion_claves. Este comportamiento contrasta con lo que hace array_udiff_assoc(), ya que ésta compara los índices usando una función interna.

Ejemplo 1. Ejemplo de array_udiff_uassoc()

<?php
class cr {
    private $miembro_privado;
    function cr($val)
    {
        $this->miembro_privado = $val;
    }

    function func_comp_cr($a, $b)
    {
        if ($a->miembro_privado === $b->miembro_privado) return 0;
        return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
    }

    function func_comp_claves($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$resultado = array_udiff_uassoc($a, $b, array("cr", "func_comp_cr"), array("cr", "func_comp_claves"));
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [0.1] => cr Object
        (
            [miembro_privado:private] => 9
        )

    [0.5] => cr Object
        (
            [miembro_privado:private] => 12
        )

    [0] => cr Object
        (
            [miembro_privado:private] => 23
        )
)

En nuestro ejemplo anterior, puede ver que la pareja "1" => new cr(4) está presente en ambas matrices, y por lo tanto no hace parte de la salida de la función. Tenga en cuenta que debe especificar 2 llamadas de retorno.

Para la comparación, se usa la llamada de retorno indicada por el usuario. Ésta debe devolver un entero menor que, igual, o mayor que cero si el primer argumento es considerado como menor, igual, o mayor que el segundo, respectivamente.

Nota: Por favor note que esta función únicamente chequea una dimensión de una matriz n-dimensional. Por supuesto, puede chequear dimensiones más profundas usando, por ejemplo, array_udiff_uassoc($matriz1[0], $matriz2[0], "func_comparacion_datos", "func_comparacion_claves");.

Vea también array_diff(),
array_diff_assoc(),
array_diff_uassoc(), array_udiff(),
array_udiff_assoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() y
array_uintersect_uassoc().

Anterior | Inicio | Siguiente
array_udiff_assoc | Subir | array_udiff


array_udiff

(PHP 5)

array_udiff -- Computa la diferencia entre matrices, usando una llamada de retorno para la comparación de datos

Descripción

array array_udiff ( array matriz1, array matriz2 [, array ..., callback func_comparacion_datos] )

array_udiff() devuelve una matriz que contiene todos los valores de matriz1 que no están presentes en ninguno de los otros argumentos. Note que las claves son preservadas. Para la comparación de datos, se usa func_comparacion_datos. Esta función debe devolver un entero menor que, igual, o mayor que cero si el primer argumento es considerado como menor, igual, o mayor que el segundo, respectivamente. Esto en contraste a array_diff(), la cual usa una función interna para la comparación de datos.

Ejemplo 1. Ejemplo de array_udiff()

<?php
class cr {
    private $miembro_privado;
    function cr($val)
    {
        $this->miembro_privado = $val;
    }

    function func_comp_cr($a, $b)
    {
        if ($a->miembro_privado === $b->miembro_privado) return 0;
        return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$resultado = array_udiff($a, $b, array("cr", "func_comp_cr"));
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [0.5] => cr Object
        (
            [miembro_privado:private] => 12
        )

    [0] => cr Object
        (
            [miembro_privado:private] => 23
        )

)

Nota: Por favor note que esta función sólo analiza una dimensión de una matriz n-dimensional. Por supuesto, puede analizar dimensiones más profundas usando array_udiff($matriz1[0], $matriz2[0], "data_compare_func");.

Vea también array_diff(),
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() y
array_uintersect_uassoc().

Anterior | Inicio | Siguiente
array_udiff_uassoc | Subir | array_uintersect_assoc


array_uintersect_assoc

(PHP 5)

array_uintersect_assoc -- Calcula la intersección de matrices con chequeo adicional de ídices, comparando los datos por una función del usuario

Descripción

array array_uintersect_assoc ( array array1, array array2 [, array ..., callback data_compare_func] )

array_uintersect_assoc() regresa una matriz conteniendo todos los valores de array1 que están presentes en todos los argumentos. Note que los índices son usados en la comparación a diferencia de array_uintersect(). Los datos son comparados usando una función del usuario.

Ejemplo 1. Ejemplo array_uintersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

El resultado del ejemplo seria:

Array
(
    [a] => green
)

Para la comparación es usada la función dada por el usuario. La cual debe regresar un entero menor que, igual a, o mayor que cero si el primer argumento es considerado ser, respectivamente, menor que, igual a, o mayor que el segundo argumento.

Vea también array_uintersect(),
array_intersect_assoc(),
array_intersect_uassoc() y
array_uintersect_uassoc().

Anterior | Inicio | Siguiente
array_udiff | Subir | array_uintersect_uassoc


array_uintersect_uassoc

(PHP 5)

array_uintersect_uassoc -- Calcula la intersección de matrices con chequeo adicional de índices, compara los datos y los índices por una función del usuario

Descripción

array array_uintersect_uassoc ( array array1, array array2 [, array ..., callback data_compare_func, callback key_compare_func] )

array_uintersect_uassoc() regresa una matriz que contiene todos los valores de array1 que están presentes en todos los argumentos. Note que los índices son usados en la comparación a diferencia de array_uintersect(). Los datos y los índices son comparados usando una función del usuario.

Ejemplo 1. Ejemplo array_uintersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

El resultado del ejemplo seria:

Array
(
    [a] => green
    [b] => brown
)

Para la comparación es usada una función dada por el usuario. La cual debe regresar un entero menor que, igual a, o mayor que cero si el primer argumento es considerado ser menor que, igual a o mayor que el segundo argumento respectivamente.

Vea también array_uintersect(),
array_intersect_assoc(),
array_intersect_uassoc() y
array_uintersect_assoc().

Anterior | Inicio | Siguiente
array_uintersect_assoc | Subir | array_uintersect


array_uintersect

(PHP 5)

array_uintersect -- Calcula la interseccón de matrices, compara los datos con una función del usuario

Descripción

array array_uintersect ( array array1, array array2 [, array ..., callback data_compare_func] )

array_uintersect() regresa una matriz que contiene todos los valores de array1 que están presentes en topos los argumentos. Los datos son comparados usando una función del usuario.

Ejemplo 1. Ejemplo array_uintersect()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

El resultado del ejemplo seria:

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

Para la comparació es usada una función del usuario. La cual debe regresar un entero menor que, igual a, o mayor que cerp si el primer argumento es considerado ser menor que, igual a, o mayor que el segundo argumento, respectivamente.

Vea también array_intersect(),
array_uintersect_assoc(),
array_intersect_uassoc() y
array_uintersect_uassoc().

Anterior | Inicio | Siguiente
array_uintersect_uassoc | Subir | array_unique


array_unique

(PHP 4 >= 4.0.1, PHP 5)

array_unique -- Remueve valores duplicados de una matriz

Descripción

array array_unique ( array matriz )

array_unique() toma la matriz de entrada y devuelve una nueva matriz sin los valores repetidos.

Note que las claves son preservadas. array_unique() ordena los valores tratados como cadenas inicialmente, y luego conservará la primera clave encontrada para cada valor, ignorando todas las claves posteriores. No quiere decir esto que la clave del primer valor relacionado de la matriz no-ordenada se conservará.

Nota: Dos elementos son considerados equivalentes si y solo si (string) $elem1 === (string) $elem2. En palabras: cuando la representación tipo cadena es la misma.

Se usará el primer elemento.

Ejemplo 1. Ejemplo de array_unique()

<?php
$entrada = array("a" => "verde", "rojo", "b" => "verde", "azul", "rojo");
$resultado = array_unique($entrada);
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [a] => verde
    [0] => rojo
    [1] => azul
)

Ejemplo 2. array_unique() y tipos de datos

<?php
$entrada = array(4, "4", "3", 4, 3, "3");
$resultado = array_unique($entrada);
var_dump($resultado);
?>

El resultado del ejemplo seria:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Anterior | Inicio | Siguiente
array_uintersect | Subir | array_unshift


array_unshift

(PHP 4, PHP 5)

array_unshift -- Introduce uno o más elementos al principio de la matriz

Descripción

int array_unshift ( array &matriz, mixed var [, mixed ...] )

array_unshift() añade los elementos que se le pasan al frente de la matriz. Nótese que la lista de elementos es añadida como un todo, de modo que los elementos añadidos mantienen su orden. Todos los ídices numéricos de la matriz serán modificados para iniciar a contar desde cero mientras que los índices alfanuméricos no serán modificados.

Devuelve el número de elementos en la matriz.

Ejemplo 1. Ejemplo de array_unshift()

<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
?>

Esto resultará que $queue tenga los siguientes elementos:

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)

Vea tambinén array_shift(),
array_push(), and
array_pop().

Anterior | Inicio | Siguiente
array_unique | Subir | array_values


array_values

(PHP 4, PHP 5)

array_values -- Devuelve todos los valores de una matriz

Descripción

array array_values ( array entrada )

array_values() devuelve todos los valores de la matriz entrada en orden numérico.

Ejemplo 1. Ejemplo de array_values()

<?php
$matriz = array("talla" => "XL", "color" => "dorado");
print_r(array_values($matriz));
?>

El resultado del ejemplo seria:

Array
(
    [0] => XL
    [1] => dorado
)

Vea también array_keys().

Anterior | Inicio | Siguiente
array_unshift | Subir | array_walk_recursive


array_walk_recursive

(PHP 5)

array_walk_recursive -- Aplicar una función de usuario recursivamente a cada miembro de una matriz

Descripción

bool array_walk_recursive ( array &entrada, callback nombre_func [, mixed datos_usuario] )

Aplica la función definida por el usuario nombre_func a cada elemento de la matriz entrada. Esta función opera de forma recursiva sobre matrices profundas. Por lo general, nombre_func recibe dos parámetros. El valor del parámetro entrada es el primero, y la clave/índice es el segundo. Si se define el parámetro opcional datos_usuario, éste será pasado como el tercer parámetro a la llamada de retorno nombre_func.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Si nombre_func necesita trabajar con los valores reales de la matriz, especifique el primer parámetro de nombre_func como una referencia. Entonces, cualquier cambio realizado sobre esos elementos será efectuado sobre la matriz original misma.

Ejemplo 1. Ejemplo de array_walk_recursive()

<?php
$dulce = array('a' => 'manzana', 'b' => 'banano');
$frutas = array('dulce' => $dulce, 'acido' => 'limón');

function prueba_imprimir($item, $clave)
{
    echo "$clave contiene $item\n";
}

array_walk_recursive($frutas, 'prueba_imprimir');
?>

El resultado del ejemplo seria:

a contiene manzana
b contiene banano
acido contiene limón

Notará que la clave 'dulce' nunca es mostrada. Cualquier clave que contenga un valor array no será pasada a la función.

Vea también array_walk(), y information about the callback type.

Anterior | Inicio | Siguiente
array_values | Subir | array_walk


array_walk

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

array_walk -- Aplica una función del usuario a cada elemento de una matriz.

Descripción

int array_walk ( array &matriz, string func [, mixed datosvarios] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Aplica la función llamada func a cada elemento de la matriz. La función func recibirá el valor de la matriz como primer parámetro y la clave como segundo. Si se proporciona el parámetro datosvarios será pasado como tercer parámetro a la función de usuario.

Si func necesita más de dos o 3 argumentos, dependiendo de datosvarios, se generará un aviso cada vez que array_walk() llama a func. Estos avisos pueden suprimirse si se pone @ antes de la llamada a array_walk(), o usando la función error_reporting().

Nota: Si func precisa trabajar con los valores reales de la matriz, especifique que el valor del primer parámetro de func debe pasarse por referencia. Desde ese instante, los cambios realizados sobre dichos elementos también serán realizados en la propia matriz.

Nota: El pasar la clave y los datos de usuario a func fue una característica añadida en PHP 4.0.0

array_walk() no es afectado por el apuntador interno del parámetro matriz. array_walk() avanzará por toda la matriz sin importar la posición del apuntador. Para reinicializar el apuntador, use reset(). en PHP 3, array_walk() reinicializa el apuntador.

No se debe cambiar la matriz desde la llamada a la función, ej. agregar/borrar elementos, vaciar elementos, etc. si la matriz que está siendo usada por array_walk() cambia, el comportamiento de esta función será indefinido e impredecible.

Ejemplo 1. Ejemplo de array_walk()

<?php
$frutas = array ("d"=>"limon", "a"=>"naranja", "b"=>"platano", "c"=>"manzana");

function test_alterar ($item1, $clave, $prefix) {
   $item1 = "$prefix: $item1";
}

function test_ver ($item2, $clave) {
   echo "$clave. $item2<br />\n";
}

echo "Antes...:\n";
array_walk ($frutas, 'test_ver');

array_walk ($frutas, 'test_alterar', 'fruta');
echo "...y despues:\n";

array_walk ($frutas, 'test_ver');
?>

El resultado del ejemplo seria:

Antes...:
d. limon
a. naranja
b. platano
c. manzana
...y despues:
d. fruta: limon
a. fruta: naranja
b. fruta: platano
c. fruta: manzana

Vea también array_walk_recursive(),
create_function(),
list(),
foreach,
each(),
call_user_func_array(),
array_map(),
information about the callback type.

Anterior | Inicio | Siguiente
array_walk_recursive | Subir | array


array

(PHP 3, PHP 4, PHP 5)

array -- Crear una matriz

Descripción

array array ( mixed ... )

Devuelve una matriz con los parámetros que se le pasan. A dichos parámetros se les puede dar un índice usando el operador =>. Lea la sección sobre los tipos de matrices para más información sobre matrices.

Nota: array() es una construcción del lenguaje que se utiliza para representar matrices literales, no una función regular.

La forma "índice => valor" separada por comas, define índices y valores. el índice puede ser de tipo cadena o numérico. Cuando el índice es omitido, se genera automáticamente un índice numérico, empezando en cero. Si el índice es un entero, el siguiente índice generado será igual al índice con número mayor + 1. Note que cuando se definen dos índices idénticos, el último sobre escribe al primero.

Tener una coma después del último elemento de la matriz, aunque inusual, es sintácticamente valido.

El siguiente ejemplo demuestra cómo crear una matriz bidimensional, cómo especificar claves para matrices asociativas, y cómo especificar índices no consecutivos en matrices normales.

Ejemplo 1. Ejemplo de array()

<?php
$frutas = array (
    "frutas"  => array("a"=>"naranja", "b"=>"pl&aacute;tano", "c"=>"manzana"),
    "n&uacute;meros" => array(1, 2, 3, 4, 5, 6),
    "hoyos"   => array("primero", 5 => "segundo", "tercero")
);
?>

Ejemplo 2. Índice automático con array()

<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>

El resultado del ejemplo seria:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Note que el índice '3' es definido dos veces, y permanece su valor final de '13'. El índice 4 es definido depués del índice 8, y en seguida se genera el índice 9 (para el valor 19), porque el índice mayor era 8.

Este ejemplo crea una matriz en donde los índices inician en 1.

Ejemplo 3. Índice base 1 con array()

<?php
$primercuarto = array(1 => 'Enero', 'Febrero', 'Marzo');
print_r($primercuarto);
?>

El resultado del ejemplo seria:

Array
(
    [1] => Enero
    [2] => Febrero
    [3] => Marzo
)

Como en Perl, puede accesar un valor de la matriz desde dentro de una cadena contenida en dobles comillas. Sin embargo, con PHP necesitará encerrar la matriz entre las llaves curvas.

Ejemplo 4. Accesando una matriz dentro de una cadena

<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>

Vea también array_pad(),
list(),
count(),
foreach,
range().

Anterior | Inicio | Siguiente
array_walk | Subir | arsort


arsort

(PHP 3, PHP 4, PHP 5)

arsort -- Ordena una matriz en orden inverso y mantiene la asociación de índices

Descripción

bool arsort ( array &matriz [, int sort_flags] )

Esta función ordena una matriz de modo que los índices mantengan su correlación con los elementos de la misma a los que están asociados. Esto se utiliza principalmente para ordenar matrices asociativas en las que el orden de los elementos es importante.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de arsort()

<?php
$frutas = array ("d"=>"limon", "a"=>"naranja", "b"=>"platano", "c"=>"manzana");
arsort ($frutas);
reset(&futas);
while (list($key, $val = each($frutas)) {
   echo "$key = $val\n";
}
?>

El resultado del ejemplo seria:

b = platano
a = naranja
c = manzana
d = limon

Las frutas han sido ordenadas en orden alfabético inverso y los índices asociados con cada elemento se han mantenido.

Puede modificar el comportamiento de orden usando el parámetro opcional sort_flags para detalles vea sort().

Vea también: asort(),
rsort(),
ksort(), y
sort().

Anterior | Inicio | Siguiente
array | Subir | asort


asort

(PHP 3, PHP 4, PHP 5)

asort -- Ordena una matriz y mantiene la asociación de índices

Descripción

bool asort ( array &matriz [, int sort_flags] )

Esta función ordena una matriz de modo que los índices mantengan su correlación con los elementos de la misma a los que están asociados. Esto se utiliza principalmente para ordenar matrices asociativas en las que el orden de los elementos es importante.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de asort()

<?php
$frutas = array ("d"=>"limon", "a"=>"naranja", "b"=>"platano", "c"=>"manzana");
asort($frutas);
reset($frutas);
while (list($key, $val) = each($frutas)) {
   echo "$key = $val\n";
}
?>

El resultado del ejemplo seria:

d = limon
c = manzana
a = naranja
b = platano

Las frutas han sido ordenadas en orden alfabético y los índices asociados con cada elemento se han mantenido.

Puede modificar el comportamiento de orden usando el parámetro opcional sort_flags para detalles vea sort().

Vea también: arsort(),
rsort(),
ksort(), y
sort().

Anterior | Inicio | Siguiente
arsort | Subir | compact


compact

(PHP 4, PHP 5)

compact -- Crea una matriz que contiene variables y sus valores

Descripción

array compact ( mixed varname [, mixed ...] )

compact() toma un número variable de parámetros. Cada uno puede ser tanto una cadena que contiene el nombre de la variable, como una matriz de nombres de variable. La matriz puede contener otras matrices de nombres de variable en su interior; compact() los procesa recursivamente.

Para cada uno de estos, compact() busca una variable con dicho nombre en la tabla de símbolos y la añade a la matriz de salida de modo que el nombre de la variable es la clave y el contenido de ésta es el valor para dicha clave. Para resumir, hace lo contrario de extract(). Devuelve la matriz de salida con las variables añadidas a la misma.

Cualquier cadena que no haya sido definida simplemente se evitará.

Gotcha: A causa de que Variables variables no puede ser usada con las Superglobal arrays de PHP dentro de funciones, las matrices Superglobal no pueden ser pasadas a compact().

Ejemplo 1. Ejemplo de compact()

<?php
$ciudad = "San Francisco";
$estado = "CA";
$evento = "SIGGRAPH";

$location_vars = array ("ciudad", "estado");

$resultado = compact ("evento", "nada_aqui", $location_vars);
?>

Tras esto, $resultado

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

Vea también: extract().

Anterior | Inicio | Siguiente
asort | Subir | count


count

(PHP 3, PHP 4, PHP 5)

count -- Cuenta los elementos de una matriz o propiedades de un objeto

Descripción

int count ( mixed var [, int mode] )

Devuelve el número de elementos en var, que típicamente es un array, porque cualquier otra cosa diferente de un objeto tendría sólo un elemento.

Para objetos, si tiene SPL, enlazarlo a count() implementando la interface Countable. La interface tiene exactamente un método, count(), el cual regresa el mismo valor que regresarí la función count().

Si var no es una matriz o un objeto, que tenga implementado la interface Countable, se regresará 1. Hay una excepción, si var es NULL, se regresará 0.

Nota: El parámetro opcional mode está disponible desde PHP 4.2.0.

Si el parámetro opcional mode es iniciado a COUNT_RECURSIVE (o 1), count() contará recursivamente la matriz. Esto es útil particularmente para contar todos los elementos de una matriz multidimensional. El valor por defecto para mode es 0. count() no detecta recursión infinita.

Atención

count() puede regresar 0 para una variable que no ha sido inicializada, pero también regresa 0 para una variable que ha sido inicializada con una matriz vacía. Use isset() para probar si la variable ha sido definida.

Por favor vea la sección del manual sobre Array para una explicación más detallada de como son usadas e implementadas las matrices en PHP.

Ejemplo 1. Ejemplo

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3

$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
$result = count($b);
// $result == 3

$result = count(null);
// $result == 0
$result = count(false);
// $result == 1

?>

Ejemplo 2. Ejemplo recursivo (PHP >= 4.2.0)

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// recursive count
echo count($food, COUNT_RECURSIVE);  // output 8

// normal count
echo count($food);                  // output 2

?>

Vea también is_array(),
isset(), and
strlen().

Anterior | Inicio | Siguiente
compact | Subir | current


current

(PHP 3, PHP 4, PHP 5)

current -- Devuelve el elemento actual de una matriz

Descripción

mixed current ( array &matriz )

Cada matriz tiene un puntero interno al elemento "actual", que se inicializa al primer elemento insertado en la misma.

La función current() simplemente devuelve el elemento de la tabla al que apunta el puntero interno. No mueve el puntero de ninguna manera. Si el puntero interno apunta fuera del final de la lista de elementos, current() devuelve FALSE.

Aviso

Si la matriz contiene elementos vacíos (0 o "", la cadena vacía) esta función devolverá FALSE también para dichos elementos. Esto hace imposible determinar si se está realmente al final de la lista en tales matrices usando current(). Para recorrer adecuadamente una matriz que pueda contener elementos vacíos, utilice la función each().

Ejemplo 1. Ejemplo: uso de current() y amigos

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
?>

Vea también: end(),
key(),
next(),
prev() y
reset().

Anterior | Inicio | Siguiente
count | Subir | each


each

(PHP 3, PHP 4, PHP 5)

each -- Devuelve el siguiente par clave/valor de una matriz y avanza el apuntador

Descripción

array each ( array &matriz )

Devuelve el par clave/valor actual para la matriz y avanza el puntero de la misma. Esta pareja se devuele en una matriz de 4 elementos, con las claves 0, 1, key, y value. Los elementos 0 y key contienen el nombre de clave del elemento de la matriz, y 1 y value contienen los datos.

Si el puntero interno para la matriz apunta después del final del contenido de la matriz, each() devuelve FALSE.

Ejemplo 1. Ejemplos de each()

<?php
$chorrada = array ("bob", "fred", "jussi", "jouni", "egon", "marliese");
$tonteria = each ($chorrada);
print_r($tonteria);
?>

$tonteria ahora contiene los siguientes pares de llave/valor:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$tonteria ahora contiene los siguientes pares de llave/valor:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() se usa normalmente de forma conjunta a list() para recorrer una matriz; por ejemplo:

Ejemplo 2. Recorriendo una matriz con each()

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

El resultado del ejemplo seria:

a => apple
b => banana
c => cranberry

Cuando se ha ejecutado each(), el cursor de la matriz quedará en el siguiente elemento de la misma, o en el último si llega al final de ésta. Tiene que usar reset() si quiere recorrer la matriz otra vez usando each.

Atención

A causa de que asignar una matriz a otra variable reinicia el apuntador original de la matriz, nuestro ejemplo anterior pudo causar un ciclo sin fin tuvimos que asignar $fruit a otra variable dentro del ciclo.

Vea también: key(),
list(),
current(),
reset(),
next(),
prev(), y
foreach.

Anterior | Inicio | Siguiente
current | Subir | end


end

(PHP 3, PHP 4, PHP 5)

end -- Mueve el puntero interno de una tabla al último elemento

Descripción

mixed end ( array &matriz )

end() avanza el puntero interno de la matriz al último elemento, y regresa su valor.

Ejemplo 1. Un Ejemplo simple de end()

<?php

$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry

?>

Vea también: current(),
each(),
prev(),
next(), y
reset().

Anterior | Inicio | Siguiente
each | Subir | extract


extract

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

extract -- Importa variables a la tabla de símbolos desde una matriz

Descripción

void extract ( array matriz_vars [, int tipo_extraccion [, string prefijo]] )

Esta función se utiliza para importar variables desde una matriz a la tabla de símbolos actual. Toma la matriz asoiativa matriz_vars y trata las claves como nombres de variable y los valores como los valores de éstas. Para cada par clave/valor creará una variable en la tabla de símbolos actual, sujeto a los parámetros tipo_extraccion y prefijo.

Nota: Empezando de la versión 4.0.5, esta función regresa el número de variables extraídas.

Nota: EXTR_IF_EXISTS y EXTR_PREFIX_IF_EXISTS fueron introducidas en la versión 4.2.0.

Nota: EXTR_REFS fue introducida en la versión 4.3.0.

extract() controla las colisiones con las variables que ya existen. La forma de tratar éstas se determina por el tipo_extraccion. Puede tener únicamente uno de los siguientes valores:

EXTR_OVERWRITE

Si hay colisión, sobreescribe la variable existente.

EXTR_SKIP

Si hay colisión, no sobreescribas la variable existente.

EXTR_PREFIX_SAME

Si hay una colisión, añade el prefijo a la nueva variable.

EXTR_PREFIX_ALL

Añade el prefijo a todas las variables.

EXTR_PREFIX_INVALID

Solo agrega el prefijo a nombres de variables invalidas/numéricas. Este fue agregado en PHP 4.0.5.

EXTR_IF_EXISTS

Solo sobreescribe la variable si ya existe en la tabla de símbolos actual, de otra manera no hace nada. Esto es útil para definir una lista de variables validas y entonces extraer solo aquellas variables que esten definidas fuera de $_REQUEST por ejemplo. Esta bandera fue agregada en PHP 4.2.0.

EXTR_PREFIX_IF_EXISTS

Solo crea los nombres de variables con el prefijo si la versión de la variable sin prefijo existe en la tabla de símbolos. Esta bandera fue agregada en PHP 4.2.0.

EXTR_REFS

Extrae las variables como referencias. Esto efectivamente significa que los valores de las variables importadas están aún referenciando a los valores del parámetro matriz_var. Puede usar esta bandera por sí sola o combinada con cualquier otra bandera haciendo (OR) el parámetro tipo_extraccion. Esta bandera fue agregada en PHP 4.3.0.

Si no se especifica tipo_extraccion, se asume que vale EXTR_OVERWRITE.

Nótese que el prefijo sólo se necesita si tipo_extraccion vale EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID o EXTR_PREFIX_IF_EXISTS. Si el resultado con prefijo no es un nombre de variable valido, no es importado en la tabla de símbolos.

extract() regresa el número de variables exitosamente importadas en la tabla de símbolos.

Aviso

No use extract() en datos no confiables, como entradas de usuario ($_GET, ...). pero si lo hace, por ejemplo, si quiere correr codigo anterior que confía temporalmente en register_globals, asegurese de que usa una de los valores de no-sobreescribir del parámetro tipo_extraccion tales como EXTR_SKIP y asegurese de extrar las variables $_SERVER, $_SESSION, $_COOKIE, $_POST y $_GET ese orden.

Un uso posible para extract sería importar en la tabla de símbolos las variables contenidas en la matriz asociativa que devuelve wddx_deserialize().

Ejemplo 1. Ejemplo de extract()

<?php

/* Suponemos que $matriz_var es una matriz devuelta por
   wddx_deserialize */

$tamano = "grande";
$matriz_var = array ("color" => "azul",
                    "tamano"  => "media",
                    "forma" => "esfera");
extract ($matriz_var, EXTR_PREFIX_SAME, "wddx");

print "$color, $tamano, $forma, $wddx_tamano\n";

?>

El resultado del ejemplo seria:

azul, grande, esfera, media

La variable $tamano no fue sobreescrita porque especificamos EXTR_PREFIX_SAME, que provocó la creación de $wddx_tamano. Si se hubiera especificado EXTR_SKIP, $wddx_tamano ni siquiera habría sido creada. EXTR_OVERWRITE habría provocado que $tamano tuviera el valor "media", y EXTR_PREFIX_ALL habría provocado que aparecieran nuevas variables llamadas $wddx_color, $wddx_tamano, y $wddx_forma.

Debe usar matrices asociativas, las matrices numéricamente indexadas no producirán resultados a menos que use EXTR_PREFIX_ALL o EXTR_PREFIX_INVALID.

Vea también compact().

Anterior | Inicio | Siguiente
end | Subir | in_array


in_array

(PHP 4, PHP 5)

in_array -- Revisa si un valor existe en una matriz

Descripción

bool in_array ( mixed aguja, array pajar [, bool strict] )

Busca la aguja en el pajar, y devuelve TRUE si se encuentra y FALSE en caso contrario.

Si el tercer parámetro strict es definido en TRUE entonces la función in_array() también revisará los tipos de la aguja en el pajar.

Nota: Si needle es una cadena, la comparación es hecha de una forma sensible a mayúsculas y minúsculas.

Nota: En PHP antes de 4.2.0. needle no le era permitido ser una matriz.

Ejemplo 1. Ejemplo de in_array()

<?php
$os = array ("Mac", "NT", "Irix", "Linux");
if (in_array ("Irix", $os))
    print "Encontrado Irix";
if (in_array("mac", $os)) {
    echo "Encontrado mac";
}
?>

La segunda condición falla porque in_array() es CASE-SENSITIVE, por lo que el programa desplegará:

Got Irix

Ejemplo 2. Ejemplo de STRICT in_array()

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "'12.4' Encontrado con chequeo STRICT\n";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 Encontrado con chequeo STRICT\n";
}
?>

El resultado del ejemplo seria:

1.13 Encontrado con chequeo STRICT

Ejemplo 3. in_array() with an array as needle

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "Se encontro 'ph'\n";
}

if (in_array(array('f', 'i'), $a)) {
    echo "Se encontro 'fi'\n";
}

if (in_array('o', $a)) {
    echo "Se encontro 'o'\n";
}
?>

El resultado del ejemplo seria:

Se encontro 'ph'
  Se encontro 'o'

Vea también array_search(),
array_key_exists(), y
isset().

Anterior | Inicio | Siguiente
extract | Subir | key


key

(PHP 3, PHP 4, PHP 5)

key -- Obtiene una clave de una matriz asociativa

Descripción

mixed key ( array &key )

key() devuelve el elemento índice de la posición actual en la matriz.

Ejemplo 1. Ejmeplo

<?php
$array = array(
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'fruit3' => 'grape',
    'fruit4' => 'apple',
    'fruit5' => 'apple');

// this cycle echoes all associative array
// key where value equals "apple"
while ($fruit_name = current($array)) {
    if ($fruit_name == 'apple') {
        echo key($array).'<br />';
    }
    next($array);
}
?>

Vea también: current(), next()

Anterior | Inicio | Siguiente
in_array | Subir | krsort


krsort

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

krsort -- Ordena una matriz por clave en orden inverso

Descripción

int krsort ( array &matriz [, int sort_flags] )

Ordena una matriz por clave en orden inverso, manteniendo las correlaciones clave a dato. Esto es útil principalmente en matrices asociativas.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo seria:

d = lemon
c = apple
b = banana
a = orange

Puede modificar el comportamiento del ordenamiento usando el parámetro opcional sort_flags, para más detalles vea sort().

Vea también: asort(),
arsort(),
ksort(),
sort(),
natsort(),
rsort().

Anterior | Inicio | Siguiente
key | Subir | ksort


ksort

(PHP 3, PHP 4, PHP 5)

ksort -- Ordena una matriz por clave

Descripción

int ksort ( array &matriz [, int sort_flags] )

Ordena una matriz por clave, manteniendo las correlaciones clave a dato. Esto es útil principalmente en matrices asociativas.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo seria:

a = orange
b = banana
c = apple
d = lemon

Puede modificar el comportamiento del ordenamiento usando el par´metro opcional sort_flags, para más detalles vea sort().

Vea también: asort(),
arsort(),
krsort(),
uksort(),
sort(),
natsort() y
rsort().

Anterior | Inicio | Siguiente
krsort | Subir | list


list

(PHP 3, PHP 4, PHP 5)

list -- Asigna variables como si fueran una matriz

Descripción

void list ( mixed varname, mixed ... )

Como array(), esta no es realmente una función, sino una construcción del lenguaje. list() se usa para asignar una lista de variables en una sola operación.

Nota: list() solo funciona con matrices numéricas y asume que el índice numérico empieza en 0.

Ejemplo 1. Ejemplo de list()

<?php

$info = array('coffee', 'brown', 'caffeine');

// Listing all the variables
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";

// Listing some of them
list($drink, , $power) = $info;
echo "$drink has $power.\n";

// Or let's skip to only the third one
list( , , $power) = $info;
echo "I need $power!\n";

?>

Ejemplo 2. Otro ejemplo del uso de list()

<table>
 <tr>
  <th>Employee name</th>
  <th>Salary</th>
 </tr>

<?php

$result = mysql_query("SELECT id, name, salary FROM employees", $conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
    echo " <tr>\n" .
          "  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
          "  <td>$salary</td>\n" .
          " </tr>\n";
}

?>

</table>

Aviso

list() asigna los valores comenzando por el parámetro más a la derecha. Si está usando variables independientes, no tiene que preocuparse acerca de esto. Pero si está usando matrices con índices usualmente se esperaría tener el orden de los índices en la matriz en la misma forma que se se escribió en la función list() de izquierda a derecha; lo cuál no ocurrirá, son asignados en orden inverso.

Ejemplo 3. Usando list() con matrices coníndices

<?php

$info = array('coffee', 'brown', 'caffeine');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

Da la siguiente salida (note el orden de los elementos comparado en el orden en el que fueron escritos en la función list()):

array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

Vea también: each(),
array() y
extract().

Anterior | Inicio | Siguiente
ksort | Subir | natcasesort


natcasesort

(PHP 4, PHP 5)

natcasesort -- Ordena una matriz usando un algoritmo de "orden natural" sin distinguir mayúsculas de minúsculas

Descripción

bool natcasesort ( array &matriz )

Esta función implementa un algoritmo de ordenamiento que ordena cadenas alfanuméricas en la forma en que un ser humano lo haría, al mismo tiempo que conserva las asociaciones clave/valor. Esta propiedad se conoce como "ordenamiento natural".

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

natcasesort() es una versión de natsort() que no distingue entre mayúsculas y minúsculas.

Ejemplo 1. Ejemplo de natcasesort()

<?php
$matriz1 = $matriz2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($matriz1);
echo "Ordenamiento estándar\n";
print_r($matriz1);

natcasesort($matriz2);
echo "\nOrden natural (insensible a mayúsculas y minúsculas)\n";
print_r($array2);
?>

El resultado del ejemplo seria:

Ordenamiento estándar
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Orden natural (insensible a mayúsculas y minúsculas)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Para más información vea: la página de Comparación de Cadenas en Orden Natural de Martin Pool.

Vea también sort(), natsort(), strnatcmp(), y strnatcasecmp().

Anterior | Inicio | Siguiente
list | Subir | natsort


natsort

(PHP 4, PHP 5)

natsort -- Ordena una matriz usando un algoritmo de "orden natural"

Descripción

bool natsort ( array &matriz )

Esta función implementa un algoritmo que ordena cadenas alfanuméricas en la forma en que lo haría un ser humano, al mismo tiempo que conserva las asociaciones clave/valor. Esta propiedad es conocida como "ordenamiento natural". Un ejemplo de la diferencia entre éste y el algoritmo computacional normal de ordenamiento de cadenas (usado en sort()) puede apreciarse a continuación:

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de natsort()

<?php
$matriz1 = $matriz2 = array("img12.png", "img10.png", "img2.png", "img1.png");

sort($matriz1);
echo "Ordenamiento estándar\n";
print_r($matriz1);

natsort($matriz2);
echo "\nOrdenamiento natural\n";
print_r($matriz2);
?>

El resultado del ejemplo seria:

Ordenamiento estándar
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Ordenamiento natural
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Para más información vea: la página de Comparación de Cadenas en Orden Natural de Martin Pool.

Vea también natcasesort(), strnatcmp(), y strnatcasecmp().

Anterior | Inicio | Siguiente
natcasesort | Subir | next


next

(PHP 3, PHP 4, PHP 5)

next -- Avanza el puntero interno de una matriz

Descripción

mixed next ( array &matriz )

Devuelve el elemento de la matriz que ocupa el lugar siguiente al apuntado por el puntero interno, o FALSE si no hay más elementos.

next() se comporta como current(), con una diferencia. Avanza el puntero interno de la matriz en una posición antes de devolver el elemento. Eso significa que devuelve el siguiente elemento de la matriz y que avanza el puntero interno en uno. Si al avanzar se pasa del final de la lista de elementos, next() devuelve FALSE.

Aviso

Si la matriz contiene elementos vacíos, esta función también devolverá FALSE para dichos elementos. Para recorrer adecuadamente una matriz que pueda contener elementos vacíos, vea la función each().

Ejemplo 1. Ejemplo del uso de next()

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Vea también:
current(),
end()
prev() y
reset()

Anterior | Inicio | Siguiente
natsort | Subir | pos


pos

(PHP 3, PHP 4, PHP 5)

pos -- Alias de current()

Descripción

Esta función es un alias de current().

Anterior | Inicio | Siguiente
next | Subir | prev


prev

(PHP 3, PHP 4, PHP 5)

prev -- Rebobina el puntero interno de una matriz

Descripción

mixed prev ( array &matriz )

Devuelve el elemento de la matriz que está en la posición anterior a la que apuntaba previamente el puntero interno, o FALSE si no hay más elementos.

Aviso

Si la matriz contiene elementos vacíos, esta función también devolverá FALSE para dichos elementos. Para recorrer adecuadamente una matriz que puede contener elementos vacíos, vea la función each().

prev() se comporta igual que next(), excepto que rebobina el puntero interno una posición en lugar de avanzarlo.

Ejemplo 1. Ejemplo del uso de prev()

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Vea también: current(),
end()
next() y
reset().

Anterior | Inicio | Siguiente
pos | Subir | range


range

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

range -- Crea una matriz que contiene un rango de elementos

Descripción

array range ( mixed bajo, mixed alto [, number paso] )

rango() devuelve una matriz de elementos desde bajo hasta alto, ambos inclusive. Si bajo > alto, la secuencia será del mayor al menor.

Nuevo parámetro: El parámetro opcional paso fue añadido en 5.0.0.

Si un valor paso es dado, éste será usado como el incremento entre elementos en la secuencia. paso debería ser definido como un número positivo. Si no se especifica, paso tendrá un valor predeterminado de 1.

Ejemplo 1. Ejemplos de range()

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $numero) {
    echo $numero;
}

// El parámetro paso fue introducido en 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $numero) {
    echo $numero;
}

// Uso de secuencias de caracteres introducidas en 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letra) {
    echo $letra;
}
// array('c', 'b', 'a');
foreach (range('c', 'a') as $letra) {
    echo $letra;
}
?>

Nota: Antes de PHP 4.1.0, range() sólo generaba matrices de enteros incrementales. El soporte para secuencias de caracteres y matrices en decremento fue añadido en 4.1.0. Los valores de secuencia de caracteres esán limitados a una longitud de uno. Si una longitud superior a uno es ingresada, solo se usa el primer caracter.

Atención

En versiones de PHP desde 4.1.0 hasta 4.3.2, range() considera las cadenas numéricas como cadenas y no enteros. En su lugar, ellas serán usadas para secuencias de caracteres. Por ejemplo, "4242" es tratado como "4".

Vea también shuffle(), array_fill(), y foreach.

Anterior | Inicio | Siguiente
prev | Subir | reset


reset

(PHP 3, PHP 4, PHP 5)

reset -- Fija el puntero interno de una matriz a su primer elemento

Descripción

mixed reset ( array &matriz )

reset() rebobina el puntero interno de la matriz a su primer elemento. Y regresa el valor de ese elemento, o FALSE si la matriz está vacía.

Ejemplo 1. Ejemplo de reset()

<?php

$array = array('step one', 'step two', 'step three', 'step four');

// by default, the pointer is on the first element
echo current($array) . "<br />\n"; // "step one"

// skip two steps
next($array);
next($array);
echo current($array) . "<br />\n"; // "step three"

// reset pointer, start again on step one
reset($array);
echo current($array) . "<br />\n"; // "step one"

?>

Vea también: current(),
each(),
next() y
prev().

Anterior | Inicio | Siguiente
range | Subir | rsort


rsort

(PHP 3, PHP 4, PHP 5)

rsort -- Ordena una matriz en orden inverso

Descripción

void rsort ( array &matriz [, int sort_flags] )

Esta función ordena una matriz en orden inverso (mayor a menor).

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de rsort()

<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
    echo "$key = $val\n";
}
?>

El resultado del ejemplo seria:

0 = orange
1 = lemon
2 = banana
3 = apple

Las frutas han sido ordenadas en orden alfabético inverso.

Puede modificar el comportamiento del orden usando el parámetro opcional sort_flags, para más detalles vea sort().

Vea también: arsort(),
asort(),
ksort(),
sort(), y
usort().

Anterior | Inicio | Siguiente
reset | Subir | shuffle


shuffle

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

shuffle -- Mezcla una matriz

Descripción

void shuffle ( array &matriz )

Esta función mezcla (cambia aleatoriamente el orden de los elementos de) una matriz.

Ejemplo 1. Ejemplo de shuffle()

<?php
$numeros = range (1,20);
srand (time());
shuffle ($numeros);
while (list(, $numero) = each ($numeros)) {
    echo "$numero ";
}
?>

Nota: A partir de PHP 4.2.0, no es necesario inicializar el generador de números aleatorios con srand() ó mt_srand(), ya que esto se hace ahora automáticamente.

Vea también: arsort(),
asort(),
ksort(),
rsort(),
sort() y
usort().

Anterior | Inicio | Siguiente
rsort | Subir | sizeof


sizeof

(PHP 3, PHP 4, PHP 5)

sizeof -- Alias of count()

Descripción

This function is an alias of: count().

Anterior | Inicio | Siguiente
shuffle | Subir | sort


sort

(PHP 3, PHP 4, PHP 5)

sort -- Ordena una matriz

Descripción

void sort ( array &matriz [, int sort_flags] )

Esta función ordena una matriz. Los elementos estarán ordenados de menor a mayor cuando la función termine.

Nota: Esta función asigna nuevos índices en matriz. Esto quitará cualquier índice existente que se haya aignado, en vez de solo reordenar los índices.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de sort()

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

El resultado del ejemplo seria:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

Las frutas han sido ordenadas en orden alfabético.

El parámetro opcional sort_flags puede ser usado para modificar el comportamiento del ordenamiento usando estos valores:

Tipos de banderas para el ordenamiento:

  • SORT_REGULAR - comparación normal (no cambia los tipos)

  • SORT_NUMERIC - comparación numérica

  • SORT_STRING - comparación por cadenas

  • SORT_LOCALE_STRING - compara elementos como cadenas, basado en la posición actual. Agregado en PHP 4.3.12 y 5.0.2.

Nota: El segundo parámetro fue agregado en PHP 4.

Aviso

Tenga cuidado cuando ordene matrices con tipos de datos mixtos porque sort() puede producir resultados impredecibles.

Vea también: arsort(),
asort(),
ksort(),
natsort(),
natcasesort(),
rsort(),
usort(),
array_multisort() y
uksort().

Anterior | Inicio | Siguiente
sizeof | Subir | uasort


uasort

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

uasort -- Ordena una matriz mediante una función de comparación definida por el usuario y mantiene la asociación de índices

Descripción

void uasort ( array &matriz, function func_comparar )

Esta función ordena una matriz de modo que los índices de la misma mantengan su correlación con los elementos a los que están asociados. Esto se utiliza principalmente para ordenar matrices asociativas en las que el orden de los elementos es importante. La función de comparación es definida por el usuario.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Vea por favor usort() y uksort() para ejemplos de funciones de comparación definidas por el usuario.

Vea tambié usort(),
uksort(),
sort(),
asort(),
arsort(),
ksort() y
rsort().

Anterior | Inicio | Siguiente
sort | Subir | uksort


uksort

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

uksort -- Ordena una matriz por claves mediante una función definida por el usuario

Descripción

void uksort ( array &matriz, function func_comparar )

Esta función ordenará las claves de una matriz utilizando una función de comparación suministrada por el usuario. Si la matriz a ordenar necesita utilizar un criterio poco trivial, esta es la función que deberá usar.

Function cmp_function should accept two parameters which will be filled by pairs of array keys. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de uksort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a > $b) ? -1 : 1;
}

$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");

uksort($a, "cmp");

while (list($key, $value) = each($a)) {
    echo "$key: $value\n";
}
?>

El resultado del ejemplo seria:

20: twenty
10: ten
4: four
3: three

Vea también: usort(),
uasort(),
sort(),
asort(),
arsort(),
ksort(),
natsort(), y
rsort().

Anterior | Inicio | Siguiente
uasort | Subir | usort


usort

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

usort -- Ordena una matriz por sus valores usando una función de comparación definida por el usuario

Descripción

bool usort ( array &matriz, callback funcion_comp )

Esta función ordenará una matriz por sus valores usando una función de comparación definida por el usuario. Si la matriz que desea ordenar necesita ser ordenada mediante ciertos criterios especiales, es buena idea usar esta función.

La función de comparación debe devolver un entero menor que, igual, o mayor que cero si el primer argumento es considerado menor, igual, o mayor que el segundo, respectivamente.

Nota: Si dos miembros son comparados como iguales, su orden en la matriz resultante es indefinido. Hasta PHP 4.0.6, las funciones definidas por el usuario mantenían el orden original para esos elementos, pero con el nuevo algoritmo de ordenamiento introducido en 4.1.0 este ya no es el caso, ya que no hay forma de hacerlo de manera eficiente.

Nota: This function assigns new keys for the elements in array. It will remove any existing keys you may have assigned, rather than just reordering the keys.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de usort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $clave => $valor) {
    echo "$clave: $valor\n";
}
?>

El resultado del ejemplo seria:

0: 1
1: 2
2: 3
3: 5
4: 6

Nota: Obviamente en este ejemplo trivial, la función sort() sería más apropiada.

Ejemplo 2. Ejemplo de usort() usando una matriz multi-dimensional

<?php
function cmp($a, $b)
{
    return strcmp($a["fruta"], $b["fruta"]);
}

$frutas[0]["fruta"] = "limones";
$frutas[1]["fruta"] = "bananos";
$frutas[2]["fruta"] = "granadillas";

usort($frutas, "cmp");

while (list($clave, $valor) = each($frutas)) {
    echo "\$frutas[$clave]: " . $valor["fruta"] . "\n";
}
?>

Cuando se ordena una matriz multi-dimensional, $a y $b contienen referencias al primer índice de la matriz.

El resultado del ejemplo seria:

$frutas[0]: bananos
$frutas[1]: granadillas
$frutas[2]: limones

Ejemplo 3. Ejemplo de usort() usando una función miembro de un objeto

<?php
class ObjPrueba {
    var $nombre;

    function ObjPrueba($nombre)
    {
        $this->nombre = $nombre;
    }

    /* Esta es la función estática de comparación: */
    function cmp_obj($a, $b)
    {
        $al = strtolower($a->nombre);
        $bl = strtolower($b->nombre);
        if ($al == $bl) {
            return 0;
        }
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new ObjPrueba("c");
$a[] = new ObjPrueba("b");
$a[] = new ObjPrueba("d");

usort($a, array("ObjPrueba", "cmp_obj"));

foreach ($a as $item) {
    echo $item->nombre . "\n";
}
?>

El resultado del ejemplo seria:

b
c
d

Vea también uasort(), uksort(),
sort(), asort(),
arsort(),ksort(),
natsort(), and rsort().

Anterior | Inicio | Siguiente
uksort | Subir | Funciones Aspell [deprecated]


Funciones Aspell [deprecated]

Manual de PHP
Anterior Siguiente

VI. Funciones Aspell [deprecated]

Introducción

La función aspell() permite comprobar la ortografía de una palabra y ofrece alternativas a la misma.

Nota: Esta extensión ha sido removida de PHP y no se encuentra disponible a partir de PHP 4.3.0. Si quereis utilizar capacidades de comprobación ortográfica en php, usar pspell. Utiliza la biblioteca pspell y funciona con versiones recientes de aspell.

Requisitos

aspell funciona solamente con versiones muy antiguas (hasta la .27.* mas ó menos) de la biblioteca aspell. Ni este módulo ni las versiones de la biblioteca aspell se soportan actualmente. Necesitais la biblioteca aspell, disponible en : http://aspell.sourceforge.net/.

Instalación

En PHP 4, estas funciones se encuentran disponibles únicamente si PHP fue configurado con --with-aspell=[DIR].

Ver también

Ver tambien pspell.

Tabla de contenidos
aspell_check-raw -- Comprueba una palabra sin cambiarla ó intentar arreglarla [deprecated]
aspell_check -- Comprueba una palabra[deprecated]
aspell_new -- Lee un nuevo diccionario [deprecated]
aspell_suggest -- Sugiere la ortografía para una palabra [deprecated]

Anterior | Inicio | Siguiente
usort | Subir | aspell_check-raw


aspell_check-raw

(PHP 3 >= 3.0.7, PHP 4 <= 4.2.3)

aspell_check-raw -- Comprueba una palabra sin cambiarla ó intentar arreglarla [deprecated]

Descripción

boolean aspell_check_raw ( int dictionary_link, string word )

aspell_check_raw() comprueba la ortografía de una palabra,sin cambiarla ni intentar arreglarla esté bien o mal. Si está bien, devuelve cierto (TRUE), si no lo está, devuelve falso(FALSE).

Ejemplo 1. aspell_check_raw

$aspell_link = aspell_new("english");

if (aspell_check_raw($aspell_link, "test")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}

Anterior | Inicio | Siguiente
Funciones Aspell [deprecated] | Subir | aspell_check


aspell_check

(PHP 3 >= 3.0.7, PHP 4 <= 4.2.3)

aspell_check -- Comprueba una palabra[deprecated]

Descripción

boolean aspell_check ( int dictionary_link, string word )

aspell_check() comprueba la ortografía de una palabra, y devuelve cierto(TRUE) si la ortografía es correcta ,falso (FALSE) si no lo es .

Ejemplo 1. aspell_check

$aspell_link = aspell_new("english");

if (aspell_check($aspell_link, "testt")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}

Anterior | Inicio | Siguiente
aspell_check-raw | Subir | aspell_new


aspell_new

(PHP 3 >= 3.0.7, PHP 4 <= 4.2.3)

aspell_new -- Lee un nuevo diccionario [deprecated]

Descripción

int aspell_new ( string master, string personal )

aspell_new() Abre un nuevo diccionario devolviendo el identificador de este para ser utilizado en otras funciones ortográficas.

Ejemplo 1. Nuevo_diccionario

$aspell_link = aspell_new("english");

Anterior | Inicio | Siguiente
aspell_check | Subir | aspell_suggest


aspell_suggest

(PHP 3 >= 3.0.7, PHP 4 <= 4.2.3)

aspell_suggest -- Sugiere la ortografía para una palabra [deprecated]

Descripción

array aspell_suggest ( int dictionary_link, string word )

aspell_suggest() devuelve una matriz con posibles correciones ortográficas para la palabra dada.

Ejemplo 1. aspell_suggest

$aspell_link = aspell_new("english");

if (!aspell_check($aspell_link, "test")) {
    $suggestions = aspell_suggest($aspell_link, "test");

    foreach ($suggestions as $suggestion) {
        echo "Possible spelling: $suggestion<br>\n";
    }
}

Anterior | Inicio | Siguiente
aspell_new | Subir | Funciones matemáticas de precisión arbitraria BCMath


Funciones matemáticas de precisión arbitraria BCMath

Manual de PHP
Anterior Siguiente

VII. Funciones matemáticas de precisión arbitraria BCMath

Introducción

Para operaciones matemáticas de precisión arbitraria, PHP tiene disponible la Calculadora Binaria que soporta números de cualquier tamaño y precisión, representados como cadenas de texto.

Requisitos

Desde PHP 4.0.4, libbcmath se encuentra incorporada en PHP. No se necesitan bibliotecas externas para esta extensión.

Instalación

Estas funciones solo están disponibles si PHP fue configurado con --enable-bcmath. En PHP 3, estas funciones sólo están disponibles si PHP no fue configurado con --disable-bcmath.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de BCMath

Nombre | Por defecto | Modificable | Cambios
bcmath.scale | "0" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

bcmath.scale integer

Número de dígitos decimales para todas las funciones de bcmath. Vea también bcscale().

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
bcadd -- Suma dos números de precisión arbitriaria.
bccomp -- Compara dos números de precisión arbitraria.
bcdiv -- Divide dos números de precisión arbitraria.
bcmod -- Obtiene el módulo de un número de precisión arbitraria.
bcmul -- Multiplica dos números de precisión arbitraria.
bcpow -- Eleva un número de precisión arbitraria a otro.
bcpowmod -- Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
bcscale -- Fija el parámetro de escala por defecto para todas las funciones matemáticas bc.
bcsqrt -- Obtiene la raíz cuadrada de un número de precisión arbitraria.
bcsub -- Resta un número de precisión arbitraria de otro.

Anterior | Inicio | Siguiente
aspell_suggest | Subir | bcadd


bcadd

(PHP 3, PHP 4, PHP 5)

bcadd -- Suma dos números de precisión arbitriaria.

Descripción

string bcadd ( string operando izq, string operando der [, int escala] )

Suma el operando izq con el operando der y devuelve la suma en una cadena de texto. El parámetro opcional escala se usa para fijar el número de dígitos tras el punto decimal que aparecerán en el resultado.

Ejemplo 1. Ejemplo bcadd()

<?php

$a = 1.234;
$b = 5;

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340

?>

Vea también bcsub().

Anterior | Inicio | Siguiente
Funciones matemáticas de precisión arbitraria BCMath | Subir | bccomp


bccomp

(PHP 3, PHP 4, PHP 5)

bccomp -- Compara dos números de precisión arbitraria.

Descripción

int bccomp ( string operando izq, string operando der [, int escala] )

Compara el operando izq con el operando der y devuelve el resultado como un entero. El parámetro opcional escala se usa para fijar el número de dígitos tras el punto decimal que se utilizarán en la comparación. El valor devuelto es 0 si los dos operandos son iguales. Si el operando izq es mayor que el operando der el valor devuelto es +1 y si el operando izq es menor que el operando der el valor devuelto es -1.

Ejemplo 1. Ejemplo bccomp()

<?php
echo bccomp('1', '2') . "\n";

echo bccomp('1.00001', '1', 3) . "\n";
echo bccomp('1.00001', '1', 5);
?>

Resultado de este ejemplo:

-1
0
1

Anterior | Inicio | Siguiente
bcadd | Subir | bcdiv


bcdiv

(PHP 3, PHP 4, PHP 5)

bcdiv -- Divide dos números de precisión arbitraria.

Descripción

string bcdiv ( string operando izq, string operando der [, int escala] )

Divide el operando izq por el operando der y devuelve el resultado. El parámetro opcional escala fija el número de dígitos tras el punto decimal a usar en el resultado.

Ejemplo 1. Ejemplo bcdiv()

<?php

echo bcdiv(105, 6.55957, 3);  // 16.007

?>

Ver también bcmul().

Anterior | Inicio | Siguiente
bccomp | Subir | bcmod


bcmod

(PHP 3, PHP 4, PHP 5)

bcmod -- Obtiene el módulo de un número de precisión arbitraria.

Descripción

string bcmod ( string operando izq, string modulo )

Obtiene el módulo del operando izq usando modulo.

Ejemplo 1. Ejemplo bcmod()

<?php
echo bcmod(4, 2) . "\n";
echo bcmod(2, 4);
?>

Resultado de este ejemplo:

0
2

Ver también bcdiv().

Anterior | Inicio | Siguiente
bcdiv | Subir | bcmul


bcmul

(PHP 3, PHP 4, PHP 5)

bcmul -- Multiplica dos números de precisión arbitraria.

Descripción

string bcmul ( string operando izq, string operando der [, int escala] )

Multiplica el operando izq por el operando der y devuelve el resultado. El parámetro opcional escala fija el número de dígitos tras el punto decimal del resultado.

Ejemplo 1. Ejemplo bcmul()

<?php
echo bcmul(1.34747474747, 35, 3) . "\n";
echo bcmul(2, 4);
?>

Resultado de este ejemplo:

47.162
8

Ver también bcdiv().

Anterior | Inicio | Siguiente
bcmod | Subir | bcpow


bcpow

(PHP 3, PHP 4, PHP 5)

bcpow -- Eleva un número de precisión arbitraria a otro.

Descripción

string bcpow ( string x, string y [, int escala] )

Eleva x a la potencia de y. El parámetro opcional escala se puede usar para fijar el número de dígitos tras el punto decimal del resultado.

Ejemplo 1. Ejemplo bcpow()

<?php

echo bcpow(4.2, 3, 2); // 74.08

?>

Ver también bcpowmod() y bcsqrt()

Anterior | Inicio | Siguiente
bcmul | Subir | bcpowmod


bcpowmod

(PHP 5)

bcpowmod -- Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado

Descripción

string bcpowmod ( string operando_izquierda, string operando_derecha, string modulo [, int escala] )

Utiliza el método de exponenciación-rápida para elevar operando_izquierda a la potencia operando_derecha con respecto al módulo modulo.

Lista de parámetros

operando_izquierda

El operando de la izquierda, como una cadena.

operando_derecha

El operando de la derecha, como una cadena.

modulo

El módulo, como una cadena.

scale

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using bcscale().

Valores retornados

Devuelve el resultado como una cadena, o NULL si modulo es 0.

Notes

Nota: Dado que éste método usa la operación de módulo, los números no-naturales pueden dar resultados inesperados. Un número natural es cualquier entero positivo diferente de cero.

Ejemplos

Las siguientes dos declaraciones son funcionalmente idénticas. Sin embargo, la versión que usa bcpowmod() se ejecuta en menos tiempo y puede aceptar parámetros más grandes.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y),$mod);

// $a y $b poseen valores iguales.
?>

Ver también

bcpow()
bcmod()

Anterior | Inicio | Siguiente
bcpow | Subir | bcscale


bcscale

(PHP 3, PHP 4, PHP 5)

bcscale -- Fija el parámetro de escala por defecto para todas las funciones matemáticas bc.

Descripción

bool bcscale ( int escala )

Esta función fija el parámetro de escala por defecto para las subsiguientes funciones matemáticas bc que no especifican dicho parámetro explícitamente. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo bcscale()

<?php

// default scale : 3
bcscale(3);
echo bcdiv(105, 6.55957); // 16.007

// this is the same without bcscale()
echo bcdiv(105, 6.55957, 3); // 16.007

?>

Anterior | Inicio | Siguiente
bcpowmod | Subir | bcsqrt


bcsqrt

(PHP 3, PHP 4, PHP 5)

bcsqrt -- Obtiene la raíz cuadrada de un número de precisión arbitraria.

Descripción

string bcsqrt ( string operando, int escala )

Devuelve la raíz cuadrada del operando. El parámetro opcional escala fija el número de dígitos tras el punto decimal del resultado.

Ejemplo 1. Ejemplo bcsqrt()

<?php

echo bcsqrt(2, 3); // 1.414

?>

Ver también bcpow().

Anterior | Inicio | Siguiente
bcscale | Subir | bcsub


bcsub

(PHP 3, PHP 4, PHP 5)

bcsub -- Resta un número de precisión arbitraria de otro.

Descripción

string bcsub ( string operando izq, string operando der [, int escala] )

Resta el operando der del operando izq y devuelve el resultado en una cadena. El parámetro opcional escala se utiliza para fijar el número de dígitos tras el punto decimal del resultado.

Ejemplo 1. Ejemplo bcsub()

<?php

$a = 1.234;
$b = 5;

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

Ver también bcadd().

Anterior | Inicio | Siguiente
bcsqrt | Subir | Compilador Bytecode de PHP


Funciones de compresión Bzip2

Manual de PHP
Anterior Siguiente

IX. Funciones de compresión Bzip2

Introducción

Las funciones bzip2 son usadas para leer y escribir de forma transparente, ficheros comprimidos bzip2 (.bz2)

Requisitos

Este módulo usa las funciones de la biblioteca bzip2 de Julian Seward. este módulo requiere bzip2/libbzip2 version >= 1.0.x.

Instalación

El soporte para bzip2 en PHP no está habilitado por defecto. Necesita usar el parámetro de configuración --with-bz2[=DIR] a la hora de compilar PHP para habilitar el soporte para bzip2.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión define un tipo de recurso: un puntero de fichero que identifica el fichero bz2 con el que se va a trabajar.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Este ejemplo abre un fichero temporal, escribe una cadena literal en el y presenta el contenido de dicho fichero.

Ejemplo 1. Ejemplo simple de bzip2

<?php

$filename = "/tmp/testfile.bz2";
$str = "This is a test string.\n";

// open file for writing
$bz = bzopen($filename, "w");

// write string to file
bzwrite($bz, $str);

// close file
bzclose($bz);

// open file for reading
$bz = bzopen($filename, "r");

// read 10 characters
print bzread($bz, 10);

// output until end of the file (or the next 1024 char) and close it.
print bzread($bz);

bzclose($bz);

?>
Tabla de contenidos
bzclose -- Cierra un archivo bzip2
bzcompress -- Comprime una cadena a una forma de datos codificados bzip2
bzdecompress -- Descomprime datos codificados con bzip2
bzerrno -- Regresa un número de error bzip2
bzerror -- Regresa el número y la cadena de error bzip2 en una matriz
bzerrstr -- Regresa una cadena de error de bzip2
bzflush -- Fuerza la escritura de todo los datos en el buffer
bzopen -- Abre un archivo comprimido bzip2
bzread -- Lectura segura de archivo bzip2 binario
bzwrite -- Escritura segura de archivo bzip2 binario

Anterior | Inicio | Siguiente
bcompiler_write_included_filename | Subir | bzclose


bzclose

(PHP 4 >= 4.3.3, PHP 5)

bzclose -- Cierra un archivo bzip2

Descripción

int bzclose ( resource bz )

Cierra el archivo bzip2 referenciado por el apuntador bz.

Lista de parámetros

bz

El apuntador del archivo. Este debe ser válido y debe apuntar a un archivo abierto exitosamente por bzopen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

bzopen()

Anterior | Inicio | Siguiente
Funciones de compresión Bzip2 | Subir | bzcompress


bzcompress

(PHP 4 >= 4.3.3, PHP 5)

bzcompress -- Comprime una cadena a una forma de datos codificados bzip2

Descripción

cadena bzcompress ( cadena fuente [, int tamañ_de_bloque [, int factor]] )

bzcompress() comprime la cadena dada y la regresa como datos codificados bzip2.

Lista de parámetros

fuente

La cadena a ser comprimida.

tamañ_de_bloque

Especifica el tamaño de bloque a ser usado durante la compresión y debe ser un número entre 1 y 9, dando 9 la mejor compresión, pero usando más recursos para hacerlo. tamañ_de_bloque tiebe como valor por defecto 4.

factor

Controla como la fase de compresión se comporta cuando se presenta el peor caso, altamente repetitivo de entrada de datos. El valor puede estar entre 0 y 250, siendo 0 un caso especial y 30 el valor por defecto.

Sin importar el factor, la salida generada es la misma.

Valores retornados

La cadena comprimida.

Ejemplos

Ejemplo 1. Comprimiendo datos

<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>

Ver también

bzdecompress()

Anterior | Inicio | Siguiente
bzclose | Subir | bzdecompress


bzdecompress

(PHP 4 >= 4.3.3, PHP 5)

bzdecompress -- Descomprime datos codificados con bzip2

Descripción

string bzdecompress ( cadena fuente [, int small] )

bzdecompress() descomprime los datos dados que contengan datos codificados bzip2.

Lista de parámetros

fuente

La cadena a descomprimir.

small

Si TRUE, será usado un algoritmo de descompresión alternativo, el cuál usa menos memoria (la memoria máxima requerida baja a un valor alrededor de 2300K) pero trabaja a la mitad de velocidad.

Vea la documentación de bzip2 para más información acerca de esa característica.

Valores retornados

La cadena descomprimida.

Ejemplos

Ejemplo 1. Descomprimiendo una cadena

<?php
$start_str = "This is not an honest face?";
$bzstr = bzcompress($start_str);

echo "Compressed String: ";
echo $bzstr;
echo "\n<br />\n";

$str = bzdecompress($bzstr);
echo "Decompressed String: ";
echo $str;
echo "\n<br />\n";
?>

Ver también

bzcompress()

Anterior | Inicio | Siguiente
bzcompress | Subir | bzerrno


bzerrno

(PHP 4 >= 4.3.3, PHP 5)

bzerrno -- Regresa un número de error bzip2

Descripción

int bzerrno ( resource bz )

Regresa el número de error de cualquier error bzip2 regresado por el apuntador del archivo dado.

Lista de parámetros

bz

El apuntador del archivo. Este debe ser válido y debe apuntar a un archivo abierto exitosamente por bzopen().

Valores retornados

Regresa el número de error como un entero.

Ver también

bzerror()
bzerrstr()

Anterior | Inicio | Siguiente
bzdecompress | Subir | bzerror


bzerror

(PHP 4 >= 4.3.3, PHP 5)

bzerror -- Regresa el número y la cadena de error bzip2 en una matriz

Descripción

array bzerror ( resource bz )

Regresa el número y cadena de error de cualquier error bzip2 regresado por el apuntador de archivo dado.

Lista de parámetros

bz

El apuntador de archivo. Este debe ser válido y debe apuntar a un archivo exitosamente abierto con bzopen().

Valores retornados

Regresa una matriz asociativa, con el código de error en errno, y el mensaje de error en errstr.

Ejemplos

Ejemplo 1. Ejemplo de bzerror()

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

Ver también

bzerrno()
bzerrstr()

Anterior | Inicio | Siguiente
bzerrno | Subir | bzerrstr


bzerrstr

(PHP 4 >= 4.3.3, PHP 5)

bzerrstr -- Regresa una cadena de error de bzip2

Descripción

string bzerrstr ( resource bz )

Obtiene la cadena de error de cualquier error bzip2 regresado por el apuntador de archivo dado.

Lista de parámetros

bz

El apuntador del archivo. Este debe ser válido y debe apuntar a un archivo abierto exitosamente por bzopen().

Valores retornados

Regresa una cadena que contiene el mensaje de error.

Ver también

bzerrno()
bzerror()

Anterior | Inicio | Siguiente
bzerror | Subir | bzflush


bzflush

(PHP 4 >= 4.3.3, PHP 5)

bzflush -- Fuerza la escritura de todo los datos en el buffer

Descripción

int bzflush ( resource bz )

Fuerza la escritura de todos los datos bzip2 en el buffer para el archivo relacionado con el apuntador. bz.

Lista de parámetros

bz

El apuntador del archivo. Este debe ser válido y debe apuntar a un archivo abierto exitosamente por bzopen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

bzread()
bzwrite()

Anterior | Inicio | Siguiente
bzerrstr | Subir | bzopen


bzopen

(PHP 4 >= 4.3.3, PHP 5)

bzopen -- Abre un archivo comprimido bzip2

Descripción

resource bzopen ( string archivo, string modo )

bzopen() abre un archivo bzip2 (.bz2) para lectura o escritura.

Lista de parámetros

archivo

El nombre del archivo a utilizar.

modo

Similar a la función fopen() ('r' para lectura, 'w' para escritura, etc.).

Valores retornados

Si la apertura del archivo falla, bzopen() regresa FALSE, de otro modo regresa un apuntador al archivo abierto.

Ejemplos

Ejemplo 1. Ejemplo de bzopen()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Couldn't open $file for reading");

bzclose($bz);

?>

Ver también

bzclose()

Anterior | Inicio | Siguiente
bzflush | Subir | bzread


bzread

(PHP 4 >= 4.3.3, PHP 5)

bzread -- Lectura segura de archivo bzip2 binario

Descripción

string bzread ( resource bz [, int longitud] )

bzread() lee del apuntador de archivo bzip2 dado.

La lectura se detiene cuando longitud (de datos sin comprimir) es alcanzada o se encuentra el fin de archivo (EOF), lo que ocurra primero.

Lista de parámetros

bz

El apuntador del archivo. Este debe ser válido y debe apuntar a un archivo abierto exitosamente por bzopen().

longitud

Si no se específica, bzread() leerá 1024 bytes (sin comprimir) a la vez.

Valores retornados

Regresa los datos ya sin compresión, o FALSE en caso de error.

Ejemplos

Ejemplo 1. Ejemplo de bzread()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Couldn't open $file");

$decompressed_file = '';
while (!feof($bz)) {
    $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

echo "The contents of $file are: <br />\n";
echo $decompressed_file;

?>

Ver también

bzwrite()
feof()
bzopen()

Anterior | Inicio | Siguiente
bzopen | Subir | bzwrite


bzwrite

(PHP 4 >= 4.3.3, PHP 5)

bzwrite -- Escritura segura de archivo bzip2 binario

Descripción

int bzwrite ( resource bz, string datos [, int longitud] )

bzwrite() escribe una cadena en el archivo bzip2 dado.

Lista de parámetros

bz

El apuntador de archivo. Este debe ser válido y debe apuntar a un archivo abierto exitosamente con bzopen().

datos

Los datos escritos.

longitud

Si se da, la escritura se detendrá después de escribir longitud de bytes (sin comprimir) o se encuentra el fin de los data es alcanzado, lo que ocurra primero.

Valores retornados

Regresa el número de bytes escritos, o FALSE en caso de error.

Ejemplos

Ejemplo 1. Ejemplo de bzwrite()

<?php
$str = "uncompressed data";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

Ver también

bzread()
bzopen()

Anterior | Inicio | Siguiente
bzread | Subir | Funciones de calendario


Funciones de calendario

Manual de PHP
Anterior Siguiente

X. Funciones de calendario

Introducción

La extensión calendar pone a disposición una serie de funciones para simplificar la conversión entre los distintos formatos de calendario. El intermediario ó estándar en que se basa es la Cuenta de Días Juliana. La Cuenta de Días Juliana es una cuenta que comienza mucho antes que lo que mucha gente podría necesitar contar (como alrededor del 4000 AC). Para convertir entre sistemas de calendario, primero deberá convertir a la Cuenta de Días Juliana y luego al sistema de su elección. ¡La Cuenta de Días es muy diferente del Calendario Juliano! Para más información sobre la Cuenta de Días Juliana visitar http://www.hermetic.ch/cal_stud/jdn.htm. Para más información sobre sistemas de calendario, visitar http://www.boogle.com/info/cal-overview.html. En estas instrucciones se han incluído extractos entrecomillados de dicha página.

Instalación

Para tener trabajando estas funciones, tiene que compilar PHP con --enable-calendar.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CAL_GREGORIAN (entero)

CAL_JULIAN (entero)

CAL_JEWISH (entero)

CAL_FRENCH (entero)

CAL_NUM_CALS (entero)

CAL_DOW_DAYNO (entero)

CAL_DOW_SHORT (entero)

CAL_DOW_LONG (entero)

CAL_MONTH_GREGORIAN_SHORT (entero)

CAL_MONTH_GREGORIAN_LONG (entero)

CAL_MONTH_JULIAN_SHORT (entero)

CAL_MONTH_JULIAN_LONG (entero)

CAL_MONTH_JEWISH (entero)

CAL_MONTH_FRENCH (entero)

Las siguientes constantes se pueden utilizar desde PHP 4.3.0 :

CAL_EASTER_DEFAULT (entero)

CAL_EASTER_ROMAN (entero)

CAL_EASTER_ALWAYS_GREGORIAN (entero)

CAL_EASTER_ALWAYS_JULIAN (entero)

Estas constantes están disponibles a partir de PHP 5.0.0 :

CAL_JEWISH_ADD_ALAFIM_GERESH (entero)

CAL_JEWISH_ADD_ALAFIM (entero)

CAL_JEWISH_ADD_GERESHAYIM (entero)

Tabla de contenidos
cal_days_in_month -- Devuelve el número de dias en un mes para un determinado año y calendario
cal_from_jd -- Convierte de Cuenta de Días Juliana a un calendario soportado.
cal_info -- Devuelve información sobre un calendario en particular.
cal_to_jd -- Convierte un calendario soportado a Cuenta de Días Juliana.
easter_date -- devuelve la marca de tiempo UNIX para la medianoche de Pascua de un año dado
easter_days -- Obtiene el número de días tras el 21 de marzo en que cae la Pascua en un año dado
FrenchToJD -- Convierte del Calendario Republicano Francés a la Cuenta de Días Juliana
GregorianToJD -- Convierte de fecha Gregoriana a la Cuenta de Días Juliana
JDDayOfWeek -- Devuelve el día de la semana
JDMonthName -- Devuelve el nombre de un mes
JDToFrench -- Convierte de Cuenta de Días al Calendario Republicano Francés
JDToGregorian -- Convierte de Cuenta de Días a fecha Gregoriana
jdtojewish -- Convierte de cuenta de días juliana a calendario judío
JDToJulian -- Convierte de Cuenta de Días Juliana a Calendario Juliano
jdtounix -- Convierte un dia Juliano a UNIX timestamp
JewishToJD -- Convierte del Calendario Judío a la Cuenta de Días Juliana
JulianToJD -- Convierte de Calendario Juliano a Cuenta de Días Juliana
unixtojd -- Convierte de UNIX timestamp a dia Juliano

Anterior | Inicio | Siguiente
bzwrite | Subir | cal_days_in_month


cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5)

cal_days_in_month -- Devuelve el número de dias en un mes para un determinado año y calendario

Descripción

int cal_days_in_month ( int calendario, int mes, int año )

Esta función devuelve el numero de dias en el mes del año para el calendario especificado calendario.

Ver también jdtounix().

Anterior | Inicio | Siguiente
Funciones de calendario | Subir | cal_from_jd


cal_from_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_from_jd -- Convierte de Cuenta de Días Juliana a un calendario soportado.

Descripción

array cal_from_jd ( int jd, int calendario )

cal_from_jd() convierte el dia de Cuenta Juliana definido en jd a un dia del calendario especificado. Los valores de calendario soportados son CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.

Ver también cal_to_jd().

Anterior | Inicio | Siguiente
cal_days_in_month | Subir | cal_info


cal_info

(PHP 4 >= 4.1.0, PHP 5)

cal_info -- Devuelve información sobre un calendario en particular.

Descripción

array cal_info ( [int calendario] )

cal_info() devuelve información sobre el calendario especificado ó sobre todos los calendarios soportados si no se especifica el parametro calendario.

La información del calendario es devuelta en una matriz conteniendo los elementos calname, calsymbol, month, abbrevmonth y maxdaysinmonth.

Si no se especifica calendario, se devuelve una matriz con informacion sobre todos los calendarios soportados. Esta funcionalidad estará disponible en PHP 5.

Anterior | Inicio | Siguiente
cal_from_jd | Subir | cal_to_jd


cal_to_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_to_jd -- Convierte un calendario soportado a Cuenta de Días Juliana.

Descripción

int cal_to_jd ( int calendario, int mes, int dia, int año )

cal_to_jd() Calcula la Cuenta de Días Juliana para un dia en el calendario especificado por calendar. Los calendarios soportados son CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH y CAL_FRENCH.

Ver también cal_to_jd().

Anterior | Inicio | Siguiente
cal_info | Subir | easter_date


easter_date

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

easter_date -- devuelve la marca de tiempo UNIX para la medianoche de Pascua de un año dado

Descripción

int easter_date ( [int anno] )

Devuelve la marca de tiempo UNIX que corresponde a la medianoche de Pascua del año dado.

A partir de PHP 4.3.0, el parametro anno es opcional y si se omite, usa por defecto el año en curso según "localtime".

Aviso: Esta función generará un aviso si el año está fuera del rango para las marcas de tiempo del UNIX (es decir, antes de 1970 o después del 2037).

Ejemplo 1. ejemplo de easter_date()

echo date ("M-d-Y", easter_date(1999));        /* "Apr-04-1999" */
echo date ("M-d-Y", easter_date(2000));        /* "Apr-23-2000" */
echo date ("M-d-Y", easter_date(2001));        /* "Apr-15-2001" */

La fecha del Día de Pascua fue definida por el Concilio de Nicea en el 325 D.C. como el domingo tras la primera luna llena que cayera en ó después del equinoccio de Primavera. El equinoccio se supone que siempre cae en el 21 de marzo, de modo que el cálculo se reduce a determinar la fecha de la luna llena y la del domingo siguiente. El algoritmo usado aquí fue introducido en el año 532 por Dionisio Exiguo. Bajo el Calendario Juliano (para años anteriores al 1753), se usa un ciclo simple de 19 años para calcular las fases de la luna. Bajo el Calendario Gregoriano (años posteriores al 1753, diseñado por Clavio y Lilio, e introducido por el Papa Gregorio XIII en Octubre de 1582, y en Gran Bretaña y sus colonias en septiembre de 1752) se añaden dos factores de corrección para hacer el ciclo más preciso.

(El código se basa en un programa en C de Simon Kershaw, <webmaster@ely.anglican.org>)

Ver easter_days() para calcular la Pascua antes del 1970 o después del 2037.

Anterior | Inicio | Siguiente
cal_to_jd | Subir | easter_days


easter_days

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

easter_days -- Obtiene el número de días tras el 21 de marzo en que cae la Pascua en un año dado

Descripción

int easter_days ( [int anno [, int metodo]] )

Devuelve el número de días tras el 21 de marzo en que cae la Pascua en un año dado. Si no se especifica año, se asume el actual.

A partir de PHP 4.3.0, el parametro anno es opcional y si se omite, usa por defecto el año en curso según "localtime".

El parámetro metodo fue introducido en la version PHP 4.3.0 y permite calcular fechas de pascua basadas en el Calendario Gregoriano durante los años 1582 - 1752 si se le da el valor CAL_EASTER_ROMAN. Ver las constantes de calendario para más información sobre estas constantes.

Esta función se puede usar en lugar de easter_date() para calcular la Pascua para años que se salen del rango de las marcas de fecha del UNIX (o sea, antes del 1970 o después del 2037).

Ejemplo 1. ejemplo de easter_date()

echo easter_days (1999);        /* 14, i.e. April 4   */
echo easter_days (1492);        /* 32, i.e. April 22  */
echo easter_days (1913);        /*  2, i.e. March 23  */

La fecha del Día de Pascua fue definida por el Concilio de Nicea en el 325 D.C. como el domingo tras la primera luna llena que cayera en o después del equinoccio de Primavera. El equinoccio se supone que siempre cae en el 21 de marzo, de modo que el cálculo se reduce a determinar la fecha de la luna llena y la del domingo siguiente. El algoritmo usado aquí fue introducido en el año 532 por Dionisio Exiguo. Bajo el Calendario Juliano (para años anteriores al 1753), se usa un ciclo simple de 19 años para calcular las fases de la luna. Bajo el Calendario Gregoriano (años posteriores al 1753, diseñado por Clavio y Lilio, e introducido por el Papa Gregorio XIII en Octubre de 1582, y en Gran Bretaña y sus colonias en septiembre de 1752) se añaden dos factores de corrección para hacer el ciclo más preciso.

(El código se basa en un programa en C de Simon Kershaw, <webmaster@ely.anglican.org>)

Vea también easter_date().

Anterior | Inicio | Siguiente
easter_date | Subir | FrenchToJD


FrenchToJD

(PHP 3, PHP 4, PHP 5)

FrenchToJD -- Convierte del Calendario Republicano Francés a la Cuenta de Días Juliana

Descripción

int frenchtojd ( int mes, int dia, int anno )

Convierte una fecha del Calendario Republicano Francés a la Cuenta de Días Juliana.

Estas rutinas sólo convierten fechas entre los años 1 y 14 (fechas Gregorianas del 22 de septiembre de 1792 al 22 de septiembre de 1806). Esto cubre ampliamente el periodo en el que estuvo en uso este calendario.

Anterior | Inicio | Siguiente
easter_days | Subir | GregorianToJD


GregorianToJD

(PHP 3, PHP 4, PHP 5)

GregorianToJD -- Convierte de fecha Gregoriana a la Cuenta de Días Juliana

Descripción

int gregoriantojd ( int mes, int dia, int anno )

El rango válido para el Calendario Gregoriano es desde el 4714 A.C. hasta el 9999 D.C.

Aunque este programa puede manejar fechas tan lejanas como el 4714 A.C., usarlo no tendría sentido. El calendario Gregoriano fue instituído el 15 de octubre de 1582 (o el 5 de octubre de 1582 en el calendario Juliano). Algunos países no lo aceptaron hasta mucho después. Por ejemplo, Gran Bretaña se convirtió en 1752, la URSS en 1918 y Grecia en 1923. Muchos países europeos usaron el calendario Juliano antes que el Gregoriano.

Ejemplo 1. Funciones de calendario

<?php
$jd = GregorianToJD (10,11,1970);
echo "$jd\n";
$gregorian = JDToGregorian ($jd);
echo "$gregorian\n";
?>

Anterior | Inicio | Siguiente
FrenchToJD | Subir | JDDayOfWeek


JDDayOfWeek

(PHP 3, PHP 4, PHP 5)

JDDayOfWeek -- Devuelve el día de la semana

Descripción

mixed jddayofweek ( int diajuliano, int modo )

Devuelve el día de la semana. Dependiendo del modo, devuelve un entero ó una cadena.

Tabla 1. Modos para el día de la semana

Modo | Significado
0 | devuelve el día de la semana como entero (0=domingo, 1=lunes, etc)
1 | devuelve una cadena con el día de la semana (inglés, gregoriano)
2 | devuelve una cadena con el día de la semana abreviado (inglés, gregoriano)

Anterior | Inicio | Siguiente
GregorianToJD | Subir | JDMonthName


JDMonthName

(PHP 3, PHP 4, PHP 5)

JDMonthName -- Devuelve el nombre de un mes

Descripción

string jdmonthname ( int diajuliano, int modo )

Devuelve una cadena que contiene el nombre del mes. modo le dice a esta función a qué calendario debe convertir la Cuenta de Días Juliana, y qué tipo de nombres de mes debe devolver.

Tabla 1. Modos de calendario

Modo | Significado | Valores
0 | Gregoriano - abreviado | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Gregoriano | January, February, March, April, May, June, July, August, September, October, Novemb er, December
2 | Juliano - abreviado | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Juliano | January, February, March, April, May, June, July, August, September, October, Novemb er, December
4 | Judío | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | Republicano Francés | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prair ial, Messidor, Thermidor, Fructidor, Extra

Anterior | Inicio | Siguiente
JDDayOfWeek | Subir | JDToFrench


JDToFrench

(PHP 3, PHP 4, PHP 5)

JDToFrench -- Convierte de Cuenta de Días al Calendario Republicano Francés

Descripción

string jdtofrench ( int diajuliano )

Convierte una Cuenta de Días Juliana al Calendario Republicano Francés.

Anterior | Inicio | Siguiente
JDMonthName | Subir | JDToGregorian


JDToGregorian

(PHP 3, PHP 4, PHP 5)

JDToGregorian -- Convierte de Cuenta de Días a fecha Gregoriana

Descripción

string jdtogregorian ( int diajuliano )

Convierte de Cuenta de Días Juliana a una cadena que contiene la fecha Gregoriana en formato "mes/día/año"

Anterior | Inicio | Siguiente
JDToFrench | Subir | jdtojewish


jdtojewish

(PHP 3, PHP 4, PHP 5)

jdtojewish -- Convierte de cuenta de días juliana a calendario judío

Descripción

string jdtojewish ( int diajuliano [, bool hebreo [, int fl]] )

Convierte una cuenta de días juliana al calendario judío.

Los parámetros opcionales hebreo y fl está disponibles a partir de PHP 5.0.0

Si al parámetro hebreo se le asigna el valor TRUE, el parámetro fl se usa para el formato de salida hebreo. Los formatos disponibles son: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Ejemplo 1. Ejemplo jdtojewish()

<?php
echo jdtojewish(gregoriantojd(10,8,2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

Anterior | Inicio | Siguiente
JDToGregorian | Subir | JDToJulian


JDToJulian

(PHP 3, PHP 4, PHP 5)

JDToJulian -- Convierte de Cuenta de Días Juliana a Calendario Juliano

Descripción

string jdtojulian ( int diajuliano )

Convierte una Cuenta de Días Juliana a una cadena que contiene la fecha del Calendario Juliano en formato "mes/día/año".

Anterior | Inicio | Siguiente
jdtojewish | Subir | jdtounix


jdtounix

(PHP 4, PHP 5)

jdtounix -- Convierte un dia Juliano a UNIX timestamp

Descripción

int jdtounix ( int jday )

Esta funció devuelve el "UNIX timestamp" correspondiante a el dia Juliano definido en jday ó falso (FALSE) si jday no se encuentra en la época UNIX (años entre 1970 y 2037 ó 2440588 <= jday <= 2465342 ). El tiempo devuelto es localtime (y no GMT).

Ver también unixtojd().

Anterior | Inicio | Siguiente
JDToJulian | Subir | JewishToJD


JewishToJD

(PHP 3, PHP 4, PHP 5)

JewishToJD -- Convierte del Calendario Judío a la Cuenta de Días Juliana

Descripción

int jewishtojd ( int mes, int dia, int anno )

Aunque este programa puede manejar fechas tan lejanas como el año 1 (3761 A.C.), usarlo no tendría sentido. El Calendario Judío ha estado en uso miles de años, pero en los días primeros no había una fórmula que calculara el comienzo de un mes. Un mes comenzaba cuando se veía por primera vez la luna nueva.

Anterior | Inicio | Siguiente
jdtounix | Subir | JulianToJD


JulianToJD

(PHP 3, PHP 4, PHP 5)

JulianToJD -- Convierte de Calendario Juliano a Cuenta de Días Juliana

Descripción

int juliantojd ( int mes, int dia, int anno )

Rango válido para el Calendario Juliano: del 4713 A.C al 9999 D.C.

Aunque este programa puede manejar fechas tan lejanas como el 4713 A.C., usarlo no tendría sentido. El calendario se creó en el 46 A.C., pero sus detalles no se estabilizaron hasta al menos el 8 D.C., y quizás no lo hiciera hasta el siglo IV. Además, el comienzo de un año variaba de una a otra cultura: no todas aceptaban enero como el primer mes.

Atención

Recordar que el actual sistema de calendario en uso en todo el mundo es el calendario Gregoriano. gregoriantojd() puede ser usada para convertir los dias del calendario Gregoriano a Cuenta de Días Juliana.

Anterior | Inicio | Siguiente
JewishToJD | Subir | unixtojd


unixtojd

(PHP 4, PHP 5)

unixtojd -- Convierte de UNIX timestamp a dia Juliano

Descripción

int unixtojd ( [int timestamp] )

Devuelve el dia Juliano correspondiente a un UNIX timestamp (segundos desde 01.01.1970), ó al dia actual si no se especifica timestamp

Ver tambienjdtounix().

Anterior | Inicio | Siguiente
JulianToJD | Subir | Funciones del API de CCVS


Funciones del API de CCVS

Manual de PHP
Anterior Siguiente

XI. Funciones del API de CCVS

Introducción

Estas funciones interaccionan con el API de CCVS, permitiendo trabajar con CCVS directamente desde un script PHP. CCVS es la solución de RedHat para el intermediario en el procesamiento de tarjetas de crédito. Permite conectar directamente con las centrales de las tarjetas desde una máquina *nix con un módem. Usando el módulo para PHP de CCVS, se pueden procesar tarjetas de crédito directamente desde vuestros scripts en PHP.

Nota: CCVS ha sido discontinuado por Red Hat y no existen planes de ofrecer nuevas funcionalidades ó contratos de ayuda. Los que necesiten usar esta funcionalidad pueden probar MCVE by Main Street Softworks. Es similar en diseño y tiene documentación para su uso con PHP.

Esta extensión ha sido removida de PHP y no se encuentra disponible a partir de PHP 4.3.0. Si quereis utilizar la capacidad de procesar tarjetas de crédito, usar MCVE.

Instalación

To enable CCVS Support in PHP, first verify your CCVS installation directory. You will then need to configure PHP with the --with-ccvs option. If you use this option without specifying the path to your CCVS installation, PHP will attempt to look in the default CCVS Install location (/usr/local/ccvs). If CCVS is in a non-standard location, run configure with: --with-ccvs=[DIR], where DIR is the path to your CCVS installation. Please note that CCVS support requires that DIR/lib and DIR/include exist, and include cv_api.h under the include directory and libccvs.a under the lib directory.

Additionally, a ccvsd process will need to be running for the configurations you intend to use in your PHP scripts. You will also need to make sure the PHP Processes are running under the same user as your CCVS was installed as (e.g. if you installed CCVS as user 'ccvs', your PHP processes must run as 'ccvs' as well.)

Ver también

RedHat ha dejado de soportar CCVS; De todas maneras un manual un poco anticuado está todavía disponible en http://www.redhat.com/docs/manuals/ccvs/.

Tabla de contenidos
ccvs_add -- Añadir datos a una transacción
ccvs_auth -- Realiza un test de una autorización a crédito en una transacción
ccvs_command -- Ejecuta un comando que es peculiar para un protocolo concreto, y que no está disponible en el API general de CCVS
ccvs_count -- Encuentra cuantas transacciones de un tipo dado están almacenadas en el sistema
ccvs_delete -- Borra una transacción
ccvs_done -- Finaliza el motor de CCVS y hace una limpieza
ccvs_init -- Inicializa un CCVS para usarlo
ccvs_lookup -- Busca un item de un tipo en particular en la base de datos #
ccvs_new -- Crea una nueva, transacción en blanco
ccvs_report -- Devuelve el estado del proceso de comunicación en background
ccvs_return -- Transfiere fondos del comerciante al titular de la tarjeta
ccvs_reverse -- Realiza una revocación completa en una autorización ya procesada
ccvs_sale -- Transfiere fondos del titular de la tarjeta al comerciante
ccvs_status -- Chequear el estado de una factura
ccvs_textvalue -- Obtiene el valor de retorno de texto para una llamada anterior a una función
ccvs_void -- Realizar una revocación completa en una transacción completada

Anterior | Inicio | Siguiente
unixtojd | Subir | ccvs_add


ccvs_add

(4.0.2 - 4.2.3 only)

ccvs_add -- Añadir datos a una transacción

Descripción

cadena ccvs_add ( cadena sesión, cadena factura, cadena argtype, cadena argval )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
Funciones del API de CCVS | Subir | ccvs_auth


ccvs_auth

(4.0.2 - 4.2.3 only)

ccvs_auth -- Realiza un test de una autorización a crédito en una transacción

Descripcion

cadena ccvs_auth ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_add | Subir | ccvs_command


ccvs_command

(4.0.2 - 4.2.3 only)

ccvs_command -- Ejecuta un comando que es peculiar para un protocolo concreto, y que no está disponible en el API general de CCVS

Descripcion

cadena ccvs_command ( cadena sesión, cadena tipo, cadena argval )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_auth | Subir | ccvs_count


ccvs_count

(4.0.2 - 4.2.3 only)

ccvs_count -- Encuentra cuantas transacciones de un tipo dado están almacenadas en el sistema

Descripción

entero ccvs_count ( cadena sesión, cadena tipo )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_command | Subir | ccvs_delete


ccvs_delete

(4.0.2 - 4.2.3 only)

ccvs_delete -- Borra una transacción

Descripción

cadena ccvs_delete ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_count | Subir | ccvs_done


ccvs_done

(4.0.2 - 4.2.3 only)

ccvs_done -- Finaliza el motor de CCVS y hace una limpieza

Descripcion

cadena ccvs_done ( cadena sesió )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_delete | Subir | ccvs_init


ccvs_init

(4.0.2 - 4.2.3 only)

ccvs_init -- Inicializa un CCVS para usarlo

Descripción

cadena ccvs_init ( cadena nombre )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_done | Subir | ccvs_lookup


ccvs_lookup

(4.0.2 - 4.2.3 only)

ccvs_lookup -- Busca un item de un tipo en particular en la base de datos #

Descripción

cadena ccvs_lookup ( cadena sesión, cadena factura, entero inum )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_init | Subir | ccvs_new


ccvs_new

(4.0.2 - 4.2.3 only)

ccvs_new -- Crea una nueva, transacción en blanco

Descripcion

cadena ccvs_new ( cadena sesión, cadena cadena )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_lookup | Subir | ccvs_report


ccvs_report

(4.0.2 - 4.2.3 only)

ccvs_report -- Devuelve el estado del proceso de comunicación en background

Descripcion

cadena ccvs_report ( cadena sesión, cadena tipo )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_new | Subir | ccvs_return


ccvs_return

(4.0.2 - 4.2.3 only)

ccvs_return -- Transfiere fondos del comerciante al titular de la tarjeta

Descripción

cadena ccvs_return ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_report | Subir | ccvs_reverse


ccvs_reverse

(4.0.2 - 4.2.3 only)

ccvs_reverse -- Realiza una revocación completa en una autorización ya procesada

Descripcion

cadena ccvs_reverse ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_return | Subir | ccvs_sale


ccvs_sale

(4.0.2 - 4.2.3 only)

ccvs_sale -- Transfiere fondos del titular de la tarjeta al comerciante

Descripción

cadena ccvs_sale ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_reverse | Subir | ccvs_status


ccvs_status

(4.0.2 - 4.2.3 only)

ccvs_status -- Chequear el estado de una factura

Descripción

cadena ccvs_status ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_sale | Subir | ccvs_textvalue


ccvs_textvalue

(4.0.2 - 4.2.3 only)

ccvs_textvalue -- Obtiene el valor de retorno de texto para una llamada anterior a una función

Descripción

cadena ccvs_textvalue ( cadena sesión )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_status | Subir | ccvs_void


ccvs_void

(4.0.2 - 4.2.3 only)

ccvs_void -- Realizar una revocación completa en una transacción completada

Descripción

cadena ccvs_void ( cadena sesión, cadena factura )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ccvs_textvalue | Subir | Funciones de Clases/Objetos


Funciones COM y .Net (Windows)

Manual de PHP
Anterior Siguiente

XV. Funciones COM y .Net (Windows)

Introducción

COM es un acrónimo para Component Object Model (Modelo de Objetos por Componentes); es una capa orientada a objetos (asi como servicios asociados) que cubre la especificación DCE RPC (un estándar abierto) y define una convención común de llamado que permite que código escrito en cualquier lenguaje pueda llamar e inter-operar con código escrito en cualquier otro lenguaje (provisto que ambos lenguajes hagan uso de COM). No solo es posible escribir el código en cualquier lenguaje, también es cierto que no necesita ser parte del mismo ejecutable; el código puede ser cargado desde un recurso DLL, encontrarse en otro proceso corriendo en la misma máquina, o, mediante DCOM (COM Distribuido), encontrarse en otro proceso en una máquina remota, todo esto sin requerir que su código sepa siquiera en dónde reside el componente.

Existe un sub-conjunto de COM conocido como Automatización OLE que se compone de un grupo de interfaces OLE que permiten los enlaces flexibles con objetos COM, de modo que puedan ser susceptibles a introspección y llamados en tiempo de ejecución sin conocimientos en tiempo de compilación sobre el modo de operación del objeto. La extensión COM de PHP utiliza las interfaces de Automatización OLE para permitirle crear y llamar objetos compatibles desde sus scripts. Técnicamente hablando, ésta debería ser llamada la "Extensión de Automatización OLE para PHP", ya que no todos los objetos COM son compatibles con OLE.

Ahora bien, ¿porqué querría o debería usar COM? COM es una de las formas principales de unir aplicaciones y componentes en la plataforma Windows; mediante el usa de COM usted puede iniciar Microsoft Word, llenar una plantilla de documento y guardar el resultado como un documento Word y enviarlo a un visitante de su sitio web. También puede usar COM para realizar tareas administrativas para su red y para configurar su servidor web (IIS); tales son apenas los usos más comunes; usted puede hacer mucho más con COM.

A partir de PHP 5, esta extensión (y su documentación) fue re-escrita por completo y se ha eliminado gran parte del material confuso e inútil. Adicionalmente, se ofrece soporte para la creación de instancias y ensambles .Net usando la capa de interoperabilidad COM ofrecida por Microsoft.

Por favor lea este artículo para una vista general de los cambios en ésta extensión en PHP 5.

Requisitos

Las funciones COM se encuentran disponibles únicamente para la versión Windows de PHP.

El soporte para .Net requiere PHP 5 y el entorno de desarrollo .Net.

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Usted es responsable de la instalación del soporte para los varios objetos COM que piensa usar (tales como MS Word); nosotros no incluimos todos éstos con PHP, ni podemos hacerlo.

For Each

A partir de PHP 5, es posible usar la sentencia foreach de PHP para iterar sobre los contenidos de un IEnumVariant COM/OLE estándar. En términos más simples, esto quiere decir que puede usar foreach en aquellas situaciones en donde podría haber usado For Each en código VB/ASP.

Ejemplo 1. For Each en ASP

<%
Set objetoDominio = GetObject("WinNT://Domain")
For Each obj in objetoDominio
  Response.Write obj.Name & "<br />"
Next
%>

Ejemplo 2. while() ... Next() en PHP 4

<?php
$objetoDominio = new COM("WinNT://Domain");
while ($obj = $objetoDominio->Next()) {
   echo $obj->Name . "<br />";
}
?>

Ejemplo 3. foreach en PHP 5

<?php
$objetoDominio = new COM("WinNT://Domain");
foreach ($objetoDominio as $obj) {
   echo $obj->Name . "<br />";
}
?>

Matrices y propiedades COM tipo-matriz

Muchos objetos COM exponen sus propiedades como matrices, o usando un acceso estilo-matriz. En PHP 4, es posible usar la sintaxis de matrices de PHP para leer/escribir tales propiedades, pero sólo es posible manipular una dimensión. Si desea leer una propiedad multi-dimensional, puede crear el acceso en forma de un llamado de función, en donde cada parámetro representa cada parámetro del acceso a la matriz, aunque no hay forma de escribir tal tipo de propiedad.

PHP 5 introduce las siguientes características nuevas para facilitar su vida:

  • Acceso a matrices multi-dimensionales, o propiedades COM que requieren múltiples parámetros usando la sintaxis de matrices de PHP. También puede escribir o definir propiedades usando esta técnica.

  • Iterar a través de SafeArrays ("verdaderas" matrices) usando la estructura de control la sección de nombre foreach en Capítulo 16. Esto funciona ya que los SafeArrays incluyen información sobre su tamaño. Si una propiedad estilo-matriz implementa IEnumVariant, entonces también puede usar foreach para tales propiedades; eche un vistazo a la sección de nombre For Each para más información sobre este tema.

Excepciones (PHP 5)

Esta extensión arroja instancias de la clase com_exception siempre que se presente un error potencialmente fatal reportado por COM. Todas las excepciones COM tienen una propiedad code bien definida que corresponde con el valor de retorno HRESULT proveniente de las varias operaciones COM. Es posible usar este código para tomar decisiones programáticas sobre cómo manejar la excepción.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de COM

Nombre | Valor por defecto | Donde se cambia | Registro de cambios
com.allow_dcom | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.5.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible desde PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Disponible desde PHP 4.0.5.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

com.allow_dcom

Cuando se encuentra activada, PHP puede operar como un cliente D-COM (COM Distribuido) y por tanto, los script de PHP pueden instanciar objetos COM en un servidor remoto.

com.autoregister_typelib

Cuando se encuentra activada, PHP intenta registrar constantes de la librería de tipos de objetos que instancia (siempre que los objetos implementen las interfaces necesarias para obtener esa información). La posibilidad de distinguir entre mayúsculas y minúsculas en los nombres de las constantes se controla con la directiva de configuración com.autoregister_casesensitive .

com.autoregister_verbose

Cuando se encuentra activada, los problemas que se produzcan al cargar una librería de tipos durante la instanciación de objetos, se reportarán empleando el mecanismo de errores de PHP. Por defecto se encuentra desactivado y por tanto no se informa de los posibles errores producidos.

com.autoregister_casesensitive

Cuando se encuentra activada (y por defecto lo está), las constantes encontradas en las librerías de tipos cargadas de forma automática, se registrarán distinguiendo mayúsculas y minúsculas. Vea com_load_typelib() para más detalles.

com.code_page

Controla el código de página del juego de carcateres empleados para la transmisión de cadenas desde y hacia los objetos COM. Si no se le indica ningún valor, PHP asume que se emplea el código CP_ACP, que es el valor del código de página de ANSI.

Si el texto de los scripts está codificado con una codificación o juego de caracteres diferente al de por defecto, esta directiva permite evitar tener que pasar el código de página como parámetro del constructor de clase COM. Se debe tener en cuenta que el uso de esta directiva (al igual que cualquier otra directiva de configuración de PHP) hace que los scripts de PHP sean menos portables, por lo que se debería emplear lo menos posible.

Nota: Esta directiva de configuración se incluyó en la versión de PHP 5.

com.typelib_file

Cuando se encuentra activada, se interpreta como la ruta a un archivo que contiene una lista de librerías de tipos que se deberían cargar al inicio. Cada línea se interpreta como el nombre de la librería y se carga de la misma forma que si se hubiera invocado a la función com_load_typelib(). La constantes se registran de forma persistente, por lo que la librerí solamente debe cargarse una vez. Si el nombre de la librería finaliza con #cis o #case_insensitive, las constantes de la librería se cargan sin distinguir entre mayúsculas y minúsculas.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CLSCTX_INPROC_SERVER (integer)

CLSCTX_INPROC_HANDLER (integer)

CLSCTX_LOCAL_SERVER (integer)

CLSCTX_REMOTE_SERVER (integer)

CLSCTX_SERVER (integer)

CLSCTX_ALL (integer)

VT_NULL (integer)

VT_EMPTY (integer)

VT_UI1 (integer)

VT_I2 (integer)

VT_I4 (integer)

VT_R4 (integer)

VT_R8 (integer)

VT_BOOL (integer)

VT_ERROR (integer)

VT_CY (integer)

VT_DATE (integer)

VT_BSTR (integer)

VT_DECIMAL (integer)

VT_UNKNOWN (integer)

VT_DISPATCH (integer)

VT_VARIANT (integer)

VT_I1 (integer)

VT_UI2 (integer)

VT_UI4 (integer)

VT_INT (integer)

VT_UINT (integer)

VT_ARRAY (integer)

VT_BYREF (integer)

CP_ACP (integer)

CP_MACCP (integer)

CP_OEMCP (integer)

CP_UTF7 (integer)

CP_UTF8 (integer)

CP_SYMBOL (integer)

CP_THREAD_ACP (integer)

VARCMP_LT (integer)

VARCMP_EQ (integer)

VARCMP_GT (integer)

VARCMP_NULL (integer)

NORM_IGNORECASE (integer)

NORM_IGNORENONSPACE (integer)

NORM_IGNORESYMBOLS (integer)

NORM_IGNOREWIDTH (integer)

NORM_IGNOREKANATYPE (integer)

NORM_IGNOREKASHIDA (integer)

DISP_E_DIVBYZERO (integer)

DISP_E_OVERFLOW (integer)

MK_E_UNAVAILABLE (integer)

Ver también

Para más información sobre COM, lea la especificación COM o quizás eche un vistazo a la Otra Biblioteca COM Más (YACL por sus siglas en inglés) de Don Box. Puede encontrar información adicional en nuestro FAQ sobre Capítulo 57. Si está pensando en usar aplicaciones MS Office en el lado del servidor, es buena idea que lea la información encontrada aquí: Consideraciones para la Automatización de Office en el Lado del Servidor.

Tabla de contenidos
COM -- COM class
DOTNET -- DOTNET class
VARIANT -- VARIANT class
com_addref -- Increases the components reference counter [deprecated]
com_create_guid -- Generate a globally unique identifier (GUID)
com_event_sink -- Connect events from a COM object to a PHP object
com_get_active_object -- Returns a handle to an already running instance of a COM object
com_get -- Obtiene el valor de una propiedad de un componente COM [obsoleta]
com_invoke -- ???
com_isenum -- Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]
com_load_typelib -- Loads a Typelib
com_load -- ???
com_message_pump -- Process COM messages, sleeping for up to timeoutms milliseconds
com_print_typeinfo -- Print out a PHP class definition for a dispatchable interface
com_propget -- ???
com_propput -- ???
com_propset -- ???
com_release -- Decreases the components reference counter [deprecated]
com_set -- ???
variant_abs -- Returns the absolute value of a variant
variant_add -- "Adds" two variant values together and returns the result
variant_and -- performs a bitwise AND operation between two variants and returns the result
variant_cast -- Convert a variant into a new variant object of another type
variant_cat -- concatenates two variant values together and returns the result
variant_cmp -- Compares two variants
variant_date_from_timestamp -- Returns a variant date representation of a Unix timestamp
variant_date_to_timestamp -- Converts a variant date/time value to Unix timestamp
variant_div -- Returns the result from dividing two variants
variant_eqv -- Performs a bitwise equivalence on two variants
variant_fix -- Returns the integer portion ? of a variant
variant_get_type -- Returns the type of a variant object
variant_idiv -- Converts variants to integers and then returns the result from dividing them
variant_imp -- Performs a bitwise implication on two variants
variant_int -- Returns the integer portion of a variant
variant_mod -- Divides two variants and returns only the remainder
variant_mul -- multiplies the values of the two variants and returns the result
variant_neg -- Performs logical negation on a variant
variant_not -- Performs bitwise not negation on a variant
variant_or -- Performs a logical disjunction on two variants
variant_pow -- Returns the result of performing the power function with two variants
variant_round -- Rounds a variant to the specified number of decimal places
variant_set_type -- Convert a variant into another type "in-place"
variant_set -- Assigns a new value for a variant object
variant_sub -- subtracts the value of the right variant from the left variant value and returns the result
variant_xor -- Performs a logical exclusion on two variants

Anterior | Inicio | Siguiente
cpdf_translate | Subir | COM


COM

(no version information, might be only in CVS)

COM -- COM class

Sinopsis

$obj = new COM("Application.ID")

Description

The COM class allows you to instantiate an OLE compatible COM object and call its methods and access its properties.

Methods

com COM::COM ( string module_name [, mixed server_name [, int codepage [, string typelib]]] )

COM class constructor. The parameters have the following meanings:

module_name

Can be a ProgID, Class ID or Moniker that names the component to load.

A ProgID is typically the application or DLL name, followed by a period, followed by the object name. e.g: Word.Application.

A Class ID is the UUID that uniquely identifies a given class.

A Moniker is a special form of naming, similar in concept to a URL scheme, that identifies a resource and specifies how it should be loaded. As an example, you could load up Word and get an object representing a word document by specifying the full path to the word document as the module name, or you can use LDAP: as a moniker to use the ADSI interface to LDAP.

server_name

The name of the DCOM server on which the component should be loaded and run. If NULL, the object is run using the default for the application. The default is typically to run it on the local machine, although the administrator might have configured the application to launch on a different machine.

If you specify a non-NULL value for server, PHP will refuse to load the object unless the com.allow_dcom configuration option is set to TRUE.

If server_name is an array, it should contain the following elements (case sensitive!). Note that they are all optional (although you need to specify both Username and Password together); if you omit the Server setting, the default server will be used (as mentioned above), and the instantiation of the object will not be affected by the com.allow_dcom directive.

Tabla 1. DCOM server name

server_name key | type | description
Server | string | The name of the server.
Username | string | The username to connect as.
Password | string | The password for Username.
Flags | integer | One or more of the following constants, logically OR'd together: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER and CLSCTX_ALL. The default value if not specified here is CLSCTX_SERVER if you also omit Server, or CLSCTX_REMOTE_SERVER if you do specify a server. You should consult the Microsoft documentation for CoCreateInstance for more information on the meaning of these constants; you will typically never have to use them.

codepage

Specifies the codepage that is used to convert strings to unicode-strings and vice versa. The conversion is applied whenever a PHP string is passed as a parameter or returned from a method of this COM object. The code page is sticky in PHP 5, which means that it will propagate to objects and variants returned from the object.

Possible values are CP_ACP (use system default ANSI code page - the default if this parameter is omitted), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (use codepage/locale set for the current executing thread), CP_UTF7 and CP_UTF8. You may also use the number for a given codepage; consult the Microsoft documentation for more details on codepages and their numeric values.

Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM.

Starting with PHP 5, PHP will automatically detect methods that accept parameters by reference, and will automatically convert regular PHP variables to a form that can be passed by reference. This means that you can call the method very naturally; you needn't go to any extra effort in your code.

In PHP 4, to pass parameters by reference you need to create an instance of the VARIANT class to wrap the byref parameters.

Pseudo Methods

In PHP versions prior to 5, a number of not very pleasant hacks meant that the following method names were not passed through to COM and were handled directly by PHP. PHP 5 eliminates these things; read the details below to determine how to fix your scripts. These magic method names are case insensitive.

void COM::AddRef ( void )

Artificially adds a reference count to the COM object.

Aviso

You should never need to use this method. It exists as a logical complement to the Release() method below.

void COM::Release ( void )

Artificially removes a reference count from the COM object.

Aviso

You should never need to use this method. Its existence in PHP is a bug designed to work around a bug that keeps COM objects running longer than they should.

Pseudo Methods for Iterating

These pseudo methods are only available if com_isenum() returns TRUE, in which case, they hide any methods with the same names that might otherwise be provided by the COM object. These methods have all been eliminated in PHP 5, and you should use la sección de nombre For Each en Referencia XV, Funciones COM y .Net (Windows) instead.

variant COM::All ( void )

Returns a variant representing a SafeArray that has 10 elements; each element will be an empty/null variant. This function was supposed to return an array containing all the elements from the iterator, but was never completed. Do not use.

variant COM::Next ( void )

Returns a variant representing the next element available from the iterator, or FALSE when there are no more elements.

variant COM::Prev ( void )

Returns a variant representing the previous element available from the iterator, or FALSE when there are no more elements.

void COM::Reset ( void )

Rewinds the iterator back to the start.

COM examples

Ejemplo 1. COM example (1)

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

Ejemplo 2. COM example (2)

<?php

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable");    // Recordset

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
    for ($i=0; $i < $num_columns; $i++) {
        echo $fld[$i]->value . "\t";
    }
    echo "\n";
    $rowcount++;            // increments rowcount
    $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

Anterior | Inicio | Siguiente
Funciones COM y .Net (Windows) | Subir | DOTNET


DOTNET

(no version information, might be only in CVS)

DOTNET -- DOTNET class

Sinopsis

$obj = new DOTNET("assembly", "classname")

Description

The DOTNET class allows you to instantiate a class from a .Net assembly and call its methods and access its properties.

Methods

string DOTNET::DOTNET ( string assembly_name, string class_name [, int codepage] )

DOTNET class constructor. assembly_name specifies which assembly should be loaded, and class_name specifices which class in that assembly to instantiate. You may optionally specify a codepage to use for unicode string transformations; see the COM class for more details on code pages.

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM and from there to DOTNET. In other words, the .Net object is mapped through the COM interoperability layer provided by the .Net runtime.

Once you have created a DOTNET object, PHP treats it identically to any other COM object; all the same rules apply.

Ejemplo 1. DOTNET example

<?php
  $stack = new DOTNET("mscorlib", "System.Collections.Stack");
  $stack->Push(".Net");
  $stack->Push("Hello ");
  echo $stack->Pop() . $stack->Pop();
?>

Nota: You need to install the .Net runtime on your web server to take advantage of this feature.

Anterior | Inicio | Siguiente
COM | Subir | VARIANT


VARIANT

(no version information, might be only in CVS)

VARIANT -- VARIANT class

Sinopsis

$vVar = new VARIANT($var)

Description

The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a range of different possible types. The VARIANT class provided by the COM extension allows you to have more control over the way that PHP passes values to and from COM.

Methods

object VARIANT::VARIANT ( [mixed value [, int type [, int codepage]]] )

VARIANT class constructor. Parameters:

value

initial value. if omitted, or set to NULL an VT_EMPTY object is created.

type

specifies the content type of the VARIANT object. Possible values are one of the VT_XXX la sección de nombre Constantes predefinidas en Referencia XV, Funciones COM y .Net (Windows).

In PHP versions prior to PHP 5, you could force PHP to pass a variant object by reference by OR'ing VT_BYREF with the type. In PHP 5, this hack is not supported; instead, PHP 5 can detect parameters passed by reference automatically; they do not even need to be passed as VARIANT objects.

Consult the MSDN library for additional information on the VARIANT type.

codepage

specifies the codepage that is used to convert strings to unicode. See the parameter of the same name in the COM class for more information.

PHP versions prior to PHP 5 define a number of (undocumented) virtual properties for instances of the VARIANT class; these properties have all been removed in PHP 5 in favour of its more natural syntax; these differences are best highlighted by example:

Ejemplo 1. Variant example, PHP 4.x style

<?php
$v = new VARIANT(42);
print "The type is " . $v->type . "<br/>";
print "The value is " . $v->value . "<br/>";
?>

Ejemplo 2. Variant example, PHP 5 style

<?php
$v = new VARIANT(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>

The reason for the change is that, internally, the COM extension sees VARIANT, COM and DOTNET classes as the same thing, and the design philosophy for these classes is that all property and member accesses are passed through to COM with no interference. The new syntax is more natural and less effort, and most of the removed virtual properties didn't make any sense in a PHP context in any case.

Nota: PHP 5 takes a much simpler approach to handling VARIANTs; when returning a value or fetching a variant property, the variant is converted to a PHP value only when there is a direct mapping between the types that would not result in a loss of information. In all other cases, the result is returned as an instance of the VARIANT class. You can force PHP to convert or evaluate the variant as a PHP native type by using a casting operator explicitly, or implicitly casting to a string by print()ing it. You may use the wide range of variant functions to perform arithmetic operations on variants without forcing a conversion or risking a loss of data.

See also variant_get_type().

Anterior | Inicio | Siguiente
DOTNET | Subir | com_addref


com_addref

(PHP 4 >= 4.1.0)

com_addref -- Increases the components reference counter [deprecated]

Description

void com_addref ( void )

Increases the components reference counter.

Aviso

You should never need to use this function.

Anterior | Inicio | Siguiente
VARIANT | Subir | com_create_guid


com_create_guid

(PHP 5)

com_create_guid -- Generate a globally unique identifier (GUID)

Description

string com_create_guid ( void )

Generates a Globally Unique Identifier (GUID) and returns it as a string. A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to enclose a GUID in curly braces.

See also uuid_create() in the PECL uuid extension.

Anterior | Inicio | Siguiente
com_addref | Subir | com_event_sink


com_event_sink

(PHP 4 >= 4.2.3, PHP 5)

com_event_sink -- Connect events from a COM object to a PHP object

Description

bool com_event_sink ( variant comobject, object sinkobject [, mixed sinkinterface] )

Instructs COM to sink events generated by comobject into the PHP object sinkobject. PHP will attempt to use the default dispinterface type specified by the typelibrary associated with comobject, but you may override this choice by setting sinkinterface to the name of the dispinterface that you want to use.

sinkobject should be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose.

Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.

Ejemplo 1. COM event sink example

<?php
class IEEventSinker {
  var $terminated = false;

  function ProgressChange($progress, $progressmax) {
    echo "Download progress: $progress / $progressmax\n";
  }

  function DocumentComplete(&$dom, $url) {
    echo "Document $url complete\n";
  }

  function OnQuit() {
    echo "Quit!\n";
    $this->terminated = true;
  }
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for PHP 5!
$sink =& new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.php.net");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

See also com_print_typeinfo(), com_message_pump().

Anterior | Inicio | Siguiente
com_create_guid | Subir | com_get_active_object


com_get_active_object

(PHP 5)

com_get_active_object -- Returns a handle to an already running instance of a COM object

Description

variant com_get_active_object ( string progid [, int code_page] )

com_get_active_object() is similar to creating a new instance of a COM object, except that it will only return an object to your script if the object is already running. OLE applications use something known as the Running Object Table to allow well-known applications to be launched only once; this function exposes the COM library function GetActiveObject() to get a handle on a running instance.

progid must be either the ProgID or CLSID for the object that you want to access (for example Word.Application). code_page acts in precisely the same way that it does for the COM class.

If the requested object is running, it will be returned to your script just like any other COM object. Otherwise a com_exception will be raised. There are a variety of reasons why this function might fail, the most common being that the object is not already running. In that situation, the exception error code will be MK_E_UNAVAILABLE; you can use the getCode method of the exception object to check the exception code.

Aviso

Using com_get_active_object() in a web server context is not always a smart idea. Most COM/OLE applications are not designed to handle more than one client concurrently, even (or especially!) Microsoft Office. You should read Considerations for Server-Side Automation of Office for more information on the general issues involved.

Anterior | Inicio | Siguiente
com_event_sink | Subir | com_get


com_get

(PHP 3 >= 3.0.3, PHP 4)

com_get -- Obtiene el valor de una propiedad de un componente COM [obsoleta]

Descripción

mixed com_get ( resource objeto_com, string propiedad )

Obtiene el valor de la property del componente COM referenciado por objeto_com. Devuelve FALSE si se produce un error.

Ejemplo 1. No se debe emplear la función com_get(), ya que es mejor usar la sintaxis OO

<?php
// Mejor hacerlo asi...
$variable = $objeto->propiedad;
// y no hacerlo de esta forma:
$variable = com_get($objeto, 'propiedad');
?>

Nota: Esta función no existe en PHP 5. En su lugar, se debería emplear la forma más directa y natural de la sintaxis OO.

Anterior | Inicio | Siguiente
com_get_active_object | Subir | com_invoke


com_invoke

(PHP 4)

com_invoke -- ???

Descripción

mixed com_invoke ( resource object, string function_name [, mixed function parameters, ...] )

Anterior | Inicio | Siguiente
com_get | Subir | com_isenum


com_isenum

(PHP 4 >= 4.1.0)

com_isenum -- Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]

Description

bool com_isenum ( variant com_module )

Checks to see if a COM object can be enumerated using the Next() method hack. Returns TRUE if it can, FALSE if it cannot. See COM class for more details on these methods.

Nota: This function does not exist in PHP 5; use the more natural foreach statement to iterate over the contents of COM objects. See la sección de nombre For Each en Referencia XV, Funciones COM y .Net (Windows) for more details.

Anterior | Inicio | Siguiente
com_invoke | Subir | com_load_typelib


com_load_typelib

(PHP 4 >= 4.1.0, PHP 5)

com_load_typelib -- Loads a Typelib

Description

bool com_load_typelib ( string typelib_name [, bool case_insensitive] )

Loads a type-library and registers its constants in the engine, as though they were defined using define(). The case_insensitive behaves in the same way as the parameter with the same name in the define() function.

typelib_name can be one of the following:

  • The filename of a .tlb file or the executable module that contains the type library.

  • The type library GUID, followed by its version number, for example {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • The type library name, e.g. Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP will attempt to resolve the type library in this order, as the process gets more and more expensive as you progress down the list; searching for the type library by name is handled by physically enumerating the registry until we find a match.

Note that it is much more efficient to use the com.typelib_file configuration setting to pre-load and register the constants, although not so flexible.

If you have turned on com.autoregister_typelib , then PHP will attempt to automatically register the constants associated with a COM object when you instantiate it. This depends on the interfaces provided by the COM object itself, and may not always be possible.

Anterior | Inicio | Siguiente
com_isenum | Subir | com_load


com_load

(PHP 4)

com_load -- ???

Descripción

string com_load ( string module name [, string server name] )

Anterior | Inicio | Siguiente
com_load_typelib | Subir | com_message_pump


com_message_pump

(PHP 4 >= 4.2.3, PHP 5)

com_message_pump -- Process COM messages, sleeping for up to timeoutms milliseconds

Description

bool com_message_pump ( [int timeoutms] )

This function will sleep for up to timeoutms milliseconds, or until a message arrives in the queue. If a message or messages arrives before the timeout, they will be dispatched, and the function will return TRUE. If the timeout occurs and no messages were processed, the return value will be FALSE. If you do not specify a value for timeoutms, then 0 will be assumed. A 0 value means that no waiting will be performed; if there are messages pending they will be dispatched as before; if there are no messages pending, the function will return FALSE immediately without sleeping.

The purpose of this function is to route COM calls between apartments and handle various synchronization issues. This allows your script to wait efficiently for events to be triggered, while still handling other events or running other code in the background. You should use it in a loop, as demonstrated by the example in the com_event_sink() function, until you are finished using event bound COM objects.

Anterior | Inicio | Siguiente
com_load | Subir | com_print_typeinfo


com_print_typeinfo

(PHP 4 >= 4.2.3, PHP 5)

com_print_typeinfo -- Print out a PHP class definition for a dispatchable interface

Description

bool com_print_typeinfo ( object comobject [, string dispinterface [, bool wantsink]] )

The purpose of this function is to help generate a skeleton class for use as an event sink. You may also use it to generate a dump of any COM object, provided that it supports enough of the introspection interfaces, and that you know the name of the interface you want to display.

comobject should be either an instance of a COM object, or be the name of a typelibrary (which will be resolved according to the rules set out in com_load_typelib()). dispinterface is the name of an IDispatch descendant interface that you want to display. If wantsink is TRUE, the corresponding sink interface will be displayed instead.

See also com_event_sink(), com_load_typelib().

Anterior | Inicio | Siguiente
com_message_pump | Subir | com_propget


com_propget

(PHP 3 >= 3.0.3, PHP 4)

com_propget -- ???

Descripción

mixed com_propget ( resource object, string property )

Anterior | Inicio | Siguiente
com_print_typeinfo | Subir | com_propput


com_propput

(PHP 3 >= 3.0.3, PHP 4)

com_propput -- ???

Descripción

void com_propput ( resource object, string property, mixed value )

Anterior | Inicio | Siguiente
com_propget | Subir | com_propset


com_propset

(PHP 3 >= 3.0.3, PHP 4)

com_propset -- ???

Descripción

void com_propset ( resource object, string property, mixed value )

Esta función es un alias para com_propput().

Anterior | Inicio | Siguiente
com_propput | Subir | com_release


com_release

(PHP 4 >= 4.1.0)

com_release -- Decreases the components reference counter [deprecated]

Description

void com_release ( void )

Decreases the components reference counter.

Aviso

You should never need to use this function.

Nota: This function has gone away in PHP 5.

Anterior | Inicio | Siguiente
com_propset | Subir | com_set


com_set

(PHP 3 >= 3.0.3, PHP 4)

com_set -- ???

Descripción

void com_set ( resource object, string property, mixed value )

Esta función es un alias para com_set().

Anterior | Inicio | Siguiente
com_release | Subir | variant_abs


variant_abs

(PHP 5)

variant_abs -- Returns the absolute value of a variant

Description

mixed variant_abs ( mixed val )

Returns the absolute value of val.

See also abs().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
com_set | Subir | variant_add


variant_add

(PHP 5)

variant_add -- "Adds" two variant values together and returns the result

Description

mixed variant_add ( mixed left, mixed right )

Adds left to right using the following rules (taken from the MSDN library), which correspond to those of Visual Basic:

Tabla 1. Variant Addition Rules

If | Then
Both expressions are of the string type | Concatenation
One expression is a string type and the other a character | Addition
One expression is numeric and the other is a string | Addition
Both expressions are numeric | Addition
Either expression is NULL | NULL is returned
Both expressions are empty | Integer subtype is returned

See also variant_sub().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_abs | Subir | variant_and


variant_and

(PHP 5)

variant_and -- performs a bitwise AND operation between two variants and returns the result

Description

mixed variant_and ( mixed left, mixed right )

Performs a bitwise AND operation, according to the following truth table; note that this is slightly different from a regular AND operation.

Tabla 1. Variant AND Rules

If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | FALSE
TRUE | NULL | NULL
FALSE | TRUE | FALSE
FALSE | FALSE | FALSE
FALSE | NULL | FALSE
NULL | TRUE | NULL
NULL | FALSE | FALSE
NULL | NULL | NULL

See also variant_or().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_add | Subir | variant_cast


variant_cast

(PHP 5)

variant_cast -- Convert a variant into a new variant object of another type

Description

variant variant_cast ( variant variant, int type )

This function makes a copy of variant and then performs a variant cast operation to force the copy to have the type given by type. type should be one of the VT_XXX constants.

This function wraps VariantChangeType() in the COM library; consult MSDN for more information.

See also variant_set_type().

Anterior | Inicio | Siguiente
variant_and | Subir | variant_cat


variant_cat

(PHP 5)

variant_cat -- concatenates two variant values together and returns the result

Description

mixed variant_cat ( mixed left, mixed right )

Concatenates left with right and returns the result.

See also la sección de nombre Operadores de Cadena en Capítulo 15 for the string concatenation operator; this function is notionally equivalent to $left . $right.

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_cast | Subir | variant_cmp


variant_cmp

(PHP 5)

variant_cmp -- Compares two variants

Description

int variant_cmp ( mixed left, mixed right [, int lcid [, int flags]] )

Compares left with right and returns one of the following values:

Tabla 1. Variant Comparision Results

value | meaning
VARCMP_LT | left is less than right
VARCMP_EQ | left is equal to right
VARCMP_GT | left is greater than right
VARCMP_NULL | Either left, right or both are NULL

This function will only compare scalar values, not arrays or variant records.

lcid is a valid Locale Identifier to use when comparing strings (this affects string collation). flags can be one or more of the following values OR'd together, and affects string comparisons:

Tabla 2. Variant Comparision Flags

value | meaning
NORM_IGNORECASE | Compare case insensitively
NORM_IGNORENONSPACE | Ignore nonspacing characters
NORM_IGNORESYMBOLS | Ignore symbols
NORM_IGNOREWIDTH | Ignore string width
NORM_IGNOREKANATYPE | Ignore Kana type
NORM_IGNOREKASHIDA | Ignore Arabic kashida characters

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_cat | Subir | variant_date_from_timestamp


variant_date_from_timestamp

(PHP 5)

variant_date_from_timestamp -- Returns a variant date representation of a Unix timestamp

Description

variant variant_date_from_timestamp ( int timestamp )

Converts timestamp from a unix timestamp value into a variant of type VT_DATE. This allows easier interopability between the unix-ish parts of PHP and COM.

See also variant_date_to_timestamp() for the inverse of this operation, mktime(), time().

Anterior | Inicio | Siguiente
variant_cmp | Subir | variant_date_to_timestamp


variant_date_to_timestamp

(PHP 5)

variant_date_to_timestamp -- Converts a variant date/time value to Unix timestamp

Description

int variant_date_to_timestamp ( variant variant )

Converts variant from a VT_DATE (or similar) value into a Unix timestamp. This allows easier interopability between the Unix-ish parts of PHP and COM.

See also variant_date_from_timestamp() for the inverse of this operation, date(), strftime().

Anterior | Inicio | Siguiente
variant_date_from_timestamp | Subir | variant_div


variant_div

(PHP 5)

variant_div -- Returns the result from dividing two variants

Description

mixed variant_div ( mixed left, mixed right )

Divides left by right and returns the result, subject to the following rules:

Tabla 1. Variant Division Rules

If | Then
Both expressions are of the string, date, character, boolean type | Double is returned
One expression is a string type and the other a character | Division and a double is returned
One expression is numeric and the other is a string | Division and a double is returned.
Both expressions are numeric | Division and a double is returned
Either expression is NULL | NULL is returned
right is empty and left is anything but empty | A com_exception with code DISP_E_DIVBYZERO is thrown
left is empty and right is anything but empty. | 0 as type double is returned
Both expressions are empty | A com_exception with code DISP_E_OVERFLOW is thrown

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_date_to_timestamp | Subir | variant_eqv


variant_eqv

(PHP 5)

variant_eqv -- Performs a bitwise equivalence on two variants

Description

mixed variant_eqv ( mixed left, mixed right )

If each bit in left is equal to the corresponding bit in right then TRUE is returned, otherwise FALSE is returned.

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_div | Subir | variant_fix


variant_fix

(PHP 5)

variant_fix -- Returns the integer portion ? of a variant

Description

mixed variant_fix ( mixed variant )

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

See also variant_int(),
variant_round(), floor(),
ceil(),
round().

Aviso

This documentation is based on the MSDN documentation; it appears that this function is either the same as variant_int(), or that there is an error in the MSDN documentation.

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_eqv | Subir | variant_get_type


variant_get_type

(PHP 5)

variant_get_type -- Returns the type of a variant object

Description

int variant_get_type ( variant variant )

This function returns an integer value that indicates the type of variant, which can be an instance of COM, DOTNET or VARIANT classes. The return value can be compared to one of the VT_XXX constants.

The return value for COM and DOTNET objects will usually be VT_DISPATCH; the only reason this function works for those classes is because COM and DOTNET are descendants of VARIANT.

In PHP versions prior to 5, you could obtain this information from instances of the VARIANT class ONLY, by reading a fake type property. See the VARIANT class for more information on this.

Anterior | Inicio | Siguiente
variant_fix | Subir | variant_idiv


variant_idiv

(PHP 5)

variant_idiv -- Converts variants to integers and then returns the result from dividing them

Description

mixed variant_idiv ( mixed left, mixed right )

Converts left and right to integer values, and then performs integer division according the following rules:

Tabla 1. Variant Integer Division Rules

If | Then
Both expressions are of the string, date, character, boolean type | Division and integer is returned
One expression is a string type and the other a character | Division
One expression is numeric and the other is a string | Division
Both expressions are numeric | Division
Either expression is NULL | NULL is returned
Both expressions are empty | A com_exception with code DISP_E_DIVBYZERO is thrown

See also variant_div().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_get_type | Subir | variant_imp


variant_imp

(PHP 5)

variant_imp -- Performs a bitwise implication on two variants

Description

mixed variant_imp ( mixed left, mixed right )

Performs a bitwise implication operation, according to the following truth table:

Tabla 1. Variant Implication Table

If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | TRUE
FALSE | NULL | TRUE
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_idiv | Subir | variant_int


variant_int

(PHP 5)

variant_int -- Returns the integer portion of a variant

Description

mixed variant_int ( mixed variant )

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

See also variant_fix(),
variant_round(), floor(),
ceil(),
round().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_imp | Subir | variant_mod


variant_mod

(PHP 5)

variant_mod -- Divides two variants and returns only the remainder

Description

mixed variant_mod ( mixed left, mixed right )

Divides left by right and returns the remainder.

See also variant_div(), variant_idiv().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_int | Subir | variant_mul


variant_mul

(PHP 5)

variant_mul -- multiplies the values of the two variants and returns the result

Description

mixed variant_mul ( mixed left, mixed right )

Multiplies left by right and returns the result, subject to the following rules:

Tabla 1. Variant Multiplication Rules

If | Then
Both expressions are of the string, date, character, boolean type | Multiplication
One expression is a string type and the other a character | Multiplication
One expression is numeric and the other is a string | Multiplication
Both expressions are numeric | Multiplication
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Boolean values are converted to -1 for FALSE and 0 for TRUE.

See also variant_div(), variant_idiv().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_mod | Subir | variant_neg


variant_neg

(PHP 5)

variant_neg -- Performs logical negation on a variant

Description

mixed variant_neg ( mixed variant )

Performs logical negation of variant and returns the result.

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_mul | Subir | variant_not


variant_not

(PHP 5)

variant_not -- Performs bitwise not negation on a variant

Description

mixed variant_not ( mixed variant )

Performs bitwise not negation on variant and returns the result. If variant is NULL, the result will also be NULL.

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_neg | Subir | variant_or


variant_or

(PHP 5)

variant_or -- Performs a logical disjunction on two variants

Description

mixed variant_or ( mixed left, mixed right )

Performs a bitwise OR operation, according to the following truth table; note that this is slightly different from a regular OR operation.

Tabla 1. Variant OR Rules

If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
FALSE | NULL | NULL
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

See also variant_and(), variant_xor().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_not | Subir | variant_pow


variant_pow

(PHP 5)

variant_pow -- Returns the result of performing the power function with two variants

Description

mixed variant_pow ( mixed left, mixed right )

Returns the result of left to the power of right.

See also pow().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_or | Subir | variant_round


variant_round

(PHP 5)

variant_round -- Rounds a variant to the specified number of decimal places

Description

mixed variant_round ( mixed variant, int decimals )

Returns the value of variant rounded to decimals decimal places.

See also round().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_pow | Subir | variant_set_type


variant_set_type

(PHP 5)

variant_set_type -- Convert a variant into another type "in-place"

Description

void variant_set_type ( variant variant, int type )

This function is similar to variant_cast() except that the variant is modified "in-place"; no new variant is created. The parameters for this function have identical meaning to those of variant_cast().

See also variant_cast().

Anterior | Inicio | Siguiente
variant_round | Subir | variant_set


variant_set

(PHP 5)

variant_set -- Assigns a new value for a variant object

Description

void variant_set ( variant variant, mixed value )

Converts value to a variant and assigns it to the variant object; no new variant object is created, and the old value of variant is freed/released.

Anterior | Inicio | Siguiente
variant_set_type | Subir | variant_sub


variant_sub

(PHP 5)

variant_sub -- subtracts the value of the right variant from the left variant value and returns the result

Description

mixed variant_sub ( mixed left, mixed right )

Subtracts right from left using the following rules:

Tabla 1. Variant Subtraction Rules

If | Then
Both expressions are of the string type | Subtraction
One expression is a string type and the other a character | Subtraction
One expression is numeric and the other is a string | Subtraction.
Both expressions are numeric | Subtraction
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

See also variant_add().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_set | Subir | variant_xor


variant_xor

(PHP 5)

variant_xor -- Performs a logical exclusion on two variants

Description

mixed variant_xor ( mixed left, mixed right )

Performs a logical exclusion, according to the following truth table:

Tabla 1. Variant XOR Rules

If left is | If right is | then the result is
TRUE | TRUE | FALSE
TRUE | FALSE | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
NULL | NULL | NULL

See also variant_and(), variant_or().

Nota: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Anterior | Inicio | Siguiente
variant_sub | Subir | Funciones para Crackear


Classkit Functions

Manual de PHP
Anterior Siguiente

XIII. Classkit Functions

Introducción

These functions allow the dynamic manipulation of PHP classes, at runtime.

Nota: This extension has been replaced by runkit, which is not limited to class manipulation but has function manipulation, as well.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/classkit.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CLASSKIT_ACC_PRIVATE (int)

Marks the method private

CLASSKIT_ACC_PROTECTED (int)

Marks the method protected

CLASSKIT_ACC_PUBLIC (int)

Marks the method public

Tabla de contenidos
classkit_import -- Import new class method definitions from a file
classkit_method_add -- Dynamically adds a new method to a given class
classkit_method_copy -- Copies a method from class to another
classkit_method_redefine -- Dynamically changes the code of the given method
classkit_method_remove -- Dynamically removes the given method
classkit_method_rename -- Dynamically changes the name of the given method

Anterior | Inicio | Siguiente
property_exists | Subir | classkit_import


classkit_import

(PECL)

classkit_import -- Import new class method definitions from a file

Descripción

array classkit_import ( string filename )

Nota: Esta función no puede usarse para manipular el método actualmente en ejecución

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

filename

The filename of the class method definitions to import

Valores retornados

Associative array of imported methods

Ejemplos

Ejemplo 1. classkit_import() example

<?php
// file: newclass.php
class Example {
    function foo() {
        return "bar!\n";
    }
}
?>
<?php
// requires newclass.php (see above)
class Example {
    function foo() {
        return "foo!\n";
    }
}

$e = new Example();

// output original
echo $e->foo();

// import replacement method
classkit_import('newclass.php');

// output imported
echo $e->foo();

?>

El resultado del ejemplo seria:

foo!
bar!

Ver también

classkit_method_add()
classkit_method_copy()

Anterior | Inicio | Siguiente
Classkit Functions | Subir | classkit_method_add


classkit_method_add

(PECL)

classkit_method_add -- Dynamically adds a new method to a given class

Descripción

bool classkit_method_add ( string classname, string methodname, string args, string code [, int flags] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

flags

The type of method to create, can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

Nota: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. classkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

El resultado del ejemplo seria:

16

Ver también

classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()
create_function()

Anterior | Inicio | Siguiente
classkit_import | Subir | classkit_method_copy


classkit_method_copy

(PECL)

classkit_method_copy -- Copies a method from class to another

Descripción

bool classkit_method_copy ( string dClass, string dMethod, string sClass [, string sMethod] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. classkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

El resultado del ejemplo seria:

foo!

Ver también

classkit_method_add()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()

Anterior | Inicio | Siguiente
classkit_method_add | Subir | classkit_method_redefine


classkit_method_redefine

(PECL)

classkit_method_redefine -- Dynamically changes the code of the given method

Descripción

bool classkit_method_redefine ( string classname, string methodname, string args, string code [, int flags] )

Nota: Esta función no puede usarse para manipular el método actualmente en ejecución

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

flags

The redefined method can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

Nota: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. classkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

El resultado del ejemplo seria:

Before: foo!
After: bar!

Ver también

classkit_method_add()
classkit_method_copy()
classkit_method_remove()
classkit_method_rename()

Anterior | Inicio | Siguiente
classkit_method_copy | Subir | classkit_method_remove


classkit_method_remove

(PECL)

classkit_method_remove -- Dynamically removes the given method

Descripción

bool classkit_method_remove ( string classname, string methodname )

Nota: Esta función no puede usarse para manipular el método actualmente en ejecución

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class in which to remove the method

methodname

The name of the method to remove

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. classkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
classkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

El resultado del ejemplo seria:

bar

Ver también

classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_rename()

Anterior | Inicio | Siguiente
classkit_method_redefine | Subir | classkit_method_rename


classkit_method_rename

(PECL)

classkit_method_rename -- Dynamically changes the name of the given method

Descripción

bool classkit_method_rename ( string classname, string methodname, string newname )

Nota: Esta función no puede usarse para manipular el método actualmente en ejecución

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. classkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
classkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

El resultado del ejemplo seria:

foo!

Ver también

classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()

Anterior | Inicio | Siguiente
classkit_method_remove | Subir | Funciones ClibPDF


Funciones de Clases/Objetos

Manual de PHP
Anterior Siguiente

XII. Funciones de Clases/Objetos

Introducción

Estas funciones permiten obtener información sobre clases y objetos. Se puede obtener el nombre de la clase a la que pertenece un objeto, asi como las propiedades de sus miembros y métodos. Usando estas funciones se puede obtener no solo lo comentado en la frase anterior, también se puede obtener la familia del objeto (p.ej. qué clase está extendiendo la clase a la que pertenece el objeto).

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

En este ejemplo, definimos primero una clase base y una extensión de esta clase. La clase base define un vegetal genérico, si es comestible y su color. La subclase Spinach añade un metodo para cocinarlo y otro para saber si esta cocinado.

Ejemplo 1. classes.inc

<?php

// base class with member properties and methods
class Vegetable {

    var $edible;
    var $color;

    function Vegetable( $edible, $color="green" ) {
        $this->edible = $edible;
        $this->color = $color;
    }

    function is_edible() {
        return $this->edible;
    }

    function what_color() {
        return $this->color;
    }

} // end of class Vegetable

// extends the base class
class Spinach extends Vegetable {

    var $cooked = false;

    function Spinach() {
        $this->Vegetable( true, "green" );
    }

    function cook_it() {
        $this->cooked = true;
    }

    function is_cooked() {
        return $this->cooked;
    }

} // end of class Spinach

?>

Creamos 2 objetos de estas clases e imprimimos información sobre ellos, incluyendo la jerarquia de clases a la que pertenecen. También definimos algunas funciones, especialmente para imprimir las variables de una manera ordenada.

Ejemplo 2. test_script.php

<pre>
<?php

include "classes.inc";

// utility functions

function print_vars($obj) {
    $arr = get_object_vars($obj);
    while (list($prop, $val) = each($arr))
        echo "\t$prop = $val\n";
}

function print_methods($obj) {
    $arr = get_class_methods(get_class($obj));
    foreach ($arr as $method)
        echo "\tfunction $method()\n";
}

function class_parentage($obj, $class) {
    global $$obj;
    if (is_subclass_of($$obj, $class)) {
        echo "Object $obj belongs to class ".get_class($$obj);
        echo " a subclass of $class\n";
    } else {
        echo "Object $obj does not belong to a subclass of $class\n";
    }
}

// instantiate 2 objects

$veggie = new Vegetable(true,"blue");
$leafy = new Spinach();

// print out information about objects
echo "veggie: CLASS ".get_class($veggie)."\n";
echo "leafy: CLASS ".get_class($leafy);
echo ", PARENT ".get_parent_class($leafy)."\n";

// show veggie properties
echo "\nveggie: Properties\n";
print_vars($veggie);

// and leafy methods
echo "\nleafy: Methods\n";
print_methods($leafy);

echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>

One important thing to note in the example above is that the object $leafy is an instance of the class Spinach which is a subclass of Vegetable, therefore the last part of the script above will output:

[...]
Parentage:
Object leafy does not belong to a subclass of Spinach
Object leafy belongs to class spinach a subclass of Vegetable

Tabla de contenidos
call_user_method_array -- Llamar un método de usuario dado con una matriz de parámetros [obsoleta]
call_user_method -- Llamar un método de usuario en un objeto específico [obsoleta]
class_exists -- Verifica si la clase ha sido definida
get_class_methods -- Devuelve un vector (matriz unidimensional) con los nombres de los métodos de la clase en question.
get_class_vars -- Devuelve una matriz con las propiedades (inicializadas por defecto) de la clase
get_class -- Devuelve el nombre de la clase de un objeto
get_declared_classes -- Devuelve una matriz con el nombre de las clases definidas
get_declared_interfaces -- Devuelve una matriz de todas las interfaces declaradas
get_object_vars -- Devuelve un vector de propiedades del objecto
get_parent_class -- Recupera el nombre de la clase padre para un objeto o clase
interface_exists -- Verifica si la interfaz ha sido definida
is_a -- Verifica si el objeto es de esta clase o tiene esta clase como uno de sus padres
is_subclass_of -- Verifica si el objeto tiene esta clase como uno de sus padres
method_exists -- Comprueba que el metódo de clase existe
property_exists -- Verifica si el objeto o clase tiene una propiedad

Anterior | Inicio | Siguiente
ccvs_void | Subir | call_user_method_array


call_user_method_array

(PHP 4 >= 4.0.5, PHP 5)

call_user_method_array -- Llamar un método de usuario dado con una matriz de parámetros [obsoleta]

Descripción

mixed call_user_method_array ( string nombre_metodo, object &obj, array matriz_param )

Aviso

La función call_user_method_array() es obsoleta desde PHP 4.1.0, use la alternativa call_user_func_array() con la sintaxis array(&$obj, "nombre_metodo") en su lugar.

Ver también

call_user_func_array()
call_user_func()

Anterior | Inicio | Siguiente
Funciones de Clases/Objetos | Subir | call_user_method


call_user_method

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

call_user_method -- Llamar un método de usuario en un objeto específico [obsoleta]

Descripción

mixed call_user_method ( string nombre_metodo, object &obj [, mixed parametro [, mixed ...]] )

Aviso

La función call_user_method() es obsoleta desde PHP 4.1.0, use la alternativa call_user_func() con la sintaxis array(&$obj, "nombre_metodo") en su lugar.

Ver también

call_user_func_array()
call_user_func()

Anterior | Inicio | Siguiente
call_user_method_array | Subir | class_exists


class_exists

(PHP 4, PHP 5)

class_exists -- Verifica si la clase ha sido definida

Descripción

bool class_exists ( string nombre_clase [, bool autocargar] )

Esta función verifica si la clase dada ha sido definida.

Lista de parámetros

nombre_clase

El nombre de la clase

autocargar

Indica si ha de llamarse __autoload o no de forma predeterminada

Valores retornados

Devuelve TRUE si nombre_clase es una clase definida, FALSE de lo contrario.

Registro de cambios

Versión | Descripción
5.0.0 | El parámetro autocargar fue agregado.

Ejemplos

Ejemplo 1. Ejemplo de class_exists()

<?php
// Verificar si la clase existe antes de usarla
if (class_exists('MiClase')) {
    $mi_clase = new MiClase();
}

?>

Ejemplo 2. Ejemplo del parámetro autocargar

<?php
function __autoload($clase)
{
    include($clase . '.php');

    // Verificar si la sentencia include declara la clase
    if (!class_exists($clase, false)) {
        trigger_error("No es posible cargar la clase: $clase", E_USER_WARNING);
    }
}

if (class_exists('MiClase')) {
    $mi_clase = new MiClase();
}

?>

Ver también

interface_exists()
get_declared_classes()

Anterior | Inicio | Siguiente
call_user_method | Subir | get_class_methods


get_class_methods

(PHP 4, PHP 5)

get_class_methods -- Devuelve un vector (matriz unidimensional) con los nombres de los métodos de la clase en question.

Descripción

vector get_class_methods ( string class_name )

Esta función devuelve un vector con los nombres de los métodos definidos en la clase especificada como class_name.

Nota: A partir de PHP 4.0.6, se puede especificar el objeto a sí mismo en vez de class_name. Por ejemplo:

$class_methods = get_class_methods($my_class); // see below the full example

Ejemplo 1. get_class_methods() ejemplo

<?php

class myclass {
    // constructor
    function myclass() {
        return(TRUE);
    }

    // method 1
    function myfunc1() {
        return(TRUE);
    }

    // method 2
    function myfunc2() {
        return(TRUE);
    }
}

$my_object = new myclass();

$class_methods = get_class_methods(get_class($my_object));

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

Producira:

myclass
myfunc1
myfunc2

Ver también get_class_vars() y get_object_vars().

Anterior | Inicio | Siguiente
class_exists | Subir | get_class_vars


get_class_vars

(PHP 4, PHP 5)

get_class_vars -- Devuelve una matriz con las propiedades (inicializadas por defecto) de la clase

Descripción

array get_class_vars ( string class_name )

Esta función devuelve un vector con las propiedades que han sido inicializadas por defecto en la clase. Los elementos de este vector están estan organizados de la forma varname => value.

Nota: Con anterioridad a PHP 4.2.0, las variables de la clase que no estén inicializadas, no será presentadas por get_class_vars().

Ejemplo 1. get_class_vars() ejemplo

<?php

class myclass {

    var $var1; // this has no default value...
    var $var2 = "xyz";
    var $var3 = 100;

    // constructor
    function myclass() {
        return(TRUE);
    }
}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}

?>

Producira:

// Before PHP 4.2.0
var2 : xyz
var3 : 100

// As of PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

Ver también get_class_methods(), get_object_vars()

Anterior | Inicio | Siguiente
get_class_methods | Subir | get_class


get_class

(PHP 4, PHP 5)

get_class -- Devuelve el nombre de la clase de un objeto

Descripción

string get_class ( [object objeto] )

Obtiene el nombre de la clase del objeto dado.

Lista de parámetros

objeto

El objeto a probar

Valores retornados

Devuelve el nombre de la clase de la cual objeto es una instancia. Devuelve FALSE si objeto no es un objeto.

Registro de cambios

Versión | Descripción
A partir de 5.0.0 | El nombre de la clase es devuelto en su notación original.
A partir de 5.0.0 | El parámetro objeto es opcional si es llamado desde el método del objeto.

Ejemplos

Ejemplo 1. Uso de get_class()

<?php

class foo {
    function foo()
    {
    // implementa alguna lógica
    }

    function nombre()
    {
        echo "Mi nombre es " , get_class($this) , "\n";
    }
}

// crear un objeto
$bar = new foo();

// llamada externa
echo "Su nombre es " , get_class($bar) , "\n";

// llamada interna
$bar->nombre();

?>

El resultado del ejemplo seria:

Su nombre es foo
Mi nombre es foo

Ver también

get_parent_class()
gettype()
is_subclass_of()

Anterior | Inicio | Siguiente
get_class_vars | Subir | get_declared_classes


get_declared_classes

(PHP 4, PHP 5)

get_declared_classes -- Devuelve una matriz con el nombre de las clases definidas

Descripción

array get_declared_classes ( void )

Obtiene las clases declaradas.

Valores retornados

Devuelve una matriz de los nombres de las clases declaradas en el script actual.

Nota: En PHP 4.0.1, tres clases adicionales son devueltas al comienzo de la matriz: stdClass (definida en Zend/zend.c), OverloadedTestClass (definida en ext/standard/basic_functions.c) y Directory (definida en ext/standard/dir.c).

También note que dependiendo de las bibliotecas que haya compilado en PHP, clases adicionales pueden estar presentes. Esto quiere decir que no podrá definir sus propias clases usando estos nombres. Existe una lista de clases predefinidas en la sección Clases Predefinidas de los apéndices.

Ejemplos

Ejemplo 1. Ejemplo de get_declared_classes()

<?php
print_r(get_declared_classes());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Ver también

class_exists()
get_declared_interfaces()

Anterior | Inicio | Siguiente
get_class | Subir | get_declared_interfaces


get_declared_interfaces

(PHP 5)

get_declared_interfaces -- Devuelve una matriz de todas las interfaces declaradas

Descripción

array get_declared_interfaces ( void )

Obtiene las interfaces declaradas.

Valores retornados

Devuelve una matriz de los nombres de las interfaces declaradas en el script actual.

Ejemplos

Ejemplo 1. Ejemplo de get_declared_interfaces()

<?php
print_r(get_declared_interfaces());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Ver también

get_declared_classes()

Anterior | Inicio | Siguiente
get_declared_classes | Subir | get_object_vars


get_object_vars

(PHP 4, PHP 5)

get_object_vars -- Devuelve un vector de propiedades del objecto

Descripción

array get_object_vars ( object obj )

Esta función devuelve una matriz con las propiedades definidas en el objecto especificado como obj.

Nota: Con anterioridad a PHP 4.2.0, si las variables declaradas en la clase a la que pertenece obj, no les ha sido asignado un valor, no serán devueltas en el vector. En versiones posteriores a PHP 4.2.0 se les asignará un valor NULL.

Ejemplo 1. Uso de get_object_vars()

<?php
class Point2D {
    var $x, $y;
    var $label;

    function Point2D($x, $y) {
        $this->x = $x;
        $this->y = $y;
    }

    function setLabel($label) {
        $this->label = $label;
    }

    function getPoint() {
        return array("x" => $this->x,
                     "y" => $this->y,
                     "label" => $this->label);
    }
}

// "$label" is declared but not defined
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));

$p1->setLabel("point #1");
print_r(get_object_vars($p1));

?>

El resultado de este programa es:

Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )

Ver tambien get_class_methods() y get_class_vars()

Anterior | Inicio | Siguiente
get_declared_interfaces | Subir | get_parent_class


get_parent_class

(PHP 4, PHP 5)

get_parent_class -- Recupera el nombre de la clase padre para un objeto o clase

Descripción

string get_parent_class ( [mixed objeto] )

Recupera el nombre de la clase padre para el objeto o clase.

Lista de parámetros

objeto

El objeto a probar o el nombre de clase

Valores retornados

Devuelve el nombre de la clase padre de la clase de la cual objeto es una instancia o nombre.

Si es llamada sin un parámetro desde afuera de un objeto, esta función devuelve FALSE.

Registro de cambios

Versión | Descripción
Antes de 5.1.0 | Si es llamada sin un parámetro desde afuera de un objeto, esta función hubiera devuelto NULL sin una advertencia.
A partir de 5.0.0 | El parámetro objeto es opcional si es llamado desde el método del objeto.
A partir de 4.0.5 | Si objeto es una cadena, devuelve el nombre de la clase padre de la clase con ese nombre.

Ejemplos

Ejemplo 1. Uso de get_parent_class()

<?php

class padre {
    function padre()
    {
    // implementa alguna lógica
    }
}

class hijo extends padre {
    function hijo()
    {
        echo "Soy el hijo de " , get_parent_class($this) , "\n";
    }
}

class hijo2 extends padre {
    function hijo2()
    {
        echo "Soy el hijo de " , get_parent_class('hijo2') , " también\n";
    }
}

$foo = new hijo();
$bar = new hijo2();

?>

El resultado del ejemplo seria:

Soy el hijo de padre
Soy el hijo de padre también

Ver también

get_class()
is_subclass_of()

Anterior | Inicio | Siguiente
get_object_vars | Subir | interface_exists


interface_exists

(PHP 5 >= 5.0.2)

interface_exists -- Verifica si la interfaz ha sido definida

Descripción

bool interface_exists ( string nombre_interfaz [, bool autocargar] )

Verifica si la interfaz dada ha sido definida.

Lista de parámetros

nombre_interfaz

El nombre de interfaz

autocargar

Indica si debe llamarse __autoload o no de forma predeterminada

Valores retornados

Devuelve TRUE si la interfaz dada por nombre_interfaz ha sido definida, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de interface_exists()

<?php
// Verifica que la interfaz exista antes de usarla
if (interface_exists('MiInterfaz')) {
    class MiClase implements MiInterfaz
    {
        // Métodos
    }
}

?>

Ver también

class_exists()

Anterior | Inicio | Siguiente
get_parent_class | Subir | is_a


is_a

(PHP 4 >= 4.2.0, PHP 5)

is_a -- Verifica si el objeto es de esta clase o tiene esta clase como uno de sus padres

Descripción

bool is_a ( object objeto, string nombre_clase )

Verifica si el objeto dado es de esta clase o tiene esta clase como uno de sus padres.

Nota: La función is_a() es obsoleta a partir de PHP 5, en su lugar se prefiere el operador de tipos instanceof.

Lista de parámetros

objeto

El objeto a probar

nombre_clase

El nombre de clase

Valores retornados

Devuelve TRUE si el objeto es de esta clase o tiene esta clase como uno de sus padres, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de is_a()

<?php
// definir una clase
class FabricaWidget
{
  var $oink = 'moo';
}

// crear un nuevo objeto
$FW = new FabricaWidget();

if (is_a($FW, 'FabricaWidget')) {
  echo "si, \$FW es aun un objeto FabricaWidget\n";
}
?>

Ejemplo 2. Uso del operador instanceof en PHP 5

<?php
if ($FW instanceof FabricaWidget) {
    echo 'Si, $FW es un objeto FabricaWidget';
}
?>

Ver también

get_class()
get_parent_class()
is_subclass_of()

Anterior | Inicio | Siguiente
interface_exists | Subir | is_subclass_of


is_subclass_of

(PHP 4, PHP 5)

is_subclass_of -- Verifica si el objeto tiene esta clase como uno de sus padres

Descripción

bool is_subclass_of ( mixed objeto, string nombre_clase )

Verifica si el objeto dado tiene la clase nombre_clase como uno de sus padres.

Lista de parámetros

objeto

Un nombre de clase o una instancia de objeto

nombre_clase

El nombre de clase

Valores retornados

Esta función devuelve TRUE si el objeto objeto pertenece a una clase que sea subclase de nombre_clase, FALSE de lo contrario.

Registro de cambios

Versión | Descripción
5.0.3 | Es posible especificar también el parámetro objeto como una cadena (el nombre de la clase)

Ejemplos

Ejemplo 1. Ejemplo de is_subclass_of()

<?php
// definir una clase
class FabricaWidget
{
  var $oink = 'moo';
}

// definir una clase hija
class Hijo_FabricaWidget extends FabricaWidget
{
  var $oink = 'oink';
}

// crear un nuevo objeto
$FW = new FabricaWidget();
$HFW = new Hijo_FabricaWidget();

if (is_subclass_of($HFW, 'FabricaWidget')) {
  echo "si, \$HFW es una sub-clase de FabricaWidget\n";
} else {
  echo "no, \$HFW no es una sub-clase de FabricaWidget\n";
}

if (is_subclass_of($FW, 'FabricaWidget')) {
  echo "si, \$FW es una sub-clase de FabricaWidget\n";
} else {
  echo "no, \$FW no es una sub-clase de FabricaWidget\n";
}

// usable sólo desde PHP 5.0.3
if (is_subclass_of('Hijo_FabricaWidget', 'FabricaWidget')) {
  echo "si, Hijo_FabricaWidget es una sub-clase de FabricaWidget\n";
} else {
  echo "no, Hijo_FabricaWidget no es una sub-clase de FabricaWidget\n";
}
?>

El resultado del ejemplo seria:

si, $HFW es una sub-clase de FabricaWidget
no, $FW no es una sub-clase de FabricaWidget
si, Hijo_FabricaWidget es una sub-clase de FabricaWidget

Ver también

get_class()
get_parent_class()
is_a()

Anterior | Inicio | Siguiente
is_a | Subir | method_exists


method_exists

(PHP 4, PHP 5)

method_exists -- Comprueba que el metódo de clase existe

Descripción

bool method_exists ( object object, string method_name )

Esta función devuelve verdadero (TRUE) si el metódo referido por method_name ha sido definido en el objecto object, en cualquier otro caso devuelve falso (FALSE)

Anterior | Inicio | Siguiente
is_subclass_of | Subir | property_exists


Funciones ClibPDF

Manual de PHP
Anterior Siguiente

XIV. Funciones ClibPDF

Introducción

ClibPDF le permite crear documentos PDF con PHP. La funcionalidad y la interfaz de programación de ClibPDF son similares a PDFlib. Esta documentación debería ser leído junto con el manual de ClibPDF, ya que éste explica la biblioteca con mucho mayor detalle.

Muchas funciones en la biblioteca ClibPDF nativa y el módulo PHP, así como en PDFlib, tienen el mismo nombre. Todas las funciones excepto por cpdf_open() reciben el gestor del documento como su primer parámetro.

Actualmente este gestor no es usado internamente ya que ClibPDF no soporta la creación de varios documentos PDF a la vez. De hecho, no debería intentarlo siquiera, los resultados son impredecibles. Es difícil hacerse una idea de las consecuencias que representaría en un entorno multi-hilos. De acuerdo al autor de ClibPDF, esto cambiará en uno de los lanzamientos siguientes (la versión actual cuando se escribieron éstas líneas es 1.10). Si necesita esta funcionalidad, use el módulo pdflib.

Una característica interesante de ClibPDF (y PDFlib) es la habilidad de crear el documento pdf completamente en memoria sin usar archivos temporales. También provee la habilidad de pasar coordenadas en una unidad de longitud predefinida. (Esta característica puede ser simulada también por pdf_translate() cuando se usan las funciones PDFlib.)

Otra característica interesante de ClibPDF es el hecho de que cualquier página puede ser modificada en cualquier momento, incluso si una nueva página ya ha sido abierta. La función cpdf_set_current_page() permite abandonar la página actual y posiblemente modificar otra página.

La mayoría de funciones son razonablemente fáciles de usar. La parte más difícil es probablemente la creación misma de un documento PDF muy sencillo. El ejemplo presentado a continuación debería ayudarlo a iniciar. En éste se crea un documento con una página. La página contiene el texto "Times-Roman" en una fuente tipográfica de borde exterior y 30pt. El texto es subrayado.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Nota: Si está interesado en generadores de PDF gratuitos alternativos que no usen bibliotecas PDF externas, vea este FAQ relacionado.

Requisitos

Para poder usar las funciones ClibPDF necesita instalar el paquete ClibPDF. Éste se encuentra disponible para su descarga en FastIO, pero requiere que compre una licencia para su uso comercial. PHP requiere que usted use cpdflib >= 2.

Instalación

Para poder utilizar estas funciones, se debe compilar PHP con la siguiente opción de configuración --with-cpdflib[=DIR]. DIR se refiere al directorio de instalación de cpdflib, cuyo valor por defecto es /usr. Además, si se requiere que ClibPDF haga uso de las librerías JPEG y TIFF, se deben añadir también las siguientes opciones --with-jpeg-dir[=DIR] y --with-tiff-dir[=DIR].

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CPDF_PM_NONE (integer)

CPDF_PM_OUTLINES (integer)

CPDF_PM_THUMBS (integer)

CPDF_PM_FULLSCREEN (integer)

CPDF_PL_SINGLE (integer)

CPDF_PL_1COLUMN (integer)

CPDF_PL_2LCOLUMN (integer)

CPDF_PL_2RCOLUMN (integer)

Ejemplos

Ejemplo 1. Ejemplo Simple de ClibPDF

<?php
$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842, 1.0);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Pag. 1");
cpdf_begin_text($cpdf);
cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding");
cpdf_set_text_rendering($cpdf, 1);
cpdf_text($cpdf, "Times Roman outlined", 50, 50);
cpdf_end_text($cpdf);
cpdf_moveto($cpdf, 50, 50);
cpdf_lineto($cpdf, 740, 330);
cpdf_stroke($cpdf);
cpdf_finalize_page($cpdf, 1);
cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>

La distribución de pdflib contiene un ejemplo más complejo que genera una serie de páginas con un reloj análogo. Aquí está ese ejemplo convertido a PHP usando la extensión ClibPDF:

Ejemplo 2. Ejemplo pdfclock tomado de la distribución de pdflib 2.0

<?php
$radio = 200;
$margen = 20;
$conteo_paginas = 40;

$pdf = cpdf_open(0);
cpdf_set_creator($pdf, "pdf_clock.php");
cpdf_set_title($pdf, "Reloj An&aacute;logo");

while ($conteo_paginas-- > 0) {
  cpdf_page_init($pdf, $conteo_paginas+1, 0, 2 * ($radio + $margen), 2 * ($radio + $margen), 1.0);

  cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0);  /* limpiar */

  cpdf_translate($pdf, $radio + $margen, $radio + $margen);
  cpdf_save($pdf);
  cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);

  /* trazos de los minutos */
  cpdf_setlinewidth($pdf, 2.0);
  for ($alpha = 0; $alpha < 360; $alpha += 6) {
    cpdf_rotate($pdf, 6.0);
    cpdf_moveto($pdf, $radio, 0.0);
    cpdf_lineto($pdf, $radio-$margen/3, 0.0);
    cpdf_stroke($pdf);
  }

  cpdf_restore($pdf);
  cpdf_save($pdf);

  /* trazos de 5 minutos */
  cpdf_setlinewidth($pdf, 3.0);
  for ($alpha = 0; $alpha < 360; $alpha += 30) {
    cpdf_rotate($pdf, 30.0);
    cpdf_moveto($pdf, $radio, 0.0);
    cpdf_lineto($pdf, $radio-$margen, 0.0);
    cpdf_stroke($pdf);
  }

  $ltime = getdate();

  /* dibujar nuestra mano */
  cpdf_save($pdf);
  cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0);
  cpdf_moveto($pdf, -$radio/10, -$radio/20);
  cpdf_lineto($pdf, $radio/2, 0.0);
  cpdf_lineto($pdf, -$radio/10, $radio/20);
  cpdf_closepath($pdf);
  cpdf_fill($pdf);
  cpdf_restore($pdf);

  /* dibujar la mano de minutos */
  cpdf_save($pdf);
  cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0);
  cpdf_moveto($pdf, -$radio/10, -$radio/20);
  cpdf_lineto($pdf, $radio * 0.8, 0.0);
  cpdf_lineto($pdf, -$radio/10, $radio/20);
  cpdf_closepath($pdf);
  cpdf_fill($pdf);
  cpdf_restore($pdf);

  /* dibujar la mano de segundos */
  cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
  cpdf_setlinewidth($pdf, 2);
  cpdf_save($pdf);
  cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
  cpdf_moveto($pdf, -$radio/5, 0.0);
  cpdf_lineto($pdf, $radio, 0.0);
  cpdf_stroke($pdf);
  cpdf_restore($pdf);

  /* dibujar un pequenyo circulo en el centro */
  cpdf_circle($pdf, 0, 0, $radio/30);
  cpdf_fill($pdf);

  cpdf_restore($pdf);

  cpdf_finalize_page($pdf, $conteo_paginas+1);
}

cpdf_finalize($pdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($pdf);
cpdf_close($pdf);
?>

Ver también

Vea también la documentación de la extensión PDFlib.

Tabla de contenidos
cpdf_add_annotation -- Añade una anotación
cpdf_add_outline -- Añade una marca en la página actual
cpdf_arc -- Dibuja un arco
cpdf_begin_text -- Inicializa una sección de texto
cpdf_circle -- Dibuja un círculo
cpdf_clip -- Ajusta al camino actual
cpdf_close -- Cierra un documento PDF
cpdf_closepath_fill_stroke -- Cierra, llena y traza el camino actual
cpdf_closepath_stroke -- Cierra el camino y dibuja una línea a lo largo del camino
cpdf_closepath -- Cierra el camino
cpdf_continue_text -- Pone texto en la línea siguiente
cpdf_curveto -- Dibuja una curva
cpdf_end_text -- Finaliza una sección de texto
cpdf_fill_stroke -- LLena y traza el camino actual
cpdf_fill -- LLena el camino actual
cpdf_finalize_page -- Finaliza una página
cpdf_finalize -- Finaliza un documento
cpdf_global_set_document_limits -- Establece límites para un documento pdf
cpdf_import_jpeg -- Abre una imagen JPEG
cpdf_lineto -- Dibuja una línea
cpdf_moveto -- Define el punto actual
cpdf_newpath -- Comienza un nuevo camino
cpdf_open -- Abre un nuevo documento pdf
cpdf_output_buffer -- Pone el documento PDF en el buffer de memoria
cpdf_page_init -- Comienza una nueva página
cpdf_place_inline_image -- Situa una imagen en la página
cpdf_rect -- Dibuja un rectángulo
cpdf_restore -- Restaura un entorno guardado previamente
cpdf_rlineto -- Dibuja una línea
cpdf_rmoveto -- Define el punto actual
cpdf_rotate_text -- Establece el ángulo de rotación de un texto
cpdf_rotate -- Define la rotación
cpdf_save_to_file -- Escribe el documento PDF en un archivo
cpdf_save -- Guarda el entorno actual
cpdf_scale -- Define la escala
cpdf_set_action_url -- Establece un hiperenlace
cpdf_set_char_spacing -- Determina el espacio entre caracteres
cpdf_set_creator -- Define el campo creator en el documento PDF
cpdf_set_current_page -- Define la página actual
cpdf_set_font_directories -- Indica los directorios en los que se deben buscar las fuentes externas
cpdf_set_font_map_file -- Indica el mapeo que se va a emplear para asociar el nombre de la fuente con el nombre del archivo cuando se emplean fuentes externas
cpdf_set_font -- Selecciona la fuente y el tamaño actual
cpdf_set_horiz_scaling -- Define la escala horizontal del texto
cpdf_set_keywords -- Pone el valor del campo 'keywords'(palabras clave) de un documento PDF
cpdf_set_leading -- Define la distancias entre las líneas de texto
cpdf_set_page_animation -- Define el intervalo entre páginas
cpdf_set_subject -- Define el valor del campo subjet de un documento PDF
cpdf_set_text_matrix -- Define la matriz de texto
cpdf_set_text_pos -- Define la posición del texto
cpdf_set_text_rendering -- Determina cómo es presentado el texto
cpdf_set_text_rise -- Define la elevación del texto
cpdf_set_title -- Define el campo title de un documento PDF
cpdf_set_viewer_preferences -- Modo de visualización del documento en el visor
cpdf_set_word_spacing -- Define el espacio entre palabras
cpdf_setdash -- Define el patrón de la raya
cpdf_setflat -- Define la monotonía
cpdf_setgray_fill -- Pone el color de relleno al valor gris
cpdf_setgray_stroke -- Define el color para dibujar al valor gris
cpdf_setgray -- Pone el color de relleno y dibujo a gris
cpdf_setlinecap -- Define el parámetro linecap
cpdf_setlinejoin -- Define el parámetro linejoin
cpdf_setlinewidth -- Define la anchura de la línea
cpdf_setmiterlimit -- Define el límite del inglete
cpdf_setrgbcolor_fill -- Pone el color de relleno al valor de color rgb
cpdf_setrgbcolor_stroke -- Pone el color de dibujo al valor de color rgb
cpdf_setrgbcolor -- Pone el color de relleno y dibujo al valor de color rgb
cpdf_show_xy -- Muestra texto en la posición indicada
cpdf_show -- Muestra el texto en la posición actual
cpdf_stringwidth -- Devuelve la anchura del texto en la fuente actual
cpdf_stroke -- Dibuja una línea a lo largo del camino
cpdf_text -- Muestra texto con parámetros
cpdf_translate -- Define el sistema de origen de coordenadas

Anterior | Inicio | Siguiente
classkit_method_rename | Subir | cpdf_add_annotation


cpdf_add_annotation

(PHP 3 >= 3.0.12, PHP 4, PHP 5 <= 5.0.4)

cpdf_add_annotation -- Añade una anotación

Descripción

void cpdf_add_annotation ( int pdf document, double llx, double lly, double urx, double ury, string title, string content, int mode )

La función cpdf_add_annotation() añade una nota con la esquina inferior izquierda en (llx, lly) y la esquina superior derecha en (urx, ury).

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Anterior | Inicio | Siguiente
Funciones ClibPDF | Subir | cpdf_add_outline


cpdf_add_outline

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_add_outline -- Añade una marca en la página actual

Descripción

int cpdf_add_outline ( int pdf document, int lastoutline, int sublevel, int open, int pagenr, string text )

La función cpdf_add_outline() añade una marca con el texto text que apunta a la página actual.

Ejemplo 1. Añadiendo un contorno de página

<?php
$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Pagina 1");
// ...
// Algun dibujo
// ...
cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>

Anterior | Inicio | Siguiente
cpdf_add_annotation | Subir | cpdf_arc


cpdf_arc

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_arc -- Dibuja un arco

Descripión

bool cpdf_arc ( int pdf document, float x_coor, float y_coor, float radius, float start, float end [, int mode] )

La función cpdf_arc() dibuja un arco con el centro en el punto (x-koor, y-koor) y radio radius, empezando en el ángulo start y terminando en el ángulo end. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_circle().

Anterior | Inicio | Siguiente
cpdf_add_outline | Subir | cpdf_begin_text


cpdf_begin_text

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_begin_text -- Inicializa una sección de texto

Descripción

bool cpdf_begin_text ( int pdf document )

La función cpdf_begin_text() comienza una sección de texto. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. La sección creada debe ser terminada con cpdf_end_text().

Ejemplo 1. Salida de texto

<?php
cpdf_begin_text($pdf);
cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");
cpdf_text($pdf, 100, 100, "Algun texto");
cpdf_end_text($pdf)
?>

Vea también cpdf_end_text().

Anterior | Inicio | Siguiente
cpdf_arc | Subir | cpdf_circle


cpdf_circle

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_circle -- Dibuja un círculo

Descripción

bool cpdf_circle ( int pdf document, float x_coor, float y_coor, float radius [, int mode] )

La función cpdf_circle() dibuja un círculo con centro en el punto (x-koor, y-koor) y radio radius. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_arc().

Anterior | Inicio | Siguiente
cpdf_begin_text | Subir | cpdf_clip


cpdf_clip

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_clip -- Ajusta al camino actual

Descripción

bool cpdf_clip ( int pdf document )

La función cpdf_clip() ajusta todos los dibujos al camino actual. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_circle | Subir | cpdf_close


cpdf_close

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_close -- Cierra un documento PDF

Descripción

bool cpdf_close ( int pdf document )

La función cpdf_close() cierra un documento PDF. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Esta debería ser la última operación incluso después de cpdf_finalize(), cpdf_output_buffer() y cpdf_save_to_file().

Vea también cpdf_open().

Anterior | Inicio | Siguiente
cpdf_clip | Subir | cpdf_closepath_fill_stroke


cpdf_closepath_fill_stroke

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_closepath_fill_stroke -- Cierra, llena y traza el camino actual

Descripción

bool cpdf_closepath_fill_stroke ( int pdf document )

La función cpdf_closepath_fill_stroke() cierra, llena el interior del camino actual con el color actual de relleno y dibuja el camino actual. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_closepath(),
            cpdf_stroke(),
            cpdf_fill(),
            cpdf_setgray_fill(),
            cpdf_setgray(),
            cpdf_setrgbcolor_fill(),
            cpdf_setrgbcolor().

Anterior | Inicio | Siguiente
cpdf_close | Subir | cpdf_closepath_stroke


cpdf_closepath_stroke

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_closepath_stroke -- Cierra el camino y dibuja una línea a lo largo del camino

Descripción

bool cpdf_closepath_stroke ( int pdf document )

La función cpdf_closepath_stroke() es una combinación de cpdf_closepath() y cpdf_stroke(). Después limpia el camino. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_closepath() y cpdf_stroke().

Anterior | Inicio | Siguiente
cpdf_closepath_fill_stroke | Subir | cpdf_closepath


cpdf_closepath

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_closepath -- Cierra el camino

Descripción

bool cpdf_closepath ( int pdf document )

La función cpdf_closepath() cierra el camino actual. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_closepath_stroke | Subir | cpdf_continue_text


cpdf_continue_text

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_continue_text -- Pone texto en la línea siguiente

Descripción

bool cpdf_continue_text ( int pdf document, string text )

La función cpdf_continue_text() pone la cadena text en la línea siguiente. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_show_xy(),
cpdf_text(),
cpdf_set_leading() y
cpdf_set_text_pos().

Anterior | Inicio | Siguiente
cpdf_closepath | Subir | cpdf_curveto


cpdf_curveto

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_curveto -- Dibuja una curva

Descripción

bool cpdf_curveto ( int pdf document, float x1, float y1, float x2, float y2, float x3, float y3 [, int mode] )

La función cpdf_curveto() dibuja una curva Bezier desde el punto actual al punto (x3, y3) usando (x1, y1) y (x2, y2) como puntos de control. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_moveto(),
cpdf_rmoveto(),
cpdf_rlineto() y
cpdf_lineto().

Anterior | Inicio | Siguiente
cpdf_continue_text | Subir | cpdf_end_text


cpdf_end_text

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_end_text -- Finaliza una sección de texto

Descripción

bool cpdf_end_text ( int pdf document )

La función cpdf_end_text() finaliza unasección de texto que fue inicializada con cpdf_begin_text(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Salida de texto

<?php
cpdf_begin_text($pdf);
cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");
cpdf_text($pdf, 100, 100, "Algun texto");
cpdf_end_text($pdf)
?>

Vea también cpdf_begin_text().

Anterior | Inicio | Siguiente
cpdf_curveto | Subir | cpdf_fill_stroke


cpdf_fill_stroke

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_fill_stroke -- LLena y traza el camino actual

Descripción

bool cpdf_fill_stroke ( int pdf document )

La función cpdf_fill_stroke() llena el interior del camino actual con el color de relleno actual y dibuja el camino actual. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_closepath(),
cpdf_stroke(),
cpdf_fill(),
cpdf_setgray_fill(),
cpdf_setgray(),
cpdf_setrgbcolor_fill() y
cpdf_setrgbcolor().

Anterior | Inicio | Siguiente
cpdf_end_text | Subir | cpdf_fill


cpdf_fill

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_fill -- LLena el camino actual

Descripción

bool cpdf_fill ( int pdf document )

La función cpdf_fill() llena el interior del camino actual con el color alctual de relleno. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_closepath(),
cpdf_stroke(),
cpdf_setgray_fill(),
cpdf_setgray(),
cpdf_setrgbcolor_fill() y
cpdf_setrgbcolor().

Anterior | Inicio | Siguiente
cpdf_fill_stroke | Subir | cpdf_finalize_page


cpdf_finalize_page

(PHP 3 >= 3.0.10, PHP 4, PHP 5 <= 5.0.4)

cpdf_finalize_page -- Finaliza una página

Descripción

bool cpdf_finalize_page ( int pdf document, int page number )

La función cpdf_finalize_page() finaliza una página con número de página page number. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Esta función es sólo para ahorrar memoria. Una página terminada ocupa menos memoria pero no puede volver a ser modificada.

Vea también cpdf_page_init().

Anterior | Inicio | Siguiente
cpdf_fill | Subir | cpdf_finalize


cpdf_finalize

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_finalize -- Finaliza un documento

Descripción

bool cpdf_finalize ( int pdf document )

La función cpdf_finalize() finaliza un documento. Aún se tiene que llamar a cpdf_close(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_close().

Anterior | Inicio | Siguiente
cpdf_finalize_page | Subir | cpdf_global_set_document_limits


cpdf_global_set_document_limits

(PHP 4, PHP 5 <= 5.0.4)

cpdf_global_set_document_limits -- Establece límites para un documento pdf

Description

bool cpdf_global_set_document_limits ( int maxpages, int maxfonts, int maximages, int maxannotations, int maxobjects )

La función cpdf_global_set_document_limits() define varios límites del documento. Esta función debe ser llamada antes de cpdf_open() para que haga efecto. Ello define los límites de cualquier documento abierto con anterioridad. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_open().

Anterior | Inicio | Siguiente
cpdf_finalize | Subir | cpdf_import_jpeg


cpdf_import_jpeg

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_import_jpeg -- Abre una imagen JPEG

Descripción

bool cpdf_import_jpeg ( int pdf document, string file_name, float x_coor, float y_coor, float angle, float width, float height, float x_scale, float y_scale, int gsave [, int mode] )

La función cpdf_import_jpeg() abre una imagen almacenada en el archivo de nombre file name. El formato de la imagen debe ser JPEG. La imagen es situada en la página actual en la posición (x-koor, y-koor). La imagen es rotada angle grados. gsave debe ser distinto de cero para que la función funcione de forma correcta.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_place_inline_image().

Anterior | Inicio | Siguiente
cpdf_global_set_document_limits | Subir | cpdf_lineto


cpdf_lineto

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_lineto -- Dibuja una línea

Descripción

bool cpdf_lineto ( int pdf document, float x_coor, float y_coor [, int mode] )

La función cpdf_lineto() dibuja una línea desde el punto actual al punto con coordenadas (x-koor, y-koor). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_moveto(),
cpdf_rmoveto() y
cpdf_curveto().

Anterior | Inicio | Siguiente
cpdf_import_jpeg | Subir | cpdf_moveto


cpdf_moveto

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_moveto -- Define el punto actual

Descripción

bool cpdf_moveto ( int pdf document, float x_coor, float y_coor [, int mode] )

La funcióncpdf_moveto() pone el punto actual en las coordenadas x-koor y y-koor. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Anterior | Inicio | Siguiente
cpdf_lineto | Subir | cpdf_newpath


cpdf_newpath

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_newpath -- Comienza un nuevo camino

Descripción

bool cpdf_newpath ( int pdf document )

cpdf_newpath() crea un nuevo camino en el documento identificado por el parámetro pdf_document. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_moveto | Subir | cpdf_open


cpdf_open

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_open -- Abre un nuevo documento pdf

Descripción

int cpdf_open ( int compresion [, string nombre_archivo [, array limites_doc]] )

Abre un nuevo documento PDF.

Lista de parámetros

compresion

Si es diferente de 0, se habilita la compresión del documento

nombre_archivo

Define el archivo en el cual será escrito el documento. - es un sinónimo para stdout.

Si es omitido, el documento es creado en memoria y puede ser escrito a un archivo con cpdf_save_to_file() o escrito a la salida estándar con cpdf_output_buffer().

Nota: El uso de stdout no funcionará si PHP es compilado como un módulo de apache. Es posible solucionar este problema evitando este parámetro de nombre de archivo y usando cpdf_output_buffer() más adelante para producir el documento PDF.

limites_doc

Una matriz que define los límites del documento. Vea cpdf_global_set_document_limits() para más información

Valores retornados

Devuelve un gestor de documento, requerido como primer parámetro para todas las otras funciones de la biblioteca.

Ver también

cpdf_close()
cpdf_output_buffer()

Anterior | Inicio | Siguiente
cpdf_newpath | Subir | cpdf_output_buffer


cpdf_output_buffer

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_output_buffer -- Pone el documento PDF en el buffer de memoria

Descripción

bool cpdf_output_buffer ( int pdf document )

La función cpdf_output_buffer() muestra el documento PDF por la salida estándar. El documento debe ser creado en memoria, que es el caso de la función cpdf_open() cuando ha sido llamada sin parámetros. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_open().

Anterior | Inicio | Siguiente
cpdf_open | Subir | cpdf_page_init


cpdf_page_init

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_page_init -- Comienza una nueva página

Descripción

bool cpdf_page_init ( int pdf document, int page number, int orientation, float height, float width [, float unit] )

La función cpdf_page_init() crea una nueva página de altura height y anchura width. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. La página tiene el número page number y orientación orientation. orientation puede ser 0 para retrato y 1 para paisaje. El último parámetro opcional unit define la unidad del sistema de coordenadas. El valor debería ser el número de puntos postscript por unidad. Como el valor de una pulgada el igual a 72 puntos, un valor de 72 sería la unidad para una pulgada. Por defecto es 72.

Vea también cpdf_set_current_page().

Anterior | Inicio | Siguiente
cpdf_output_buffer | Subir | cpdf_place_inline_image


cpdf_place_inline_image

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_place_inline_image -- Situa una imagen en la página

Descripción

bool cpdf_place_inline_image ( int pdf document, int image, float x_coor, float y_coor, float angle, float width, float height, int gsave [, int mode] )

La función cpdf_place_inline_image() situa una imagen creada con las funciones de imagenes de PHP en la posición de la página (x-koor, y-koor). La imagen puede ser escalada al mismo tiempo. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Nota: Esta función solo está disponible si PHP se compiló con la librerí gráfica GD versión 1.3. Vea la documentación de la extensión GD para obtener más información e instrucciones de instalación.

Vea también cpdf_import_jpeg().

Anterior | Inicio | Siguiente
cpdf_page_init | Subir | cpdf_rect


cpdf_rect

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_rect -- Dibuja un rectángulo

Descripción

bool cpdf_rect ( int pdf document, float x_coor, float y_coor, float width, float height [, int mode] )

La función cpdf_rect() dibuja un rectángulo con su esquina inferior izquierda en el punto (x-koor, y-koor). La anchura es width. La altura es height. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Ejemplo 1. Dibujando un rectángulo

<?php

$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842, 1.0);

// establece el color de relleno a rojo
cpdf_setrgbcolor($cpdf, 1, 0, 0);

// dibuja un rectangulo de (180 * 100)
cpdf_rect($cpdf, 645, 400, 180, 100);

// llena el rectangulo
cpdf_fill($cpdf);

cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);

?>

Anterior | Inicio | Siguiente
cpdf_place_inline_image | Subir | cpdf_restore


cpdf_restore

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_restore -- Restaura un entorno guardado previamente

Descripción

bool cpdf_restore ( int pdf document )

La función cpdf_restore() restaura el entorno salvado con cpdf_save(). Funciona como el comando grestore de postscript. Muy útil si se quiere trasladar o rotar un objeto sin afectar ortros objetos. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Guardar/Restaurar

<?php
cpdf_save($pdf);
// hacer todo tipo de rotaciones, transformaciones, ...
cpdf_restore($pdf)
?>

Vea también cpdf_save().

Anterior | Inicio | Siguiente
cpdf_rect | Subir | cpdf_rlineto


cpdf_rlineto

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_rlineto -- Dibuja una línea

Descripción

bool cpdf_rlineto ( int pdf document, float x_coor, float y_coor [, int mode] )

La función cpdf_rlineto() dibuja una línea desde el punto actual al punto relativo con coordenadas (x-koor, y-koor). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_moveto(),
cpdf_rmoveto() y
cpdf_curveto().

Anterior | Inicio | Siguiente
cpdf_restore | Subir | cpdf_rmoveto


cpdf_rmoveto

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_rmoveto -- Define el punto actual

Descripción

bool cpdf_rmoveto ( int pdf document, float x_coor, float y_coor [, int mode] )

La función cpdf_rmoveto() pone el punto actual relativo a las coordenadas x-koor y y-koor. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_moveto().

Anterior | Inicio | Siguiente
cpdf_rlineto | Subir | cpdf_rotate_text


cpdf_rotate_text

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_rotate_text -- Establece el ángulo de rotación de un texto

Descripción

bool cpdf_rotate_text ( int pdf document, float angulo )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cpdf_rmoveto | Subir | cpdf_rotate


cpdf_rotate

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_rotate -- Define la rotación

Descripción

bool cpdf_rotate ( int pdf document, float angle )

La función cpdf_rotate() define la rotación en angle grados. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_rotate_text | Subir | cpdf_save_to_file


cpdf_save_to_file

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_save_to_file -- Escribe el documento PDF en un archivo

Descripción

bool cpdf_save_to_file ( int pdf document, string filename )

La función cpdf_save_to_file() guarda el documento PDF en un archivo si este documeto ha sido creado en memoria. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Esta función no es necesaria si el documento PDF ha sido abierto mediante la especificación de un nombre de archivo en la función cpdf_open().

Vea también cpdf_output_buffer() y cpdf_open().

Anterior | Inicio | Siguiente
cpdf_rotate | Subir | cpdf_save


cpdf_save

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_save -- Guarda el entorno actual

Descripción

bool cpdf_save ( int pdf document )

La función cpdf_save() guarda el entorno actual. Funciona como el comando gsave de postscript. Muy útil si se quiere trasladar o trotar un objeto sin afectar a los demás. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_restore().

Anterior | Inicio | Siguiente
cpdf_save_to_file | Subir | cpdf_scale


cpdf_scale

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_scale -- Define la escala

Descripción

bool cpdf_scale ( int pdf document, float x_scale, float y_scale )

La función cpdf_scale() define el factor de escala en los dos sentidos. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_save | Subir | cpdf_set_action_url


cpdf_set_action_url

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_action_url -- Establece un hiperenlace

Descripción

bool cpdf_set_action_url ( int pdfdoc, float xll, float yll, float xur, float xur, string url [, int mode] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cpdf_scale | Subir | cpdf_set_char_spacing


cpdf_set_char_spacing

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_char_spacing -- Determina el espacio entre caracteres

Descripción

bool cpdf_set_char_spacing ( int pdf document, float space )

LA función cpdf_set_char_spacing() define el espacio entre caracteres. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_set_word_spacing() y cpdf_set_leading().

Anterior | Inicio | Siguiente
cpdf_set_action_url | Subir | cpdf_set_creator


cpdf_set_creator

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_creator -- Define el campo creator en el documento PDF

Descripción

bool cpdf_set_creator ( int pdf document, string creator )

La función cpdf_set_creator() define el creador de un documento PDF. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_set_subject(),
cpdf_set_title() y
cpdf_set_keywords().

Anterior | Inicio | Siguiente
cpdf_set_char_spacing | Subir | cpdf_set_current_page


cpdf_set_current_page

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_current_page -- Define la página actual

Descripción

bool cpdf_set_current_page ( int pdf document, int page number )

La función cpdf_set_current_page() define la página en la que se van a realizar todas las operaciones. Se puede cambiar entre páginas a menos que una página ha sido finalizada con cpdf_finalize_page(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_finalize_page().

Anterior | Inicio | Siguiente
cpdf_set_creator | Subir | cpdf_set_font_directories


cpdf_set_font_directories

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

cpdf_set_font_directories -- Indica los directorios en los que se deben buscar las fuentes externas

Descripción

bool cpdf_set_font_directories ( int pdfdoc, string pfmdir, string pfbdir )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cpdf_set_current_page | Subir | cpdf_set_font_map_file


cpdf_set_font_map_file

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

cpdf_set_font_map_file -- Indica el mapeo que se va a emplear para asociar el nombre de la fuente con el nombre del archivo cuando se emplean fuentes externas

Descripción

bool cpdf_set_font_map_file ( int pdfdoc, string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cpdf_set_font_directories | Subir | cpdf_set_font


cpdf_set_font

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_font -- Selecciona la fuente y el tamaño actual

Descripción

bool cpdf_set_font ( int pdf document, string font name, float size, string encoding )

La función cpdf_set_font() define la fuente actual, el tamaño y la codificación. Actualmente solo son soportadas las fuentes estándar de postscript. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El último parámetro encoding puede tomar los siguientes valores: "MacRomanEncoding", "MacExpertEncoding", "WinAnsiEncoding", y "NULL". "NULL" es para el cifrado incluído en la fuente.

Para mas información vea el manual de ClibPDF, especialmente para cómo soportar las fuentes asiáticas.

Anterior | Inicio | Siguiente
cpdf_set_font_map_file | Subir | cpdf_set_horiz_scaling


cpdf_set_horiz_scaling

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_horiz_scaling -- Define la escala horizontal del texto

Descripción

bool cpdf_set_horiz_scaling ( int pdf document, float scale )

La función cpdf_set_horiz_scaling() define la escala horizontal al scale por ciento. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_set_font | Subir | cpdf_set_keywords


cpdf_set_keywords

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_keywords -- Pone el valor del campo 'keywords'(palabras clave) de un documento PDF

Descripción

bool cpdf_set_keywords ( int pdf document, string keywords )

La función cpdf_set_keywords() define las palabras clave de un documento PDF. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_set_title(),
cpdf_set_creator() y
cpdf_set_subject().

Anterior | Inicio | Siguiente
cpdf_set_horiz_scaling | Subir | cpdf_set_leading


cpdf_set_leading

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_leading -- Define la distancias entre las líneas de texto

Descripción

bool cpdf_set_leading ( int pdf document, float distance )

La función cpdf_set_leading() define la distancia entre las líneas de texto. Esta distancia se emplea si el texto es la salida de cpdf_continue_text(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_continue_text().

Anterior | Inicio | Siguiente
cpdf_set_keywords | Subir | cpdf_set_page_animation


cpdf_set_page_animation

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_page_animation -- Define el intervalo entre páginas

Descripción

bool cpdf_set_page_animation ( int pdf document, int transition, float duration, float direction, int orientation, int inout )

La función cpdf_set_page_animation() define la transición entre 2 páginas consecutivas. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El valor de transition puede ser

0 para ninguno,
1 para dos líneas que se barren a través de la pantalla, revelen la página,
2 para múltiples líneas,
3 para que una caja revele la página,
4 para una única línea,
5 para que la página naterior se disipe para revelar la pagina,
6 para que el efecto de disolución se mueva de un extremop de la página al otro,
7 para que la página antígua simplemente sea reemplazada por la nueva página (valor por defecto)

El valor de duration es el número de segundos que dura la transición entre las páginas que se pasan.

Anterior | Inicio | Siguiente
cpdf_set_leading | Subir | cpdf_set_subject


cpdf_set_subject

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_subject -- Define el valor del campo subjet de un documento PDF

Descripción

bool cpdf_set_subject ( int pdf document, string subject )

La función cpdf_set_subject() define el asunto de un documento PDF. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_set_title(),
cpdf_set_creator() y
cpdf_set_keywords().

Anterior | Inicio | Siguiente
cpdf_set_page_animation | Subir | cpdf_set_text_matrix


cpdf_set_text_matrix

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_text_matrix -- Define la matriz de texto

Descripción

bool cpdf_set_text_matrix ( int pdf document, array matrix )

La función cpdf_set_text_matrix() define una matriz que describe una transformación aplicada a la fuente actual de texto. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_set_subject | Subir | cpdf_set_text_pos


cpdf_set_text_pos

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_text_pos -- Define la posición del texto

Descripción

bool cpdf_set_text_pos ( int pdf document, float x_coor, float y_coor [, int mode] )

La función cpdf_set_text_pos() define la posición del texto para la siguiente llamada a cpdf_show(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Vea también cpdf_show() y cpdf_text().

Anterior | Inicio | Siguiente
cpdf_set_text_matrix | Subir | cpdf_set_text_rendering


cpdf_set_text_rendering

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_text_rendering -- Determina cómo es presentado el texto

Descripción

bool cpdf_set_text_rendering ( int pdf document, int rendermode )

La función cpdf_set_text_rendering() determina cómo es presentado el texto. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Los posibles valores para rendermode son 0=llenar texto, 1=poner texto, 2=llenar y poner texto, 3=invisible, 4=llenar texto y añadirlo al camino de corte, 5=poner texto y añadirlo al camino de corte, 6=llenar y poner texto y añadirlo al camino de corte, 7=añadirlo al camino de corte.

Anterior | Inicio | Siguiente
cpdf_set_text_pos | Subir | cpdf_set_text_rise


cpdf_set_text_rise

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_text_rise -- Define la elevación del texto

Descripción

bool cpdf_set_text_rise ( int pdf document, float value )

La función cpdf_set_text_rise() define la elevación del texto a value unidades. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_set_text_rendering | Subir | cpdf_set_title


cpdf_set_title

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_title -- Define el campo title de un documento PDF

Descripción

bool cpdf_set_title ( int pdf document, string title )

La función cpdf_set_title() define el título de un documento PDF. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_set_subject(),
cpdf_set_creator(),
cpdf_set_keywords().

Anterior | Inicio | Siguiente
cpdf_set_text_rise | Subir | cpdf_set_viewer_preferences


cpdf_set_viewer_preferences

(PHP 3 >= 3.0.9, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_viewer_preferences -- Modo de visualización del documento en el visor

Descripción

bool cpdf_set_viewer_preferences ( int pdfdoc, array preferences )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cpdf_set_title | Subir | cpdf_set_word_spacing


cpdf_set_word_spacing

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_set_word_spacing -- Define el espacio entre palabras

Descripción

bool cpdf_set_word_spacing ( int pdf document, float space )

La función cpdf_set_word_spacing() especifica el espacio entre palabras. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_set_char_spacing() y cpdf_set_leading().

Anterior | Inicio | Siguiente
cpdf_set_viewer_preferences | Subir | cpdf_setdash


cpdf_setdash

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setdash -- Define el patrón de la raya

Descripción

bool cpdf_setdash ( int pdf document, float white, float black )

La función cpdf_setdash() define el patrón de la raya white unidades blancas y black unidades negras. Si los dos son 0 se pone una línea sólida. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_set_word_spacing | Subir | cpdf_setflat


cpdf_setflat

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setflat -- Define la monotonía

Descripción

bool cpdf_setflat ( int pdf document, float value )

La función cpdf_setflat() pone la monotonía a un valor de entre 0 y 100. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_setdash | Subir | cpdf_setgray_fill


cpdf_setgray_fill

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setgray_fill -- Pone el color de relleno al valor gris

Descripción

bool cpdf_setgray_fill ( int pdf document, float value )

La función cpdf_setgray_fill() define el valor de gris actual para rellenar un camino. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_setrgbcolor_fill().

Anterior | Inicio | Siguiente
cpdf_setflat | Subir | cpdf_setgray_stroke


cpdf_setgray_stroke

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setgray_stroke -- Define el color para dibujar al valor gris

Descripción

bool cpdf_setgray_stroke ( int pdf document, float gray_value )

La función cpdf_setgray_stroke() pone el color de dibujo actual al valor de gris dado. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_setrgbcolor_stroke().

Anterior | Inicio | Siguiente
cpdf_setgray_fill | Subir | cpdf_setgray


cpdf_setgray

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setgray -- Pone el color de relleno y dibujo a gris

Descripción

bool cpdf_setgray ( int pdf document, float gray_value )

La función cpdf_setgray_stroke() pone el color de relleno y dibujo al color gris dado. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_setrgbcolor_stroke() y cpdf_setrgbcolor_fill().

Anterior | Inicio | Siguiente
cpdf_setgray_stroke | Subir | cpdf_setlinecap


cpdf_setlinecap

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setlinecap -- Define el parámetro linecap

Description

bool cpdf_setlinecap ( int pdf document, int value )

La función cpdf_setlinecap() define el parámetro linecap entre los valores 0 y 2. 0 = empalmar al final, 1 = redondear, 2 = esquina proyectada. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_setgray | Subir | cpdf_setlinejoin


cpdf_setlinejoin

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setlinejoin -- Define el parámetro linejoin

Descripción

bool cpdf_setlinejoin ( int pdf document, int value )

La función cpdf_setlinejoin() define el parámetro entre un valor de 0 y 2. 0 = ingletes, 1 = redondear, 2 = ángulo oblícuo. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_setlinecap | Subir | cpdf_setlinewidth


cpdf_setlinewidth

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setlinewidth -- Define la anchura de la línea

Descripción

bool cpdf_setlinewidth ( int pdf document, float width )

La función cpdf_setlinewidth() define la anchura de la línea a width. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_setlinejoin | Subir | cpdf_setmiterlimit


cpdf_setmiterlimit

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setmiterlimit -- Define el límite del inglete

Descripción

bool cpdf_setmiterlimit ( int pdf document, float value )

La función cpdf_setmiterlimit() define el límite del inglete a un valor mayor o igual a 1. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
cpdf_setlinewidth | Subir | cpdf_setrgbcolor_fill


cpdf_setrgbcolor_fill

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setrgbcolor_fill -- Pone el color de relleno al valor de color rgb

Descripción

bool cpdf_setrgbcolor_fill ( int pdf document, float red value, float green value, float blue value )

La función cpdf_setrgbcolor_fill() pone el color rgb actual para rellenar un camino.Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Los valores se expresan como valores de punto flotante con valor entre 0.0 y 1.0 (de esta forma, el negro es (0.0, 0.0, 0.0) y el blanco es (1.0, 1.0, 1.0)).

Vea también cpdf_setrgbcolor_stroke() y cpdf_setrgbcolor().

Anterior | Inicio | Siguiente
cpdf_setmiterlimit | Subir | cpdf_setrgbcolor_stroke


cpdf_setrgbcolor_stroke

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setrgbcolor_stroke -- Pone el color de dibujo al valor de color rgb

Descripción

bool cpdf_setrgbcolor_stroke ( int pdf document, float red value, float green value, float blue value )

La función cpdf_setrgbcolor_stroke() pone el color de dibujo actual al valor de color rgb dado.Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Los valores se expresan como valores de punto flotante con valor entre 0.0 y 1.0 (de esta forma, el negro es (0.0, 0.0, 0.0) y el blanco es (1.0, 1.0, 1.0)).

Vea también cpdf_setrgbcolor_fill() y cpdf_setrgbcolor().

Anterior | Inicio | Siguiente
cpdf_setrgbcolor_fill | Subir | cpdf_setrgbcolor


cpdf_setrgbcolor

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_setrgbcolor -- Pone el color de relleno y dibujo al valor de color rgb

Descripción

bool cpdf_setrgbcolor ( int pdf document, float red value, float green value, float blue value )

La función cpdf_setrgbcolor_stroke() pone el color de relleno y dibujo actual al color rgb dado. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Los valores se expresan como valores de punto flotante con valor entre 0.0 y 1.0 (de esta forma, el negro es (0.0, 0.0, 0.0) y el blanco es (1.0, 1.0, 1.0)).

Vea también cpdf_setrgbcolor_stroke() y cpdf_setrgbcolor_fill().

Anterior | Inicio | Siguiente
cpdf_setrgbcolor_stroke | Subir | cpdf_show_xy


cpdf_show_xy

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_show_xy -- Muestra texto en la posición indicada

Descripción

bool cpdf_show_xy ( int pdf document, string text, float x_coor, float y_coor [, int mode] )

La función cpdf_show_xy() muestra la cadena text en la posición con coordenadas (x-coor, y-coor). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Nota: La función cpdf_show_xy() es idéntica a cpdf_text() sin el parámetro opcional.

Vea también cpdf_text().

Anterior | Inicio | Siguiente
cpdf_setrgbcolor | Subir | cpdf_show


cpdf_show

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_show -- Muestra el texto en la posición actual

Descripción

bool cpdf_show ( int pdf document, string text )

La función cpdf_show() muestra la cadena text en la posición actual. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_text(),
cpdf_begin_text() y
cpdf_end_text().

Anterior | Inicio | Siguiente
cpdf_show_xy | Subir | cpdf_stringwidth


cpdf_stringwidth

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_stringwidth -- Devuelve la anchura del texto en la fuente actual

Descripción

float cpdf_stringwidth ( int pdf document, string text )

La función cpdf_stringwidth() devuelve la anchura de la cadena text. Requiere haber definido antes una fuente.

Vea también cpdf_set_font().

Anterior | Inicio | Siguiente
cpdf_show | Subir | cpdf_stroke


cpdf_stroke

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_stroke -- Dibuja una línea a lo largo del camino

Descripción

bool cpdf_stroke ( int pdf document )

La función cpdf_stroke() dibuja una línea a lo largo del camino actual. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también cpdf_closepath() y cpdf_closepath_stroke().

Anterior | Inicio | Siguiente
cpdf_stringwidth | Subir | cpdf_text


cpdf_text

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_text -- Muestra texto con parámetros

Descripción

bool cpdf_text ( int pdf document, string text [, float x_coor, float y_coor [, int mode [, float orientation [, int alignmode]]]] )

La función cpdf_text() muestra la cadena text en la posición de coordenadas (x-coor, y-coor). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

El parámetro opcional orientation es la rotación del texto en grados.

El parámetro opcional alignmode determina cómo está alineado el texto.

Vea la documentación de ClibPDF para los posibles valores.

Vea también cpdf_show_xy().

Anterior | Inicio | Siguiente
cpdf_stroke | Subir | cpdf_translate


cpdf_translate

(PHP 3 >= 3.0.8, PHP 4, PHP 5 <= 5.0.4)

cpdf_translate -- Define el sistema de origen de coordenadas

Descripción

bool cpdf_translate ( int pdf document, float x_coor, float y_coor )

La función cpdf_translate() define el sistema origen de coordenadas en el punto (x-coor, y-coor). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parametro opcional mode determina la longitud de la unidad. Si es 0 o si se omite, se utiliza la unidad por defecto especificada para la pagina. Si no las coordenadas son medidas en puntos postcript sin hacer caso de la unidad actual.

Anterior | Inicio | Siguiente
cpdf_text | Subir | Funciones COM y .Net (Windows)


Funciones para Crackear

Manual de PHP
Anterior Siguiente

XVI. Funciones para Crackear

Introducción

Las funciones para crackear hacen uso de la librería CrackLib para comprobar la dificultad de una contraseña para ser crackeada. La dificultad se determina comprobando la longitud de la contraseña, el uso de mayúsculas y minúsculas y comprobandola contra los diccionarios de CrackLib especificados. Además, CrackLib proporciona consejos útiles para incrementar la dificultad de la contraseña.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Requisitos

Para obtener más información sobre CrackLib y para obtener la librería se debe acceder a la siguiente dirección http://sourceforge.net/projects/cracklib.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/crack.

En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. Para poder usar estas funciones, se debe compilar PHP añadiendo el parámetro --with-crack[=DIR] a las opciones de configuración.

Los usuarios de Windows deben activar la opció php_crack.dll en el fichero php.ini para poder utilizar estas funciones. En PHP 4, esta DLL se encuentra en el directorio extensions/ que existe en los binarios de PHP para Windows. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración

Nombre | Valor por defecto | Donde se cambia | Registro de cambios
crack.default_dictionary | NULL | PHP_INI_SYSTEM | Disponible a partir de la versión de PHP 4.0.5.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Este ejemplo muestra como acceder a un diccionario de CrackLib, comprobar una contraseña, obtener todos los mensajes proporcionados por la librería y cerrar de nuevo el diccionario.

Ejemplo 1. Ejemplo de CrackLib

<?php
// Abrir el diccionario de CrackLib
$diccionario = crack_opendict('/usr/local/lib/pw_dict')
     or die('No se ha podido abrir el diccionario de CrackLib');

// Comprobar la contrase&ntilde,a
$check = crack_check($diccionario, 'gx9A2s0x');

// Obtener los mensajes
$diag = crack_getlastmessage();
echo $diag; // El mensaje obtenido es: 'strong password' (contrasena dificil de crackear)

// Cerrar el diccionario
crack_closedict($diccionario);
?>

Nota: Si la función crack_check() devuelve un valor de TRUE, entonces la función crack_getlastmessage() devuelve el mensaje 'strong password' (contraseña difícil de crackear).

Tabla de contenidos
crack_check -- Comprueba la dificultad de la contraseña proporcionada
crack_closedict -- Cierra un diccionario abierto de CrackLib
crack_getlastmessage -- Obtiene el mensaje de la última comprobación realizada
crack_opendict -- Abre un diccionario de CrackLib

Anterior | Inicio | Siguiente
variant_xor | Subir | crack_check


crack_check

(PHP 4 >= 4.0.5, PECL)

crack_check -- Comprueba la dificultad de la contraseña proporcionada

Descripción

bool crack_check ( resource diccionario, string contraseña )

bool crack_check ( string contraseña )

Comprueba la dificultad de crackear la contraseña proporcionada empleando el diccionario especificado.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

diccionario

El diccionario de CrackLib que se va a utilizar. Si no se especifica, se emplea el último diccionario abierto.

contraseña

La contraseña que se quiere comprobar.

Valores retornados

Devuelve TRUE si la contraseña es difícil de crackear y FALSE en cualquier otro caso.

Anterior | Inicio | Siguiente
Funciones para Crackear | Subir | crack_closedict


crack_closedict

(PHP 4 >= 4.0.5, PECL)

crack_closedict -- Cierra un diccionario abierto de CrackLib

Descripción

bool crack_closedict ( [resource diccionario] )

crack_closedict() cierra el diccionario indicado mediante el identificador diccionario.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

diccionario

Indica el diccionario que quiere cerrarse. Si no se especifica un valor, se cierra el diccionario que se encuentra actualmente abierto.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

crack_opendict()

Anterior | Inicio | Siguiente
crack_check | Subir | crack_getlastmessage


crack_getlastmessage

(PHP 4 >= 4.0.5, PECL)

crack_getlastmessage -- Obtiene el mensaje de la última comprobación realizada

Descripción

string crack_getlastmessage ( void )

La función crack_getlastmessage() obtiene el mensaje de la última comprobación realizada

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Valores retornados

El mensaje de la última comprobación realizada.

Ver también

crack_check()

Anterior | Inicio | Siguiente
crack_closedict | Subir | crack_opendict


crack_opendict

(PHP 4 >= 4.0.5, PECL)

crack_opendict -- Abre un diccionario de CrackLib

Descripción

resource crack_opendict ( string diccionario )

crack_opendict() abre el diccionario de CrackLib especificado en el parámetro diccionario para poder utilizarlo en la función crack_check().

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Nota: Solamente puede abrirse un diccionario cada vez.

Lista de parámetros

diccionario

Indica la ruta al diccionario de Cracklib.

Valores retornados

Si la función tiene éxito devuelve un identificador del diccionario, si falla devuelve FALSE.

Ver también

crack_check()
crack_closedict()

Anterior | Inicio | Siguiente
crack_getlastmessage | Subir | Funciones de Tipo de Caracter


Funciones CURL (Client URL Library)

Manual de PHP
Anterior Siguiente

XVIII. Funciones CURL (Client URL Library)

Introducción

PHP soporta libcurl, una librería creada por Danile Stenberg, que permite la conexión y comunicación con varios tipos de servidores diferentes y con muchos tipos de protocolos diferentes. Actualmente, libcurl soporta los portocolos http, https, ftp, gopher, telnet, dict, file y ldap. Además libcurl también soporta certificados HTTPS, métodos HTTP POST y HTTP PUT, envío por FTP (que también puede realizarse con la extensión ftp de PHP), envío mediante HTTP de archivos en formularios HTML, servidores proxy, cookies y autenticación usuario+contraseña.

Estas funciones fueron agregadas en la versión 4.0.2.

Requisitos

Para poder usar las funciones CURL deberá instalar el paquete CURL. PHP requiere que use CURL 7.0.2-beta o superior. Desde la versión 4.2.3 de PHP se necesita, al menos, CURL 7.9.0 o superior. A partir de la versión 4.3.0, se necesita una versión de CURL 7.9.8 o superior. A partir de la versión PHP 5.0.0, la versión de CURL necesaria debe ser superior a 7.10.5.

Instalación

Para poder usar estas funciones, se debe compilar PHP añadiendo el parámetro --with-curl[=DIR], donde DIR apunta al directorio que contiene los directorios lib y include de la librería. En el directorio include, debe existir una carpeta llamada "curl" y que contiene los archivos easy.h y curl.h. Además, debe existir un archivo llamado libcurl.a en el directorio "lib". A partir de la versión de PHP 4.3.0 se puede configurar que PHP haga uso de CURL para el manejo de las conexiones con URLs, mediante la opción --with-curlwrappers.

Nota para los usuarios de plataformas Windows: Para activar este módulo en entornos Windows, se deben copiar los archivos libeay32.dll y ssleay32.dll que se encuentran en la carpeta DLL del directorio PHP/Win32 a la carpeta SYSTEM de Windows, que normalmente se encuentra en C:\WINNT\SYSTEM32 o C:\WINDOWS\SYSTEM.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CURLOPT_AUTOREFERER (integer)

Disponible desde PHP 5.1.0

CURLOPT_COOKIESESSION (integer)

Disponible desde PHP 5.1.0

CURLOPT_DNS_USE_GLOBAL_CACHE (integer)

CURLOPT_DNS_CACHE_TIMEOUT (integer)

CURLOPT_FTPSSLAUTH (integer)

Disponible desde PHP 5.1.0

CURLOPT_PORT (integer)

CURLOPT_FILE (integer)

CURLOPT_INFILE (integer)

CURLOPT_INFILESIZE (integer)

CURLOPT_URL (integer)

CURLOPT_PROXY (integer)

CURLOPT_VERBOSE (integer)

CURLOPT_HEADER (integer)

CURLOPT_HTTPHEADER (integer)

CURLOPT_NOPROGRESS (integer)

CURLOPT_NOBODY (integer)

CURLOPT_FAILONERROR (integer)

CURLOPT_UPLOAD (integer)

CURLOPT_POST (integer)

CURLOPT_FTPLISTONLY (integer)

CURLOPT_FTPAPPEND (integer)

CURLOPT_NETRC (integer)

CURLOPT_FOLLOWLOCATION (integer)

CURLOPT_FTPASCII (integer)

CURLOPT_PUT (integer)

CURLOPT_MUTE (integer)

CURLOPT_USERPWD (integer)

CURLOPT_PROXYUSERPWD (integer)

CURLOPT_RANGE (integer)

CURLOPT_TIMEOUT (integer)

CURLOPT_POSTFIELDS (integer)

CURLOPT_REFERER (integer)

CURLOPT_USERAGENT (integer)

CURLOPT_FTPPORT (integer)

CURLOPT_FTP_USE_EPSV (integer)

CURLOPT_LOW_SPEED_LIMIT (integer)

CURLOPT_LOW_SPEED_TIME (integer)

CURLOPT_RESUME_FROM (integer)

CURLOPT_COOKIE (integer)

CURLOPT_SSLCERT (integer)

CURLOPT_SSLCERTPASSWD (integer)

CURLOPT_WRITEHEADER (integer)

CURLOPT_SSL_VERIFYHOST (integer)

CURLOPT_COOKIEFILE (integer)

CURLOPT_SSLVERSION (integer)

CURLOPT_TIMECONDITION (integer)

CURLOPT_TIMEVALUE (integer)

CURLOPT_CUSTOMREQUEST (integer)

CURLOPT_STDERR (integer)

CURLOPT_TRANSFERTEXT (integer)

CURLOPT_RETURNTRANSFER (integer)

CURLOPT_QUOTE (integer)

CURLOPT_POSTQUOTE (integer)

CURLOPT_INTERFACE (integer)

CURLOPT_KRB4LEVEL (integer)

CURLOPT_HTTPPROXYTUNNEL (integer)

CURLOPT_FILETIME (integer)

CURLOPT_WRITEFUNCTION (integer)

CURLOPT_READFUNCTION (integer)

CURLOPT_PASSWDFUNCTION (integer)

CURLOPT_HEADERFUNCTION (integer)

CURLOPT_MAXREDIRS (integer)

CURLOPT_MAXCONNECTS (integer)

CURLOPT_CLOSEPOLICY (integer)

CURLOPT_FRESH_CONNECT (integer)

CURLOPT_FORBID_REUSE (integer)

CURLOPT_RANDOM_FILE (integer)

CURLOPT_EGDSOCKET (integer)

CURLOPT_CONNECTTIMEOUT (integer)

CURLOPT_SSL_VERIFYPEER (integer)

CURLOPT_CAINFO (integer)

CURLOPT_CAPATH (integer)

CURLOPT_COOKIEJAR (integer)

CURLOPT_SSL_CIPHER_LIST (integer)

CURLOPT_BINARYTRANSFER (integer)

CURLOPT_NOSIGNAL (integer)

CURLOPT_PROXYTYPE (integer)

CURLOPT_BUFFERSIZE (integer)

CURLOPT_HTTPGET (integer)

CURLOPT_HTTP_VERSION (integer)

CURLOPT_SSLKEY (integer)

CURLOPT_SSLKEYTYPE (integer)

CURLOPT_SSLKEYPASSWD (integer)

CURLOPT_SSLENGINE (integer)

CURLOPT_SSLENGINE_DEFAULT (integer)

CURLOPT_SSLCERTTYPE (integer)

CURLOPT_CRLF (integer)

CURLOPT_ENCODING (integer)

CURLOPT_PROXYPORT (integer)

CURLOPT_UNRESTRICTED_AUTH (integer)

CURLOPT_FTP_USE_EPRT (integer)

CURLOPT_HTTP200ALIASES (integer)

CURLOPT_HTTPAUTH (integer)

CURLAUTH_BASIC (integer)

CURLAUTH_DIGEST (integer)

CURLAUTH_GSSNEGOTIATE (integer)

CURLAUTH_NTLM (integer)

CURLAUTH_ANY (integer)

CURLAUTH_ANYSAFE (integer)

CURLOPT_PROXYAUTH (integer)

CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)

CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)

CURLCLOSEPOLICY_SLOWEST (integer)

CURLCLOSEPOLICY_CALLBACK (integer)

CURLCLOSEPOLICY_OLDEST (integer)

CURLINFO_EFFECTIVE_URL (integer)

CURLINFO_HTTP_CODE (integer)

CURLINFO_HEADER_SIZE (integer)

CURLINFO_REQUEST_SIZE (integer)

CURLINFO_TOTAL_TIME (integer)

CURLINFO_NAMELOOKUP_TIME (integer)

CURLINFO_CONNECT_TIME (integer)

CURLINFO_PRETRANSFER_TIME (integer)

CURLINFO_SIZE_UPLOAD (integer)

CURLINFO_SIZE_DOWNLOAD (integer)

CURLINFO_SPEED_DOWNLOAD (integer)

CURLINFO_SPEED_UPLOAD (integer)

CURLINFO_FILETIME (integer)

CURLINFO_SSL_VERIFYRESULT (integer)

CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)

CURLINFO_CONTENT_LENGTH_UPLOAD (integer)

CURLINFO_STARTTRANSFER_TIME (integer)

CURLINFO_CONTENT_TYPE (integer)

CURLINFO_REDIRECT_TIME (integer)

CURLINFO_REDIRECT_COUNT (integer)

CURL_VERSION_IPV6 (integer)

CURL_VERSION_KERBEROS4 (integer)

CURL_VERSION_SSL (integer)

CURL_VERSION_LIBZ (integer)

CURLVERSION_NOW (integer)

CURLE_OK (integer)

CURLE_UNSUPPORTED_PROTOCOL (integer)

CURLE_FAILED_INIT (integer)

CURLE_URL_MALFORMAT (integer)

CURLE_URL_MALFORMAT_USER (integer)

CURLE_COULDNT_RESOLVE_PROXY (integer)

CURLE_COULDNT_RESOLVE_HOST (integer)

CURLE_COULDNT_CONNECT (integer)

CURLE_FTP_WEIRD_SERVER_REPLY (integer)

CURLE_FTP_ACCESS_DENIED (integer)

CURLE_FTP_USER_PASSWORD_INCORRECT (integer)

CURLE_FTP_WEIRD_PASS_REPLY (integer)

CURLE_FTP_WEIRD_USER_REPLY (integer)

CURLE_FTP_WEIRD_PASV_REPLY (integer)

CURLE_FTP_WEIRD_227_FORMAT (integer)

CURLE_FTP_CANT_GET_HOST (integer)

CURLE_FTP_CANT_RECONNECT (integer)

CURLE_FTP_COULDNT_SET_BINARY (integer)

CURLE_PARTIAL_FILE (integer)

CURLE_FTP_COULDNT_RETR_FILE (integer)

CURLE_FTP_WRITE_ERROR (integer)

CURLE_FTP_QUOTE_ERROR (integer)

CURLE_HTTP_NOT_FOUND (integer)

CURLE_WRITE_ERROR (integer)

CURLE_MALFORMAT_USER (integer)

CURLE_FTP_COULDNT_STOR_FILE (integer)

CURLE_READ_ERROR (integer)

CURLE_OUT_OF_MEMORY (integer)

CURLE_OPERATION_TIMEOUTED (integer)

CURLE_FTP_COULDNT_SET_ASCII (integer)

CURLE_FTP_PORT_FAILED (integer)

CURLE_FTP_COULDNT_USE_REST (integer)

CURLE_FTP_COULDNT_GET_SIZE (integer)

CURLE_HTTP_RANGE_ERROR (integer)

CURLE_HTTP_POST_ERROR (integer)

CURLE_SSL_CONNECT_ERROR (integer)

CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)

CURLE_FILE_COULDNT_READ_FILE (integer)

CURLE_LDAP_CANNOT_BIND (integer)

CURLE_LDAP_SEARCH_FAILED (integer)

CURLE_LIBRARY_NOT_FOUND (integer)

CURLE_FUNCTION_NOT_FOUND (integer)

CURLE_ABORTED_BY_CALLBACK (integer)

CURLE_BAD_FUNCTION_ARGUMENT (integer)

CURLE_BAD_CALLING_ORDER (integer)

CURLE_HTTP_PORT_FAILED (integer)

CURLE_BAD_PASSWORD_ENTERED (integer)

CURLE_TOO_MANY_REDIRECTS (integer)

CURLE_UNKNOWN_TELNET_OPTION (integer)

CURLE_TELNET_OPTION_SYNTAX (integer)

CURLE_OBSOLETE (integer)

CURLE_SSL_PEER_CERTIFICATE (integer)

CURLE_GOT_NOTHING (integer)

CURLE_SSL_ENGINE_NOTFOUND (integer)

CURLE_SSL_ENGINE_SETFAILED (integer)

CURLE_SEND_ERROR (integer)

CURLE_RECV_ERROR (integer)

CURLE_SHARE_IN_USE (integer)

CURLE_SSL_CERTPROBLEM (integer)

CURLE_SSL_CIPHER (integer)

CURLE_SSL_CACERT (integer)

CURLE_BAD_CONTENT_ENCODING (integer)

CURLE_LDAP_INVALID_URL (integer)

CURLE_FILESIZE_EXCEEDED (integer)

CURLE_FTP_SSL_FAILED (integer)

CURLFTPAUTH_DEFAULT (integer)

Disponible desde PHP 5.1.0

CURLFTPAUTH_SSL (integer)

Disponible desde PHP 5.1.0

CURLFTPAUTH_TLS (integer)

Disponible desde PHP 5.1.0

CURLPROXY_HTTP (integer)

CURLPROXY_SOCKS5 (integer)

CURL_NETRC_OPTIONAL (integer)

CURL_NETRC_IGNORED (integer)

CURL_NETRC_REQUIRED (integer)

CURL_HTTP_VERSION_NONE (integer)

CURL_HTTP_VERSION_1_0 (integer)

CURL_HTTP_VERSION_1_1 (integer)

CURLM_CALL_MULTI_PERFORM (integer)

CURLM_OK (integer)

CURLM_BAD_HANDLE (integer)

CURLM_BAD_EASY_HANDLE (integer)

CURLM_OUT_OF_MEMORY (integer)

CURLM_INTERNAL_ERROR (integer)

CURLMSG_DONE (integer)

Ejemplos

Una vez que se ha compilado PHP con soporte para CURL, se pueden utilizar las funciones CURL. La idea básica tras las funciones CURL es que se inicializa una sesión CURL usando la función curl_init(), luego se establecen las opciones para la transferencia a través de la función curl_setopt(), y finalmente se ejecuta la sesión con la función curl_exec() para luego cerrarla con curl_close(). Aqui hay un ejemplo que usa funciones CURL para traer el contenido de la página de inicio de www.example.com y guardarlo en un archivo:

Ejemplo 1. Usando el modulo CURL de PHP para traer la página de inicio de www.example.com

<?php

$ch = curl_init ("http://www.example.com/");
$fp = fopen ("pagina_de_inicio.txt", "w");

curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
?>

Tabla de contenidos
curl_close -- Cierra una sesión CURL
curl_copy_handle -- Copia un recurso CURL y todas sus opciones asociadas
curl_errno -- Devuelve el último número de error
curl_error -- Devuelve una cadena conteniendo el último error para la sesión actual.
curl_exec -- Ejecuta una sesión CURL
curl_getinfo -- Obtiene información relativa a una transferencia específica
curl_init -- Inicializa una sesión CURL
curl_multi_add_handle -- Añade un recurso de tipo CURL a un grupo de recursos CURL
curl_multi_close -- Cierra un grupo de recursos CURL
curl_multi_exec -- Ejecuta la subconexiones del manejador CURL actual
curl_multi_getcontent -- Devuelve el contenido de un recurso CURL si la opción CURLOPT_RETURNTRANSFER está activada
curl_multi_info_read -- Obtiene información sobre las transferencias actuales
curl_multi_init -- Crea un nuevo grupo de recursos CURL
curl_multi_remove_handle -- Elimina un recurso de tipo CURL de un grupo de recursos CURL
curl_multi_select -- Obtiene todos los sockets asociados a la extensión CURL, que después pueden ser seleccionados.
curl_setopt_array -- Set multiple options for a cURL transfer
curl_setopt -- Asigna un valor a una opción de una sesión CURL
curl_version -- Devuelve la versión actual de CURL

Anterior | Inicio | Siguiente
ctype_xdigit | Subir | curl_close


curl_close

(PHP 4 >= 4.0.2, PHP 5)

curl_close -- Cierra una sesión CURL

Descripción

void curl_close ( resource ch )

Esta función cierra una sesión CURL y libera todos sus recursos. El recurso CURL, ch, también es eliminado.

Ejemplo 1. Inicializar una nueva sesión CURL y obtener una página web

<?php
// Se crea un manejador CURL
$ch = curl_init();

// Se establece la URL y algunas opciones
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Se obtiene la URL indicada
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);
?>

Ver también

curl_init()

Anterior | Inicio | Siguiente
Funciones CURL (Client URL Library) | Subir | curl_copy_handle


curl_copy_handle

(PHP 5)

curl_copy_handle -- Copia un recurso CURL y todas sus opciones asociadas

Descripción

resource curl_copy_handle ( resource ch )

Esta función copia un recurso CURL, y devuelve otro recurso CURL con las mismas opciones que el original.

Ejemplo 1. Hacer una copia de un manejador CURL.

<?php
// Se crea un manejador CURL
$ch = curl_init();

// Se establece la URL y algunas opciones
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// Se copia el manejador
$ch2 = curl_copy_handle($ch);

// Se obtiene la URL indicada (en este caso, http://www.example.com/)
curl_exec($ch2);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch2);
curl_close($ch);
?>

Anterior | Inicio | Siguiente
curl_close | Subir | curl_errno


curl_errno

(PHP 4 >= 4.0.3, PHP 5)

curl_errno -- Devuelve el último número de error

Descripción

int curl_errno ( resource ch )

Devuelve el número de error de la última operación CURL realizada con el recurso ch, o 0 (cero) si no ocurrieron errores.

Vea también la función curl_error() y los códigos de error de CURL.

Anterior | Inicio | Siguiente
curl_copy_handle | Subir | curl_error


curl_error

(PHP 4 >= 4.0.3, PHP 5)

curl_error -- Devuelve una cadena conteniendo el último error para la sesión actual.

Descripción

string curl_error ( resource ch )

Devuelve un mensaje de error para la última operación CURL realizada con el recurso ch, o '' (una cadena vacía) si no ha ocurrido un error.

Vea también: curl_errno() y los códigos de error de CURL.

Anterior | Inicio | Siguiente
curl_errno | Subir | curl_exec


curl_exec

(PHP 4 >= 4.0.2, PHP 5)

curl_exec -- Ejecuta una sesión CURL

Descripción

bool curl_exec ( int ch )

Esta función debe ser llamada después de inicializar una sesión CURL y fijar todas las opciones para la misma. Su propósito es simplemente el de ejecutar la sesión CURL indicada por el parámetro ch.

Ejemplo 1. Inicializar una nueva sesión CURL y obtener una página web

<?php
// Se crea un manejador CURL
$ch = curl_init();

// Se establece la URL y algunas opciones
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Se obtiene la URL indicada
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);
?>

Nota: Si se quiere que el resultado devuelto no se imprima directamente en la ventana del navegador, se puede usar la opción CURLOPT_RETURNTRANSFER mediante la función curl_setopt().

Anterior | Inicio | Siguiente
curl_error | Subir | curl_getinfo


curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo -- Obtiene información relativa a una transferencia específica

Descripción

mixed curl_getinfo ( resource ch [, int opt] )

Devuelve intormación sobre la última transferencia. El parámetro opt puede tener uno de los siguientes valores:

  • "CURLINFO_EFFECTIVE_URL" - La última URL efectiva

  • "CURLINFO_HTTP_CODE" - El último código HTTP recibido

  • "CURLINFO_FILETIME" - La fecha remota del documento recibido, si el valor devuelto es -1 la fecha del documento es desconocida

  • "CURLINFO_TOTAL_TIME" - El tiempo total de transacción en segundos para la última transferencia

  • "CURLINFO_NAMELOOKUP_TIME" - El tiempo en segundos transcurrido hasta que la resolución de nombres fue completada

  • "CURLINFO_CONNECT_TIME" - El tiempo en segundos que se tardó en establecer la conexión

  • "CURLINFO_PRETRANSFER_TIME" - El tiempo en segundos transcurrido desde el comienzo hasta antes de comenzar la transferencia

  • "CURLINFO_STARTTRANSFER_TIME" - El tiempo en segundos transcurrido hasta que el primer byte está listo para ser transferido

  • "CURLINFO_REDIRECT_TIME" - El tiempo en segundos de todos los redireccionamientos previos a la transacción final

  • "CURLINFO_SIZE_UPLOAD" - Número total de bytes enviados

  • "CURLINFO_SIZE_DOWNLOAD" - Número total de bytes recibidos

  • "CURLINFO_SPEED_DOWNLOAD" - Velocidad promedio de recepción

  • "CURLINFO_SPEED_UPLOAD" - Velocidad promedio de envío

  • "CURLINFO_HEADER_SIZE" - Tamaño total de todos los encabezados recibidos

  • "CURLINFO_REQUEST_SIZE" - Tamaño total de las peticiones efectuadas, actualmente solo para peticiones HTTP

  • "CURLINFO_SSL_VERIFYRESULT" - Resultado de la verificación de certificado SSL requerida al indicar CURLOPT_SSL_VERIFYPEER

  • "CURLINFO_CONTENT_LENGTH_DOWNLOAD" - El tamaño del contenido recibido, tomado del encabezado Content-Length

  • "CURLINFO_CONTENT_LENGTH_UPLOAD" - Tamaño indicado de la información enviada

  • "CURLINFO_CONTENT_TYPE" - Tipo de contenido del objeto recibido, NULL indica que el servidor no envío un encabezado Content-Type válido

Si es llamado sin el parámetro opcional opt, se devuelve un array asociativo con los siguientes elementos, que se corresponden con las opciones del parámetro opt:

  • "url"

  • "content_type"

  • "http_code"

  • "header_size"

  • "request_size"

  • "filetime"

  • "ssl_verify_result"

  • "redirect_count"

  • "total_time"

  • "namelookup_time"

  • "connect_time"

  • "pretransfer_time"

  • "size_upload"

  • "size_download"

  • "speed_download"

  • "speed_upload"

  • "download_content_length"

  • "upload_content_length"

  • "starttransfer_time"

  • "redirect_time"

Anterior | Inicio | Siguiente
curl_exec | Subir | curl_init


curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_init -- Inicializa una sesión CURL

Descripción

resource curl_init ( [string url] )

La función curl_init() inicializa una nueva sesión y devuelve un recurso CURL para ser usado con las funciones curl_setopt(), curl_exec(), y curl_close(). Si se indica un valor para el parámetro opcional url, la opción CURLOPT_URL se iguala a ese mismo valor. El valor también puede ser asignado manualmente usando la función curl_setopt().

Ejemplo 1. Inicializar una nueva sesión CURL y obtener una página web

<?php
// Se crea un manejador CURL
$ch = curl_init();

// Se establece la URL y algunas opciones
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Se obtiene la URL indicada
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);
?>

Vea también: curl_close() y curl_setopt()

Anterior | Inicio | Siguiente
curl_getinfo | Subir | curl_multi_add_handle


curl_multi_add_handle

(PHP 5)

curl_multi_add_handle -- Añade un recurso de tipo CURL a un grupo de recursos CURL

Descripción

int curl_multi_add_handle ( resource mh, resource ch )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también:
curl_multi_init(),
curl_init() y
curl_multi_remove_handle().

Anterior | Inicio | Siguiente
curl_init | Subir | curl_multi_close


curl_multi_close

(PHP 5)

curl_multi_close -- Cierra un grupo de recursos CURL

Descripción

void curl_multi_close ( resource mh )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también: curl_multi_init() y curl_close().

Anterior | Inicio | Siguiente
curl_multi_add_handle | Subir | curl_multi_exec


curl_multi_exec

(PHP 5)

curl_multi_exec -- Ejecuta la subconexiones del manejador CURL actual

Descripción

int curl_multi_exec ( resource mh, int &still_running )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también: curl_multi_init() y curl_exec().

Anterior | Inicio | Siguiente
curl_multi_close | Subir | curl_multi_getcontent


curl_multi_getcontent

(PHP 5)

curl_multi_getcontent -- Devuelve el contenido de un recurso CURL si la opción CURLOPT_RETURNTRANSFER está activada

Descripción

string curl_multi_getcontent ( resource ch )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también: curl_multi_init().

Anterior | Inicio | Siguiente
curl_multi_exec | Subir | curl_multi_info_read


curl_multi_info_read

(PHP 5)

curl_multi_info_read -- Obtiene información sobre las transferencias actuales

Descripción

array curl_multi_info_read ( resource mh )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también: curl_multi_init().

Anterior | Inicio | Siguiente
curl_multi_getcontent | Subir | curl_multi_init


curl_multi_init

(PHP 5)

curl_multi_init -- Crea un nuevo grupo de recursos CURL

Descripción

resource curl_multi_init ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también: curl_init() y curl_multi_close().

Anterior | Inicio | Siguiente
curl_multi_info_read | Subir | curl_multi_remove_handle


curl_multi_remove_handle

(PHP 5)

curl_multi_remove_handle -- Elimina un recurso de tipo CURL de un grupo de recursos CURL

Descripción

int curl_multi_remove_handle ( resource mh, resource ch )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también:
curl_multi_init(),
curl_init() y
curl_multi_add_handle().

Anterior | Inicio | Siguiente
curl_multi_init | Subir | curl_multi_select


curl_multi_select

(PHP 5)

curl_multi_select -- Obtiene todos los sockets asociados a la extensión CURL, que después pueden ser seleccionados.

Descripción

int curl_multi_select ( resource mh [, float timeout] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también: curl_multi_init().

Anterior | Inicio | Siguiente
curl_multi_remove_handle | Subir | curl_setopt_array


curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt -- Asigna un valor a una opción de una sesión CURL

Descripción

bool curl_setopt ( resource ch, int option, mixed value )

La función curl_setopt() asigna valores para opciones de una sesión CURL identificada por el parámetro ch. El parámetro option especifica la opción a la que se desea asignar el valor indicado en el parámetro value.

value debe ser una variable de tipo bool para los siguientes valores del parámetro option:

Opción | Valor de value | Notas
CURLOPT_AUTOREFERER | TRUE para establecer de forma automática el campo Referer: en las peticiones que siguen las redirecciones de tipo Location:. | Available since PHP 5.1.0.
CURLOPT_BINARYTRANSFER | TRUE para devolver la salida completa cuando se usa CURLOPT_RETURNTRANSFER.
CURLOPT_COOKIESESSION | TRUE para marcar esta cookie como una nueva cookie de sesión. Obliga a libcurl a ignorar todas las cookies que va a cargar y que son cookies de sesión de una sesión anterior. Por defecto, libcurl guarda y carga todas las cookies, independientemente de si son de sisió o no. Las cookies de sesión son las cookies que no tienen establecida una fecha de expiración y que se supone que solamente deben aplicarse y existir en esta sesión. | Disponible desde PHP 5.1.0.
CURLOPT_CRLF | TRUE para convertir los caracteres de nueva línea de Unix a caracteres de nueva línea de tipo CRLF en las transferencias.
CURLOPT_DNS_USE_GLOBAL_CACHE | TRUE para utilizar una cache de DNS global. Esta opción no es compatible con entornos multi-hilo y por defecto está activada.
CURLOPT_FAILONERROR | TRUE para que la ejecución de la función falle de forma "silenciosa" si el código HTTP devuelto es mayor que 300. El comportamiento por defecto es devolver la página normalmente, ignorando el código.
CURLOPT_FILETIME | TRUE para intentar obtener la fecha remota de modificación del documento. Se puede obtener el valor empleando la opción CURLINFO_FILETIME con la función curl_getinfo().
CURLOPT_FOLLOWLOCATION | TRUE para seguir las cabeceras "Location: " que puede enviar el servidor junto con el resto de las cabeceras HTTP (se debe tener en cuenta que el comportamiento es recursivo, por lo que PHP seguirá tantos encabezados "Location: " como se envien, a no ser que se establezca la opción CURLOPT_MAXREDIRS).
CURLOPT_FORBID_REUSE | TRUE para forzar que la conexión se cierre de forma explícita cuando la transmisión ha finalizado y por tanto que no se reserve para su posterior reutilización.
CURLOPT_FRESH_CONNECT | TRUE para forzar el uso de una conexión nueva en vez de reutilizar una conexión cacheada.
CURLOPT_FTP_USE_EPRT | TRUE para emplear EPRT (y LPRT) cuando se están realizado descargas de tipo FTP. Se puede indicar FALSE para deshabilitar EPRT y LPRT y utilizar solamente PORT. | Se incluyó en la versión de PHP 5.0.0.
CURLOPT_FTP_USE_EPSV | TRUE para intentar en primer lugar un comando de tipo EPSV en las transferencias FTP y en segundo lugar un comando de tipo PASV. Se puede indicar FALSE para deshabilitar EPSV.
CURLOPT_FTPAPPEND | TRUE para escribir a partir del final del archivo remoto en vez de sobreescribirlo.
CURLOPT_FTPASCII | Se trata de un alias de la opción CURLOPT_TRANSFERTEXT, que se recomienda utilizar en vez de esta opción.
CURLOPT_FTPLISTONLY | TRUE para obtener el listado de los elementos de un directorio de FTP.
CURLOPT_HEADER | TRUE para que el encabezado se incluya en la salida.
CURLOPT_HTTPGET | TRUE para volver a establecer el método HTTP al tipo GET. El método por defecto es GET, así que solamente es necesaria esta opción si el método ha sido modificado.
CURLOPT_HTTPPROXYTUNNEL | TRUE para encaminar la transferencia a través de un tunel establecido con el servidor proxy HTTP indicado.
CURLOPT_MUTE | TRUE para que las funciones CURL se comporten de forma completamente "silenciosa".
CURLOPT_NETRC | TRUE para obtener el nombre de usuario y la contraseña necesarios para acceder a un sitio remoto a partir del archivo ~/.netrc.
CURLOPT_NOBODY | TRUE para no incluir en la salida el contenido del body.
CURLOPT_NOPROGRESS TRUE para deshabilitar el medidor del progreso de las transferencias de tipo CURL.

Nota: PHP por defecto establece esta opción como TRUE, por lo que solamente deberí cambiarse su valor para tareas de depuración.

CURLOPT_NOSIGNAL | TRUE para que ninguna de las señales generadas por las funciones CURL se notifiquen la proceso de PHP. En entornos de ejecución de SAPIs multi-hilo está activado por defecto, de forma que las opciones de timeout puedan utilizarse. | Se incluyó en la versión de CURL 7.10 y de PHP 5.0.0.
CURLOPT_POST | TRUE para ejecutar una petición de tipo HTTP POST. El método empleado por el POST es el de application/x-www-form-urlencoded, que es el habitualmente empleado por los formularios HTML.
CURLOPT_PUT | TRUE para ejecutar el método HTTP PUT sobre un archivo. El archivo debe indicarse mediante las opciones CURLOPT_INFILE y CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER | TRUE para devolver el resultado como una cadena de texto que contiene el valor devuelto por la función curl_exec(), en vez de mostrar la salida directamente en la ventana del navegador.
CURLOPT_SSL_VERIFYPEER | FALSE para evitar que CURL verifique el certificado del otro extremo. Se pueden especificar otros certificados para verificar mediante la opción CURLOPT_CAINFO y también se puede especificar un directorio de certificados mediante la opción CURLOPT_CAPATH. La opción CURLOPT_SSL_VERIFYHOST se debe establecer a TRUE o FALSE si la opción CURLOPT_SSL_VERIFYPEER está deshabilitada (su valor por defecto es 2). | TRUE por defecto en la versión CURL 7.10. Conjunto instalado por defecto con la versión CURL 7.10.
CURLOPT_TRANSFERTEXT | TRUE para emplear el modo de transmisión ASCII en las transferencias de FTP. Para LDAP, obtiene los datos en formato de texto plano en vez de en formato HTML. En los sistemas Windows, no establece la salida STDOUT a modo binario.
CURLOPT_UNRESTRICTED_AUTH | TRUE para enviar el nombre de usuario y la contraseña cuando se siguen las cabeceras de tipo "Location: " (al activar la opción CURLOPT_FOLLOWLOCATION). El nombre de usuario y contraseña se envín aun cambiando el nombre del host en las redirecciones. | Se incluyó en la version de PHP 5.0.0.
CURLOPT_UPLOAD | TRUE para preparar una subida.
CURLOPT_VERBOSE | TRUE para obtener la información completa sobre la salida. La salida se escribe en STDERR o en el fichero especificado mediante la opción CURLOPT_STDERR.

El parámetro value debe ser un entero para los siguientes valores del parámetro option:

Opción | Valor de value | Notas
CURLOPT_BUFFERSIZE | El tamaño del buffer que se va a utilizar en cada operación de lectura. No se garantiza que la petición consiga llenar el buffer. | Se incluyó en la versión de CURL 7.10 y de PHP 5.0.0.
CURLOPT_CLOSEPOLICY | Puede ser o CURLCLOSEPOLICY_LEAST_RECENTLY_USED o CURLCLOSEPOLICY_OLDEST. Existen otros tres valores para CURLCLOSEPOLICY_, pero CURL no los soporta todaví.
CURLOPT_CONNECTTIMEOUT | El número de segundos que se pueden esperar como máximo intentando establecer la conexión. Si se le da un valor de 0 (cero), se espera indefinidamente.
CURLOPT_DNS_CACHE_TIMEOUT | El número de segundos que se mantienen las entradas de DNS en memoria. Por defecto toma un valor de 120 segundos (2 minutos).
CURLOPT_FTPSSLAUTH | El método de autenticación de FTP (si se utiliza autenticación): CURLFTPAUTH_SSL (intentar primero SSL), CURLFTPAUTH_TLS (intentar primero TLS) o CURLFTPAUTH_DEFAULT (dejar que CURL decida el método). | Se incluyó en la versión de CURL 7.12.2 y de PHP 5.1.0.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (por defecto se deja a CURL que decida que versión usar), CURL_HTTP_VERSION_1_0 (fuerza a usar HTTP/1.0), o CURL_HTTP_VERSION_1_1 (fuerza a usar HTTP/1.1).
CURLOPT_HTTPAUTH

El método de autenticación HTTP a utilizar. Las opciones son: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY y CURLAUTH_ANYSAFE.

Se puede utilizar el operador bitwise | (conocido como "or") para combinar más de un método. Si se utiliza una combinación de métodos, CURL sondea al servidor para comprobar qué métodos soporta y así elegir el mejor de los soportados.

CURLAUTH_ANY es un alias de CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE es un alias de CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

Se incluyó en la versión de PHP 5.0.0.
CURLOPT_INFILESIZE | El tamaño esperado en bytes del archivo empleado en una operación de subida de un archivo a un sitio remoto.
CURLOPT_LOW_SPEED_LIMIT | La velocidad de transmisión, en bytes por segundo, que la transferencia debe obtener de manera continua durante CURLOPT_LOW_SPEED_TIME segundos para que PHP considere la transferencia demasiado lenta y la aborte.
CURLOPT_LOW_SPEED_TIME | El número de segundos que la transferencia debe obtener de manera continua una velocidad de transferencia inferior a CURLOPT_LOW_SPEED_LIMIT bytes por segundo para que PHP considere la transferencia demasiado lenta y la aborte.
CURLOPT_MAXCONNECTS | El número máximo de conexiones persistentes permitidas. Cuando se alcanza el límite establecido, se utiliza la opción CURLOPT_CLOSEPOLICY para determinar que conexión se cierra.
CURLOPT_MAXREDIRS | El número máximo de redirecciones HTTP que se siguen. Se utiliza junto con la opción CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT | Un número de puerto alternativo para realizar la conexión.
CURLOPT_PROXYAUTH | Los métodos de autenticación HTTP empleados para una conexión proxy. Se emplean las mismas máscaras de bits que las descritas para la opción CURLOPT_HTTPAUTH. Para la autenticación proxy, solo se permiten los valores CURLAUTH_BASIC y CURLAUTH_NTLM. | Se incluyó en la versión de CURL 7.10.7 y de PHP 5.1.0.
CURLOPT_PROXYPORT | El número de puerto que se utiliza en las conexiones proxy. Este número se puede establecer también mediante la opción CURLOPT_PROXY. | Se incluyó en la versión de PHP 5.0.0.
CURLOPT_PROXYTYPE | Puede tomar el valor CURLPROXY_HTTP (valor por defecto) o CURLPROXY_SOCKS5. | Se incluyó en la versión de CURL 7.10 y de PHP 5.0.0.
CURLOPT_RESUME_FROM | La posición en bytes desde la que se reanuda la transferencia.
CURLOPT_SSL_VERIFYHOST | 1 para comprobar la existencia de un nombre común en el certificado SSL del otro extremo. 2 para comprobar la existencia de un nombre común y además comprobar si coincide el nombre del host proporcionado.
CURLOPT_SSLVERSION | La versión de SSL a utilizar (puede ser 2 o 3). Por defecto PHP trata de determinarlo por si mismo, aunque en algunos casos puede ser necesario indicarlo manualmente.
CURLOPT_TIMECONDITION | Manera en la que se trata la opción CURLOPT_TIMEVALUE. Si se indica el valor CURL_TIMECOND_IFMODSINCE, se devuelve la página solamente si ha sido modificada desde la fecha indicada en la opción CURLOPT_TIMEVALUE. Si no ha sido modificada, se devuelve una cabecera de tipo "304 Not Modified" si la opción CURLOPT_HEADER es TRUE. Si se indica el valor CURL_TIMECOND_ISUNMODSINCE el efecto conseguido es el contrario. El valor por defecto es CURL_TIMECOND_IFMODSINCE. | Se incluyó en la versión de PHP 5.1.0.
CURLOPT_TIMEOUT | El número máximo de segundos que CURL espera a que se ejecuten las funciones.
CURLOPT_TIMEVALUE | La fecha en número de segundos transcurridos desde el 1 de Enero de 1970. La fecha se utiliza con la opción CURLOPT_TIMECONDITION. Por defecto, se utiliza el parámetro CURL_TIMECOND_IFMODSINCE.

value debe ser una cadena de texto para los siguientes valores del parámetro option:

Opción | Valor de value | Notas
CURLOPT_CAINFO | El nombre del archivo que contiene uno o más certificados utilizados para la verificación con el otro extremo. Solamente es útil cuando se utiliza conjuntamente con la opción CURLOPT_SSL_VERIFYPEER.
CURLOPT_CAPATH | El directorio que contiene los certificados de las CA. Se utiliza junto con la opción CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE | El contenido de la cabecera "Set-Cookie: " que se utiliza en la petición HTTP.
CURLOPT_COOKIEFILE | El nombre del archivo que contiene los datos de las cookies. El archivo puede tener el formato definido por Netscape o el formato de cabeceras HTTP volcadas directamente a un archivo en texto plano.
CURLOPT_COOKIEJAR | El nombre del archivo en el que se guardan todas las cookies internas cuando se cierra la conexión.
CURLOPT_CUSTOMREQUEST Un método personalizado a utilizar en lugar de "GET" o "HEAD" cuando se hace una petición HTTP. Se utiliza cuando se quieren realizar peticiones HTTP no habituales como por ejemplo "DELETE". Los valores válidos son del tipo "GET", "POST", "CONNECT" y similares; esto es, no se debe introducir un valor complejo como por ejemplo "GET /index.html HTTP/1.0\r\n\r\n".

Nota: No se deben emplear métodos personalizados si no se está seguro de que el servidor remoto los soporta.

CURLOPT_EGBSOCKET | Es como CURLOPT_RANDOM_FILE, salvo que se indica un socket al demonio generador de entropía.
CURLOPT_ENCODING | Los contenidos de la cabecera "Accept-Encoding: ". De esta forma, se permite la decodificación de la respuesta. Los valores permitidos son los de "identity", "deflate" y "gzip". Si se indica una cadena vací (""), se envía una cabecera que incluye todos los tipos de codificación. | Se incluyó en la versión de PHP 5.0.0.
CURLOPT_FTPPORT | El valor que se utiliza para obtener la dirección IP que se emplea en la instrucción "POST" de FTP. La instrucción "POST" indica al servidor remoto que se conecte a la dirección IP especificada. La cadena puede ser una dirección IP, el nombre de un host, el nombre de un interfaz de red (en entornos Unix) o el valor '-' para utilizar la dirección IP por defecto del sistema.
CURLOPT_INTERFACE | El nombre del interfaz de red de salida a utilizar. Se puede indicar como nombre de interfaz, dirección IP o nombre de host.
CURLOPT_KRB4LEVEL | El nivel de seguridad de KRB4 (Kerberos 4). Se permite cualquiera de los siguientes valores (ordenados de menos a m´s fuerte): "clear", "safe", "confidential", "private".. Si la cadena proporcionada no contiene ninguno de esos valores, se utiliza el valor "private". Si se proporciona un valor de NULL, se deshabilita la seguridad KRB4. Actualmente, este tipo de seguridad solamente funciona en las transferencias FTP.
CURLOPT_POSTFIELDS | Los datos a enviar en una operación de tipo HTTP "POST".
CURLOPT_PROXY | El proxy HTTP a través del que se encaminan las peticiones.
CURLOPT_PROXYUSERPWD | El nombre de usuario y contraseña (indicados con el formato "[username]:[password]") que se van a utilizar para realizar la conexión con el proxy.
CURLOPT_RANDOM_FILE | El nombre del archivo que se va a emplear para alimentar el generador de números aleatorios empleado por SSL.
CURLOPT_RANGE | Rango de datos que se quieren obtener indicados de la forma "X-Y", donde X o Y son opcionales. Las transferencias HTTP soportan varios rangos diferentes simultaneos separados por comas, de la forma "X-Y,N-M".
CURLOPT_REFERER | El contenido de la cabecera "Referer: " empleada en la petición HTTP.
CURLOPT_SSL_CIPHER_LIST | La lista de algoritmos de tipo cipher a emplear por SSL. Los siguientes valores son válidos: RC4-SHA y TLSv1.
CURLOPT_SSLCERT | El nombre del archivo que contiene el certificado almacenado en formato PEM.
CURLOPT_SSLCERTPASSWD | La contraseña necesaria para utilizar el certificado CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPE | El formato del certificado. Los formatos soportados son "PEM" (valor por defecto), "DER" y "ENG". | se incluyó en la versión de CURL 7.9.3 y de PHP 5.0.0.
CURLOPT_SSLENGINE | El identificador del generador criptográfico de la clave privada de SSL especificada en la opción CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT | El identificador del generador criptográfico empleado en las operaciones criptográficas simétricas.
CURLOPT_SSLKEY | El nombre del archivo que contiene la clave privada de SSL.
CURLOPT_SSLKEYPASSWD La contraseña secreta necesaria para utilizar la clave privada de SSL especificada en la opció CURLOPT_SSLKEY.

Nota: Como esta opció requiere del uso de una contraseña que debe almacenarse en un lugar seguro, recuerde mantener el script de PHP en un entorno de ejecución seguro.

CURLOPT_SSLKEYTYPE | El tipo de clave privada de SSL especificada en CURLOPT_SSLKEY. Los valores permitidos son "PEM" (valor por defecto), "DER" y "ENG".
CURLOPT_URL | La URL que se quiere obtener. También se puede establecer su valor al inicializar una sesión con la función curl_init().
CURLOPT_USERAGENT | El contenido de la cabecera "User-Agent: " enviada en las peticiones HTTP.
CURLOPT_USERPWD | El nombre de usuario y contraseña (con el formato "[username]:[password]") que se va a utilizar para realizar la conexión.

value debería ser una variable de tipo array para los siguientes valores del parámetro option:

Opción | Valor de value | Notas
CURLOPT_HTTP200ALIASES | Array de respuestas HTTP de tipo 200 que se tratarán como respuestas válidas y no errores. | Se incluyó en la versió de CURL 7.10.3 y de PHP 5.0.0.
CURLOPT_HTTPHEADER | Array de valores de cabeceras HTTP que se van a enviar. |
CURLOPT_POSTQUOTE | Array de comandos FTP que se van a ejecutar en el servidor remoto después de que se haya ejecutado la petición FTP. |
CURLOPT_QUOTE | Array de comandos FTP que se van a ejecutar en el servidor remoto antes de que se haya ejecutado la petición FTP. |

value debe ser un recurso de tipo stream (obtenido por ejemplo mediante la función fopen()) para los siguientes valores del parámetro option:

Opción | Valor de value | Notas
CURLOPT_FILE | Archivo al que se van a volcar los datos de la transferencia. Por defecto es STDOUT (por tanto, generalmente la ventana del navegador). |
CURLOPT_INFILE | Archivo del que la transferencia debe obtener los datos para las peticiones de tipo subida. |
CURLOPT_STDERR | Recurso alternativo para escribir los errores producidos en lugar de STDERR. |
CURLOPT_WRITEHEADER | Archivo en el que se escribe la parte de las cabeceras de la transferencia. |

value debe ser una cadena de texto con el nombre válido de una función de tipo callback para los siguientes valores del parámetro option:

Opción | Valor de value | Notas
CURLOPT_HEADERFUNCTION | Nombre de la función de callback que requiere de 2 argumentos. El primero es el recurso CURL y el segundo es una cadena que contiene los datos de la cabecera que se deben escribir. Si se utiliza esta función de callback, el programador tiene la responsabilidad de escribir los datos de la cabecera. La función devuelve el número de bytes escritos. |
CURLOPT_PASSWDFUNCTION | Nombre de la función de callback que requiere de 3 argumentos. El primero es el recurso CURL, el segundo es una cadena de texto que solicita que se introduzca una contraseña y el tercero es la longitud máxima de la contraseña. La función devuelve una cadena de texto que contiene la contraseña. |
CURLOPT_READFUNCTION | Nombre de la función de callback que requiere de 2 argumentos. El primero es el recurso CURL y el segundo es una cadena con los datos a leer. Si se utiliza esta función, el programador tiene la responsabilidad de leer los datos. La función devuelve el número de bytes leidos y devuelve 0 (cero) si se llega al final del archivo (EOF). |
CURLOPT_WRITEFUNCTION | Nombre de la función de callback que requiere de 2 argumentos. El primero es el recurso CURL y el segundo es una cadena de texto con los datos a escribir. Si se utiliza esta función, el programador tiene la responsabilidad de escribir los datos. La función debe devolver el número exacto de bytes que se han escrito o se producirá un error. |

Ejemplo 1. Inicializar una nueva sesión CURL y obtener una página web

<?php
// Se crea un manejador CURL
$ch = curl_init();

// Se establece la URL y algunas opciones
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// Se obtiene la URL indicada
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);
?>

Anterior | Inicio | Siguiente
curl_setopt_array | Subir | curl_version


curl_version

(PHP 4 >= 4.0.2, PHP 5)

curl_version -- Devuelve la versión actual de CURL

Descripción

array curl_version ( [int version] )

La función curl_version() devuelve una cadena que contiene la versión actual de CURL.

Anterior | Inicio | Siguiente
curl_setopt | Subir | Funciones de pago electrónico


Funciones de pago electrónico

Manual de PHP
Anterior Siguiente

XIX. Funciones de pago electrónico

Estas funciones solo están disponibles si el intérprete ha sido compilado con --with-cybercash=[DIR]. Estas funciones han sido añadidas en PHP4.

Tabla de contenidos
cybercash_base64_decode --
cybercash_base64_encode -- ???
cybercash_decr -- ???
cybercash_encr -- ???

Anterior | Inicio | Siguiente
curl_version | Subir | cybercash_base64_decode


cybercash_base64_decode

(PHP 4 <= 4.2.3, PECL)

cybercash_base64_decode --

Descripción

string cybercash_base64_decode ( string inbuff )

Anterior | Inicio | Siguiente
Funciones de pago electrónico | Subir | cybercash_base64_encode


cybercash_base64_encode

(PHP 4 <= 4.2.3, PECL)

cybercash_base64_encode -- ???

Descripción

string cybercash_base64_encode ( string inbuff )

Anterior | Inicio | Siguiente
cybercash_base64_decode | Subir | cybercash_decr


cybercash_decr

(PHP 4 <= 4.2.3, PECL)

cybercash_decr -- ???

Descripción

array cybercash_decr ( string wmk, string sk, string inbuff )

La función devuelve un array asociativo con los elementos "errcode" y, si "errcode" es FALSE, "outbuff" (string), "outLth" (long) y "macbuff" (string).

Anterior | Inicio | Siguiente
cybercash_base64_encode | Subir | cybercash_encr


cybercash_encr

(PHP 4 <= 4.2.3, PECL)

cybercash_encr -- ???

Descripción

array cybercash_encr ( string wmk, string sk, string inbuff )

La función devuelve un array asociativo con los elementos "errcode" y, si "errcode" es FALSE, "outbuff" (string), "outLth" (long) y "macbuff" (string).

Anterior | Inicio | Siguiente
cybercash_decr | Subir | Credit Mutuel CyberMUT functions


Cyrus IMAP administration Functions

Manual de PHP
Anterior Siguiente

XXI. Cyrus IMAP administration Functions

Introducción

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: Esta extensión no está disponible en plataformas Windows

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Instalación

To enable Cyrus IMAP support and to use these functions you have to compile PHP with the --with-cyrus option.

Aviso

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ ó Cyrus. Esto es debido a que las dos utilizan el mismo símbolo interno

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CYRUS_CONN_NONSYNCLITERAL (integer)

CYRUS_CONN_INITIALRESPONSE (integer)

CYRUS_CALLBACK_NUMBERED (integer)

CYRUS_CALLBACK_NOLITERAL (integer)

Tabla de contenidos
cyrus_authenticate -- Authenticate against a Cyrus IMAP server
cyrus_bind -- Bind callbacks to a Cyrus IMAP connection
cyrus_close -- Close connection to a Cyrus IMAP server
cyrus_connect -- Connect to a Cyrus IMAP server
cyrus_query -- Send a query to a Cyrus IMAP server
cyrus_unbind -- Unbind ...

Anterior | Inicio | Siguiente
cybermut_testmac | Subir | cyrus_authenticate


cyrus_authenticate

(PHP 4 >= 4.1.0, PECL)

cyrus_authenticate -- Authenticate against a Cyrus IMAP server

Descripción

void cyrus_authenticate ( resource connection [, string mechlist [, string service [, string user [, int minssf [, int maxssf [, string authname [, string password]]]]]]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
Cyrus IMAP administration Functions | Subir | cyrus_bind


cyrus_bind

(PHP 4 >= 4.1.0, PECL)

cyrus_bind -- Bind callbacks to a Cyrus IMAP connection

Descripción

bool cyrus_bind ( resource connection, array callbacks )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cyrus_authenticate | Subir | cyrus_close


cyrus_close

(PHP 4 >= 4.1.0, PECL)

cyrus_close -- Close connection to a Cyrus IMAP server

Descripción

bool cyrus_close ( resource connection )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cyrus_bind | Subir | cyrus_connect


cyrus_connect

(PHP 4 >= 4.1.0, PECL)

cyrus_connect -- Connect to a Cyrus IMAP server

Descripción

resource cyrus_connect ( [string host [, string port [, int flags]]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cyrus_close | Subir | cyrus_query


cyrus_query

(PHP 4 >= 4.1.0, PECL)

cyrus_query -- Send a query to a Cyrus IMAP server

Descripción

array cyrus_query ( resource connection, string query )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cyrus_connect | Subir | cyrus_unbind


cyrus_unbind

(PHP 4 >= 4.1.0, PECL)

cyrus_unbind -- Unbind ...

Descripción

bool cyrus_unbind ( resource connection, string trigger_name )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
cyrus_query | Subir | Funciones de Fecha y Hora


Funciones de Tipo de Caracter

Manual de PHP
Anterior Siguiente

XVII. Funciones de Tipo de Caracter

Introducción

Las funciones que ofrece esta extensión chequean si un caracter o cadena se ubica dentro de una determinada clase de caracteres, de acuerdo a la localidad actual (vea también setlocale()).

Cuando son llamadas con un argumento entero, estas funciones se comportan exactamente como sus homólogos de C provenientes de ctype.h. Esto quiere decir que si pasa un entero menor que 256, usará su valor ASCII para verificar si se ajusta al rango especificado (los dígitos están entre 0x30-0x39). Si el número se encuentra entre -128 y -1 inclusive entonces se le sumará 256 y el chequeo se realizará sobre ese valor.

Cuando son llamadas con un argumento de tipo cadena, chequearán cada caracter de la cadena y solo devolverán TRUE si cada caracter de la cadena coincide con el criterio solicitado. Cuando son llamadas con una cadena vacía, el resultado será siempre TRUE en PHP < 5.1 y FALSE a partir de 5.1.

Al pasar cualquier cosa diferente a una cadena o un entero, se devolverá FALSE inmediatamente.

Debe notarse que se prefieren siempre las funciones ctype sobre las expresiones regulares, e incluso sobre algunas funciones str_* e is_* equivalentes. Esto se debe a que ctype usa una biblioteca C nativa y por lo tanto realiza sus procesos significativamente más rápido.

Requisitos

Ninguno aparte de las funciones de la biblioteca de C estándar, la cual se encuentra disponible siempre.

Instalación

A partir de PHP 4.2.0 estas funciones están habilitadas por defecto. En versiones anteriores es necesario configurar y compilar PHP con el parámetro --enable-ctype. Es posible deshabilitar el soporte para ctype con --disable-ctype.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Nota: A partir de PHP 4.3.0 el soporte para ctype es nativo.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
ctype_alnum -- Chequear posibles caracteres alfanuméricos
ctype_alpha -- Chequear posibles caracteres alfabéticos
ctype_cntrl -- Chequear posibles caracteres de control
ctype_digit -- Chequear posibles caracteres numéricos
ctype_graph -- Chequear posibles caracteres imprimibles, con excepción de los espacios
ctype_lower -- Chequear posibles caracteres en minúscula
ctype_print -- Chequear posibles caracteres imprimibles
ctype_punct -- Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos
ctype_space -- Chequear posibles caracteres de espacio en blanco
ctype_upper -- Chequear posibles caracteres en mayúscula
ctype_xdigit -- Chequear posibles caracteres que representen un dígito hexadecimal

Anterior | Inicio | Siguiente
crack_opendict | Subir | ctype_alnum


ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnum -- Chequear posibles caracteres alfanuméricos

Descripción

bool ctype_alnum ( string texto )

Chequea si todos los caracteres en la cadena entregada, texto, son alfanuméricos. En la localidad C estándar las letras se limitan a [A-Za-z] y la función es equivalente a preg_match('/^[a-z0-9]+$/iD', $texto).

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter de texto es o bien uno letra o un dígito, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_alnum() (usando la localización predeterminada)

<?php
$cadenas = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($cadenas as $caso_prueba) {
    if (ctype_alnum($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras o dígitos.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras o dígitos.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena AbCd1zyZ9 consiste completamente de letras o dígitos.
La cadena foo!#$bar no consiste completamente de letras o dígitos.

Ver también

ctype_alpha()
ctype_digit()
setlocale()

Anterior | Inicio | Siguiente
Funciones de Tipo de Caracter | Subir | ctype_alpha


ctype_alpha

(PHP 4 >= 4.0.4, PHP 5)

ctype_alpha -- Chequear posibles caracteres alfabéticos

Descripción

bool ctype_alpha ( string texto )

Verifica si todos los caracteres en la cadena entregada,texto, son alfabéticos. En la localización C estándar las letras se limitan a [A-Za-z] y ctype_alpha() es equivalente a (ctype_upper($texto) || ctype_lower($texto)) si $texto es un caracter sencillo, aunque otros idiomas usan letras que no son consideradas como mayúsculas ni minúsculas.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter de texto es una letra de la localización actual, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_alpha() (usando la localización predeterminada)

<?php
$cadenas = array('KjgWZC', 'arf12');
foreach ($cadenas as $caso_prueba) {
    if (ctype_alpha($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena KjgWZC consiste completamente de letras.
La cadena arf12 no consiste completamente de letras.

Ver también

ctype_upper()
ctype_lower()
setlocale()

Anterior | Inicio | Siguiente
ctype_alnum | Subir | ctype_cntrl


ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5)

ctype_cntrl -- Chequear posibles caracteres de control

Descripción

bool ctype_cntrl ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, son caracteres de control. Los caracteres de control son, por ejemplo, la alimentación de línea, el tabulador, escape.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter de texto es un caracter de control de la localización actual, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_cntrl()

<?php
$cadenas = array('cadena1' => "\n\r\t", 'cadena2' => 'arf12');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_cntrl($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de caracteres de control.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de caracteres de control.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena 'cadena1' consiste completamente de caracteres de control.
La cadena 'cadena2' no consiste completamente de caracteres de control.

Ver también

ctype_print()

Anterior | Inicio | Siguiente
ctype_alpha | Subir | ctype_digit


ctype_digit

(PHP 4 >= 4.0.4, PHP 5)

ctype_digit -- Chequear posibles caracteres numéricos

Descripción

bool ctype_digit ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, son numéricos.

Lista de parámetros

texto

La cadena probada.

Valores retornados

Devuelve TRUE si cada caracter del texto es un dígito decimal, o FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_digit()

<?php
$cadenas = array('1820.20', '10002', 'wsl!12');
foreach ($cadenas as $caso_prueba) {
    if (ctype_digit($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de dígitos.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de dígitos.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena 1820.20 no consiste completamente de dígitos.
La cadena 10002 consiste completamente de dígitos.
La cadena wsl!12 no consiste completamente de dígitos.

Ver también

ctype_alnum()
ctype_xdigit()

Anterior | Inicio | Siguiente
ctype_cntrl | Subir | ctype_graph


ctype_graph

(PHP 4 >= 4.0.4, PHP 5)

ctype_graph -- Chequear posibles caracteres imprimibles, con excepción de los espacios

Descripción

bool ctype_graph ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, generan una salida visible.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto es imprimible y genera alguna salida visible (no incluye los espacios), o FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_graph()

<?php
$cadenas = array('cadena1' => "asdf\n\r\t", 'cadena2' => 'arf12', 'cadena3' => 'LKA#@%.54');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_graph($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de caracteres (visiblemente) imprimibles.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de caracteres (visiblemente) imprimibles.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena 'cadena1' no consiste completamente de caracteres (visiblemente) imprimibles.
La cadena 'cadena2' consiste completamente de caracteres (visiblemente) imprimibles.
La cadena 'cadena3' consiste completamente de caracteres (visiblemente) imprimibles.

Ver también

ctype_alnum()
ctype_print()
ctype_punct()

Anterior | Inicio | Siguiente
ctype_digit | Subir | ctype_lower


ctype_lower

(PHP 4 >= 4.0.4, PHP 5)

ctype_lower -- Chequear posibles caracteres en minúscula

Descripción

bool ctype_lower ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, son letras minúsculas.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto es una letra minúscula en la localidad actual.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_lower() (usando la localidad predeterminada)

<?php
$cadenas = array('aac123', 'qiutoas', 'QASsdks');
foreach ($cadenas as $caso_prueba) {
    if (ctype_lower($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras min&uacute;sculas.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras min&uacute;sculas.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena aac123 no consiste completamente de letras min&uacute;sculas.
La cadena qiutoas consiste completamente de letras min&uacute;sculas.
La cadena QASsdks no consiste completamente de letras min&uacute;sculas.

Ver también

ctype_alpha()
ctype_upper()
setlocale()

Anterior | Inicio | Siguiente
ctype_graph | Subir | ctype_print


ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_print -- Chequear posibles caracteres imprimibles

Descripción

bool ctype_print ( string texto )

verifica si todos los caracteres en la cadena entregada, texto, son imprimibles.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto genera realmente alguna salida (incluyendo los espacios). Devuelve FALSE si el texto incluye caracteres de control o caracteres que no producen ninguna salida ni realizan función de control alguna después de todo.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_print()

<?php
$cadenas = array('cadena1' => "asdf\n\r\t", 'cadena2' => 'arf12', 'cadena3' => 'LKA#@%.54');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_print($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de caracteres imprimibles.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de caracteres imprimibles.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena 'cadena1' no consiste completamente de caracteres imprimibles.
La cadena 'cadena2' consiste completamente de caracteres imprimibles.
La cadena 'cadena3' consiste completamente de caracteres imprimibles.

Ver también

ctype_cntrl()
ctype_graph()
ctype_punct()

Anterior | Inicio | Siguiente
ctype_lower | Subir | ctype_punct


ctype_punct

(PHP 4 >= 4.0.4, PHP 5)

ctype_punct -- Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos

Descripción

bool ctype_punct ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, son caracteres de puntuación.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto es imprimible, pero no es una letra, dígito o espacio en blanco; o FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_punct()

<?php
$cadenas = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($cadenas as $caso_prueba) {
    if (ctype_punct($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de signos de puntuaci&oacute;n.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de signos de puntuaci&oacute;n.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena ABasdk!@!$# no consiste completamente de signos de puntuaci&oacute;n.
La cadena !@ # $ no consiste completamente de signos de puntuaci&oacute;n.
La cadena *&$() consiste completamente de signos de puntuaci&oacute;n.

Ver también

ctype_cntrl()
ctype_graph()

Anterior | Inicio | Siguiente
ctype_print | Subir | ctype_space


ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_space -- Chequear posibles caracteres de espacio en blanco

Descripción

bool ctype_space ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, crean espacios en blanco.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto genera cierto tipo de espacio en blanco, o FALSE de lo contrario. Junto con el caracter regular de espacio en blanco, también se consideran espacios a los caracteres de tabulación, tabulación vertical, alimentación de línea, retorno de carro y alimentación de formulario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_space()

<?php
$cadenas = array('cadena1' => "\n\r\t", 'cadena2' => "\narf12", 'cadena3' => '\n\r\t');
foreach ($cadenas as $nombre => $caso_prueba) {
    if (ctype_space($caso_prueba)) {
        echo "La cadena '$nombre' consiste completamente de espacios en blanco.\n";
    } else {
        echo "La cadena '$nombre' no consiste completamente de espacios en blanco.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena 'cadena1' consiste completamente de espacios en blanco.
La cadena 'cadena2' no consiste completamente de espacios en blanco.
La cadena 'cadena3' no consiste completamente de espacios en blanco.

Ver también

ctype_cntrl()
ctype_graph()
ctype_punct()

Anterior | Inicio | Siguiente
ctype_punct | Subir | ctype_upper


ctype_upper

(PHP 4 >= 4.0.4, PHP 5)

ctype_upper -- Chequear posibles caracteres en mayúscula

Descripción

bool ctype_upper ( string texto )

Verifica si todos los caracteres en la cadena entregada, texto, son caracteres en mayúsculas.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto es una letra mayúscula en la localidad actual.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_upper() (usando la localidad predeterminada)

<?php
$cadenas = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($cadenas as $caso_prueba) {
    if (ctype_upper($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de letras may&uacute;sculas.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de letras may&uacute;sculas.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena AKLWC139 no consiste completamente de signos de letras may&uacute;sculas.
La cadena LMNSDO consiste completamente de signos de letras may&uacute;sculas.
La cadena akwSKWsm no consiste completamente de signos de letras may&uacute;sculas.

Ver también

ctype_alpha()
ctype_lower()
setlocale()

Anterior | Inicio | Siguiente
ctype_space | Subir | ctype_xdigit


ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit -- Chequear posibles caracteres que representen un dígito hexadecimal

Descripción

bool ctype_xdigit ( string texto )

Verifica si todos los caracteres de la cadena entregada, texto, son 'dígitos' hexadecimales.

Lista de parámetros

texto

La cadena de prueba.

Valores retornados

Devuelve TRUE si cada caracter del texto es un 'dígito' hexadecimal, lo que quiere decir un dígito decimal o un caracter del rango [A-Fa-f]; FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de ctype_xdigit()

<?php
$cadenas = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($cadenas as $caso_prueba) {
    if (ctype_xdigit($caso_prueba)) {
        echo "La cadena $caso_prueba consiste completamente de d&iacute;gitos hexadecimales.\n";
    } else {
        echo "La cadena $caso_prueba no consiste completamente de d&iacute;gitos hexadecimales.\n";
    }
}
?>

El resultado del ejemplo seria:

La cadena AB10BC99 consiste completamente de d&iacute;gitos hexadecimales.
La cadena AR1012 no consiste completamente de d&iacute;gitos hexadecimales.
La cadena ab12bc99 consiste completamente de d&iacute;gitos hexadecimales.

Ver también

ctype_digit()

Anterior | Inicio | Siguiente
ctype_upper | Subir | Funciones CURL (Client URL Library)


Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)

Manual de PHP
Anterior Siguiente

XXIV. Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)

Introducción

Estas funciones forman la base para acceder a bases de datos tipo Berkeley DB.

Esta es una capa general de abstracción para varias bases de datos basadas en archivos. Como tal, su funcionalidad está limitada al sub-conjunto común de características que soportan bases de datos modernas como DB2 de Sleepycat Software. (No confundirla con el software DB2 de IBM, el cual es soportado por medio de las funciones ODBC.)

Requisitos

El comportamiento de varios aspectos depende de la implementación de la base de datos interna. Funciones como dba_optimize() y dba_sync() harán lo que prometen para una base de datos y no tendrán efecto sobre otras. Es necesario descargar e instalar los gestores de base de datos soportados.

Tabla 1. Lista de gestores de DBA

Gestor | Notas
dbm | Dbm es el tipo más antiguo (original) de bases de datos tipo Berkeley DB. Es recomendable evitarlo, en lo posible. No soportamos las funciones de compatibilidad incorporadas en DB2 y gdbm, ya que solo son compatibles en el nivel de código fuente, pero no pueden gestionar el formato dbm original.
ndbm | Ndbm es un tipo más reciente y flexible que dbm. Aun tiene muchos de los límites arbitrarios de dbm (y por lo tanto es obsoleto).
gdbm | Gdbm es el administrador de bases de datos GNU.
db2 | DB2 es el formato DB2 de Sleepycat Software. Es descrito como "un grupo de herramientas programáticas que ofrecen soporte incorporado y de alto rendimiento de bases de datos tanto para aplicaciones independientes como cliente/servidor".
db3 | DB3 es DB3 de Sleepycat Software.
db4 | DB4 es DB4 de Sleepycat Software. Este se encuentra disponible desde PHP 4.3.2.
cdb | Cdb es "un paquete rápido, confiable y ligero para crear y leer bases de datos constantes." Es del creador de qmail y puede encontrarse en http://cr.yp.to/cdb.html. Ya que es constante, sólo soportamos las operaciones de lectura. Y desde PHP 4.3.0 soportamos escritura (no actualización) a través de la biblioteca cdb interna.
cdb_make | A partir de PHP 4.3.0 soportamos la creación (no actualización) de archivos cdb cuando la biblioteca cdb incorporada es usada.
flatfile | Este formato está disponible desde PHP 4.3.0 únicamente para efectos de compatibilidad con la extensión obsoleta dbm y debería evitarse. Sin embargo es posible usarlo cuando los archivos fueron creados en este formato. Eso ocurre cuando 'configure' no encuentra alguna biblioteca externa.
inifile | Este se encuentra disponible desde PHP 4.3.3 y tiene la capacidad de modificar archivos php.ini desde scripts PHP. Cuando se trabaja con archivos ini es posible pasar matrices de la forma array(0=>grupo,1=>nombre_valor) o cadenas de la forma "[grupo]nombre_valor" en donde el grupo es opcional. Dado que las funciones dba_firstkey() y dba_nextkey() devuelven representaciones tipo cadena de la clave, existe una nueva función, dba_key_split(), disponible desde PHP 5 que permite convertir las claves tipo cadena en claves tipo matriz sin perder FALSE.
qdbm | Este se encuentra disponible desde PHP 5.0.0. La biblioteca qdbm puede encontrarse en http://qdbm.sourceforge.net.

Cuando se invocan las funciones dba_open() o dba_popen(), uno de los nombres de gestor debe entregarse como argumento. La lista de gestores realmente disponibles se muestra al invocarse phpinfo() o dba_handlers().

Instalación

Usando el conmutador de configuración --enable-dba=shared, es posible construir un módule susceptible a ser cargado dinámicamente para habilitar PHP con soporte básico de bases de datos tipo dbm. También es necesario añadir soporte para al menos uno de los siguientes gestores especificando el valor de configuración --with-XXXX en su línea 'configure' de PHP.

Aviso

Después de configurar y compilar PHP es necesario ejecutar la siguiente prueba desde la línea de comandos: php run-tests.php ext/dba. Ésta muestra si su combinación de gestores funciona. Los más problemáticos son dbm y ndbm, que ocasionan conflictos con varias instalaciones. La razón de esto es que en muchos sistemas aquellas bibliotecas son parte de más de una biblioteca externa. La prueba de configuración solo le previene de configurar gestores sencillos que operen incorrectamente, pero no de las combinaciones.

Tabla 2. Gestores DBA soportados

Gestor | Conmutador de Configuración
dbm Para habilitar el soporte dbm agregue --with-dbm[=DIR].

Nota: dbm es usualmente una envoltura que con frecuencia resulta en fallos. Esto quiere decir que únicamente debería usar dbm si está seguro de que funciona y realmente necesita este formato.

ndbm Para habilitar soporte para ndbm agregue --with-ndbm[=DIR].

Nota: ndbm es usualmente una envoltura que con frecuencia resulta en fallos. Esto quiere decir que únicamente debería usar ndbm si está seguro de que funciona y realmente necesita este formato.

gdbm | Para habilitar el soporte para gdbm agregue --with-gdbm[=DIR].
db2 Para habilitar el soporte para db2 agregue --with-db2[=DIR].

Nota: db2 genera un conflicto con db3 y db4.

db3 Para habilitar el soporte para db3 agregue --with-db3[=DIR].

Nota: db3 genera un conflicto con db2 y db4.

db4 Para habilitar el soporte para db4 agregue --with-db4[=DIR].

Nota: db4 genera un conflicto con db2 y db3.

Nota: Esta opción fue agregada en PHP 4.3.2. En versiones anteriores de PHP, es necesario usar --with-db3=DIR, en donde DIR es la ruta hacia la biblioteca db4. No es posible usar versiones de db desde 4.1 con versiones de PHP anteriores a 4.3.0. Asimismo, las bibliotecas db con versiones entre 4.1 a 4.1.24 no pueden ser usadas en ninguna versión de PHP.

cdb Para habilitar el soporte para cdb agregue --with-cdb[=DIR].

Nota: Desde PHP 4.3.0 es posible omitir DIR para usar la biblioceta cdb incorporada, acción que agrega el gestor cdb_make para permitir la creación de archivos cdb y permite el acceso a archivos cdb en la red usando secuencias de PHP.

flatfile Para habilitar el soporte para archivos planos (flatfile) agregue --with-flatfile.

Nota: Este gestor fue agregado en PHP 4.3.0 para ofrecer compatibilidad con la extensión obsoleta dbm. Use este gestor únicamente cuando no pueda instalar una de las bibliotecas requeridas por los otros gestores y no pueda usar el gestor cdb incorporado.

inifile Para habilitar el soporte para inifile agregue --with-inifile.

Nota: Este gestor fue agregado en PHP 5.0.0 y le permite leer y definir archivos tipo .ini de microsoft (como el archivo php.ini).

qdbm Para habilitar el soporte para qdbm agregue --with-qdbm[=DIR].

Nota: qdbm genera un conflicto con dbm y gdbm.

Nota: Este gestor fue agregado en PHP 5.0.0. La biblioteca qdbm puede obtenerse desde http://qdbm.sourceforge.net.

Nota: Hasta PHP 4.3.0 es posible agregar tanto db2 como db3 pero solo uno de ellos puede ser usado internamente. Esto quiere decir que no es posible tener ambos formatos de archivo. A partir de PHP 5.0.0 existe un chequeo de configuración para evitar tales errores de configuración.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Las funciones dba_open() y dba_popen() devuelven un gestor al archivo de base de datos a acceder especificado, el cual es usado por todas las otras llamadas a funciones dba.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Ejemplo de DBA

<?php

$id = dba_open("/tmp/prueba.db", "n", "db2");

if (!$id) {
    echo "dba_open ha fallado\n";
    exit;
}

dba_replace("clave", "Este es un ejemplo!", $id);

if (dba_exists("clave", $id)) {
    echo dba_fetch("clave", $id);
    dba_delete("clave", $id);
}

dba_close($id);
?>

DBA es seguro con material binario y no tiene límites arbitrarios. Sin embargo, hereda todos los límites establecidos por la implementación de la base de datos interna.

Todas las bases de datos basadas en archivo deben ofrecer una forma de establecer el modo de archivo de una base de datos recién creada, si es posible. Un modo de archivo es pasado por lo general como el cuarto argumento a dba_open() o dba_popen().

Es posible acceder a todas las entradas de una base de datos en una forma lineal usando las funciones dba_firstkey() y dba_nextkey(). No debe modificar la base de datos mientras la recorre.

Ejemplo 2. Recorrido de una base de datos

<?php

// ...abrir base de datos...

$clave = dba_firstkey($id);

while ($clave != false) {
    if (true) {   // recordar la clave para realizar alguna accion mas adelante
        $manejar_despues[] = $clave;
    }
    $clave = dba_nextkey($id);
}

foreach ($manejar_despues as $val) {
    dba_delete($val, $id);
}

?>

Tabla de contenidos
dba_close -- Cerrar una base de datos DBA
dba_delete -- Elimina una entrada DBA especificada por clave
dba_exists -- Verificar si la clave existe
dba_fetch -- Recuperar datos especificados por clave
dba_firstkey -- Recuperar la primera clave
dba_handlers -- Listar todos los gestores disponibles
dba_insert -- Insertar entrada
dba_key_split -- Separa una clave en representación de cadena en representación de matriz
dba_list -- Listar todos los archivos de base de datos abiertos
dba_nextkey -- Recuperar la siguiente clave
dba_open -- Abrir una base de datos
dba_optimize -- Optimizar base de datos
dba_popen -- Abrir una base de datos de forma persistente
dba_replace -- Reemplazar o insertar una entrada
dba_sync -- Sincronizar base de datos

Anterior | Inicio | Siguiente
dbplus_xunlockrel | Subir | dba_close


dba_close

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_close -- Cerrar una base de datos DBA

Descripción

void dba_close ( resource gestor )

dba_close() cierra la base de datos establecida y libera todos los recursos del gestor de base de datos especificado.

Lista de parámetros

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

No value is returned.

Ver también

dba_open()
dba_popen()

Anterior | Inicio | Siguiente
Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm) | Subir | dba_delete


dba_delete

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_delete -- Elimina una entrada DBA especificada por clave

Descripción

bool dba_delete ( string clave, resource gestor )

dba_delete() elimina la entrada especificada de la base de datos.

Lista de parámetros

clave

La clave de la entrada que está siendo borrada.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

dba_exists()
dba_fetch()
dba_insert()
dba_replace()

Anterior | Inicio | Siguiente
dba_close | Subir | dba_exists


dba_exists

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_exists -- Verificar si la clave existe

Descripción

bool dba_exists ( string clave, resource gestor )

dba_exists() verifica si la clave especificada existe en la base de datos.

Lista de parámetros

clave

La clave usada para el chequeo.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve TRUE si la clave existe, FALSE de lo contrario.

Ver también

dba_delete()
dba_fetch()
dba_insert()
dba_replace()

Anterior | Inicio | Siguiente
dba_delete | Subir | dba_fetch


dba_fetch

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_fetch -- Recuperar datos especificados por clave

Descripción

string dba_fetch ( string clave, resource gestor )

string dba_fetch ( string clave, int saltar, resource gestor )

dba_fetch() recupera los datos especificados por clave desde la base de datos indicada con gestor.

Lista de parámetros

clave

La clave que apunta a los datos.

Nota: Cuando se trabaja con archivos ini, esta función acepta matrices como claves, en donde el índice 0 es el grupo y el índice 1 es el nombre del valor. Vea: dba_key_split().

saltar

El número de parejas clave-valor a ignorar cuando se usan bases de datos cdb. Este valor es ignorado por todas las otras bases de datos que no soportan múltiples claves con el mismo nombre.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve la cadena asociada si la pareja clave/datos es encontrada, FALSE de lo contrario.

Registro de cambios

Versión | Descripción
4.3 | El parámetro saltar se encuentra disponible para ofrecer soporte a la capacidad de gdb de claves múltiples con el mismo nombre.

Ver también

dba_exists()
dba_delete()
dba_insert()
dba_replace()
dba_key_split()

Anterior | Inicio | Siguiente
dba_exists | Subir | dba_firstkey


dba_firstkey

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_firstkey -- Recuperar la primera clave

Descripción

string dba_firstkey ( resource gestor )

dba_firstkey() devuelve la primera clave de la base de datos y reestablece el apuntador de clave interno. Esto permite una búsqueda lineal a través de la base de datos completa.

Lista de parámetros

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve la clave en caso de tener éxito, o FALSE de lo contrario.

Ver también

dba_nextkey()
dba_key_split()
Ejemplo 2 en los ejemplos de DBA

Anterior | Inicio | Siguiente
dba_fetch | Subir | dba_handlers


dba_handlers

(PHP 4 >= 4.3.0, PHP 5)

dba_handlers -- Listar todos los gestores disponibles

Descripción

array dba_handlers ( [bool informacion_completa] )

dba_handlers() lista todos los gestores soportados por esta extensión.

Lista de parámetros

informacion_completa

Habilita/deshabilita la opción de desplegar información completa en el resultado. El valor predeterminado es FALSE.

Valores retornados

Devuelve una matriz de gestores de bases de datos. Si informacion_completa se define como TRUE, la matriz será asociativa con los nombres de los gestores como claves, y su información de versión como valor. De lo contrario, el resultado será una matriz indexada de nombres de gestores.

Nota: Cuando es usada la biblioteca cdb interna, verá cdb y cdb_make.

Ejemplos

Ejemplo 1. Ejemplo de dba_handlers()

<?php

echo "Gestores DBA disponibles:\n";
foreach (dba_handlers(true) as $nombre_gestor => $version_gestor) {
  // limpiar las versiones
  $version_gestor = str_replace('$', '', $version_gestor);
  echo " - $nombre_gestor: $version_gestor\n";
}

?>

El resultado del ejemplo seria algo similar a:

Gestores DBA disponibles:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4

Anterior | Inicio | Siguiente
dba_firstkey | Subir | dba_insert


dba_insert

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_insert -- Insertar entrada

Descripción

bool dba_insert ( string clave, string valor, resource gestor )

dba_insert() inserta la entrada descrita con clave y valor en la base de datos.

Lista de parámetros

clave

La clave de la entrada a ser insertada. Si esta clave ya existe en la base de datos, esta función fallará. Use dba_replace() si necesita reemplazar una clave existente.

valor

El valor a ser insertado.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

dba_exists()
dba_delete()
dba_fetch()
dba_replace()

Anterior | Inicio | Siguiente
dba_handlers | Subir | dba_key_split


dba_key_split

(PHP 5)

dba_key_split -- Separa una clave en representación de cadena en representación de matriz

Descripción

mixed dba_key_split ( mixed clave )

dba_key_split() separa una clave (representación tipo cadena) en una representación tipo matriz.

Lista de parámetros

clave

La clave en representación de cadena.

Valores retornados

Devuelve un matriz de la forma array(0 => grupo, 1 => nombre_valor). Esta función devolverá FALSE si clave es NULL o FALSE.

Ver también

dba_firstkey()
dba_nextkey()
dba_fetch()

Anterior | Inicio | Siguiente
dba_insert | Subir | dba_list


dba_list

(PHP 4 >= 4.3.0, PHP 5)

dba_list -- Listar todos los archivos de base de datos abiertos

Descripción

array dba_list ( void )

dba_list() lista todos los archivos de bases de datos abiertos.

Valores retornados

Una matriz asociativa, en la forma id_recurso => nombre_archivo.

Anterior | Inicio | Siguiente
dba_key_split | Subir | dba_nextkey


dba_nextkey

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_nextkey -- Recuperar la siguiente clave

Descripción

string dba_nextkey ( resource gestor )

dba_nextkey() devuelve la siguiente clave de la base de datos y avanza el apuntador de clave interno.

Lista de parámetros

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve la clave si tiene éxito, o FALSE si ocurre un error.

Ver también

dba_firstkey()
dba_key_split()
Ejemplo 2 en los ejemplos de DBA

Anterior | Inicio | Siguiente
dba_list | Subir | dba_open


dba_open

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_open -- Abrir una base de datos

Descripción

resource dba_open ( string ruta, string modo [, string gestor [, mixed ...]] )

dba_open() establece una instancia de base de datos para el archivo en ruta con el modo dado usando gestor.

Lista de parámetros

ruta

Usualmente una ruta normal en su sistema de archivos.

modo

Es r para acceso de lectura, w para acceso de lectura/escritura a una base de datos existente, c para acceso de lectura/escritura y creación de base de datos si no existe actualmente, y n para crear, truncar y tener acceso de lectura/escritura.

Adicionalmente es posible definir el método de bloqueo de la base de datos con el siguiente caracter. Use l para bloquear la base de datos con un archivo .lck o d para bloquear el archivo de base de datos mismo. Es importante que todas sus aplicaciones hagan esto de forma consistente.

Si desea probar el acceso y no desea esperar al bloqueo puede añadir t como el tercer caracter. Cuando esté absulatemente seguro de que no necesita bloquear la base de datos puede hacerlo usando - en lugar de l o d. Cuando ninguna de las opciones d, l o - es usada, dba bloqueará el archivo de base de datos como si usara d.

Nota: Solo puede haber un escritor para un archivo de base de datos. Cuando use dba en un servidor web y más de una petición requiera operaciones de escritura, ellas sólo pueden hacerse una después de la otra. Asimismo, no es posible tener acceso de lectura durante un proceso de escritura. La extensión dba usa bloqueos para prevenir estas situaciones. Vea la siguiente tabla:

Tabla 1. Bloqueo DBA

ya abierto | modo = "rl" | modo = "rlt" | modo = "wl" | modo = "wlt" | modo = "rd" | modo = "rdt" | modo = "wd" | modo = "wdt"
no abierto | ok | ok | ok | ok | ok | ok | ok | ok
modo = "rl" | ok | ok | espera | falso | inválido | inválido | inválido | inválido
modo = "wl" | espera | falso | espera | falso | inválido | inválido | inválido | inválido
modo = "rd" | inválido | inválido | inválido | inválido | ok | ok | espera | falso
modo = "wd" | inválido | inválido | inválido | inválido | espera | falso | espera | falso

ok: la segunda llamada será exitosa.
espera: la segunda llamada espera hasta que dba_close() sea llamado para el primero.
falso: la segunda llamada devuelve falso.
inválido: no debe mezclar los modificadores "l" y "d" para el parámetro modo.

gestor

El nombre del gestor que será usado para acceder a ruta. A él se le pasan todos los parámetros opcionales dados a dba_open() y puede actuar sobre ellos.

Valores retornados

Devuelve un gestor positivo en caso de éxito, o FALSE si ocurre un error.

Registro de cambios

Versión | Descripción
4.3.0 | Es posible abrir archivos de base de datos sobre una conexión de red. Sin embargo en casos en los que se usa una conexión de socket (como http o ftp) la conexión será bloqueada en lugar del recurso mismo. Esto es importante ya que en tales casos el bloqueo es simplemente ignorado sobre el recurso y deben encontrarse otras soluciones.
4.3.0 | El bloqueo y los modificadores de modo "l", "d", "-" y "t" fueron agregados. En versiones anteriores de PHP, es necesario usar semáforos para prevenir el acceso simultáneo a bases de datos para cualquier gestor de bases de datos con excepción de GDBM. Vea el soporte de semáforos tipo Sistema V.
antes de 4.3.5 | El modo de apertura 'c' está dañado para varios gestores internos y trunca la base de datos en lugar de añadir los datos a una base de datos existente. Asimismo, dm y ndbm fallan en modo 'c' para configuraciones típicas (esto no puede arreglarse).

Ver también

dba_popen()
dba_close()

Anterior | Inicio | Siguiente
dba_nextkey | Subir | dba_optimize


dba_optimize

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_optimize -- Optimizar base de datos

Descripción

bool dba_optimize ( resource gestor )

dba_optimize() optimiza la base de datos interna.

Lista de parámetros

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

dba_sync()

Anterior | Inicio | Siguiente
dba_open | Subir | dba_popen


dba_popen

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_popen -- Abrir una base de datos de forma persistente

Descripción

resource dba_popen ( string ruta, string modo [, string gestor [, mixed ...]] )

dba_popen() establece una instancia de base de datos persistente para el archivo en ruta con el modo indicado, usando gestor.

Lista de parámetros

ruta

Usualmente una ruta normal en su sistema de archivos.

modo

Es r para acceso de lectura, w para acceso de lectura/escritura a una base de datos existente, c para acceso de lectura/escritura y creación de base de datos si no existe actualmente, y n para crear, truncar y tener acceso de lectura/escritura.

gestor

El nombre del gestor que será usado para acceder a ruta. A él se le pasan todos los parámetros opcionales dados a dba_popen() y puede actuar sobre ellos.

Valores retornados

Devuelve un gestor positivo en caso de éxito, o FALSE si ocurre un error.

Ver también

dba_open()
dba_close()

Anterior | Inicio | Siguiente
dba_optimize | Subir | dba_replace


dba_replace

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_replace -- Reemplazar o insertar una entrada

Descripción

bool dba_replace ( string clave, string valor, resource gestor )

dba_replace() reemplaza o inserta la entrada descrita con clave y value en la base de datos especificada por gestor.

Lista de parámetros

clave

La clave de la entrada a ser reemplazada.

valor

El valor a ser reemplazado.

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

dba_exists()
dba_delete()
dba_fetch()
dba_insert()

Anterior | Inicio | Siguiente
dba_popen | Subir | dba_sync


dba_sync

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

dba_sync -- Sincronizar base de datos

Descripción

bool dba_sync ( resource gestor )

dba_sync() sincroniza la base de datos. Esto probablemente desencadenará una escritura en disco, si es soportado.

Lista de parámetros

gestor

El gestor de base de datos, devuelto por dba_open() o dba_popen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

dba_optimize()

Anterior | Inicio | Siguiente
dba_replace | Subir | Funciones para dBase


Funciones de Fecha y Hora

Manual de PHP
Anterior Siguiente

XXII. Funciones de Fecha y Hora

Introducción

Estas funciones le permiten obtener la fecha y hora del servidor en donde están siendo ejecutados sus scripts PHP. Puede usar estas funciones para dar formato a las fechas y horas en muchas maneras diferentes.

Nota: Por favor tenga en cuenta que estas funciones dependen de los parámetros de localización de su servidor. Asegúrese de tener en cuenta el tiempo de preservación de luz del día (use p.ej. $fecha = strtotime('+7 days', $fecha) y no $fecha += 7*24*60*60) y los años bisiestos cuando trabaje con estas funciones.

Nota: Las zonas horarias mencionadas en esta sección pueden encontrarse en Apéndice H.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Nota: La última versión de la base de datos de zonas horarios puede ser instalada mediante el paquete timezonedb de PECL. Para usuarios de Windows, un DLL pre-compilado puede ser descargado del sitio de PECL4Win: php_timezonedb.dll.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de Fecha/Hora

Nombre | Variable por defecto | Donde se cambia | Registro de cambios
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.sunrise_zenith | "90.83" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.sunset_zenith | "90.83" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

date.default_latitude float

El valor por defecto de la latitud.

date.default_longitude float

El valor por defecto de la longitud.

date.sunrise_zenith float

El valor por defecto del cenit del amanecer.

date.sunset_zenith float

El valor por defecto del cenit del atardecer.

date.timezone string

El valor por defecto de la zona horaria. Se emplea cuando la variable de entorno TZ no está establecida. Este orden se describe en la función date_default_timezone_get() page.

Nota: Las cuatro primeras opciones de configuración solamente se emplean en las funciones date_sunrise() y date_sunset().

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Las siguientes constantes están definidas desde PHP 5.1.1 y ofrecen representaciones de fecha estándar, que pueden ser usadas junto con las funciones de formato de fechas (como date()).

DATE_ATOM (string)

Átomo (ejemplo: 2005-08-15T15:52:01+00:00)

DATE_COOKIE (string)

Cookies HTTP (ejemplo: Monday, 15-Aug-05 15:52:01 UTC)

DATE_ISO8601 (string)

ISO-8601 (ejemplo: 2005-08-15T15:52:01+0000)

DATE_RFC822 (string)

RFC 822 (ejemplo: Mon, 15 Aug 05 15:52:01 +0000)

DATE_RFC850 (string)

RFC 850 (ejemplo: Monday, 15-Aug-05 15:52:01 UTC)

DATE_RFC1036 (string)

RFC 1036 (ejemplo: Mon, 15 Aug 05 15:52:01 +0000)

DATE_RFC1123 (string)

RFC 1123 (ejemplo: Mon, 15 Aug 2005 15:52:01 +0000)

DATE_RFC2822 (string)

RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)

DATE_RFC3339 (string)

Igual que DATE_ATOM (desde PHP 5.1.3)

DATE_RSS (string)

RSS (Mon, 15 Aug 2005 15:52:01 +0000)

DATE_W3C (string)

Consorcio World Wide Web (ejemplo: 2005-08-15T15:52:01+00:00)

Las siguientes constantes existen desde PHP 5.1.2 y especifican un formato devuelto por las funciones date_sunrise() y date_sunset().

SUNFUNCS_RET_TIMESTAMP (integer)

Marca de tiempo

SUNFUNCS_RET_STRING (integer)

Horas:minutos (ejemplo: 08:02)

SUNFUNCS_RET_DOUBLE (integer)

Horas como un número de punto flotante (ejemplo 8.75)

Tabla de contenidos
checkdate -- Vaidar una fecha Gregoriana
date_create -- Returns new DateTime object
date_date_set -- Sets the date
date_default_timezone_get -- Gets the default timezone used by all date/time functions in a script
date_default_timezone_set -- Sets the default timezone used by all date/time functions in a script
date_format -- Returns date formatted according to given format
date_isodate_set -- Sets the ISO date
date_modify -- Alters the timestamp
date_offset_get -- Returns the daylight saving time offset
date_parse -- Returns associative array with detailed info about given date
date_sun_info -- Returns an array with information about sunset/sunrise and twilight begin/end
date_sunrise -- Obtiene la hora del amanecer de un día y lugar concretos
date_sunset -- Obtiene la hora del atardecer de un día y lugar concretos
date_time_set -- Sets the time
date_timezone_get -- Return time zone relative to given DateTime
date_timezone_set -- Sets the time zone for the DateTime object
date -- Dar formato a una hora/fecha local
getdate -- Obtiene información de fecha/hora
gettimeofday -- Obtiene la hora actual
gmdate -- Dar formato a una fecha/hora GMT/UTC
gmmktime -- Obtiene la marca de tiempo Unix para una fecha GMT
gmstrftime -- Dar formato a una hora/fecha GMT/UTC de acuerdo a parámetros de la localidad
idate -- Formatea la fecha/hora local como un número entero
localtime -- Obtener la hora local
microtime -- Devuelve la marca de tiempo Unix actual con micro-segundos
mktime -- Obtener la marca de tiempo Unix de una fecha
strftime -- Dar formato a una hora/fecha local de acuerdo a valores de localidad
strptime -- Manipula la hora/fecha obtenida mediante strftime()
strtotime -- Procesar cualquier descripción textual de fecha/hora en Inglés convirtiéndola en una timestamp de UNIX.
time -- Devuelve la marca de tiempo Unix actual
timezone_abbreviations_list -- Returns associative array containing dst, offset and the timezone name
timezone_identifiers_list -- Returns numerically index array with all timezone identifiers
timezone_name_from_abbr -- Returns the timezone name from abbrevation
timezone_name_get -- Returns the name of the timezone
timezone_offset_get -- Returns the timezone offset from GMT
timezone_open -- Returns new DateTimeZone object
timezone_transitions_get -- Returns all transitions for the timezone

Anterior | Inicio | Siguiente
cyrus_unbind | Subir | checkdate


checkdate

(PHP 3, PHP 4, PHP 5)

checkdate -- Vaidar una fecha Gregoriana

Descripción

bool checkdate ( int mes, int dia, int anyo )

Verifica la validez de la fecha formada por sus argumentos. Una fecha es considerada válida si cada parámetro es definido apropiadamente.

Lista de parámetros

mes

El mes es un valor entre 1 y 12 inclusive.

dia

El día es un valor entre el número permitido de días para el mes dado. Los anyos bisiestos son tomados en cuenta.

anyo

El año es un valor entre 1 y 32767 inclusive.

Valores retornados

Devuelve TRUE si la fecha dada es válida; de lo contrario devuelve FALSE.

Ejemplos

Ejemplo 1. Ejemplo de checkdate()

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

El resultado del ejemplo seria:

bool(true)
bool(false)

Ver también

mktime()
strtotime()

Anterior | Inicio | Siguiente
Funciones de Fecha y Hora | Subir | date_create


date_sunrise

(PHP 5)

date_sunrise -- Obtiene la hora del amanecer de un día y lugar concretos

Descripción

mixed date_sunrise ( int marca_de_tiempo [, int formato [, float latitud [, float longitud [, float cenit [, float diferencia_gmt]]]]] )

date_sunrise() devuelve la hora del amanecer de un día (indicado en marca_de_tiempo) y lugar concretos. Los par´metros latitud, longitud y cenit tienen unos valores por defecto iguales a las opciones de configuración date.default_latitude, date.default_longitude y date.sunrise_zenith respectivamente.

El valor de latitud se interpreta por defecto respecto del Norte. Si se quiere especificar un valor respecto del Sur, se debe pasar un valor negativo. Igualmente, longitude se interpreta por defecto referido al Este (y se debe emplear un valor negativo para referenciarlo respecto del Oeste).

El parámetro diferencia_gmt se indica en horas.

Tabla 1. Constantes de formato

Constante | Descripción | Ejemplo
SUNFUNCS_RET_STRING | Devuelve la hora del amanecer como una variable de tipo string | 16:46
SUNFUNCS_RET_DOUBLE | Devuelve el resultado como una variable de tipo float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | Devuelve el resultado como una variable de tipo integer (es decir, una marca de tiempo) | 1095034606

Ejemplo 1. Ejemplo de date_sunrise()

<?php

/* Calcula la hora del amanecer de Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Diferencia horaria: +1 GMT
*/

echo date("D M d Y"). ', hora del amanecer : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

El resultado del ejemplo seria algo similar a:

Mon Dec 20 2004, hora del amanecer : 08:54

Vea también date_sunset().

Anterior | Inicio | Siguiente
date_sun_info | Subir | date_sunset


date_sunset

(PHP 5)

date_sunset -- Obtiene la hora del atardecer de un día y lugar concretos

Descripción

mixed date_sunset ( int marca_de_tiempo [, int formato [, float latitud [, float longitud [, float cenit [, float diferencia_gmt]]]]] )

date_sunset() devuelve la hora del atardecer de un día (indicado en marca_de_tiempo) y lugar concretos. Los par´metros latitud, longitud y cenit tienen unos valores por defecto iguales a las opciones de configuración date.default_latitude, date.default_longitude y date.sunrise_zenith respectivamente.

El valor de latitud se interpreta por defecto respecto del Norte. Si se quiere especificar un valor respecto del Sur, se debe pasar un valor negativo. Igualmente, longitude se interpreta por defecto referido al Este (y se debe emplear un valor negativo para referenciarlo respecto del Oeste).

El parámetro diferencia_gmt se indica en horas.

Tabla 1. Constantes de formato

Constante | Descripciónn | Ejemplo
SUNFUNCS_RET_STRING | Devuelve la hora del atardecer como una variable de tipo string | 16:46
SUNFUNCS_RET_DOUBLE | Devuelve el resultado como una variable de tipo float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | Devuelve el resultado como una variable de tipo integer (es decir, una marca de tiempo) | 1095034606

Ejemplo 1. Ejemplo de date_sunset()

<?php

/* Calcula la hora del atardecer de Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Diferencia horaria: +1 GMT
*/

echo date("D M d Y"). ', hora del atardecer : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

El resultado del ejemplo seria algo similar a:

Mon Dec 20 2004, hora del amanecer : 18:13

Vea también date_sunrise().

Anterior | Inicio | Siguiente
date_sunrise | Subir | date_time_set


date

(PHP 3, PHP 4, PHP 5)

date -- Dar formato a una hora/fecha local

Descripción

string date ( string formato [, int marca_de_tiempo] )

Devuelve una cadena con formato de acuerdo a la cadena de formato dada usando el entero marca_de_tiempo entregado o la hora actual si no se da una marca de tiempo. En otras palabras, marca_de_tiempo es opcional y su valor predeterminado es el valor de time().

Lista de parámetros

formato

El formato de la fecha de salida tipo string. Vea las opciones de formato más adelante.

Tabla 1. Los siguientes caracteres son reconocidos en la cadena del parámetro formato

Caracter de formato | Descripción | Valores de ejemplo devueltos
Día --- ---
d | Día del mes, 2 dígitos con ceros iniciales | 01 a 31
D | Una representación textual de un día, tres letras | Mon a Sun
j | Día del mes sin ceros iniciales | 1 a 31
l ('L' minúscula) | Una representación textual completa del día de la semana | Sunday a Saturday
N | Representación numérica ISO-8601 del día de la semana (agregado in PHP 5.1.0) | 1 (para Lunes) a 7 (para Domingo)
S | Sufijo ordinal en inglés del dia del mes, 2 caracteres | st, nd, rd o th. Funciona bien con j
w | Representación numérica del día de la semana | 0 (para el Domingo) a 6 (para el Sábado)
z | El día del año (comenzando en 0) | 0 a 365
Semana --- ---
W | Número de la semana del año ISO-8601, las semanas comienzan en Lunes (agregado en PHP 4.1.0) | Ejemplo: 42 (la 42va semana del año)
Mes --- ---
F | Una representación textual completa de un mes, como January o March | January a December
m | Representación numérica de un mes, con ceros iniciales | 01 a 12
M | Una representación textual corta de un mes, tres letras | Jan a Dec
n | Representación numérica de un mes, sin ceros iniciales | 1 a 12
t | Número de días en el mes dado | 28 a 31
Año --- ---
L | Indica si es un año bisiesto | 1 si es un año bisiesto, 0 de lo contrario.
o | Número de año ISO-8601. Este es el mismo valor que Y, excepto que si el número de semana ISO (W) pertenece al año previo o siguiente, ese año será usado en su lugar. (agregado en PHP 5.1.0) | Ejemplos: 1999 o 2003
Y | Una representación numérica completa de un año, 4 dígitos | Ejemplos: 1999 o 2003
y | Una representación de dos dígitos de un año | Ejemplos: 99 o 03
Hora --- ---
a | Ante meridiano y Post meridiano en minúsculas | am o pm
A | Ante meridiano y Post meridiano en mayúsculas | AM o PM
B | Hora Swatch Internet | 000 a 999
g | formato de 12-horas de una hora sin ceros iniciales | 1 a 12
G | formato de 24-horas de una hora sin ceros iniciales | 0 a 23
h | formato de 12-horas de una hora con ceros iniciales | 01 a 12
H | formato de 24-horas de una hora con ceros iniciales | 00 a 23
i | Minutos con ceros iniciales | 00 a 59
s | Segundos, con ceros iniciales | 00 a 59
Zona horaria --- ---
e | Identificador de zona horaria (agregado en PHP 5.1.0) | Ejemplos: UTC, GMT, Atlantic/Azores
I (i mayúscula) | Indica si la fecha están en hora de ahorro de luz diurna | 1 si es Hora de Ahorro de Luz Diurna, 0 de lo contrario.
O | Diferencia con la hora Greenwich (GMT) en horas | Ejemplo: +0200
P | Diferencia con la hora Greenwich (GMT) con dos-puntos entre las horas y los minutos (agregada en PHP 5.1.3) | Ejemplo: +02:00
T | Abreviación de zona horaria | Ejemplos: EST, MDT ...
Z | Desplazamiento de la zona horaria en segundos. El desplazamiento para zonas horarias al oeste de UTC es siempre negativo, y el de aquellas al este de UTC es siempre positivo. | -43200 a 50400
Fecha/Hora Completa --- ---
c | Fecha ISO 8601 (agregada en PHP 5) | 2004-02-12T15:19:21+00:00
r | Fecha en formato RFC 2822 | Ejemplo: Thu, 21 Dec 2000 16:01:07 +0200
U | Segundos desde el Epoch Unix (January 1 1970 00:00:00 GMT) | Vea también time()

Los caracteres no reconocidos en la cadena de formato serán impresos como son. El formato Z siempre devuelve 0 cuando se usa gmdate().

timestamp

The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Valores retornados

Devuelve una cadena de fecha con formate. Si es usado un valor no-numérico en marca_de_tiempo, se devuelve FALSE y un error de nivel E_WARNING es emitido.

Errors/Exceptions

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()

Registro de cambios

Versión | Descripción
5.1.0 | El rango válido de una marca de tiempo es típicamente de Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo para un entero de 32-bits con signo). Sin embargo, antes de PHP 5.1, este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.
5.1.1 | Existen algunas constantes útiles de formatos estándar de fecha/hora que pueden usarse para especificar el parámetro formato.

Ejemplos

Ejemplo 1. Ejemplos de date()

<?php
// definir la zona horaria predeterminada a usar. Disponible desde PHP 5.1
date_default_timezone_set('UTC');

// Imprime algo como: Monday
echo date("l");

// Imprime algo como: Monday 15th of August 2005 03:12:46 PM
echo date('l dS \of F Y h:i:s A');

// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* usar las constantes en el parámetro formato */
// imprime algo como: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// imprime algo como: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Puede prevenir que un caracter reconocido en la cadena de formato sea expandido escapándolo con una barra invertida. Si el caracter con una barra invertida es una secuencia especial, puede que necesite escapar también la barra invertida.

Ejemplo 2. Escapar caracteres en date()

<?php
// imprime algo como: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

Es posible usar date() y mktime() juntos para encontrar fechas en el futuro o el pasado.

Ejemplo 3. Ejemplo de date() y mktime()

<?php
$manyana        = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$ultimo_mes     = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$siguiente_anyo = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>

Nota: Esto puede ser más confiable que simplemente sumar o restar el número de segundos en un día o mes de una marca de tiempo debido a las horas de ahorro de luz diurna.

Algunos ejemplos de formato de date(). Note que debe escapar cualquier otro caracter, ya que cualquiera que tenga un significado especial producirá resultados indeseados, y otros caracteres pueden recibir un significado en versiones futuras de PHP. Cuando escape caracteres, asegúrese de usar comillas sencillas para evitar que caracteres como \n se conviertan en saltos de línea.

Ejemplo 4. Formato de date()

<?php
// Asumiendo que hoy es: March 10th, 2001, 5:16:18 pm

$hoy = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$hoy = date("m.d.y");                         // 03.10.01
$hoy = date("j, n, Y");                       // 10, 3, 2001
$hoy = date("Ymd");                           // 20010310
$hoy = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$hoy = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$hoy = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$hoy = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$hoy = date("H:i:s");                         // 17:16:17
?>

Para dar formato a fechas en otros idiomas, debe usar las funciones setlocale() y strftime() en lugar de date().

Notes

Nota: Para generar una marca de tiempo a partir de una representación tipo cadena de la fecha, es posible usar strtotime(). Adicionalmente, algunas bases de datos tienen funciones para convertir sus formatos de fecha a marcas de tiempo (como la función UNIX_TIMESTAMP de MySQL).

Sugerencia: La marca de tiempo del comienzo de la petición está disponible en $_SERVER['REQUEST_TIME'] a partir de PHP 5.1.

Ver también

getlastmod()
gmdate()
mktime()
strftime()
time()

Anterior | Inicio | Siguiente
date_timezone_set | Subir | getdate


getdate

(PHP 3, PHP 4, PHP 5)

getdate -- Obtiene información de fecha/hora

Descripción

array getdate ( [int marca_de_tiempo] )

Devuelve un valor array asociativo que contiene información de fecha sobre la marca_de_tiempo, o la hora local actual si no se entrega una marca_de_tiempo.

Lista de parámetros

timestamp

The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Valores retornados

Devuelve un valor tipo array asociativo con información relacionada a la marca_de_tiempo. Los elementos de la matriz asociativa devuelta son los siguientes:

Tabla 1. Elementos clave de la matriz asociativa devuelta

Clave | Descripción | Ejemplo de valores devueltos
"seconds" | Representación numérica de segundos | 0 a 59
"minutes" | Representación numérica de minutos | 0 a 59
"hours" | Representación numérica de horas | 0 a 23
"mday" | Representación numérica del día del mes | 1 a 31
"wday" | Representación numérica del día de la semana | 0 (para el Domingo) a 6 (para el Sábado)
"mon" | Representación numérica de un mes | 1 a 12
"year" | Una representación numérica completa de un año, 4 dígitos | Ejemplos: 1999 o 2003
"yday" | Representación numérica del día del año | 0 a 365
"weekday" | Una representación textual completa del día de la semana | Sunday a Saturday
"month" | Una representación textual completa de un mes, como January o March | January a December
0 | Segundos desde el Epoch Unix, similar a los valores devueltos por time() y usados por date(). | Depende del sistema, típicamente -2147483648 a 2147483647.

Ejemplos

Ejemplo 1. Ejemplo de getdate()

<?php
$hoy = getdate();
print_r($hoy);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

Ver también

date()
time()
setlocale()

Anterior | Inicio | Siguiente
date | Subir | gettimeofday


gettimeofday

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

gettimeofday -- Obtiene la hora actual

Descripción

mixed gettimeofday ( [bool devolver_flotante] )

Esta es una interfaz a gettimeofday(2). Devuelve una matriz asociativa que contiene los datos devueltos por la llamada de sistema.

Lista de parámetros

devolver_flotante

Cuando se define como TRUE, un valor flotante es devuelto en lugar de una matriz.

Valores retornados

Por omisión, un valor tipo array es devuelto. Si devolver_flotante es definido, entonces un valor float es devuelto.

Claves de la matriz:

  • "sec" - segundos desde el Epoch Unix

  • "usec" - microsegundos

  • "minuteswest" - minutos al oeste de Greenwich

  • "dsttime" - tipo de corrección de ahorro de luz diurna

Registro de cambios

Versión | Descripción
5.1.0 | El parámetro devolver_flotante fue añadido.

Ejemplos

Ejemplo 1. Ejemplo de gettimeofday()

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910

Anterior | Inicio | Siguiente
getdate | Subir | gmdate


gmdate

(PHP 3, PHP 4, PHP 5)

gmdate -- Dar formato a una fecha/hora GMT/UTC

Descripción

string gmdate ( string formato [, int marca_de_tiempo] )

Idéntica a la función date() con la excepción de que la hora devuelta es Tiempo Medio de Greenwich (GMT, por sus siglas en inglés).

Lista de parámetros

formato

El formato de la fecha de salida tipo string. Vea las opciones de formato para la función date().

timestamp

The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Valores retornados

Devuelve una cadena de fecha con formate. Si es usado un valor no-numérico en marca_de_tiempo, se devuelve FALSE y un error de nivel E_WARNING es emitido.

Registro de cambios

Versión | Descripción
5.1.0 | El rango válido de una marca de tiempo es típicamente de Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo para un entero de 32-bits con signo). Sin embargo, antes de PHP 5.1.0, este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
5.1.1 | Existen algunas constantes útiles de formatos estándar de fecha/hora que pueden usarse para especificar el parámetro formato.

Ejemplos

Ejemplo 1. Ejemplo de gmdate()

Cuando se ejecuta en Finlandia (GMT +0200), la primera línea a continuación imprime "Jan 01 1998 00:00:00", mientras la segunda imprime "Dec 31 1997 22:00:00".

<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

Ver también

date()
mktime()
gmmktime()
strftime()

Anterior | Inicio | Siguiente
gettimeofday | Subir | gmmktime


gmmktime

(PHP 3, PHP 4, PHP 5)

gmmktime -- Obtiene la marca de tiempo Unix para una fecha GMT

Descripción

int gmmktime ( [int hora [, int minuto [, int segundo [, int mes [, int dia [, int anyo [, int es_dst]]]]]]] )

Idéntica a mktime(), excepto que los parámetros pasados representan una fecha GMT. gmmktime() usa mktime() internamente de modo que sólo pueden usarse horas válidas en el tiempo local derivado.

Al igual que mktime(), los argumentos pueden dejarse vacíos de derecha a izquierda, en cuyo caso los argumentos omitidos serán definidos de acuerdo con el valor GMT actual.

Lista de parámetros

hora

La hora

minuto

El minuto

segundo

El segundo

mes

El mes

dia

El día

anyo

El año

es_dst

Los parámetros siempre representan una fecha GMT así que es_dst no influencia el resultado.

Valores retornados

Devuelve una marca de tiempo Unix tipo integer.

Registro de cambios

Versión | Descripción
5.1.0 | A partir de PHP 5.1.0, el parámetro es_dst se ha hecho obsoleto. Como resultado, las nuevas características de manejo de zona horaria deberían usarse en su lugar.

Ejemplos

Ejemplo 1. Límite de gmmktime() en Windows

<?php
gmmktime(0, 0, 0, 1, 1, 1970); // válido en GMT y el oeste, inválido en el este
?>

Ver también

mktime()
date()
time()

Anterior | Inicio | Siguiente
gmdate | Subir | gmstrftime


gmstrftime

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

gmstrftime -- Dar formato a una hora/fecha GMT/UTC de acuerdo a parámetros de la localidad

Descripción

string gmstrftime ( string formato [, int marca_de_tiempo] )

Se comporta al igual que strftime(), con la excepción de que la hora devuelta es Tiempo Medio de Greenwich (GMT por sus siglas en inglés). Por ejemplo, cuando se ejecuta en Tiempo Estándar del Este (GMT -0500), la primera línea a continuación imprime "Dec 31 1998 20:00:00", mientras que la segunda imprime "Jan 01 1999 01:00:00".

Ejemplos

Ejemplo 1. Ejemplo de gmstrftime()

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Ver también

strftime()

Anterior | Inicio | Siguiente
gmmktime | Subir | idate


idate

(PHP 5)

idate -- Formatea la fecha/hora local como un número entero

Descripción

int idate ( string formato [, int marca_de_tiempo] )

Devuelve un número formateado según el parámetro formato y que representa la marca_de_tiempo proporcionada o la hora actual del sistema si no se indica el segundo parámetro.

Al contrario que la función date(), el formato de idate() se indica solamente con un carácter.

Tabla 1. Lista de valores permitidos en el parámetro formato

Carácter de formato | Descripción
B | Hora de Internet (también conocido como "beat" de la marca de relojes Swatch)
d | Día del mes
h | Hora (en formato de 12 horas)
H | Hora (en formato de 24 horas)
i | Minutos
I | Devuelve 1 si está activado DST y 0 en otro caso
L | Devuelve 1 si es un año bisiesto y 0 en otro caso
m | Número del mes
s | Segundos
t | Número de días del mes actual
U | Segundos desde la Unix Epoch (que comienza el 1 de Enero de 1970 00:00:00 GMT). Se trata del mismo resultado que el obtenido con la función time()
w | Día de la semana (considerando el número 0 para el Domingo)
W | Número de la semana según la norma ISO-8601, que considera que todas las semanas comienzan en Lunes
y | Año (1 o 2 dígitos - ver nota inferior)
Y | Año (4 dígitos)
z | Día del año
Z | Diferencia horaria en segundos

Nota: Como idate() devuelve siempre una variable de tipo integer y estos no pueden empezar en "0", idate() puede devolver menos dígitos que los esperados. Ver siguiente ejemplo:

<?php
$marca_de_tiempo = strtotime('1st January 2004'); //1072915200

// Muestra el ano en formato de 2 digitos
// Sin embargo, como empezaria con "0", solo
// muestra el numero "4"
echo idate('y', $timestamp);
?>

Vea también date() y time().

Anterior | Inicio | Siguiente
gmstrftime | Subir | localtime


localtime

(PHP 4, PHP 5)

localtime -- Obtener la hora local

Descripción

array localtime ( [int muestra_de_tiempo [, bool es_asociativo]] )

La función localtime() devuelve un vector idético al de la estructura devuelta en C por la llamada a la misma función. El primer parámetro que se le pasa a localtime() es el timestamp, una representació de una fecha/hora concretas. Si no se proporciona, se utilizará la hora actual. El segundo argumento de localtime() es es_asociativo. Si está a 0 o no es proporcionado, el vector se devuelve como un vector normal, indizado numéricamente. Si el argumento está a 1, el vector devuelto es un vector asociativo conteniendo los diferentes elementos de la estructura devuelta por C al llamar a la función localtime. Los nombres de las diferentes claves del vector asociativo se encuentran a continuación:

  • "tm_sec" - segundos

  • "tm_min" - minutos

  • "tm_hour" - horas

  • "tm_mday" - día del mes

  • "tm_mon" - mes del año, empezando en 0 que es Enero

  • "tm_year" - Años que hacen desde 1900

  • "tm_wday" - Día de la semana

  • "tm_yday" - Día del año

  • "tm_isdst" - Si el cambio de hora para el ahorro energético tiene efecto o no

Anterior | Inicio | Siguiente
idate | Subir | microtime


microtime

(PHP 3, PHP 4, PHP 5)

microtime -- Devuelve la marca de tiempo Unix actual con micro-segundos

Descripción

mixed microtime ( [bool recibir_como_flotante] )

microtime() devuelve la marca de tiempo Unix actual con micro-segundos. Esta función se encuentra disponible únicamente en sistemas operativos que soporten la llamada de sistema gettimeofday().

Lista de parámetros

recibir_como_flotante

Cuando se llama sin el argumento opcional, esta función devuelve la cadena "mseg seg" en donde seg es la hora actual medida en el número de segundos desde el Epoch Unix (0:00:00 Enero 1, 1970 GMT), y mseg es la parte de micro-segundos. Ambas porciones de la cadena son devueltas en unidades de segundos.

Si el parámetro opcional recibir_como_flotante es definido como TRUE entonces es devuelto un valor tipo float (en segundos).

Registro de cambios

Versión | Descripción
5.0.0 | El parámetro recibir_como_flotante fue agregado.

Ejemplos

Ejemplo 1. Medición del tiempo de ejecución del script con microtime()

<?php
/**
 * Función simple para replicar el comportamiento en PHP 5
 */
function microtime_float()
{
    list($useg, $seg) = explode(" ", microtime());
    return ((float)$useg + (float)$seg);
}

$tiempo_inicio = microtime_float();

// Dormir por un momento
usleep(100);

$tiempo_final = microtime_float();
$tiempo = $tiempo_final - $tiempo_inicio;

echo "No hice nada en $tiempo segundos\n";
?>

Ejemplo 2. Medición del tiempo de ejecución del script en PHP 5

<?php
$tiempo_inicio = microtime(true);

// Dormir por un momento
usleep(100);

$tiempo_final = microtime(true);
$tiempo = $tiempo_final - $tiempo_inicio;

echo "No hice nada en $tiempo segundos\n";
?>

Ver también

time()

Anterior | Inicio | Siguiente
localtime | Subir | mktime


mktime

(PHP 3, PHP 4, PHP 5)

mktime -- Obtener la marca de tiempo Unix de una fecha

Descripción

int mktime ( [int hora [, int minuto [, int segundo [, int mes [, int dia [, int anyo [, int es_dst]]]]]]] )

Devuelve la marca de tiempo Unix que corresponde a los argumentos dados. Esta marca de tiempo es un entero largo que contiene el número de segundos entre el Epoch Unix (Enero 1 1970 00:00:00 GMT) y la hora especificada.

Es posible dejar sin definir argumentos en orden de derecha a izquierda; cualquier argumento omitido será definido con el valor actual de acuerdo a la fecha y hora local.

Lista de parámetros

hora

El número de la hora.

minuto

El número del minuto.

segundo

El número de segundos después del minuto.

mes

El número del mes.

dia

El número del día.

anyo

El número del año, puede ser un valor de dos o cuatro dígitos; los valores entre 0-69 se convierten a 2000-2069 y 70-100 a 1970-2000. En sistemas en donde time_t es un entero de 32bits con signo, como ocurre comúnmente hoy en día, el rango válido para anyo es un valor entre 1901 y 2038, aunque esta limitante no existe a partir de PHP 5.1.0.

es_dst

Este parámetro puede definirse a 1 si la hora está dentro del tiempo de ahorro de luz diurna (DST), 0 si no lo es, o -1 (el valor predeterminado) si se desconoce si la hora está dentro del tiempo de ahorro de luz diurna o no. Si se desconoce, PHP intenta averiguarlo por sí solo. Esto puede causar resultados inesperados (pero no incorrectos). Algunas veces son inválidos si DST está habilitado en el sistema en el que está corriendo PHP o el valor de es_dst es 1. Si DST está habilitado en p.ej. 2:00, todas las horas entre las 2:00 y las 3:00 son inválidas y mktime() devuelve un valor indefinido (por lo general negativo). Algunos sistemas (p.ej. Solaris 8) habilita DST a media noche así que la hora 0:30 del día cuando DST está habilitado se evalúa como 23:30 del día anterior.

Nota: A partir de PHP 5.1.0, este parámetro se ha hecho obsoleto. Como resultado, las nuevas características de manejo de zona horaria deberían usarse en su lugar.

Valores retornados

mktime() devuelve la marca de tiempo Unix de los argumentos dados. Si los argumentos son inválidos, la función devuelve FALSE (antes de PHP 5.1 devolvía -1).

Errors/Exceptions

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()

Registro de cambios

Versión | Descripción
3.0.10 | Se agregó el parámetro es_dst
5.1.0 | El parámetro es_dst se ha hecho obsoleto. Se ha hecho que la función devuelva FALSE en caso de error, en lugar de -1. Se corrigió la función para aceptar que el año, mes y día sean pasados todos como cero.
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

Ejemplos

Ejemplo 1. Ejemplo de mktime()

mktime() es útil cuando se realiza aritmética y validaciones de fechas, ya que calcula automáticamente el valor correcto para entradas fuera de rango. Por ejemplo, cada una de las siguientes líneas produce la cadena "Jan-01-1998".

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Ejemplo 2. El último día del mes siguiente

El último día de cualquier mes dado puede ser expresado como el día "0" del siguiente mes, no el día -1. Los dos ejemplos siguientes producirán la cadena "El último dia en Feb 2000 es: 29".

<?php
$ultimodia = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("El ultimo día en Feb 2000 es: %d", $ultimodia);
$ultimodia = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("El ultimo día en Feb 2000 es: %d", $ultimodia);
?>

Notes

Atención

Antes de PHP 5.1.0, las marcas de tiempo negativas no eran soportadas bajo ninguna versión conocida de Windows así como en otros sistemas. Por lo tanto, el rango de años válidos se limitaba a 1970 hasta 2038.

Ver también

gmmktime()
date()
time()

Anterior | Inicio | Siguiente
microtime | Subir | strftime


strftime

(PHP 3, PHP 4, PHP 5)

strftime -- Dar formato a una hora/fecha local de acuerdo a valores de localidad

Descripción

string strftime ( string formato [, int marca_de_tiempo] )

Devuelve una cadena con formato de acuerdo a la cadena de formato dada usando la marca_de_tiempo dada o la hora local si no se entrega una marca de tiempo. Los nombres de mes y día de la semana y otras cadenas dependientes del idioma respetan la localidad actual definida con setlocale().

Puede que no todos los especificadores de conversión sean soportados por su biblioteca C, en cuyo caso no serán soportados por la función de PHP strftime(). Adicionalmente, no todas las plataformas soportan marcas de tiempo negativas, por lo tanto su rango de fecha puede estar limitado a no antes del valor epoch de Unix. Esto quiere decir que p.ej. %e, %T, %R y %D (pueden haber más) y las fechas anteriores a Jan 1, 1970 no funcionarán en Windows, algunas distribuciones Linux, y algunos otros sistemas operativos. Para sistemas Windows, puede encontrarse una completa reseña de los especificadores de conversión soportados en este sitio web de MSDN.

Lista de parámetros

formato

Los siguientes especificadores de conversión son reconocidos en la cadena de formato:

  • %a - nombre abreviado del día de la semana de acuerdo a la localidad actual

  • %A - nombre completo del día de la semana de acuerdo a la localidad actual

  • %b - nombre abreviado del mes de acuerdo a la localidad actual

  • %B - nombre completo del mes de acuerdo a la localidad actual

  • %c - representación de fecha y hora preferida para la localidad actual

  • %C - número de la centuria (el año es dividido en 100 y truncado a un entero, en el rango 00 a 99)

  • %d - día del mes como un número decimal (rango 01 a 31)

  • %D - igual que %m/%d/%y

  • %e - día del mes como un número decimal, un dígito sencillo es precedido por un espacio (rango ' 1' a '31')

  • %g - como %G, pero sin la centuria.

  • %G - El año de 4-dígitos correspondiente al número de semana ISO (vea %V). Éste tiene el mismo formato y valor que %Y, con la excepción de que si el número de semana ISO pertenece al año siguiente o previo, ese año es usado en su lugar.

  • %h - igual que %b

  • %H - hora como un número decimal usando un reloj de 24 horas (rango 00 a 23)

  • %I - hora como número decimal usando un reloj de 12 horas (rango 01 a 12)

  • %j - dúa del año como un número decimal (rango 001 a 366)

  • %m - mes como un número decimal (rango 01 a 12)

  • %M - minuto como un número decimal

  • %n - caracter de nueva línea

  • %p - o bien `am' o `pm' de acuerdo al valor de hora dada, o las cadenas correspondientes para la localidad actual

  • %r - hora en notación a.m. y p.m.

  • %R - hora en notación de 24 horas

  • %S - segundo como un número decimal

  • %t - caracter de tabulación

  • %T - hora actual, equivalente a %H:%M:%S

  • %u - día de la semana como un número decimal [1,7], en donde 1 representa Lunes

    Aviso

    Solaris Sun parece iniciar con Domingo como 1, aunque ISO 9889:1999 (el estándar C actual) claramente especifica que debe ser Lunes.

  • %U - número de la semana del año actual como un número decimal, comenzando con el primer Domingo como el primer día de la primera semana

  • %V - el número de semana ISO 8601:1988 del año actual como un número decimal, rango 01 a 53, en donde la semana 1 es la primera semana que tiene por lo menos 4 días en el año actual, y en donde el Lunes es el primer día de la semana. (Use %G o %g para el componente de año que corresponde al número de semana para la marca de tiempo especificada.)

  • %W - número de semana del año actual como un número decimal, comenzando con el primer Lunes como el primer día de la primera semana

  • %w - día de la semana como un decimal, Domingo es 0

  • %x - representación de fecha preferida para la localidad actual sin la hora

  • %X - representación de hora preferida para la localidad actual sin la fecha

  • %y - año como un número decimal sin la centuria (rango 00 a 99)

  • %Y - año como un número decimal incluyendo la centuria

  • %Z o %z - zona horaria o nombre o abreviación

  • %% - un caracter `%' literal

timestamp

The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Errors/Exceptions

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()

Registro de cambios

Versión | Descripción
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

Ejemplos

Este ejemplo funciona si se tienen las localidades respectivas instaladas en el sistema.

Ejemplo 1. Ejemplo de strftime() con localidad

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" en Finlandés es %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" en Francés %A y");
setlocale(LC_TIME, "de_DE");
echo strftime(" en Alemán %A.\n");
?>

Ejemplo 2. Ejemplo del número de semana ISO 8601:1988

<?php
/*     Diciembre 2002 / Enero 2003
SmISO  L   M   Mi  J   V   S   D
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Imprime: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Imprime: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Imprime: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Imprime: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     Diciembre 2004 / Enero 2005
SmISO  L   M   Mi  J   V   S   D
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Imprime: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Imprime: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Imprime: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Imprime: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Notes

Nota: %G y %V, que están basados en números de semana ISO 8601:1988 pueden dar resultados inesperados (aunque correctos) si el sistema de numeración no es entendido completamente. Vea los ejemplos de %V en la presente página del manual.

Ver también

setlocale()
mktime()
strptime()
la especificación del Open Group de strftime()

Anterior | Inicio | Siguiente
mktime | Subir | strptime


strptime

(PHP 5 >= 5.1.0RC1)

strptime -- Manipula la hora/fecha obtenida mediante strftime()

Descripción

array strptime ( string marca_de_tiempo, string formato )

strptime() devuelve una matriz que contiene el valor marca_de_tiempo manipulado según el formato o FALSE si se ha producido un error.

Los nombres de los meses y de los días de la semana y otras cadenas dependientes del idioma, siguen la configuración de localización actual, establecida con setlocale() (LC_TIME).

Lista de parámetros

marca_de_tiempo (string)

Una marca de tiempo (igual que la devuelta por strftime())

formato (string)

El formato usado en formato (igual que el usado en strftime()).

Para más información sobre las opciones del formato, puede consultar la página de la función strftime().

Valores retornados

Devuelve una matriz o FALSE si se produce un error.

Tabla 1. La matriz devuelta contiene los siguientes parámetros

Parámetros | Descripción
tm_sec | Segundos transcurridos del minuto actual (0-61)
tm_min | Minutos transcurridos de la hora actual (0-59)
tm_hour | Horas transcurridas desde la media noche (0-23)
tm_mday | Día del mes (1-31)
tm_mon | Meses transcurridos desde Enero (0-11)
tm_year | Años transcurridos desde 1900
tm_wday | Días transcurridos desde el Domingo (0-6)
tm_yday | Días transcurridos desde el 1 de Enero (0-365)
unparsed | La parte de la marca_de_tiempo que no se pudo reconocer empleando el parámetro formato

Ejemplos

Ejemplo 1. Ejemplo de strptime()

<?php
$formato = '%d/%m/%Y %H:%M:%S';
$fecha_formateada = strftime($formato);

echo "$fecha_formateada\n";

print_r(strptime($fecha_formateada, $formato));
?>

El resultado del ejemplo seria algo similar a:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Ver también

strftime()

Nota: Esta función no está implementada en plataformas Windows.

Anterior | Inicio | Siguiente
strftime | Subir | strtotime


strtotime

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

strtotime -- Procesar cualquier descripción textual de fecha/hora en Inglés convirtiéndola en una timestamp de UNIX.

Descripción

int strtotime ( string hora [, int ahora] )

La función espera que se le pase una cadena conteniendo una fecha en formato Inglés e intentará procesarla y convertirla a una timestamp (muestra de tiempo) de UNIX relativa a la timestamp proporcionada en ahora, o la hora actual si no se indica ninguna. Si falla, devolverá -1.

Dado que strtotime() obra de acuerdo con la sintaxis de fechas de GNU, puede echar un vistazo a la página del manual GNU titulada Date Input Formats (Formatos de entrada de fechas). La sintaxis descrita ahí es válida para el parátro hora.

Ejemplo 1. Ejemplos con strtotime()

echo strtotime ("now"), "\n";
echo strtotime ("10 September 2000"), "\n";
echo strtotime ("+1 day"), "\n";
echo strtotime ("+1 week"), "\n";
echo strtotime ("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime ("next Thursday"), "\n";
echo strtotime ("last Monday"), "\n";

Ejemplo 2. Comprobando si falla

$str = 'No v&aacute;lida';
if (($timestamp = strtotime($str)) === -1) {
    echo "La cadena ($str) no es v&aacute;lida.";
} else {
    echo "$str == ". date('l dS of F Y h:i:s A',$timestamp);
}

Nota: El rango válido de una timestamp suele ser desde Fri, 13 Dec 1901 20:45:54 GMT (Viernes, 13 de diciembre) a Tue, 19 Jan 2038 03:14:07 GMT (Martes, 19 de enero). (Estas son las fechas que corresponden a los valores mínimo y máximo de un entero con signo de 32 bits.)

Anterior | Inicio | Siguiente
strptime | Subir | time


time

(PHP 3, PHP 4, PHP 5)

time -- Devuelve la marca de tiempo Unix actual

Descripción

int time ( void )

Devuelve la hora actual medida en número de segundos desde el Epoch Unix (Enero 1 1970 00:00:00 GMT).

Ejemplos

Ejemplo 1. Ejemplo de time()

<?php
$proxima_semana = time() + (7 * 24 * 60 * 60);
                           // 7 días; 24 horas; 60 mins; 60segs
echo 'Ahora:          '. date('Y-m-d') ."\n";
echo 'Próxima Semana: '. date('Y-m-d', $proxima_semana) ."\n";
// o usando strtotime():
echo 'Próxima Semana: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

El resultado del ejemplo seria algo similar a:

Ahora:          2005-03-30
Próxima Semana: 2005-04-06
Próxima Semana: 2005-04-06

Notes

Sugerencia: La marca de tiempo del comienzo de la petición está disponible en $_SERVER['REQUEST_TIME'] a partir de PHP 5.1.

Ver también

date()
microtime()

Anterior | Inicio | Siguiente
strtotime | Subir | timezone_abbreviations_list


Funciones para dBase

Manual de PHP
Anterior Siguiente

XXV. Funciones para dBase

Introducción

Estas funciones permiten el acceso a datos almacenados en bases de datos con formato dBase (dbf).

Los archivos dBase son simplemente archivos secuenciales que contienen registros de anchura fija. Los registros se van añadiendo al final del archivo y los registros borrados se mantienen en el archivo hasta que se llama a la función dbase_pack().

Los tipos de campos de dBase disponibles son los siguientes:

Tabla 1. Tipos de campos disponibles

Campo | Tipo dBase | Formato | Información adicional
M | Memo | n/d | Este tipo no está soportado por PHP, por lo que los campos de este tipo se ignoran
D | Date | YYYYMMDD | La longitud del campo está limitada a 8
N | Number | Un número | Se tiene que declarar la longitud y la precisión (esto es, el número de dígitos detrás del punto decimal)
C | String | Una cadena | Se debe declarar la longitud. Cuando se obtienen los datos, la cadena se rellena con espacios por la derecha si es necesario para obtener la misma longitud que la declarada.
L | Boolean | T o Y indica TRUE, F o N indica FALSE | Se almacena y se devuelve como un entero (1 o 0)

Aviso

No hay soporte para índices o campos Memo. Tampoco hay soporte para bloqueo: si dos procesos concurrentes en el servidor modifican el mismo archivo dBase, probablemente se destruirán los datos.

Se recomienda no utilizar archivos dBase como bases de datos, sino elegir cualquier servidor SQL; MySQL o Postgres son opciones habituales con PHP. El soporte para dBase se proporciona para permitir importar y exportar datos a y desde la base de datos web, ya que este formato de ficheros es aceptado habitualmente por las hojas de cálculo y los organizadores de Windows.

Instalación

Para habilitar la librería dbase incluida y para poder utilizar estas funciones, se debe compilar PHP con la opción --enable-dbase.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Ejemplos

Muchos de los ejemplos de esta referencia requieren una base de datos de tipo dBase. En los ejemplos se empleará el archivo /tmp/test.dbf que se crea en el ejemplo de la función dbase_create().

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
dbase_add_record -- Añade un registro a la base de datos
dbase_close -- Cierra una base de datos
dbase_create -- crea una base de datos dBase
dbase_delete_record -- Borra un registro de la base de datos
dbase_get_header_info -- Obtiene la información de la cabecera de la base de datos
dbase_get_record_with_names -- Obtiene un registro de la base de datos en forma de matriz asociativa
dbase_get_record -- Obtiene un registro de la base de datos en forma de matriz
dbase_numfields -- Obtiene el número de campos de la base de datos
dbase_numrecords -- Obtiene el número de registros de la base de datos
dbase_open -- Abre una base de datos
dbase_pack -- Comprime una base de datos
dbase_replace_record -- Modifica un registro de la base de datos

Anterior | Inicio | Siguiente
dba_sync | Subir | dbase_add_record


dbase_add_record

(PHP 3, PHP 4, PHP 5)

dbase_add_record -- Añade un registro a la base de datos

Descripción

bool dbase_add_record ( int dbase_identifier, array record )

Añade el registro indicado a la base de datos.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

record

Una matriz de datos indexados. El número de elementos debe ser igual que el número de campos de la base de datos, ya que de otro modo la función dbase_add_record() fallará.

Nota: Si se emplean como parámetro los valores devueltos por dbase_get_record() se deben resetear el valor de la clave asociativa deleted.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Inserción de un registro en una base de datos dBase

<?php

// abrir en modo lectura y escritura
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
      date('Ymd'),
      'Pedro Perez',
      '23',
      'pperez@example.com',
      'T'));
  dbase_close($db);
}

?>

Ver también

dbase_delete_record()
dbase_replace_record()

Anterior | Inicio | Siguiente
Funciones para dBase | Subir | dbase_close


dbase_close

(PHP 3, PHP 4, PHP 5)

dbase_close -- Cierra una base de datos

Descripción

bool dbase_close ( int dbase_identifier )

Cierra la base de datos cuyo identificador se indica como parámetro.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Cierre de un archivo de base de datos dBase

<?php

// abrir en modo solo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // leer algunos datos ...

  dbase_close($db);
}

?>

Ver también

dbase_open()
dbase_create()

Anterior | Inicio | Siguiente
dbase_add_record | Subir | dbase_create


dbase_create

(PHP 3, PHP 4, PHP 5)

dbase_create -- crea una base de datos dBase

Descripción

int dbase_create ( string filename, array fields )

dbase_create() crea una base de datos de tipo dBase con la definición indicada.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Nota: This function is affected by open_basedir.

Lista de parámetros

filename

El nombre de la base de datos. Puede ser una ruta relativa o absoluta al archivo que almacena los datos de dBase.

fields

Una matriz de matrices, donde cada matriz describe el formato de un campo de la base de datos. Cada campo consiste en un nombre, un carácter indicando el tipo del campo y opcionalmente una longitud y una precisión.

Nota: Los nombres de campos están limitados a una longitud máxima de 10 caracteres.

Valores retornados

Devuelve el identificador de base de datos si la base de datos se ha creado correctamente o FALSE si se ha producido un error.

Ejemplos

Ejemplo 1. Creación de un archivo de base de datos dBase

<?php

// "definition" de la base de datos
$def =
    array(
        array("fecha",     "D"),
        array("nombre",     "C",  50),
        array("edad",      "N",   3, 0),
        array("email",    "C", 128),
        array("esmiembro", "L")
    );

// creacion
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Error, no se ha podido crear la base de datos\n";
}

?>

Ver también

dbase_open()
dbase_close()

Anterior | Inicio | Siguiente
dbase_close | Subir | dbase_delete_record


dbase_delete_record

(PHP 3, PHP 4, PHP 5)

dbase_delete_record -- Borra un registro de la base de datos

Descripción

bool dbase_delete_record ( int dbase_identifier, int record_number )

Marca el registro indicado como borrado en la base de datos.

Nota: Para eliminar físicamente el registro de la base de datos, se debe llamar a la función dbase_pack().

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

record_number

Un número entero que puede tomar un valor entre 1 y el número de registros que contiene la base de datos (el número total se puede obtener con la función dbase_numrecords()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

dbase_add_record()
dbase_replace_record()

Anterior | Inicio | Siguiente
dbase_create | Subir | dbase_get_header_info


dbase_get_header_info

(PHP 5)

dbase_get_header_info -- Obtiene la información de la cabecera de la base de datos

Descripción

array dbase_get_header_info ( int dbase_identifier )

Devuelve la información relativa a la estructura de columnas de la base de datos indicada.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

Valores retornados

Devuelve una matriz indexada con una entrada para cada columna de la base de datos. El índice de la matriz comienza en 0.

Cada elemento de la matriz contiene una matriz asociativa con la información de la columna en el siguiente formato:

name

El nombre de la columna.

type

El tipo de la columna de dBase en un formato descriptivo (ejemplo: "date", "boolean", etc.)

length

El número de bytes que puede almacenar la columna.

precision

El número de dígitos de la precisión decimal de la columna.

format

Un formato del tipo de los de printf() sugerido para los datos de la columna.

offset

El desplazamiento en bytes de la columna respecto del principio de la fila.

Si la información de cabecera de la base de datos no se puede leer, se devuelve FALSE.

Ejemplos

Ejemplo 1. Mostrar la información de cabecera de la base de datos dBase

<?php
// Ruta al archivo dBase
$db_path = "/tmp/test.dbf";

// Abrir la base de datos
$dbh = dbase_open($db_path, 0)
  or die("Error! No se ha podido abrir la base de datos '$db_path'.");

// Obtener la informacion de las columnas
$column_info = dbase_get_header_info($dbh);

// Mostrar informacion
print_r($column_info);
?>

Anterior | Inicio | Siguiente
dbase_delete_record | Subir | dbase_get_record_with_names


dbase_get_record_with_names

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

dbase_get_record_with_names -- Obtiene un registro de la base de datos en forma de matriz asociativa

Descripción

array dbase_get_record_with_names ( int dbase_identifier, int record_number )

Obtiene un registro de la base de datos en forma de matriz asociativa.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

record_number

El índice del registro que se quiere recuperar.

Valores retornados

Una matriz asociativa con los valores del registro. La matriz incluye una clave asociativa llamada deleted que tiene un valor igual a 1 si el registro ha sido marcado para borrarlo (ver dbase_delete_record()).

Cada campo se convierte al tipo de PHP apropiado, salvo:

  • Las fechas se dejan como cadenas de texto.

  • Los enteros que pueden provocar desbordamiento (> 32 bits) se devuelven como cadenas de texto.

Si se produce un error, dbase_get_record_with_names() devuelve FALSE.

Ejemplos

Ejemplo 1. Listado de todos los usuarios registrados almacenados en la base de datos de ejemplo

<?php
// abrir en modo solo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $numero_registros = dbase_numrecords($db);
  for ($i = 1; $i <= $numero_registros; $i++) {
      $row = dbase_get_record_with_names($db, $i);
      if ($row['esmiembro'] == 1) {
          echo "Miembro #$i: " . trim($row['nombre']) . "\n";
      }
  }
}
?>

Ver también

dbase_get_record()

Anterior | Inicio | Siguiente
dbase_get_header_info | Subir | dbase_get_record


dbase_get_record

(PHP 3, PHP 4, PHP 5)

dbase_get_record -- Obtiene un registro de la base de datos en forma de matriz

Descripción

array dbase_get_record ( int dbase_identifier, int record_number )

Obtiene un registro de la base de datos en forma de matriz.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

record_number

El índice del registro que se quiere recuperar.

Valores retornados

Una matriz con los valores del registro. La matriz incluye una clave asociativa llamada deleted que tiene un valor igual a 1 si el registro ha sido marcado para borrarlo (ver dbase_delete_record()).

Cada campo se convierte al tipo de PHP apropiado, salvo:

  • Las fechas se dejan como cadenas de texto.

  • Los enteros que pueden provocar desbordamiento (> 32 bits) se devuelven como cadenas de texto.

Si se produce un error, dbase_get_record() devuelve FALSE.

Ver también

dbase_get_record_with_names()

Anterior | Inicio | Siguiente
dbase_get_record_with_names | Subir | dbase_numfields


dbase_numfields

(PHP 3, PHP 4, PHP 5)

dbase_numfields -- Obtiene el número de campos de la base de datos

Descripción

int dbase_numfields ( int dbase_identifier )

Obtiene el número de campos (o columnas) de la base de datos

Nota: El número de campos puede tomar un valor entre 0 y dbase_numfields($db)-1, mientras que el número de registros puede tomar un valor entre 1 y dbase_numrecords($db).

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

Valores retornados

El número de campos de la base de datos o FALSE si se ha producido un error.

Ejemplos

Ejemplo 1. Ejemplo de dbase_numfields()

<?php

$registro = dbase_get_record($db, $numero_registro);
$numero_campos  = dbase_numfields($db);
for ($i = 0; $i < $numero_campos; $i++) {
  echo $registro[$i], "\n";
}

?>

Ver también

dbase_numrecords()

Anterior | Inicio | Siguiente
dbase_get_record | Subir | dbase_numrecords


dbase_numrecords

(PHP 3, PHP 4, PHP 5)

dbase_numrecords -- Obtiene el número de registros de la base de datos

Descripción

int dbase_numrecords ( int dbase_identifier )

Obtiene el número de registros (o filas) de la base de datos

Nota: El número de registros puede tomar un valor entre 1 y dbase_numrecords($db), mientras que el número de campos puede tomar un valor entre 0 y dbase_numfields($db)-1.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

Valores retornados

El número de registros de la base de datos o FALSE si se ha producido un error.

Ejemplos

Ejemplo 1. Recorrer todos los registros de la base de datos

<?php

// abrir en modo solo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $numero_registros = dbase_numrecords($db);
  for ($i = 1; $i <= $numero_registros; $i++) {
      // procesar cada uno de los registros
  }
}

?>

Ver también

dbase_num_fields()

Anterior | Inicio | Siguiente
dbase_numfields | Subir | dbase_open


dbase_open

(PHP 3, PHP 4, PHP 5)

dbase_open -- Abre una base de datos

Descripción

int dbase_open ( string filename, int mode )

dbase_open() abre una base de datos dBase con un determinado modo de acceso.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Nota: This function is affected by open_basedir.

Lista de parámetros

filename

El nombre de la base de datos.Puede ser una ruta relativa o absoluta al archivo que almacena los datos de dBase.

mode

Un entero que sigue el mismo formato que el de la llamada de sistema open() (normalmente 0 significa solo lectura, 1 solo escritura y 2 significa lectura y escritura).

Nota: No se puede abrir un archivo dBase en modo solo escritura, ya que la función será incapaz de leer la información de la cabecera de la base de datos, por lo que no se debe emplear el valor 1 como mode.

Ejemplos

Ejemplo 1. Abrir un archivo de base de datos dBase

<?php

// abrir en modo solo lectura
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // leer algunos datos...

  dbase_close($db);
}

?>

Valores retornados

Devuelve un identificador de base de datos si la base de datos se ha podido abrir correctamente, o FALSE si se produce un error.

Ver también

dbase_create()
dbase_close()

Anterior | Inicio | Siguiente
dbase_numrecords | Subir | dbase_pack


dbase_pack

(PHP 3, PHP 4, PHP 5)

dbase_pack -- Comprime una base de datos

Descripción

bool dbase_pack ( int dbase_identifier )

Comprime la base de datos indicada borrando físicamente todos los registros que han sido marcados para su borrado empleando la función dbase_delete_record().

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Vaciado de una base de datos dBase

<?php

// abrir en modo lectura y escritura
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $numero_registros = dbase_numrecords($db);
  for ($i = 1; $i <= $numero_registros; $i++) {
      dbase_delete_record($db, $i);
  }
  // borrado de la base de datos (ya que todos los registros se han marcado como "borrables")
  dbase_pack($db);
}

?>

Ver también

dbase_delete_record()

Anterior | Inicio | Siguiente
dbase_open | Subir | dbase_replace_record


dbase_replace_record

(PHP 3 >= 3.0.11, PHP 4, PHP 5)

dbase_replace_record -- Modifica un registro de la base de datos

Descripción

bool dbase_replace_record ( int dbase_identifier, array record, int record_number )

Modifica un registro de la base de datos con los datos indicados.

Lista de parámetros

dbase_identifier

El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().

record

Una matriz indexada con los datos. El número de elementos debe ser igual que el número de campos de la base de datos, ya que de otra forma la función dbase_add_record() fallará.

Nota: Si se emplean los valores devueltos por la función dbase_get_record(), se dede resetear el valor de la clave asociativa deleted.

record_number

Un número entero que puede tomar un valor entre 1 y el número de registros que contiene la base de datos (el número total se puede obtener con la función dbase_numrecords()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Actualizar un registro de la base de datos dBase

<?php

// abrir en modo lectura y escritura
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // obtener el valor actual del registro
  $fila = dbase_get_record_with_names($db, 1);

  // borrar la clave 'deleted'
  unset($fila['deleted']);

  // actualizar el campo de la fecha con la marca de tiempo actual
  $fila['fecha'] = date('Ymd');

  // Modificar el registro
  dbase_replace_record($db, $fila, 1);
  dbase_close($db);
}

?>

Ver también

dbase_add_record()
dbase_delete_record()

Anterior | Inicio | Siguiente
dbase_pack | Subir | Funciones DBM Functions [obsoletas]


Funciones DBM Functions [obsoletas]

Manual de PHP
Anterior Siguiente

XXVI. Funciones DBM Functions [obsoletas]

Introducción

Estas funciones le permiten almacenar registros almacenados en una base de datos estilo-dbm. Este tipo de base de datos (soportado por la BD de Berkeley, GDBM, y algunas bibliotecas de sistema, asi como en la forma de una biblioteca incorporada de archivos planos) almacena parejas clave/valor (a diferencia de los registros completos soportados por las bases de datos relacionales).

Nota: El soporte de DBM se considera obsoleto y es recomendable que use las funciones de la capa de abstracción de bases de datos (estilo-dbm) en su lugar.

Nota: Esta extensión ha sido eliminada de PHP, y no se encuentra disponible a partir de PHP 5.0.0.

Requisitos

Para usar estas funciones es necesario compilar PHP con soporte para una base de datos base. Consulte la lista de bases de datos soportadas.

Instalación

Para poder usar estas funciones, se debe compilar PHP con soporte dbm, empleando la opción --with-db en la compilación. Adem´s, se debe contar con el soporte de una base de datos o se deben usar algunas librerías del sistema.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

La función dbmopen() devuelve un identificador de base de datos que es usado por las demás funciones dbm.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Ejemplo de DBM

<?php

$dbm = dbmopen("lastseen", "w");
if (dbmexists($dbm, $id_usuario)) {
    $last_seen = dbmfetch($dbm, $id_usuario);
} else {
    dbminsert($dbm, $id_usuario, time());
}
hacer_algo();
dbmreplace($dbm, $id_usuario, time());
dbmclose($dbm);

?>

Tabla de contenidos
dblist -- Describe la biblioteca compatible con DBM usada
dbmclose -- cierra una base de datos dbm
dbmdelete -- borra el valor de una clave de una base de datos dbm
dbmexists -- dice si existe un valor para una clave dada en la base de datos dbm
dbmfetch -- obtiene un valor para una clave desde la base de datos dbm
dbmfirstkey -- obtiene la primera clave de una base de datos dbm
dbminsert -- inserta un valor para una clave en la base de datos dbm
dbmnextkey -- obtiene la siguiente clave de una base de datos dbm
dbmopen -- Abre una base de datos DBM
dbmreplace -- sustituye el valor de una clave en la base de datos dbm

Anterior | Inicio | Siguiente
dbase_replace_record | Subir | dblist


dblist

(PHP 3, PHP 4, PECL)

dblist -- Describe la biblioteca compatible con DBM usada

Descripción

string dblist ( void )

Describe la versión de GDBM.

Valores retornados

Devuelve una cadena que describe la versión de GDBM.

Ejemplos

Ejemplo 1. Obtener la información en la línea de comandos

[marcus@zaphod marcus]$ php -r 'echo dblist();'
This is GDBM version 1.8.0, as of May 19, 1999.

Anterior | Inicio | Siguiente
Funciones DBM Functions [obsoletas] | Subir | dbmclose


dbmclose

(PHP 3, PHP 4, PECL)

dbmclose -- cierra una base de datos dbm

Descripción

bool dbmclose ( int identif_dbm )

Desbloquea y cierra la base de datos especificada.

Anterior | Inicio | Siguiente
dblist | Subir | dbmdelete


dbmdelete

(PHP 3, PHP 4, PECL)

dbmdelete -- borra el valor de una clave de una base de datos dbm

Descripción

bool dbmdelete ( int identif_dbm, string clave )

Borra el valor para la clave en la base de datos.

Devuelve FALSE si la clave no existía en la base de datos.

Anterior | Inicio | Siguiente
dbmclose | Subir | dbmexists


dbmexists

(PHP 3, PHP 4, PECL)

dbmexists -- dice si existe un valor para una clave dada en la base de datos dbm

Descripción

bool dbmexists ( int identif_dbm, string clave )

Devuelve TRUE si hay un valor asociado con la clave.

Anterior | Inicio | Siguiente
dbmdelete | Subir | dbmfetch


dbmfetch

(PHP 3, PHP 4, PECL)

dbmfetch -- obtiene un valor para una clave desde la base de datos dbm

Descripción

string dbmfetch ( int identif_dbm, string clave )

Devuelve el valor asociado con la clave.

Anterior | Inicio | Siguiente
dbmexists | Subir | dbmfirstkey


dbmfirstkey

(PHP 3, PHP 4, PECL)

dbmfirstkey -- obtiene la primera clave de una base de datos dbm

Descripción

string dbmfirstkey ( int identif_dbm )

Devuelve la primera clave de la base de datos. Nótese que no se garantiza ningún orden en particular, pues la base de datos se crea utilizando una tabla hash, que no garantiza ordenación alguna.

Anterior | Inicio | Siguiente
dbmfetch | Subir | dbminsert


dbminsert

(PHP 3, PHP 4, PECL)

dbminsert -- inserta un valor para una clave en la base de datos dbm

Descripción

int dbminsert ( int identif_dbm, string clave, string valor )

Añade el valor a la base de datos con la clave especificada.

Devuelve -1 si la base de datos se abrío en modo sólo lectura, 0 si la inserción tuvo éxito y 1 si la clave ya existía (para sustituir el valor, utilice dbmreplace().)

Anterior | Inicio | Siguiente
dbmfirstkey | Subir | dbmnextkey


dbmnextkey

(PHP 3, PHP 4, PECL)

dbmnextkey -- obtiene la siguiente clave de una base de datos dbm

Descripción

string dbmnextkey ( int identif_dbm, string clave )

Devuelve la clave que sigue a clave. Llamando a dbmfirstkey() seguida de llamadas sucesivas a dbmnextkey() se pueden visitar todos los pares clave/valor de la base de datos dbm. Por ejemplo:

Ejemplo 1. Visitanco cada par clave/valor en una base de datos dbm.

$clave = dbmfirstkey($id_dbm);
while ($clave) {
    echo "$clave = " . dbmfetch($id_dbm, $clave) . "\n";
    $clave = dbmnextkey($id_dbm, $clave);
}

Anterior | Inicio | Siguiente
dbminsert | Subir | dbmopen


dbmopen

(PHP 3, PHP 4, PECL)

dbmopen -- Abre una base de datos DBM

Descripción

resource dbmopen ( string nombre_archivo, string banderas )

Abre la base de datos DBM especificada en el modo indicado.

Lista de parámetros

nombre_archivo

El nombre del archivo DBM a ser abierto

banderas

El modo de apertura de archivo, que es un valor entre r, n, c o w, los cuales representan los modos de solo-lectura, nuevo (implica lectura-escritura, y probablemente trunque una base de datos existente con el mismo nombre), crear (implica lectura-escritura, y no trunca una base de datos existente con el mismo nombre) y lectura-escritura respectivamente.

Valores retornados

Devuelve un identificador a ser pasado a las demás funciones DBM en caso de éxito, o FALSE si ocurre un error.

Notes

Nota: Si es usado el soporte NDBM, lo que hará NDBM en realidad es crear los archivos nombre_archivo.dir y nombre_archivo.pag. GDBM usa sólo un archivo, asi como lo hace el soporte interno de archivos planos, y la BD Berkeley crea un archivo nombre_archivo.db.

Note que PHP realiza su propio bloqueo de archivos adicionalmente a cualquier bloqueo de archivos que pueda ser efectuado por la biblioteca DBM misma. PHP no elimina los archivos .lck que crea. Estos archivos son usados simplemente como inodes fijos sobre los que se realiza el bloqueo de archivos. Para más información sobre los archivos DBM, consulte sus páginas man Unix, u obtenga GNU GDBM.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Ver también

dbmclose()

Anterior | Inicio | Siguiente
dbmnextkey | Subir | dbmreplace


dbmreplace

(PHP 3, PHP 4, PECL)

dbmreplace -- sustituye el valor de una clave en la base de datos dbm

Descripción

bool dbmreplace ( int identif_dbm, string clave, string valor )

Sustituye el valor para la clave especificada de la base de datos.

También añadirá la clave a la base de datos si no existía antes.

Anterior | Inicio | Siguiente
dbmopen | Subir | dbx Functions


dbx Functions

Manual de PHP
Anterior Siguiente

XXVII. dbx Functions

Introducción

The dbx module is a database abstraction layer (db 'X', where 'X' is a supported database). The dbx functions allow you to access all supported databases using a single calling convention. The dbx-functions themselves do not interface directly to the databases, but interface to the modules that are used to support these databases.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Requisitos

To be able to use a database with the dbx-module, the module must be either linked or loaded into PHP, and the database module must be supported by the dbx-module. Currently, the following databases are supported, but others will follow:

  • FrontBase (available from PHP 4.1.0).

  • Microsoft SQL Server

  • MySQL

  • ODBC

  • PostgreSQL

  • Sybase-CT (available from PHP 4.2.0).

  • Oracle (oci8) (available from PHP 4.3.0).

  • SQLite (PHP 5).

Documentation for adding additional database support to dbx can be found at http://www.guidance.nl/php/dbx/doc/.

Instalación

In order to have these functions available, you must compile PHP with dbx support by using the --enable-dbx option and all options for the databases that will be used, e.g. for MySQL you must also specify --with-mysql=[DIR]. To get other supported databases to work with the dbx-module refer to their specific documentation.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. DBX Configuration Options

Name | Default | Changeable | Changelog
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

dbx.colnames_case string

Columns names can be returned "unchanged" or converted to "uppercase" or "lowercase". This directive can be overridden with a flag to dbx_query().

Tipos de recursos

There are two resource types used in the dbx module. The first one is the link-object for a database connection, the second a result-object which holds the result of a query.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

DBX_MYSQL (integer)

DBX_ODBC (integer)

DBX_PGSQL (integer)

DBX_MSSQL (integer)

DBX_FBSQL (integer)

DBX_OCI8 (integer) (available from PHP 4.3.0)

DBX_SYBASECT (integer)

DBX_SQLITE (integer) (PHP 5)

DBX_PERSISTENT (integer)

DBX_RESULT_INFO (integer)

DBX_RESULT_INDEX (integer)

DBX_RESULT_ASSOC (integer)

DBX_RESULT_UNBUFFERED (integer) (PHP 5)

DBX_COLNAMES_UNCHANGED (integer) (available from PHP 4.3.0)

DBX_COLNAMES_UPPERCASE (integer) (available from PHP 4.3.0)

DBX_COLNAMES_LOWERCASE (integer) (available from PHP 4.3.0)

DBX_CMP_NATIVE (integer)

DBX_CMP_TEXT (integer)

DBX_CMP_NUMBER (integer)

DBX_CMP_ASC (integer)

DBX_CMP_DESC (integer)

Tabla de contenidos
dbx_close -- Close an open connection/database
dbx_compare -- Compare two rows for sorting purposes
dbx_connect -- Open a connection/database
dbx_error -- Report the error message of the latest function call in the module
dbx_escape_string -- Escape a string so it can safely be used in an sql-statement
dbx_fetch_row -- Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
dbx_query -- Send a query and fetch all results (if any)
dbx_sort -- Sort a result from a dbx_query by a custom sort function

Anterior | Inicio | Siguiente
dbmreplace | Subir | dbx_close


dbx_close

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

dbx_close -- Close an open connection/database

Descripción

int dbx_close ( object link_identifier )

Lista de parámetros

link_identifier

The DBX link object to close.

Valores retornados

Returns 1 on success and 0 on errors.

Ejemplos

Ejemplo 1. dbx_close() example

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

Notes

Nota: Always refer to the module-specific documentation as well.

Ver también

dbx_connect()

Anterior | Inicio | Siguiente
dbx Functions | Subir | dbx_compare


dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.4)

dbx_compare -- Compare two rows for sorting purposes

Descripción

int dbx_compare ( array row_a, array row_b, string column_key [, int flags] )

dbx_compare() is a helper function for dbx_sort() to ease the make and use of the custom sorting function.

Lista de parámetros

row_a

First row

row_b

Second row

column_key

The compared column

flags

The flags can be set to specify comparison direction:

  • DBX_CMP_ASC - ascending order

  • DBX_CMP_DESC - descending order

and the preferred comparison type:

  • DBX_CMP_NATIVE - no type conversion

  • DBX_CMP_TEXT - compare items as strings

  • DBX_CMP_NUMBER - compare items numerically

One of the direction and one of the type constant can be combined with bitwise OR operator (|). The default value for the flags parameter is DBX_CMP_ASC | DBX_CMP_NATIVE.

Valores retornados

Returns 0 if the row_a[$column_key] is equal to row_b[$column_key], and 1 or -1 if the former is greater or is smaller than the latter one, respectively, or vice versa if the flag is set to DBX_CMP_DESC.

Ejemplos

Ejemplo 1. dbx_compare() example

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id");
    // data in $result is now ordered by id

dbx_sort($result, "user_re_order");
    // date in $result is now ordered by parentid (descending), then by id

dbx_close($link);
?>

Ver también

dbx_sort()

Anterior | Inicio | Siguiente
dbx_close | Subir | dbx_connect


dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

dbx_connect -- Open a connection/database

Descripción

object dbx_connect ( mixed module, string host, string database, string username, string password [, int persistent] )

Opens a connection to a database.

Lista de parámetros

module

The module parameter can be either a string or a constant, though the latter form is preferred. The possible values are given below, but keep in mind that they only work if the module is actually loaded.

  • DBX_MYSQL or "mysql"

  • DBX_ODBC or "odbc"

  • DBX_PGSQL or "pgsql"

  • DBX_MSSQL or "mssql"

  • DBX_FBSQL or "fbsql" (available from PHP 4.1.0)

  • DBX_SYBASECT or "sybase_ct" (available from PHP 4.2.0)

  • DBX_OCI8 or "oci8" (available from PHP 4.3.0)

  • DBX_SQLITE or "sqlite" (PHP 5)

host

The SQL server host

database

The database name

username

The username

password

The password

persistent

The persistent parameter can be set to DBX_PERSISTENT, if so, a persistent connection will be created.

The host, database, username and password parameters are expected, but not always used depending on the connect functions for the abstracted module.

Valores retornados

Returns an object on success, FALSE on error. If a connection has been made but the database could not be selected, the connection is closed and FALSE is returned.

The returned object has three properties:

database

It is the name of the currently selected database.

handle

It is a valid handle for the connected database, and as such it can be used in module-specific functions (if required).

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($link->handle); // dbx_close($link) would be better here
?>

module

It is used internally by dbx only, and is actually the module number mentioned above.

Ejemplos

Ejemplo 1. dbx_connect() example

<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

Notes

Nota: Always refer to the module-specific documentation as well.

Ver también

dbx_close()

Anterior | Inicio | Siguiente
dbx_compare | Subir | dbx_error


dbx_error

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

dbx_error -- Report the error message of the latest function call in the module

Descripción

string dbx_error ( object link_identifier )

dbx_error() returns the last error message.

Lista de parámetros

link_identifier

The DBX link object returned by dbx_connect()

Valores retornados

Returns a string containing the error message from the last function call of the abstracted module (e.g. mysql module). If there are multiple connections in the same module, just the last error is given. If there are connections on different modules, the latest error is returned for the module specified by the link_identifier parameter.

Ejemplos

Ejemplo 1. dbx_error() example

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "select id from non_existing_table");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Notes

Nota: Always refer to the module-specific documentation as well.

The error message for Microsoft SQL Server is actually the result of the mssql_get_last_message() function.

The error message for Oracle (oci8) is not implemented yet.

Anterior | Inicio | Siguiente
dbx_connect | Subir | dbx_escape_string


dbx_escape_string

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.4)

dbx_escape_string -- Escape a string so it can safely be used in an sql-statement

Descripción

string dbx_escape_string ( object link_identifier, string text )

Escape the given string so that it can safely be used in an sql-statement.

Lista de parámetros

link_identifier

The DBX link object returned by dbx_connect()

text

The string to escape.

Valores retornados

Returns the text, escaped where necessary (such as quotes, backslashes etc). On error, NULL is returned.

Ejemplos

Ejemplo 1. dbx_escape_string() example

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$text = dbx_escape_string($link, "It\'s quoted and backslashed (\\).");
$result = dbx_query($link, "insert into tbl (txt) values ('" . $text . "')");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Ver también

dbx_query()

Anterior | Inicio | Siguiente
dbx_error | Subir | dbx_fetch_row


dbx_fetch_row

(PHP 5 <= 5.0.4)

dbx_fetch_row -- Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set

Descripción

mixed dbx_fetch_row ( object result_identifier )

dbx_fetch_row() fetches rows from a result identifier that had the DBX_RESULT_UNBUFFERED flag set.

When the DBX_RESULT_UNBUFFERED is not set in the query, dbx_fetch_row() will fail as all rows have already been fetched into the results data property.

As a side effect, the rows property of the query-result object is incremented for each successful call to dbx_fetch_row().

Lista de parámetros

result_identifier

A result set returned by dbx_query().

Valores retornados

Returns an object on success that contains the same information as any row would have in the dbx_query() result data property, including columns accessible by index or fieldname when the flags for dbx_query() were set that way.

Upon failure, returns 0 (e.g. when no more rows are available).

Ejemplos

Ejemplo 1. How to handle the returned value

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Ver también

dbx_query()

Anterior | Inicio | Siguiente
dbx_escape_string | Subir | dbx_query


dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

dbx_query -- Send a query and fetch all results (if any)

Descripción

mixed dbx_query ( object link_identifier, string sql_statement [, int flags] )

Sends a query and fetch all results.

Lista de parámetros

link_identifier

The DBX link object returned by dbx_connect()

sql_statement

SQL statement.

flags

The compared column

flags

The flags parameter is used to control the amount of information that is returned. It may be any combination of the following constants with the bitwise OR operator (|). The DBX_COLNAMES_* flags override the dbx.colnames_case setting from php.ini.

DBX_RESULT_INDEX

It is always set, that is, the returned object has a data property which is a 2 dimensional array indexed numerically. For example, in the expression data[2][3] 2 stands for the row (or record) number and 3 stands for the column (or field) number. The first row and column are indexed at 0.

If DBX_RESULT_ASSOC is also specified, the returning object contains the information related to DBX_RESULT_INFO too, even if it was not specified.

DBX_RESULT_INFO

It provides info about columns, such as field names and field types.

DBX_RESULT_ASSOC

It effects that the field values can be accessed with the respective column names used as keys to the returned object's data property.

Associated results are actually references to the numerically indexed data, so modifying data[0][0] causes that data[0]['field_name_for_first_column'] is modified as well.

DBX_RESULT_UNBUFFERED (PHP 5)

This flag will not create the data property, and the rows property will initially be 0. Use this flag for large datasets, and use dbx_fetch_row() to retrieve the results row by row.

The dbx_fetch_row() function will return rows that are conformant to the flags set with this query. Incidentally, it will also update the rows each time it is called.

DBX_COLNAMES_UNCHANGED (available from PHP 4.3.0)

The case of the returned column names will not be changed.

DBX_COLNAMES_UPPERCASE (available from PHP 4.3.0)

The case of the returned column names will be changed to uppercase.

DBX_COLNAMES_LOWERCASE (available from PHP 4.3.0)

The case of the returned column names will be changed to lowercase.

Note that DBX_RESULT_INDEX is always used, regardless of the actual value of flags parameter. This means that only the following combinations are effective:

  • DBX_RESULT_INDEX

  • DBX_RESULT_INDEX | DBX_RESULT_INFO

  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - this is the default, if flags is not specified.

Valores retornados

dbx_query() returns an object or 1 on success, and 0 on failure. The result object is returned only if the query given in sql_statement produces a result set (i.e. a SELECT query, even if the result set is empty).

The returned object has four or five properties depending on flags:

handle

It is a valid handle for the connected database, and as such it can be used in module specific functions (if required).

<?php
$result = dbx_query($link, "SELECT id FROM table");
mysql_field_len($result->handle, 0);
?>

cols and rows

These contain the number of columns (or fields) and rows (or records) respectively.

<?php
$result = dbx_query($link, 'SELECT id FROM table');
echo $result->rows; // number of records
echo $result->cols; // number of fields
?>

info (optional)

It is returned only if either DBX_RESULT_INFO or DBX_RESULT_ASSOC is specified in the flags parameter. It is a 2 dimensional array, that has two named rows (name and type) to retrieve column information.

Ejemplo 1. lists each field's name and type

<?php
$result = dbx_query($link, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);

for ($i = 0; $i < $result->cols; $i++ ) {
    echo $result->info['name'][$i] . "\n";
    echo $result->info['type'][$i] . "\n";
}
?>
data

This property contains the actual resulting data, possibly associated with column names as well depending on flags. If DBX_RESULT_ASSOC is set, it is possible to use $result->data[2]["field_name"].

Ejemplo 2. outputs the content of data property into HTML table

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

echo "<table>\n";
foreach ($result->data as $row) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Ejemplo 3. How to handle UNBUFFERED queries

<?php

$result = dbx_query ($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Ejemplos

Ejemplo 4. How to handle the returned value

<?php
$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

if (is_object($result) ) {
    // ... do some stuff here, see detailed examples below ...
    // first, print out field names and types
    // then, draw a table filled with the returned field values
} else {
    exit("Query failed");
}

dbx_close($link);
?>

Notes

Nota: Always refer to the module-specific documentation as well.

Column names for queries on an Oracle database are returned in lowercase.

Ver también

dbx_escape_string()
dbx_fetch_row()
dbx_connect()

Anterior | Inicio | Siguiente
dbx_fetch_row | Subir | dbx_sort


dbx_sort

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

dbx_sort -- Sort a result from a dbx_query by a custom sort function

Descripción

bool dbx_sort ( object result, string user_compare_function )

Sort a result from a dbx_query() call with a custom sort function.

Lista de parámetros

result

A result set returned by dbx_query().

user_compare_function

The user-defined comparison function. It must accept two arguments and return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. dbx_sort() example

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
    // data in $result is now ordered by id

dbx_sort($result, "user_re_order");
    // data in $result is now ordered by parentid (descending), then by id

dbx_close($link);
?>

Notes

Nota: It is always better to use ORDER BY SQL clause instead of dbx_sort() if possible.

Ver también

dbx_compare()

Anterior | Inicio | Siguiente
dbx_query | Subir | Funciones de acceso directo a E/S


DB++ Functions

Manual de PHP
Anterior Siguiente

XXIII. DB++ Functions

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Introducción

db++, made by the German company Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface, it is not really a SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra than SQL is.

Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.

Requisitos

This extension relies on external client libraries so you have to have a db++ client installed on the system you want to use this extension on.

Concept asa provides db++ Demo versions and documentation for Linux, some other Unix versions. There is also a Windows version of db++, but this extension doesn't support it (yet).

Instalación

In order to build this extension yourself you need the db++ client libraries and header files to be installed on your system (these are included in the db++ installation archives by default). You have to run configure with option --with-dbplus to build this extension.

configure looks for the client libraries and header files under the default paths /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

dbplus_relation

Most db++ functions operate on or return dbplus_relation resources. A dbplus_relation is a handle to a stored relation or a relation generated as the result of a query.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

db++ error codes

Tabla 1. DB++ Error Codes

PHP Constant | db++ constant | meaning
DBPLUS_ERR_NOERR (integer) | ERR_NOERR | Null error condition
DBPLUS_ERR_DUPLICATE (integer) | ERR_DUPLICATE | Tried to insert a duplicate tuple
DBPLUS_ERR_EOSCAN (integer) | ERR_EOSCAN | End of scan from rget()
DBPLUS_ERR_EMPTY (integer) | ERR_EMPTY | Relation is empty (server)
DBPLUS_ERR_CLOSE (integer) | ERR_CLOSE | The server can't close
DBPLUS_ERR_WLOCKED (integer) | ERR_WLOCKED | The record is write locked
DBPLUS_ERR_LOCKED (integer) | ERR_LOCKED | Relation was already locked
DBPLUS_ERR_NOLOCK (integer) | ERR_NOLOCK | Relation cannot be locked
DBPLUS_ERR_READ (integer) | ERR_READ | Read error on relation
DBPLUS_ERR_WRITE (integer) | ERR_WRITE | Write error on relation
DBPLUS_ERR_CREATE (integer) | ERR_CREATE | Create() system call failed
DBPLUS_ERR_LSEEK (integer) | ERR_LSEEK | Lseek() system call failed
DBPLUS_ERR_LENGTH (integer) | ERR_LENGTH | Tuple exceeds maximum length
DBPLUS_ERR_OPEN (integer) | ERR_OPEN | Open() system call failed
DBPLUS_ERR_WOPEN (integer) | ERR_WOPEN | Relation already opened for writing
DBPLUS_ERR_MAGIC (integer) | ERR_MAGIC | File is not a relation
DBPLUS_ERR_VERSION (integer) | ERR_VERSION | File is a very old relation
DBPLUS_ERR_PGSIZE (integer) | ERR_PGSIZE | Relation uses a different page size
DBPLUS_ERR_CRC (integer) | ERR_CRC | Invalid crc in the superpage
DBPLUS_ERR_PIPE (integer) | ERR_PIPE | Piped relation requires lseek()
DBPLUS_ERR_NIDX (integer) | ERR_NIDX | Too many secondary indices
DBPLUS_ERR_MALLOC (integer) | ERR_MALLOC | Malloc() call failed
DBPLUS_ERR_NUSERS (integer) | ERR_NUSERS | Error use of max users
DBPLUS_ERR_PREEXIT (integer) | ERR_PREEXIT | Caused by invalid usage
DBPLUS_ERR_ONTRAP (integer) | ERR_ONTRAP | Caused by a signal
DBPLUS_ERR_PREPROC (integer) | ERR_PREPROC | Error in the preprocessor
DBPLUS_ERR_DBPARSE (integer) | ERR_DBPARSE | Error in the parser
DBPLUS_ERR_DBRUNERR (integer) | ERR_DBRUNERR | Run error in db
DBPLUS_ERR_DBPREEXIT (integer) | ERR_DBPREEXIT | Exit condition caused by prexit() * procedure
DBPLUS_ERR_WAIT (integer) | ERR_WAIT | Wait a little (Simple only)
DBPLUS_ERR_CORRUPT_TUPLE (integer) | ERR_CORRUPT_TUPLE | A client sent a corrupt tuple
DBPLUS_ERR_WARNING0 (integer) | ERR_WARNING0 | The Simple routines encountered a non fatal error which was corrected
DBPLUS_ERR_PANIC (integer) | ERR_PANIC | The server should not really die but after a disaster send ERR_PANIC to all its clients
DBPLUS_ERR_FIFO (integer) | ERR_FIFO | Can't create a fifo
DBPLUS_ERR_PERM (integer) | ERR_PERM | Permission denied
DBPLUS_ERR_TCL (integer) | ERR_TCL | TCL_error
DBPLUS_ERR_RESTRICTED (integer) | ERR_RESTRICTED | Only two users
DBPLUS_ERR_USER (integer) | ERR_USER | An error in the use of the library by an application programmer
DBPLUS_ERR_UNKNOWN (integer) | ERR_UNKNOWN |

Tabla de contenidos
dbplus_add -- Add a tuple to a relation
dbplus_aql -- Perform AQL query
dbplus_chdir -- Get/Set database virtual current directory
dbplus_close -- Close a relation
dbplus_curr -- Get current tuple from relation
dbplus_errcode -- Get error string for given errorcode or last error
dbplus_errno -- Get error code for last operation
dbplus_find -- Set a constraint on a relation
dbplus_first -- Get first tuple from relation
dbplus_flush -- Flush all changes made on a relation
dbplus_freealllocks -- Free all locks held by this client
dbplus_freelock -- Release write lock on tuple
dbplus_freerlocks -- Free all tuple locks on given relation
dbplus_getlock -- Get a write lock on a tuple
dbplus_getunique -- Get an id number unique to a relation
dbplus_info -- Get information about a relation
dbplus_last -- Get last tuple from relation
dbplus_lockrel -- Request write lock on relation
dbplus_next -- Get next tuple from relation
dbplus_open -- Open relation file
dbplus_prev -- Get previous tuple from relation
dbplus_rchperm -- Change relation permissions
dbplus_rcreate -- Creates a new DB++ relation
dbplus_rcrtexact -- Creates an exact but empty copy of a relation including indices
dbplus_rcrtlike -- Creates an empty copy of a relation with default indices
dbplus_resolve -- Resolve host information for relation
dbplus_restorepos -- Restore position
dbplus_rkeys -- Specify new primary key for a relation
dbplus_ropen -- Open relation file local
dbplus_rquery -- Perform local (raw) AQL query
dbplus_rrename -- Rename a relation
dbplus_rsecindex -- Create a new secondary index for a relation
dbplus_runlink -- Remove relation from filesystem
dbplus_rzap -- Remove all tuples from relation
dbplus_savepos -- Save position
dbplus_setindex -- Set index
dbplus_setindexbynumber -- Set index by number
dbplus_sql -- Perform SQL query
dbplus_tcl -- Execute TCL code on server side
dbplus_tremove -- Remove tuple and return new current tuple
dbplus_undo -- Undo
dbplus_undoprepare -- Prepare undo
dbplus_unlockrel -- Give up write lock on relation
dbplus_unselect -- Remove a constraint from relation
dbplus_update -- Update specified tuple in relation
dbplus_xlockrel -- Request exclusive lock on relation
dbplus_xunlockrel -- Free exclusive lock on relation

Anterior | Inicio | Siguiente
timezone_transitions_get | Subir | dbplus_add


dbplus_add

(4.1.0 - 4.2.3 only, PECL)

dbplus_add -- Add a tuple to a relation

Description

int dbplus_add ( resource relation, array tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This function will add a tuple to a relation. The tuple data is an array of attribute/value pairs to be inserted into the given relation. After successful execution the tuple array will contain the complete data of the newly created tuple, including all implicitly set domain fields like sequences.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

Anterior | Inicio | Siguiente
DB++ Functions | Subir | dbplus_aql


dbplus_aql

(4.1.0 - 4.2.3 only, PECL)

dbplus_aql -- Perform AQL query

Description

resource dbplus_aql ( string query [, string server [, string dbpath]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_aql() will execute an AQL query on the given server and dbpath.

On success it will return a relation handle. The result data may be fetched from this relation by calling dbplus_next() and dbplus_current(). Other relation access functions will not work on a result relation.

Further information on the AQL A... Query Language is provided in the original db++ manual.

Anterior | Inicio | Siguiente
dbplus_add | Subir | dbplus_chdir


dbplus_chdir

(4.1.0 - 4.2.3 only, PECL)

dbplus_chdir -- Get/Set database virtual current directory

Description

string dbplus_chdir ( [string newdir] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_chdir() will change the virtual current directory where relation files will be looked for by dbplus_open(). dbplus_chdir() will return the absolute path of the current directory. Calling dbplus_chdir() without giving any newdir may be used to query the current working directory.

Anterior | Inicio | Siguiente
dbplus_aql | Subir | dbplus_close


dbplus_close

(4.1.0 - 4.2.3 only, PECL)

dbplus_close -- Close a relation

Description

mixed dbplus_close ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Calling dbplus_close() will close a relation previously opened by dbplus_open().

Returns TRUE on success or DBPLUS_ERR_UNKNOWN on failure.

Anterior | Inicio | Siguiente
dbplus_chdir | Subir | dbplus_curr


dbplus_curr

(4.1.0 - 4.2.3 only, PECL)

dbplus_curr -- Get current tuple from relation

Description

int dbplus_curr ( resource relation, array &tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_curr() will read the data for the current tuple for the given relation and will pass it back as an associative array in tuple.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

See also dbplus_first(),
dbplus_prev(),
dbplus_next(), and
dbplus_last().

Anterior | Inicio | Siguiente
dbplus_close | Subir | dbplus_errcode


dbplus_errcode

(4.1.0 - 4.2.3 only, PECL)

dbplus_errcode -- Get error string for given errorcode or last error

Description

string dbplus_errcode ( [int errno] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_errcode() returns a cleartext error string for the error code passed as errno of for the result code of the last db++ operation if no parameter is given.

Anterior | Inicio | Siguiente
dbplus_curr | Subir | dbplus_errno


dbplus_errno

(4.1.0 - 4.2.3 only, PECL)

dbplus_errno -- Get error code for last operation

Description

int dbplus_errno ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_errno() will return the error code returned by the last db++ operation.

See also dbplus_errcode().

Anterior | Inicio | Siguiente
dbplus_errcode | Subir | dbplus_find


dbplus_find

(4.1.0 - 4.2.3 only, PECL)

dbplus_find -- Set a constraint on a relation

Description

int dbplus_find ( resource relation, array constraints, mixed tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_find() will place a constraint on the given relation. Further calls to functions like dbplus_curr() or dbplus_next() will only return tuples matching the given constraints.

Constraints are triplets of strings containing of a domain name, a comparison operator and a comparison value. The constraints parameter array may consist of a collection of string arrays, each of which contains a domain, an operator and a value, or of a single string array containing a multiple of three elements.

The comparison operator may be one of the following strings: '==', '>', '>=', '<', '<=', '!=', '~' for a regular expression match and 'BAND' or 'BOR' for bitwise operations.

See also dbplus_unselect().

Anterior | Inicio | Siguiente
dbplus_errno | Subir | dbplus_first


dbplus_first

(4.1.0 - 4.2.3 only, PECL)

dbplus_first -- Get first tuple from relation

Description

int dbplus_first ( resource relation, array &tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_curr() will read the data for the first tuple for the given relation, make it the current tuple and pass it back as an associative array in tuple.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

See also dbplus_curr(),
dbplus_prev(),
dbplus_next(), and
dbplus_last().

Anterior | Inicio | Siguiente
dbplus_find | Subir | dbplus_flush


dbplus_flush

(4.1.0 - 4.2.3 only, PECL)

dbplus_flush -- Flush all changes made on a relation

Description

int dbplus_flush ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_flush() will write all changes applied to relation since the last flush to disk.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

Anterior | Inicio | Siguiente
dbplus_first | Subir | dbplus_freealllocks


dbplus_freealllocks

(4.1.0 - 4.2.3 only, PECL)

dbplus_freealllocks -- Free all locks held by this client

Description

int dbplus_freealllocks ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_freealllocks() will free all tuple locks held by this client.

See also dbplus_getlock(),
dbplus_freelock(), and
dbplus_freerlocks().

Anterior | Inicio | Siguiente
dbplus_flush | Subir | dbplus_freelock


dbplus_freelock

(4.1.0 - 4.2.3 only, PECL)

dbplus_freelock -- Release write lock on tuple

Description

int dbplus_freelock ( resource relation, string tname )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_freelock() will release a write lock on the given tuple previously obtained by dbplus_getlock().

See also dbplus_getlock(),
dbplus_freerlocks(), and
dbplus_freealllocks().

Anterior | Inicio | Siguiente
dbplus_freealllocks | Subir | dbplus_freerlocks


dbplus_freerlocks

(4.1.0 - 4.2.3 only, PECL)

dbplus_freerlocks -- Free all tuple locks on given relation

Description

int dbplus_freerlocks ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_freerlocks() will free all tuple locks held on the given relation.

See also dbplus_getlock(),
dbplus_freelock(), and
dbplus_freealllocks().

Anterior | Inicio | Siguiente
dbplus_freelock | Subir | dbplus_getlock


dbplus_getlock

(4.1.0 - 4.2.3 only, PECL)

dbplus_getlock -- Get a write lock on a tuple

Description

int dbplus_getlock ( resource relation, string tname )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_getlock() will request a write lock on the specified tuple. It will return zero on success or a non-zero error code, especially DBPLUS_ERR_WLOCKED, on failure.

See also dbplus_freelock(),
dbplus_freerlocks(), and
dbplus_freealllocks().

Anterior | Inicio | Siguiente
dbplus_freerlocks | Subir | dbplus_getunique


dbplus_getunique

(4.1.0 - 4.2.3 only, PECL)

dbplus_getunique -- Get an id number unique to a relation

Description

int dbplus_getunique ( resource relation, int uniqueid )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_getunique() will obtain a number guaranteed to be unique for the given relation and will pass it back in the variable given as uniqueid.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

Anterior | Inicio | Siguiente
dbplus_getlock | Subir | dbplus_info


dbplus_info

(4.1.0 - 4.2.3 only, PECL)

dbplus_info -- Get information about a relation

Description

int dbplus_info ( resource relation, string key, array &result )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_getunique | Subir | dbplus_last


dbplus_last

(4.1.0 - 4.2.3 only, PECL)

dbplus_last -- Get last tuple from relation

Description

int dbplus_last ( resource relation, array &tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_curr() will read the data for the last tuple for the given relation, make it the current tuple and pass it back as an associative array in tuple.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

See also dbplus_first(),
dbplus_curr(),
dbplus_prev(), and
dbplus_next().

Anterior | Inicio | Siguiente
dbplus_info | Subir | dbplus_lockrel


dbplus_lockrel

(no version information, might be only in CVS)

dbplus_lockrel -- Request write lock on relation

Description

int dbplus_lockrel ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_lockrel() will request a write lock on the given relation. Other clients may still query the relation, but can't alter it while it is locked.

Anterior | Inicio | Siguiente
dbplus_last | Subir | dbplus_next


dbplus_next

(4.1.0 - 4.2.3 only, PECL)

dbplus_next -- Get next tuple from relation

Description

int dbplus_next ( resource relation, array &tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_curr() will read the data for the next tuple for the given relation, will make it the current tuple and will pass it back as an associative array in tuple.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

See also dbplus_first(),
dbplus_curr(),
dbplus_prev(), and
dbplus_last().

Anterior | Inicio | Siguiente
dbplus_lockrel | Subir | dbplus_open


dbplus_open

(4.1.0 - 4.2.3 only, PECL)

dbplus_open -- Open relation file

Description

resource dbplus_open ( string name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

The relation file name will be opened. name can be either a file name or a relative or absolute path name. This will be mapped in any case to an absolute relation file path on a specific host machine and server.

On success a relation file resource (cursor) is returned which must be used in any subsequent commands referencing the relation. Failure leads to a zero return value, the actual error code may be asked for by calling dbplus_errno().

Anterior | Inicio | Siguiente
dbplus_next | Subir | dbplus_prev


dbplus_prev

(4.1.0 - 4.2.3 only, PECL)

dbplus_prev -- Get previous tuple from relation

Description

int dbplus_prev ( resource relation, array &tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_curr() will read the data for the previous tuple for the given relation, will make it the current tuple and will pass it back as an associative array in tuple.

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure. See dbplus_errcode() or the introduction to this chapter for more information on db++ error codes.

See also dbplus_first(),
dbplus_curr(),
dbplus_next(), and
dbplus_last().

Anterior | Inicio | Siguiente
dbplus_open | Subir | dbplus_rchperm


dbplus_rchperm

(4.1.0 - 4.2.3 only, PECL)

dbplus_rchperm -- Change relation permissions

Description

int dbplus_rchperm ( resource relation, int mask, string user, string group )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rchperm() will change access permissions as specified by mask, user and group. The values for these are operating system specific.

Anterior | Inicio | Siguiente
dbplus_prev | Subir | dbplus_rcreate


dbplus_rcreate

(4.1.0 - 4.2.3 only, PECL)

dbplus_rcreate -- Creates a new DB++ relation

Description

resource dbplus_rcreate ( string name, mixed domlist [, bool overwrite] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rcreate() will create a new relation named name. An existing relation by the same name will only be overwritten if the relation is currently not in use and overwrite is set to TRUE.

domlist should contain the domain specification for the new relation within an array of domain description strings. ( dbplus_rcreate() will also accept a string with space delimited domain description strings, but it is recommended to use an array). A domain description string consists of a domain name unique to this relation, a slash and a type specification character. See the db++ documentation, especially the dbcreate(1) manpage, for a description of available type specifiers and their meanings.

Anterior | Inicio | Siguiente
dbplus_rchperm | Subir | dbplus_rcrtexact


dbplus_rcrtexact

(4.1.0 - 4.2.3 only, PECL)

dbplus_rcrtexact -- Creates an exact but empty copy of a relation including indices

Description

mixed dbplus_rcrtexact ( string name, resource relation [, bool overwrite] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rcrtexact() will create an exact but empty copy of the given relation under a new name. An existing relation by the same name will only be overwritten if overwrite is TRUE and no other process is currently using the relation.

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anterior | Inicio | Siguiente
dbplus_rcreate | Subir | dbplus_rcrtlike


dbplus_rcrtlike

(4.1.0 - 4.2.3 only, PECL)

dbplus_rcrtlike -- Creates an empty copy of a relation with default indices

Description

mixed dbplus_rcrtlike ( string name, resource relation [, int overwrite] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rcrtexact() will create an empty copy of the given relation under a new name, but with default indices. An existing relation by the same name will only be overwritten if overwrite is TRUE and no other process is currently using the relation.

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anterior | Inicio | Siguiente
dbplus_rcrtexact | Subir | dbplus_resolve


dbplus_resolve

(4.1.0 - 4.2.3 only, PECL)

dbplus_resolve -- Resolve host information for relation

Description

array dbplus_resolve ( string relation_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_resolve() will try to resolve the given relation_name and find out internal server id, real hostname and the database path on this host. The function will return an array containing these values under the keys 'sid', 'host' and 'host_path' or FALSE on error.

See also dbplus_tcl().

Anterior | Inicio | Siguiente
dbplus_rcrtlike | Subir | dbplus_restorepos


dbplus_restorepos

(4.1.0 - 4.2.3 only, PECL)

dbplus_restorepos -- Restore position

Description

int dbplus_restorepos ( resource relation, array tuple )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_resolve | Subir | dbplus_rkeys


dbplus_rkeys

(4.1.0 - 4.2.3 only, PECL)

dbplus_rkeys -- Specify new primary key for a relation

Description

mixed dbplus_rkeys ( resource relation, mixed domlist )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rkeys() will replace the current primary key for relation with the combination of domains specified by domlist.

domlist may be passed as a single domain name string or as an array of domain names.

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anterior | Inicio | Siguiente
dbplus_restorepos | Subir | dbplus_ropen


dbplus_ropen

(4.1.0 - 4.2.3 only, PECL)

dbplus_ropen -- Open relation file local

Description

resource dbplus_ropen ( string name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_ropen() will open the relation file locally for quick access without any client/server overhead. Access is read only and only dbplus_current() and dbplus_next() may be applied to the returned relation.

Anterior | Inicio | Siguiente
dbplus_rkeys | Subir | dbplus_rquery


dbplus_rquery

(4.1.0 - 4.2.3 only, PECL)

dbplus_rquery -- Perform local (raw) AQL query

Description

resource dbplus_rquery ( string query [, string dbpath] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rquery() performs a local (raw) AQL query using an AQL interpreter embedded into the db++ client library. dbplus_rquery() is faster than dbplus_aql() but will work on local data only.

Anterior | Inicio | Siguiente
dbplus_ropen | Subir | dbplus_rrename


dbplus_rrename

(4.1.0 - 4.2.3 only, PECL)

dbplus_rrename -- Rename a relation

Description

int dbplus_rrename ( resource relation, string name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rrename() will change the name of relation to name.

Anterior | Inicio | Siguiente
dbplus_rquery | Subir | dbplus_rsecindex


dbplus_rsecindex

(4.1.0 - 4.2.3 only, PECL)

dbplus_rsecindex -- Create a new secondary index for a relation

Description

mixed dbplus_rsecindex ( resource relation, mixed domlist, int type )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rsecindex() will create a new secondary index for relation with consists of the domains specified by domlist and is of type type

domlist may be passed as a single domain name string or as an array of domain names.

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anterior | Inicio | Siguiente
dbplus_rrename | Subir | dbplus_runlink


dbplus_runlink

(4.1.0 - 4.2.3 only, PECL)

dbplus_runlink -- Remove relation from filesystem

Description

int dbplus_runlink ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_unlink() will close and remove the relation.

Anterior | Inicio | Siguiente
dbplus_rsecindex | Subir | dbplus_rzap


dbplus_rzap

(4.1.0 - 4.2.3 only, PECL)

dbplus_rzap -- Remove all tuples from relation

Description

int dbplus_rzap ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_rzap() will remove all tuples from relation.

Anterior | Inicio | Siguiente
dbplus_runlink | Subir | dbplus_savepos


dbplus_savepos

(4.1.0 - 4.2.3 only, PECL)

dbplus_savepos -- Save position

Description

int dbplus_savepos ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_rzap | Subir | dbplus_setindex


dbplus_setindex

(4.1.0 - 4.2.3 only, PECL)

dbplus_setindex -- Set index

Description

int dbplus_setindex ( resource relation, string idx_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_savepos | Subir | dbplus_setindexbynumber


dbplus_setindexbynumber

(4.1.0 - 4.2.3 only, PECL)

dbplus_setindexbynumber -- Set index by number

Description

int dbplus_setindexbynumber ( resource relation, int idx_number )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_setindex | Subir | dbplus_sql


dbplus_sql

(4.1.0 - 4.2.3 only, PECL)

dbplus_sql -- Perform SQL query

Description

resource dbplus_sql ( string query [, string server [, string dbpath]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_setindexbynumber | Subir | dbplus_tcl


dbplus_tcl

(4.1.0 - 4.2.3 only, PECL)

dbplus_tcl -- Execute TCL code on server side

Description

string dbplus_tcl ( int sid, string script )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

A db++ server will prepare a TCL interpreter for each client connection. This interpreter will enable the server to execute TCL code provided by the client as a sort of stored procedures to improve the performance of database operations by avoiding client/server data transfers and context switches.

dbplus_tcl() needs to pass the client connection id the TCL script code should be executed by. dbplus_resolve() will provide this connection id. The function will return whatever the TCL code returns or a TCL error message if the TCL code fails.

See also dbplus_resolve().

Anterior | Inicio | Siguiente
dbplus_sql | Subir | dbplus_tremove


dbplus_tremove

(4.1.0 - 4.2.3 only, PECL)

dbplus_tremove -- Remove tuple and return new current tuple

Description

int dbplus_tremove ( resource relation, array tuple [, array &current] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_tremove() removes tuple from relation if it perfectly matches a tuple within the relation. current, if given, will contain the data of the new current tuple after calling dbplus_tremove().

Anterior | Inicio | Siguiente
dbplus_tcl | Subir | dbplus_undo


dbplus_undo

(4.1.0 - 4.2.3 only, PECL)

dbplus_undo -- Undo

Description

int dbplus_undo ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_tremove | Subir | dbplus_undoprepare


dbplus_undoprepare

(4.1.0 - 4.2.3 only, PECL)

dbplus_undoprepare -- Prepare undo

Description

int dbplus_undoprepare ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
dbplus_undo | Subir | dbplus_unlockrel


dbplus_unlockrel

(4.1.0 - 4.2.3 only, PECL)

dbplus_unlockrel -- Give up write lock on relation

Description

int dbplus_unlockrel ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_unlockrel() will release a write lock previously obtained by dbplus_lockrel().

Anterior | Inicio | Siguiente
dbplus_undoprepare | Subir | dbplus_unselect


dbplus_unselect

(4.1.0 - 4.2.3 only, PECL)

dbplus_unselect -- Remove a constraint from relation

Description

int dbplus_unselect ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Calling dbplus_unselect() will remove a constraint previously set by dbplus_find() on relation.

Anterior | Inicio | Siguiente
dbplus_unlockrel | Subir | dbplus_update


dbplus_update

(4.1.0 - 4.2.3 only, PECL)

dbplus_update -- Update specified tuple in relation

Description

int dbplus_update ( resource relation, array old, array new )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_update() replaces the tuple given by old with the data from new if and only if old completely matches a tuple within relation.

Anterior | Inicio | Siguiente
dbplus_unselect | Subir | dbplus_xlockrel


dbplus_xlockrel

(4.1.0 - 4.2.3 only, PECL)

dbplus_xlockrel -- Request exclusive lock on relation

Description

int dbplus_xlockrel ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_xlockrel() will request an exclusive lock on relation preventing even read access from other clients.

See also dbplus_xunlockrel().

Anterior | Inicio | Siguiente
dbplus_update | Subir | dbplus_xunlockrel


dbplus_xunlockrel

(4.1.0 - 4.2.3 only, PECL)

dbplus_xunlockrel -- Free exclusive lock on relation

Description

int dbplus_xunlockrel ( resource relation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

dbplus_xunlockrel() will release an exclusive lock on relation previously obtained by dbplus_xlockrel().

Anterior | Inicio | Siguiente
dbplus_xlockrel | Subir | Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)


Funciones de acceso directo a E/S

Manual de PHP
Anterior Siguiente

XXVIII. Funciones de acceso directo a E/S

Introducción

PHP incluye soporte para funciones de acceso directo a E/S tal y como se especifican en la sección sexta del estándar de Posix. Estas funciones permiten realizar operaciones de E/S a un nivel inferior al de las funciones genéricas de C como fopen() y fread(). Las funciones de acceso directo a E/S solo deberían emplearse cuando se requiere un control directo de un determinado dispositivo. En todos los demás casos, es más adecuado el empleo de las funciones estándar del sistema de archivos.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Esta extensión solamente está disponible para sistemas Windows a partir de la versión PHP 5.0.0

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

Para usar las funciones de acceso directo a E/S, se debe añadir el parámetro --enable-dio a las opciones de configuración de PHP.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

c (integer)

F_DUPFD (integer)

F_GETFD (integer)

F_GETFL (integer)

F_GETLK (integer)

F_GETOWN (integer)

F_RDLCK (integer)

F_SETFL (integer)

F_SETLK (integer)

F_SETLKW (integer)

F_SETOWN (integer)

F_UNLCK (integer)

F_WRLCK (integer)

O_APPEND (integer)

O_ASYNC (integer)

O_CREAT (integer)

O_EXCL (integer)

O_NDELAY (integer)

O_NOCTTY (integer)

O_NONBLOCK (integer)

O_RDONLY (integer)

O_RDWR (integer)

O_SYNC (integer)

O_TRUNC (integer)

O_WRONLY (integer)

S_IRGRP (integer)

S_IROTH (integer)

S_IRUSR (integer)

S_IRWXG (integer)

S_IRWXO (integer)

S_IRWXU (integer)

S_IWGRP (integer)

S_IWOTH (integer)

S_IWUSR (integer)

S_IXGRP (integer)

S_IXOTH (integer)

S_IXUSR (integer)

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

La extensión de las funciones de acceso directo a E/S define un nuevo tipo de recurso: un descriptor de archivo devuelto por la función dio_open().

Tabla de contenidos
dio_close -- Cierra el descriptor de archivo indicado por el parámetro fd
dio_fcntl -- Realiza una operación del tipo fcntl de la librería de C sobre el descriptor de archivo indicado por el parámetro fd
dio_open -- Abre un archivo cuyo nombre indica el parámetro "nombre_archivo" con las opciones indicadas por "flags" y los permisos establecidos con "modo"
dio_read -- Lee bytes del archivo cuyo descriptor se pasa como parámetro.
dio_seek -- Cambia el posicionamiento en el archivo cuyo descriptor es fd a traves de los parámetros pos y whence
dio_stat -- Obtiene la información sobre el archivo cuyo descriptor es fd
dio_tcsetattr -- Configura las opciones de un terminal y la velocidad de un puerto serie
dio_truncate -- Trunca el tamaño del archivo cuyo descriptor es fd hasta un valor de offset bytes
dio_write -- Escribe datos en el archivo cuyo descriptor es fd

Anterior | Inicio | Siguiente
dbx_sort | Subir | dio_close


dio_close

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_close -- Cierra el descriptor de archivo indicado por el parámetro fd

Descripción

void dio_close ( resource fd )

La función dio_close() cierra el descriptor de archivo indicado por el parámetro fd.

Lista de parámetros

fd

El descriptor de archivo devuelto por la función dio_open().

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Cierre de un descriptor de archivo abierto

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Ver también

dio_open()

Anterior | Inicio | Siguiente
Funciones de acceso directo a E/S | Subir | dio_fcntl


dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_fcntl -- Realiza una operación del tipo fcntl de la librería de C sobre el descriptor de archivo indicado por el parámetro fd

Descripción

mixed dio_fcntl ( resource fd, int cmd [, mixed args] )

La función dio_fcntl() realiza las operaciones indicadas por el parámetro cmd sobre el descriptor fd. Algunas operaciones requieren argumentos indicados mediante el parámetro args.

Nota: Esta función no está implementada en plataformas Windows.

Lista de parámetros

fd

El descriptor de archivo devuelto por dio_open().

cmd

Puede indicar una de las siguientes operaciones:

  • F_SETLK - Crea o libera el bloqueo. Si alguien mantiene el bloqueo, la función dio_fcntl() devuelve -1.

  • F_SETLKW - es como F_SETLK, pero en este caso si alguien mantiene el bloqueo, la función dio_fcntl() espera hasta que el bloqueo se libera.

  • F_GETLK - dio_fcntl() devuelve una matriz asociativa (detallada más adelante) si alguien mantiene el bloqueo. Si el bloqueo ha sido liberado, el valor de "type" pasará a ser F_UNLCK.

  • F_DUPFD - determina el descriptor de archivo disponible con la numeración más baja posible que sea mayor o igual que la indicada por el parámetro args y devuelve ese descriptor.

  • F_SETFL - establece el valor de los flags del descriptor de archivo al valor especificado por el parámetro args, que puede ser O_APPEND, O_NONBLOCK o O_ASYNC. Para emplear O_ASYNC es necesario disponer de la extensión PCNTL.

args

args es una matriz asociativa cuando cmd es F_SETLK o F_SETLLW. Las claves de la matriz son las siguientes:

  • "start" - posición en la que comienza el bloqueo

  • "length" - longitud del área bloqueada. Un valor igual a cero significa el final del archivo..

  • "wenth" - posición respecto al que el valor start es relativo: puede ser SEEK_SET, SEEK_END y SEEK_CUR

  • "type" - tipo de bloqueo: puede ser F_RDLCK (bloqueo de solo lectura), F_WRLCK (bloqueo de escritura) or F_UNLCK (desbloqueo)

Valores retornados

Devuelve el mismo valor devuelto por la función de C.

Ejemplos

Ejemplo 1. Crear y liberar un bloqueo

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // El descriptor del archivo está bloqueado
   echo "El bloqueo no ha podido ser liberado.";
} else {
   echo "El bloqueo ha sido creado/liberado con éxito";
}

dio_close($fd);
?>

Anterior | Inicio | Siguiente
dio_close | Subir | dio_open


dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_open -- Abre un archivo cuyo nombre indica el parámetro "nombre_archivo" con las opciones indicadas por "flags" y los permisos establecidos con "modo"

Descripción

resource dio_open ( string nombre_archivo, int flags [, int modo] )

La función dio_open() abre un archivo y devuelve un descriptor para su manejo.

Lista de parámetros

nombre_archivo

El nombre del archivo que se quiere abrir.

flags

El parámetro flags puede indicarse mediante cualquier combinación de las siguientes opciones:

  • O_CREAT - crea el archivo si no existía previamente.

  • O_EXCL - si se indican de forma simultanea los valores O_CREAT y O_EXCL, la función dio_open() falla si el archivo existía previamente..

  • O_TRUNC - si el archivo existe y se abre con permiso de escritura, se elimina todo el contenido anterior del archivo y su tamaño se pone a cero.

  • O_APPEND - las operaciones de escritura sobre el archivo escriben los datos al final del archivo.

  • O_NONBLOCK - se establece el modo no-bloqueante.

modo

Si el parámetro flags vale O_CREAT, el parámetro modo se utiliza para establecer el modo del archivo (los permisos de creación).

  • O_RDONLY - abre el archivo en modo de solo lectura.

  • O_WRONLY - abre el archivo en modo de escritura.

  • O_RDWR - abre el archivo en modo de lectura y escritura.

Valores retornados

El descriptor del archivo o FALSE si se ha producido un error.

Ejemplos

Ejemplo 1. Apertura de un descriptor de archivo

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Ver también

dio_close()

Anterior | Inicio | Siguiente
dio_fcntl | Subir | dio_read


dio_read

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_read -- Lee bytes del archivo cuyo descriptor se pasa como parámetro.

Descripción

string dio_read ( resource fd [, int len] )

La función dio_read() lee y devuelve len bytes del archivo cuyo descriptor es fd.

Lista de parámetros

fd

El descriptor de archivo devuelto por dio_open().

len

El número de bytes a leer. Si no se especifica su valor, dio_read() lee hasta 1024 bytes.

Valores retornados

Los bytes leidos del archivo cuyo descriptor es fd.

Ver también

dio_write()

Anterior | Inicio | Siguiente
dio_open | Subir | dio_seek


dio_seek

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_seek -- Cambia el posicionamiento en el archivo cuyo descriptor es fd a traves de los parámetros pos y whence

Descripción

int dio_seek ( resource fd, int pos, int whence )

La función dio_seek() se utiliza para cambiar el posicionamiento en el archivo cuyo descriptor es fd.

Lista de parámetros

fd

El descriptor de archivo devuelto por la función dio_open().

pos

La nueva posición.

whence

Indica la forma en que debe ser interpretado el parámetro pos:

  • SEEK_SET (valor por defecto) - indica que se deben avanzar pos bytes desde el comienzo del archivo.

  • SEEK_CUR - indica que se deben avanzar pos bytes a partir de la posición actual dentro del archivo. El avance puede ser tanto positivo como negativo.

  • SEEK_END - indica que se deben avanzar pos bytes desde el final del archivo. Un avance negativo implica una posición dentro de la longitud original del archivo y un avance positivo implica una posición más alla de la longitud original del archivo. En este último caso en el que la posición se encuentra fuera de los limites del archivo original, si se realiza una operación de escritura, las posiciones comprendidas entre el final del archivo original y la posición de comienzo de los nuevos datos, se rellenarán con ceros.

Valores retornados

Ejemplos

Ejemplo 1. Posicionamiento en un archivo

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// La posicion actual es 10 caracteres despues del comienzo del archivo

dio_seek($fd, -2, SEEK_CUR);
// La posicion actual es 8 caracteres despues del comienzo del archivo

dio_seek($fd, -5, SEEK_END);
// La posicion actual es de 5 caracteres antes del fin del archivo

dio_seek($fd, 10, SEEK_END);
// La posicion actual es de 10 caracteres despues del fin del archivo.
// Los 10 caracteres que existen entre el final del archivo original y la
// posicion actual se rellenan con ceros.

dio_close($fd);
?>

Anterior | Inicio | Siguiente
dio_read | Subir | dio_stat


dio_stat

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_stat -- Obtiene la información sobre el archivo cuyo descriptor es fd

Descripción

array dio_stat ( resource fd )

La función dio_stat() devuelve la información sobre el archivo cuyo descriptor es fd.

Lista de parámetros

fd

El descriptor de archivo devuelto por la función dio_open().

Valores retornados

Devuelve una matriz asociativa con las siguientes claves:

  • "device" - dispositivo

  • "inode" - inodo

  • "mode" - modo

  • "nlink" - numero de "hard links"

  • "uid" - identificador de usuario

  • "gid" - identificador de grupo

  • "device_type" - tipo de dispositivo (si es un dispositivo con inodos)

  • "size" - tamaño total en bytes

  • "blocksize" - tamaño de bloque

  • "blocks" - número de bloques ocupados

  • "atime" - fecha del último acceso

  • "mtime" - fecha de la última modificación

  • "ctime" - fecha del último cambio

Si se produce un error, la función dio_stat() devuelve el valor NULL.

Anterior | Inicio | Siguiente
dio_seek | Subir | dio_tcsetattr


dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.4)

dio_tcsetattr -- Configura las opciones de un terminal y la velocidad de un puerto serie

Descripción

bool dio_tcsetattr ( resource fd, array opciones )

La función dio_tcsetattr() configura las opciones de un terminal y la velocidad en baudios del recurso cuyo descriptor fd ha sido obtenido previamente.

Nota: Esta función no está implementada en plataformas Windows.

Lista de parámetros

fd

El descriptor de archivo devuelto por la función dio_open().

opciones

Las opciones actualmente disponibles son las siguientes:

  • 'baud' - velocidad en baudios del puerto serie - puede tomar los valores 38400, 19200, 9600, 4800, 2400, 1800, 1200, 600, 300, 200, 150, 134, 110, 75 o 50. Por defecto se establece una velocidad de 9600 baudios.

  • 'bits' - número de bits de los datos - pueden ser 8, 7, 6 o 5. Por defecto se establece un valor de 8 bits.

  • 'stop' - bits de stop - pueden ser 1 o 2. Por defecto se establece un valor de 1 bit de stop.

  • 'parity' - bits de paridad - pueden ser 0, 1 o 2. Por defecto se establece un valor de 0 bits de paridad.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Configurar la velocidad de un puerto serie

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd,F_SETFL, O_SYNC );

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  =>1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd,256);

  if ($data) {
      echo $data;
  }
}

?>

Anterior | Inicio | Siguiente
dio_stat | Subir | dio_truncate


dio_truncate

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_truncate -- Trunca el tamaño del archivo cuyo descriptor es fd hasta un valor de offset bytes

Descripción

bool dio_truncate ( resource fd, int offset )

La función dio_truncate() trunca el archivo cuyo descriptor es fd y cambia su tamaño hasta un valor de offset bytes.

Si la longitud del archivo original era mayor que el valor indicado, el archivo se trunca y se pierde toda la información restante. Si el valor indicado es mayor que la longitud original del archivo, no se especifica si el archivo permanece igual o se extiende su longitud hasta llegar al valor indicado por offset rellenando con ceros los nuevos bytes del archivo.

Nota: Esta función no está implementada en plataformas Windows.

Lista de parámetros

fd

El descriptor de archivo devuelto por la función dio_open().

offset

El nuevo tamaño del archivo en bytes.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
dio_tcsetattr | Subir | dio_write


dio_write

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

dio_write -- Escribe datos en el archivo cuyo descriptor es fd

Descripción

int dio_write ( resource fd, string data [, int len] )

La función dio_write() escribe hasta len bytes de los datos indicados por el parámetro data en el archivo cuyo descriptor es fd.

Lista de parámetros

fd

El descriptor del archivo devuelto por la función dio_open().

data

Los datos que se quieren escribir.

len

La longitud en bytes de los datos que se quieren escribir. Si no se especifica, la función dio_write() escribe todos los datos del parámetro data en el archivo indicado.

Valores retornados

Devuelve el número de bytes escritos en el archivo cuyo descriptor es fd.

Ver también

dio_read()

Anterior | Inicio | Siguiente
dio_truncate | Subir | Funciones de Directorio


Funciones de Directorio

Manual de PHP
Anterior Siguiente

XXIX. Funciones de Directorio

Introducción

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

DIRECTORY_SEPARATOR (string)

PATH_SEPARATOR (string)

Nota: El parámetro PATH_SEPARATOR fue introducido con PHP 4.3.0-RC2.

Ver también

Para consultar sobre funciones relacionadas
como dirname(),
is_dir(), mkdir(), y
rmdir(), vea la sección
Sistema de archivos.

Tabla de contenidos
chdir -- Cambiar de directorio
chroot -- Cambiar el directorio raíz
dir -- Clase de directorio
closedir -- Cerrar un gestor de directorio
getcwd -- Obtiene el directorio de trabajo actual
opendir -- Abrir un gestor de directorio
readdir -- Leer una entrada desde un gestor de directorio
rewinddir -- Regresar el gestor de directorio
scandir -- Lista los archivos y directorios ubicados en la ruta especificada

Anterior | Inicio | Siguiente
dio_write | Subir | chdir


chdir

(PHP 3, PHP 4, PHP 5)

chdir -- Cambiar de directorio

Descripción

bool chdir ( string directorio )

Cambiar el directorio actual de PHP a directorio.

Lista de parámetros

directorio

El nuevo directorio actual

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de chdir()

<?php

// directorio actual
echo getcwd() . "\n";

chdir('public_html');

// directorio actual
echo getcwd() . "\n";

?>

El resultado del ejemplo seria algo similar a:

/home/vincent
/home/vincent/public_html

Notes

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Ver también

getcwd()

Anterior | Inicio | Siguiente
Funciones de Directorio | Subir | chroot


chroot

(PHP 4 >= 4.0.5, PHP 5)

chroot -- Cambiar el directorio raíz

Descripción

bool chroot ( string directorio )

Cambia el directorio raíz del proceso actual a directorio.

Esta función sólo se encuentra disponible si su sistema la soporta y se encuentra usando un entorno CLI, CGI o SAPI embebido. Asimismo, esta función requiere privilegios de administrador (root).

Lista de parámetros

directorio

El nuevo directorio

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta función no está implementada en plataformas Windows.

Anterior | Inicio | Siguiente
chdir | Subir | dir


dir

(PHP 3, PHP 4, PHP 5)

dir -- Clase de directorio

Descripción

class dir {

dir ( string directorio )

string path

resource handle

string read ( void )

void rewind ( void )

void close ( void )

}

Un mecanismo pseudo-orientado a objetos para la lectura de un directorio. El directorio dado es abierto. Se encuentran disponibles dos propiedades una vez el directorio ha sido abierto. La propiedad handle puede ser usada con otras funciones de directorio como readdir(), rewinddir() y closedir(). La propiedad path se define con la ruta del directorio que fue abierto. Hay tres métodos disponibles: read, rewind y close.

Ejemplos

Ejemplo 1. Ejemplo de dir()

Por favor note la forma en que el valor de retorno de dir() es chequeado en el siguiente ejemplo. Se está probando explícitamente si el valor de retorno es idéntico (igual y del mismo tipo que--vea los Operadores de Comparación para más información) a FALSE ya que de otra forma, cualquier entrada de directorio cuyo nombre evalúe a FALSE detendrá el ciclo.

<?php
$d = dir("/etc/php5");
echo "Gestor: " . $d->handle . "\n";
echo "Ruta: " . $d->path . "\n";
while (false !== ($entrada = $d->read())) {
   echo $entrada."\n";
}
$d->close();
?>

El resultado del ejemplo seria algo similar a:

Gestor: Resource id #2
Ruta: /etc/php5
.
..
apache
cgi
cli

Notes

Nota: El orden en el que las entradas de directorio son devueltas por el método read depende del sistema.

Nota: Se define la clase interna Directory, lo que quiere decir que no será posible definir sus propias clases con ese nombre. Para una lista completa de clases predefinidas en PHP, por favor consulte Clases Predefinidas.

Anterior | Inicio | Siguiente
chroot | Subir | closedir


closedir

(PHP 3, PHP 4, PHP 5)

closedir -- Cerrar un gestor de directorio

Descripción

void closedir ( resource gestor_dir )

Cierra la secuencia de directorio indicada por gestor_dir. La secuencia debe haber sido abierta previamente por opendir().

Lista de parámetros

gestor_dir

El gestor de directorio tipo resource abierto previamente con opendir().

Ejemplos

Ejemplo 1. Ejemplo de closedir()

<?php
$dir = "/etc/php5/";

// Abrir un directorio conocido, leer del directorio en una variable y cerrarlo
if (is_dir($dir)) {
    if ($gd = opendir($dir)) {
        $directorio = readdir($gd);
        closedir($gd);
    }
}
?>

Anterior | Inicio | Siguiente
dir | Subir | getcwd


getcwd

(PHP 4, PHP 5)

getcwd -- Obtiene el directorio de trabajo actual

Descripción

string getcwd ( void )

Obtiene el directorio actual de trabajo.

Valores retornados

Devuelve el directorio actual de trabajo en caso de éxito, o FALSE si ocurre un error.

En algunas variantes de Unix, getcwd() devolverá FALSE si alguno de los directorios padre no tiene definido el modo de lectura o búsqueda, incluso si el directorio actual lo tiene. Vea chmod() para más información sobre los modos y permisos.

Ejemplos

Ejemplo 1. Ejemplo de getcwd()

<?php

// directorio actual
echo getcwd() . "\n";

chdir('cvs');

// directorio actual
echo getcwd() . "\n";

?>

El resultado del ejemplo seria algo similar a:

/home/didou
/home/didou/cvs

Ver también

chdir()
chmod()

Anterior | Inicio | Siguiente
closedir | Subir | opendir


opendir

(PHP 3, PHP 4, PHP 5)

opendir -- Abrir un gestor de directorio

Descripción

resource opendir ( string ruta [, resource contexto] )

Abre un gestor de directorio a ser usado en llamadas posteriores a closedir(), readdir(), y rewinddir().

Lista de parámetros

ruta

La ruta del directorio a ser abierto

contexto

Para una descripción del parámetro contexto, refiérase a la sección de secuencias del manual.

Valores retornados

Devuelve un gestor de directorio tipo resource en caso de éxito, o FALSE si ocurre un error.

Si path no es un directorio válido o el directorio no puede ser abierto debido a restricciones de permisos o errores del sistema de archivos, opendir() devuelve FALSE y genera un error de PHP de nivel E_WARNING. Es posible suprimir la salida del error de opendir() anteponiendo '@' al nombre de la función.

Registro de cambios

Versión | Descripción
5.0.0 | ruta soporta la envoltura de URL ftp://.
4.3.0 | ruta puede leer también cualquier URL que soporte el listado de directorios, sin embargo solo la envoltura de URL file:// tiene este soporte en PHP 4

Ejemplos

Ejemplo 1. Ejemplo de opendir()

<?php
$dir = "/etc/php5/";

// Abrir un directorio conocido, y proceder a leer sus contenidos
if (is_dir($dir)) {
    if ($gd = opendir($dir)) {
        while (($archivo = readdir($gd)) !== false) {
            echo "nombre de archivo: $archivo : tipo de archivo: " . filetype($dir . $archivo) . "\n";
        }
        closedir($gd);
    }
}
?>

El resultado del ejemplo seria algo similar a:

nombre de archivo: . : tipo de archivo: dir
nombre de archivo: .. : tipo de archivo: dir
nombre de archivo: apache : tipo de archivo: dir
nombre de archivo: cgi : tipo de archivo: dir
nombre de archivo: cli : tipo de archivo: dir

Ver también

is_dir()
readdir()
Dir

Anterior | Inicio | Siguiente
getcwd | Subir | readdir


readdir

(PHP 3, PHP 4, PHP 5)

readdir -- Leer una entrada desde un gestor de directorio

Descripción

string readdir ( resource gestor_dir )

Devuelve el nombre del siguiente archivo leido desde el directorio. Los nombres de archivo son devueltos en el orden en que son almacenados por el sistema de archivos.

Lista de parámetros

gestor_dir

El gestor de directorio tipo resource abierto previamente con opendir().

Valores retornados

Devuelve el nombre de archivo en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Listar todos los archivos en un directorio

Por favor note la forma en que el valor de retorno de dir() es chequeado en los siguientes ejemplos. Se está probando explícitamente si el valor de retorno es idéntico (igual y del mismo tipo que--vea los Operadores de Comparación para más información) a FALSE ya que de otra forma, cualquier entrada de directorio cuyo nombre evalúe a FALSE detendrá el ciclo (p.ej. un directorio llamado "0").

<?php
// Note que !== no existia hasta 4.0.0-RC2

if ($gestor = opendir('/ruta/a/archivos')) {
    echo "Gestor de directorio: $gestor\n";
    echo "Archivos:\n";

    /* Esta es la forma correcto de iterar sobre el directorio. */
    while (false !== ($archivo = readdir($gestor))) {
        echo "$archivo\n";
    }

    /* Esta es la forma EQUIVOCADA de iterar sobre el directorio. */
    while ($archivo = readdir($gestor)) {
        echo "$archivo\n";
    }

    closedir($gestor);
}
?>

Ejemplo 2. Listar todos los archivos en el directorio actual y eliminar . y ..

<?php
if ($gestor = opendir('.')) {
    while (false !== ($archivo = readdir($gestor))) {
        if ($archivo != "." && $archivo != "..") {
            echo "$archivo\n";
        }
    }
    closedir($gestor);
}
?>

Ver también

is_dir()
glob()

Anterior | Inicio | Siguiente
opendir | Subir | rewinddir


rewinddir

(PHP 3, PHP 4, PHP 5)

rewinddir -- Regresar el gestor de directorio

Descripción

void rewinddir ( resource gestor_dir )

Restablece la secuencia de directorio indicada por gestor_dir al comienzo del directorio.

Lista de parámetros

gestor_dir

El gestor de directorio tipo resource abierto previamente con opendir().

Anterior | Inicio | Siguiente
readdir | Subir | scandir


scandir

(PHP 5)

scandir -- Lista los archivos y directorios ubicados en la ruta especificada

Descripción

array scandir ( string directorio [, int sentido_de_ordenamiento [, resource contexto]] )

Devuelve un array de archivos y directorios que se encuentran bajo directorio.

Lista de parámetros

directorio

El directorio que será procesado.

sendito_de_ordenamiento

Por defecto, el sentido del ordenamiento es ascendente. Si es usado el parámetro opcional sentido_de_ordenamiento (definido como 1), entonces el sentido será descendente.

context

Para una descripción del parámetro contexto, refiérase a la sección de secuencias del manual.

Valores retornados

Devuelve un valor array con nombres de archivo en case de éxito, o FALSE en caso de fallo. Si directorio no es un directorio, entonces el valor booleano FALSE es retornado, y se genera un error de nivel E_WARNING.

Ejemplos

Ejemplo 1. Un ejemplo simple de scandir()

<?php
$dir    = '/tmp';
$archivos1 = scandir($dir);
$archivos2 = scandir($dir, 1);

print_r($archivos1);
print_r($archivos2);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => directorio_cualquiera
    [4] => foo.txt
)
Array
(
    [0] => foo.txt
    [1] => directorio_cualquiera
    [2] => bar.php
    [3] => ..
    [4] => .
)

Ejemplo 2. Alternativas a scandir() con PHP 4

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($nombre_archivo = readdir($dh))) {
    $archivos[] = $nombre_archivo;
}

sort($archivos);

print_r($archivos);

rsort($archivos);

print_r($archivos);

?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => directorio_cualquiera
    [4] => foo.txt
)
Array
(
    [0] => foo.txt
    [1] => directorio_cualquiera
    [2] => bar.php
    [3] => ..
    [4] => .
)

Notes

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Ver también

opendir()
readdir()
glob()
is_dir()
sort()

Anterior | Inicio | Siguiente
rewinddir | Subir | DOM Functions


DOM Functions

Manual de PHP
Anterior Siguiente

XXX. DOM Functions

Introducción

The DOM extension allows you to operate on XML documents through the DOM API with PHP 5.

For PHP 4, use DOM XML.

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Clases predefinidas

The API of the module follows the DOM Level 3 standard as closely as possible. Consequently, the API is fully object-oriented. It is a good idea to have the DOM standard available when using this module.

This module defines a number of classes, which are explained in the following tables. Classes with an equivalent in the DOM standard are named DOMxxx.

DOMAttr

Extends DOMNode. The DOMAttr interface represents an attribute in an DOMElement object.

Constructor

  • DOMAttr->__construct() - construct a new DOMAttr object

Métodos

  • DOMAttr->isId() - Checks if attribute is a defined ID

Propiedades

Tabla 1.

Name | Type | Read-only | Description
name | string | yes | The name of the attribute
ownerElement | DOMElement | yes | The element which contains the attribute
schemaTypeInfo | bool | yes | Not implemented yet, always return NULL
specified | bool | yes | Not implemented yet, always return NULL
value | string | no | The value of the attribute

DOMCharacterData

Extends DOMNode.

Métodos

  • DOMCharacterData->appendData() - Append a string to the end of the character data of the node

  • DOMCharacterData->deleteData() - Remove a range of characters from the node

  • DOMCharacterData->insertData() - Insert a string at the specified 16-bit unit offset

  • DOMCharacterData->replaceData() - Replace a substring within the DOMCharacterData node

  • DOMCharacterData->substringData() - Extracts a range of data from the node

Propiedades

Tabla 2.

Name | Type | Read-only | Description
data | string | no | The contents of the node
length | int | yes | The length of the contents

DOMComment

Extends DOMCharacterData.

Constructor

  • DOMComment->__construct() - construct a new DOMComment object

DOMDocument

Extends DOMNode.

Constructor

  • DOMDocument->__construct() - construct a new DOMDocument object

Métodos

  • DOMDocument->createAttribute() - Create new attribute

  • DOMDocument->createAttributeNS() - Create new attribute node with an associated namespace

  • DOMDocument->createCDATASection() - Create new cdata node

  • DOMDocument->createComment() - Create new comment node

  • DOMDocument->createDocumentFragment() - Create new document fragment

  • DOMDocument->createElement() - Create new element node

  • DOMDocument->createElementNS() - Create new element node with an associated namespace

  • DOMDocument->createEntityReference() - Create new entity reference node

  • DOMDocument->createProcessingInstruction() - Creates new PI node

  • DOMDocument->createTextNode() - Create new text node

  • DOMDocument->getElementById() - Searches for an element with a certain id

  • DOMDocument->getElementsByTagName() - Searches for all elements with given tag name

  • DOMDocument->getElementsByTagNameNS() - Searches for all elements with given tag name in specified namespace

  • DOMDocument->importNode() - Import node into current document

  • DOMDocument->load() - Load XML from a file

  • DOMDocument->loadHTML() - Load HTML from a string

  • DOMDocument->loadHTMLFile() - Load HTML from a file

  • DOMDocument->loadXML() - Load XML from a string

  • DOMDocument->normalizeDocument() - Normalizes the document

  • DOMDocument->relaxNGValidate() - Performs relaxNG validation on the document

  • DOMDocument->relaxNGValidateSource() - Performs relaxNG validation on the document

  • DOMDocument->registerNodeClass() - Register extended class used to create base node type (not DOM standard)

  • DOMDocument->save() - Dumps the internal XML tree back into a file

  • DOMDocument->saveHTML() - Dumps the internal document into a string using HTML formatting

  • DOMDocument->saveHTMLFile() - Dumps the internal document back into a file using HTML formatting

  • DOMDocument->saveXML() - Dumps the internal XML tree back into a string

  • DOMDocument->schemaValidate() - Validates a document based on a schema

  • DOMDocument->schemaValidateSource() - Validates a document based on a schema

  • DOMDocument->validate() - Validates the document based on its DTD

  • DOMDocument->xinclude() - Substitutes XIncludes in a DOMDocument Object

Propiedades

Tabla 3.

Name | Type | Read-only | Description
actualEncoding | string | yes |
config | DOMConfiguration | yes |
doctype | DOMDocumentType | yes | The Document Type Declaration associated with this document.
documentElement | DOMElement | yes | This is a convenience attribute that allows direct access to the child node that is the document element of the document.
documentURI | string | no | The location of the document or NULL if undefined.
encoding | string | no |
formatOutput | bool | no |
implementation | DOMImplementation | yes | The DOMImplementation object that handles this document.
preserveWhiteSpace | bool | no | Do not remove redundant white space. Default to TRUE.
recover | bool | no |
resolveExternals | bool | no | Set it to TRUE to load external entities from a doctype declaration. This is useful for including character entities in your XML document.
standalone | bool | no |
strictErrorChecking | bool | no | Throws DOMException on errors. Default to TRUE.
substituteEntities | bool | no |
validateOnParse | bool | no | Loads and validates against the DTD. Default to FALSE.
version | string | no |
xmlEncoding | string | yes | An attribute specifying, as part of the XML declaration, the encoding of this document. This is NULL when unspecified or when it is not known, such as when the Document was created in memory.
xmlStandalone | bool | no | An attribute specifying, as part of the XML declaration, whether this document is standalone. This is FALSE when unspecified.
xmlVersion | string | no | An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the "XML" feature, the value is "1.0".

DOMDocumentFragment

Extends DOMNode.

Métodos

  • DOMDocumentFragment->appendXML() - Append raw XML data (not DOM standard)

DOMDocumentType

Extends DOMNode

Each DOMDocument has a doctype attribute whose value is either NULL or a DOMDocumentType object.

Propiedades

Tabla 4.

Name | Type | Read-only | Description
publicId | string | yes | The public identifier of the external subset.
systemId | string | yes | The system identifier of the external subset. This may be an absolute URI or not.
name | string | yes | The name of DTD; i.e., the name immediately following the DOCTYPE keyword.
entities | DOMNamedNodeMap | yes | A DOMNamedNodeMap containing the general entities, both external and internal, declared in the DTD.
notations | DOMNamedNodeMap | yes | A DOMNamedNodeMap containing the notations declared in the DTD.
internalSubset | string | yes | The internal subset as a string, or null if there is none. This is does not contain the delimiting square brackets.

DOMElement

Extends DOMNode.

Constructor

  • DOMElement->__construct() - construct a new DOMElement object

Métodos

  • DOMElement->getAttribute() - Returns value of attribute

  • DOMElement->getAttributeNode() - Returns attribute node

  • DOMElement->getAttributeNodeNS() - Returns attribute node

  • DOMElement->getAttributeNS() - Returns value of attribute

  • DOMElement->getElementsByTagName() - Gets elements by tagname

  • DOMElement->getElementsByTagNameNS() - Get elements by namespaceURI and localName

  • DOMElement->hasAttribute() - Checks to see if attribute exists

  • DOMElement->hasAttributeNS() - Checks to see if attribute exists

  • DOMElement->removeAttribute() - Removes attribute

  • DOMElement->removeAttributeNode() - Removes attribute

  • DOMElement->removeAttributeNS() - Removes attribute

  • DOMElement->setAttribute() - Adds new attribute

  • DOMElement->setAttributeNode() - Adds new attribute node to element

  • DOMElement->setAttributeNodeNS() - Adds new attribute node to element

  • DOMElement->setAttributeNS() - Adds new attribute

  • DOMElement->setIdAttribute() - Declares the ID attribute

  • DOMElement->setIdAttributeNode() - Declares the ID attribute

  • DOMElement->setIdAttributeNS() - Declares the ID attribute

Propiedades

Tabla 5.

Name | Type | Read-only | Description
schemaTypeInfo | bool | yes | Not implemented yet, always return NULL
tagName | string | yes | The element name

DOMEntity

Extends DOMNode

This interface represents a known entity, either parsed or unparsed, in an XML document.

Propiedades

Tabla 6.

Name | Type | Read-only | Description
publicId | string | yes | The public identifier associated with the entity if specified, and NULL otherwise.
systemId | string | yes | The system identifier associated with the entity if specified, and NULL otherwise. This may be an absolute URI or not.
notationName | string | yes | For unparsed entities, the name of the notation for the entity. For parsed entities, this is NULL.
actualEncoding | string | no | An attribute specifying the encoding used for this entity at the time of parsing, when it is an external parsed entity. This is NULL if it an entity from the internal subset or if it is not known.
encoding | string | yes | An attribute specifying, as part of the text declaration, the encoding of this entity, when it is an external parsed entity. This is NULL otherwise.
version | string | yes | An attribute specifying, as part of the text declaration, the version number of this entity, when it is an external parsed entity. This is NULL otherwise.

DOMEntityReference

Extends DOMNode.

Constructor

  • DOMEntityReference->__construct() - construct a new DOMEntityReference object

DOMException

DOM operations raise exceptions under particular circumstances, i.e., when an operation is impossible to perform for logical reasons.

See also Capítulo 20.

Propiedades

Tabla 7.

Name | Type | Read-only | Description
code | int | yes | An integer indicating the type of error generated

DOMImplementation

The DOMImplementation interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.

Constructor

  • DOMImplementation->__construct() - construct a new DOMImplementation object

Métodos

  • DOMImplementation->createDocument() - Creates a DOM Document object of the specified type with its document element

  • DOMImplementation->createDocumentType() - Creates an empty DOMDocumentType object

  • DOMImplementation->hasFeature() - Test if the DOM implementation implements a specific feature

DOMNode

Métodos

  • DOMNode->appendChild() - Adds new child at the end of the children

  • DOMNode->cloneNode() - Clones a node

  • DOMNode->hasAttributes() - Checks if node has attributes

  • DOMNode->hasChildNodes() - Checks if node has children

  • DOMNode->insertBefore() - Adds a new child before a reference node

  • DOMNode->isDefaultNamespace() - Checks if the specified namespaceURI is the default namespace

  • DOMNode->isSameNode() - Indicates if two nodes are the same node

  • DOMNode->isSupported() - Checks if feature is supported for specified version

  • DOMNode->lookupNamespaceURI() - Returns namespace URI of the node based on the prefix

  • DOMNode->lookupPrefix() - Returns name space prefix of the node based on namespaceURI

  • DOMNode->normalize() - Normalizes the node

  • DOMNode->removeChild() - Removes child from list of children

  • DOMNode->replaceChild() - Replaces a child

Propiedades

Tabla 8.

Name | Type | Read-only | Description
nodeName | string | yes | Returns the most accurate name for the current node type
nodeValue | string | no | The value of this node, depending on its type.
nodeType | int | yes | Gets the type of the node. One of the predefined XML_xxx_NODE constants
parentNode | DOMNode | yes | The parent of this node.
childNodes | DOMNodeList | yes | A DOMNodeList that contains all children of this node. If there are no children, this is an empty DOMNodeList.
firstChild | DOMNode | yes | The first child of this node. If there is no such node, this returns NULL.
lastChild | DOMNode | yes | The last child of this node. If there is no such node, this returns NULL.
previousSibling | DOMNode | yes | The node immediately preceding this node. If there is no such node, this returns NULL.
nextSibling | DOMNode | yes | The node immediately following this node. If there is no such node, this returns NULL.
attributes | DOMNamedNodeMap | yes | A DOMNamedNodeMap containing the attributes of this node (if it is a DOMElement) or NULL otherwise.
ownerDocument | DOMDocument | yes | The DOMDocument object associated with this node.
namespaceURI | string | yes | The namespace URI of this node, or NULL if it is unspecified.
prefix | string | no | The namespace prefix of this node, or NULL if it is unspecified.
localName | string | yes | Returns the local part of the qualified name of this node.
baseURI | string | yes | The absolute base URI of this node or NULL if the implementation wasn't able to obtain an absolute URI.
textContent | string | no | This attribute returns the text content of this node and its descendants.

DOMNodeList

Métodos

  • DOMNodelist->item() - Retrieves a node specified by index

Propiedades

Tabla 9.

Name | Type | Read-only | Description
length | int | yes | The number of nodes in the list. The range of valid child node indices is 0 to length - 1 inclusive.

DOMNotation

Extends DOMNode

Propiedades

Tabla 10.

Name | Type | Read-only | Description
publicId | string | yes |
systemId | string | yes |

DOMProcessingInstruction

Extends DOMNode.

Constructor

  • DOMProcessingInstruction->__construct() - construct a new DOMProcessingInstruction object

Propiedades

Tabla 11.

Name | Type | Read-only | Description
target | string | yes |
data | string | no |

DOMText

Extends DOMCharacterData.

Constructor

  • DOMText->__construct() - construct a new DOMText object

Métodos

  • DOMText->isWhitespaceInElementContent() - Indicates whether this text node contains whitespace

  • DOMText->splitText() - Breaks the node into two nodes at the specified offset

Propiedades

Tabla 12.

Name | Type | Read-only | Description
wholeText | string | yes |

DOMXPath

Constructor

  • DOMXPath->__construct() - construct a new DOMXPath object

Métodos

  • DOMXPath->registerNamespace() - Registers the namespace with the DOMXpath object

  • DOMXPath->evaluate() - Evaluates the given XPath expression and returns a typed result if possible

  • DOMXPath->query() - Evaluates the given XPath expression

Propiedades

Tabla 13.

Name | Type | Read-only | Description
document | DOMDocument |  |

Ejemplos

Many examples in this reference require an XML file. We will use book.xml that contains the following:

Ejemplo 1. book.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<book id="listing">
 <title>My lists</title>
 <chapter id="books">
  <title>My books</title>
  <para>
   <informaltable>
    <tgroup cols="4">
     <thead>
      <row>
       <entry>Title</entry>
       <entry>Author</entry>
       <entry>Language</entry>
       <entry>ISBN</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
      <row>
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
      <row>
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
      <!-- TODO: I have a lot of remaining books to add.. -->
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </chapter>
</book>

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 14. XML constants

Constant | Value | Description
XML_ELEMENT_NODE (integer) | 1 | Node is a DOMElement
XML_ATTRIBUTE_NODE (integer) | 2 | Node is a DOMAttr
XML_TEXT_NODE (integer) | 3 | Node is a DOMText
XML_CDATA_SECTION_NODE (integer) | 4 | Node is a DOMCharacterData
XML_ENTITY_REF_NODE (integer) | 5 | Node is a DOMEntityReference
XML_ENTITY_NODE (integer) | 6 | Node is a DOMEntity
XML_PI_NODE (integer) | 7 | Node is a DOMProcessingInstruction
XML_COMMENT_NODE (integer) | 8 | Node is a DOMComment
XML_DOCUMENT_NODE (integer) | 9 | Node is a DOMDocument
XML_DOCUMENT_TYPE_NODE (integer) | 10 | Node is a DOMDocumentType
XML_DOCUMENT_FRAG_NODE (integer) | 11 | Node is a DOMDocumentFragment
XML_NOTATION_NODE (integer) | 12 | Node is a DOMNotation
XML_HTML_DOCUMENT_NODE (integer) | 13 |
XML_DTD_NODE (integer) | 14 |
XML_ELEMENT_DECL_NODE (integer) | 15 |
XML_ATTRIBUTE_DECL_NODE (integer) | 16 |
XML_ENTITY_DECL_NODE (integer) | 17 |
XML_NAMESPACE_DECL_NODE (integer) | 18 |
XML_ATTRIBUTE_CDATA (integer) | 1 |
XML_ATTRIBUTE_ID (integer) | 2 |
XML_ATTRIBUTE_IDREF (integer) | 3 |
XML_ATTRIBUTE_IDREFS (integer) | 4 |
XML_ATTRIBUTE_ENTITY (integer) | 5 |
XML_ATTRIBUTE_NMTOKEN (integer) | 7 |
XML_ATTRIBUTE_NMTOKENS (integer) | 8 |
XML_ATTRIBUTE_ENUMERATION (integer) | 9 |
XML_ATTRIBUTE_NOTATION (integer) | 10 |

Tabla 15. DOMException constants

Constant | Value | Description
DOM_INDEX_SIZE_ERR (integer) | 1 | If index or size is negative, or greater than the allowed value.
DOMSTRING_SIZE_ERR (integer) | 2 | If the specified range of text does not fit into a DOMString.
DOM_HIERARCHY_REQUEST_ERR (integer) | 3 | If any node is inserted somewhere it doesn't belong
DOM_WRONG_DOCUMENT_ERR (integer) | 4 | If a node is used in a different document than the one that created it.
DOM_INVALID_CHARACTER_ERR (integer) | 5 | If an invalid or illegal character is specified, such as in a name.
DOM_NO_DATA_ALLOWED_ERR (integer) | 6 | If data is specified for a node which does not support data.
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) | 7 | If an attempt is made to modify an object where modifications are not allowed.
DOM_NOT_FOUND_ERR (integer) | 8 | If an attempt is made to reference a node in a context where it does not exist.
DOM_NOT_SUPPORTED_ERR (integer) | 9 | If the implementation does not support the requested type of object or operation.
DOM_INUSE_ATTRIBUTE_ERR (integer) | 10 | If an attempt is made to add an attribute that is already in use elsewhere.
DOM_INVALID_STATE_ERR (integer) | 11 | If an attempt is made to use an object that is not, or is no longer, usable.
DOM_SYNTAX_ERR (integer) | 12 | If an invalid or illegal string is specified.
DOM_INVALID_MODIFICATION_ERR (integer) | 13 | If an attempt is made to modify the type of the underlying object.
DOM_NAMESPACE_ERR (integer) | 14 | If an attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
DOM_INVALID_ACCESS_ERR (integer) | 15 | If a parameter or an operation is not supported by the underlying object.
DOM_VALIDATION_ERR (integer) | 16 | If a call to a method such as insertBefore or removeChild would make the Node invalid with respect to "partial validity", this exception would be raised and the operation would not be done.
Tabla de contenidos
DOMAttr->__construct() -- Creates a new DOMAttr object
DOMAttr->isId() -- Checks if attribute is a defined ID
DOMCharacterData->appendData() -- Append the string to the end of the character data of the node
DOMCharacterData->deleteData() -- Remove a range of characters from the node
DOMCharacterData->insertData() -- Insert a string at the specified 16-bit unit offset
DOMCharacterData->replaceData() -- Replace a substring within the DOMCharacterData node
DOMCharacterData->substringData() -- Extracts a range of data from the node
DOMComment->__construct() -- Creates a new DOMComment object
DOMDocument->__construct() -- Creates a new DOMDocument object
DOMDocument->createAttribute() -- Create new attribute
DOMDocument->createAttributeNS() -- Create new attribute node with an associated namespace
DOMDocument->createCDATASection() -- Create new cdata node
DOMDocument->createComment() -- Create new comment node
DOMDocument->createDocumentFragment() -- Create new document fragment
DOMDocument->createElement() -- Create new element node
DOMDocument->createElementNS() -- Create new element node with an associated namespace
DOMDocument->createEntityReference() -- Create new entity reference node
DOMDocument->createProcessingInstruction() -- Creates new PI node
DOMDocument->createTextNode() -- Create new text node
DOMDocument->getElementById() -- Searches for an element with a certain id
DOMDocument->getElementsByTagName() -- Searches for all elements with given tag name
DOMDocument->getElementsByTagNameNS() -- Searches for all elements with given tag name in specified namespace
DOMDocument->importNode() -- Import node into current document
DOMDocument->load() -- Load XML from a file
DOMDocument->loadHTML() -- Load HTML from a string
DOMDocument->loadHTMLFile() -- Load HTML from a file
DOMDocument->loadXML() -- Load XML from a string
DOMDocument->normalizeDocument() -- Normalizes the document
DOMDocument->registerNodeClass() -- Register extended class used to create base node type
DOMDocument->relaxNGValidate() -- Performs relaxNG validation on the document
DOMDocument->relaxNGValidateSource() -- Performs relaxNG validation on the document
DOMDocument->save() -- Dumps the internal XML tree back into a file
DOMDocument->saveHTML() -- Dumps the internal document into a string using HTML formatting
DOMDocument->saveHTMLFile() -- Dumps the internal document into a file using HTML formatting
DOMDocument->saveXML() -- Dumps the internal XML tree back into a string
DOMDocument->schemaValidate() -- Validates a document based on a schema
DOMDocument->schemaValidateSource() -- Validates a document based on a schema
DOMDocument->validate() -- Validates the document based on its DTD
DOMDocument->xinclude() -- Substitutes XIncludes in a DOMDocument Object
DOMDocumentFragment->appendXML() -- Append raw XML data
DOMElement->__construct() -- Creates a new DOMElement object
DOMElement->getAttribute() -- Returns value of attribute
DOMElement->getAttributeNode() -- Returns attribute node
DOMElement->getAttributeNodeNS() -- Returns attribute node
DOMElement->getAttributeNS() -- Returns value of attribute
DOMElement->getElementsByTagName() -- Gets elements by tagname
DOMElement->getElementsByTagNameNS() -- Get elements by namespaceURI and localName
DOMElement->hasAttribute() -- Checks to see if attribute exists
DOMElement->hasAttributeNS() -- Checks to see if attribute exists
DOMElement->removeAttribute() -- Removes attribute
DOMElement->removeAttributeNode() -- Removes attribute
DOMElement->removeAttributeNS() -- Removes attribute
DOMElement->setAttribute() -- Adds new attribute
DOMElement->setAttributeNode() -- Adds new attribute node to element
DOMElement->setAttributeNodeNS() -- Adds new attribute node to element
DOMElement->setAttributeNS() -- Adds new attribute
DOMElement->setIdAttribute() -- Declares the attribute specified by name to be of type ID
DOMElement->setIdAttributeNode() -- Declares the attribute specified by node to be of type ID
DOMElement->setIdAttributeNS() -- Declares the attribute specified by local name and namespace URI to be of type ID
DOMEntityReference->__construct() -- Creates a new DOMEntityReference object
DOMImplementation->__construct() -- Creates a new DOMImplementation object
DOMImplementation->createDocument() -- Creates a DOMDocument object of the specified type with its document element
DOMImplementation->createDocumentType() -- Creates an empty DOMDocumentType object
DOMImplementation->hasFeature() -- Test if the DOM implementation implements a specific feature
DOMNamedNodeMap->getNamedItem() -- Retrieves a node specified by name
DOMNamedNodeMap->getNamedItemNS() -- Retrieves a node specified by local name and namespace URI
DOMNamedNodeMap->item() -- Retrieves a node specified by index
DOMNode->appendChild() -- Adds new child at the end of the children
DOMNode->cloneNode() -- Clones a node
DOMNode->hasAttributes() -- Checks if node has attributes
DOMNode->hasChildNodes() -- Checks if node has children
DOMNode->insertBefore() -- Adds a new child before a reference node
DOMNode->isDefaultNamespace() -- Checks if the specified namespaceURI is the default namespace or not
DOMNode->isSameNode() -- Indicates if two nodes are the same node
DOMNode->isSupported() -- Checks if feature is supported for specified version
DOMNode->lookupNamespaceURI() -- Gets the namespace URI of the node based on the prefix
DOMNode->lookupPrefix() -- Gets the namespace prefix of the node based on the namespace URI
DOMNode->normalize() -- Normalizes the node
DOMNode->removeChild() -- Removes child from list of children
DOMNode->replaceChild() -- Replaces a child
DOMNodelist->item() -- Retrieves a node specified by index
DOMProcessingInstruction->__construct() -- Creates a new DOMProcessingInstruction object
DOMText->__construct() -- Creates a new DOMText object
DOMText->isWhitespaceInElementContent() -- Indicates whether this text node contains whitespace
DOMText->splitText() -- Breaks this node into two nodes at the specified offset
DOMXPath->__construct() -- Creates a new DOMXPath object
DOMXPath->evaluate() -- Evaluates the given XPath expression and returns a typed result if possible.
DOMXPath->query() -- Evaluates the given XPath expression
DOMXPath->registerNamespace() -- Registers the namespace with the DOMXPath object
dom_import_simplexml -- Gets a DOMElement object from a SimpleXMLElement object

Anterior | Inicio | Siguiente
scandir | Subir | DOMAttr->__construct()


DOMAttr->isId()

(no version information, might be only in CVS)

DOMAttr->isId() -- Checks if attribute is a defined ID

Descripción

class DOMAttr {

bool isId ( void )

}

This function checks if the attribute is a defined ID.

According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID. You need to validate your document with DOMDocument->validate() or DOMDocument::validateOnParse before using this function.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. DOMAttr->isId() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// We retrieve the attribute named id of the chapter element
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

Anterior | Inicio | Siguiente
DOMAttr->__construct() | Subir | DOMCharacterData->appendData()


DOMCharacterData->appendData()

(no version information, might be only in CVS)

DOMCharacterData->appendData() -- Append the string to the end of the character data of the node

Descripción

class DOMCharacterData {

void appendData ( string data )

}

Append the string data to the end of the character data of the node.

Lista de parámetros

data

The string to append.

Valores retornados

No value is returned.

Ver también

DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()

Anterior | Inicio | Siguiente
DOMAttr->isId() | Subir | DOMCharacterData->deleteData()


DOMCharacterData->deleteData()

(no version information, might be only in CVS)

DOMCharacterData->deleteData() -- Remove a range of characters from the node

Descripción

class DOMCharacterData {

void deleteData ( int offset, int count )

}

Deletes count characters starting from position offset.

Lista de parámetros

offset

The offset from which to start removing.

count

The number of characters to delete. If the sum of offset and count exceeds the length, then all characters to the end of the data are deleted.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Ver también

DOMCharacterData->appendData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()

Anterior | Inicio | Siguiente
DOMCharacterData->appendData() | Subir | DOMCharacterData->insertData()


DOMCharacterData->insertData()

(no version information, might be only in CVS)

DOMCharacterData->insertData() -- Insert a string at the specified 16-bit unit offset

Descripción

class DOMCharacterData {

void insertData ( int offset, string data )

}

Inserts string data at position offset.

Lista de parámetros

offset

The character offset at which to insert.

data

The string to insert.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data.

Ver también

DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()

Anterior | Inicio | Siguiente
DOMCharacterData->deleteData() | Subir | DOMCharacterData->replaceData()


DOMCharacterData->replaceData()

(no version information, might be only in CVS)

DOMCharacterData->replaceData() -- Replace a substring within the DOMCharacterData node

Descripción

class DOMCharacterData {

void replaceData ( int offset, int count, string data )

}

Replace count characters starting from position offset with data.

Lista de parámetros

offset

The offset from which to start replacing.

count

The number of characters to replace. If the sum of offset and count exceeds the length, then all characters to the end of the data are replaced.

data

The string with which the range must be replaced.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Ver también

DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->substringData()

Anterior | Inicio | Siguiente
DOMCharacterData->insertData() | Subir | DOMCharacterData->substringData()


DOMCharacterData->substringData()

(no version information, might be only in CVS)

DOMCharacterData->substringData() -- Extracts a range of data from the node

Descripción

class DOMCharacterData {

string substringData ( int offset, int count )

}

Returns the specified substring.

Lista de parámetros

offset

Start offset of substring to extract.

count

The number of characters to extract.

Valores retornados

The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Ver también

DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()

Anterior | Inicio | Siguiente
DOMCharacterData->replaceData() | Subir | DOMComment->__construct()


DOMDocument->createAttribute()

(no version information, might be only in CVS)

DOMDocument->createAttribute() -- Create new attribute

Descripción

class DOMDocument {

DOMAttr createAttribute ( string name )

}

This function creates a new instance of class DOMAttr. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

name

The name of the attribute.

Valores retornados

The new DOMAttr or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Ver también

DOMNode->appendChild()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->__construct() | Subir | DOMDocument->createAttributeNS()


DOMDocument->createAttributeNS()

(no version information, might be only in CVS)

DOMDocument->createAttributeNS() -- Create new attribute node with an associated namespace

Descripción

class DOMDocument {

DOMAttr createAttributeNS ( string namespaceURI, string qualifiedName )

}

This function creates a new instance of class DOMAttr. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

namespaceURI

The URI of the namespace.

qualifiedName

The tag name and prefix of the attribute, as prefix:tagname.

Valores retornados

The new DOMAttr or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createAttribute() | Subir | DOMDocument->createCDATASection()


DOMDocument->createCDATASection()

(no version information, might be only in CVS)

DOMDocument->createCDATASection() -- Create new cdata node

Descripción

class DOMDocument {

DOMCDATASection createCDATASection ( string data )

}

This function creates a new instance of class DOMCDATASection. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

data

The content of the cdata.

Valores retornados

The new DOMCDATASection or FALSE if an error occured.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createAttributeNS() | Subir | DOMDocument->createComment()


DOMDocument->createComment()

(no version information, might be only in CVS)

DOMDocument->createComment() -- Create new comment node

Descripción

class DOMDocument {

DOMComment createComment ( string data )

}

This function creates a new instance of class DOMComment. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

data

The content of the comment.

Valores retornados

The new DOMComment or FALSE if an error occured.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createCDATASection() | Subir | DOMDocument->createDocumentFragment()


DOMDocument->createDocumentFragment()

(no version information, might be only in CVS)

DOMDocument->createDocumentFragment() -- Create new document fragment

Descripción

class DOMDocument {

DOMDocumentFragment createDocumentFragment ( void )

}

This function creates a new instance of class DOMDocumentFragment. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Valores retornados

The new DOMDocumentFragment or FALSE if an error occured.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createComment() | Subir | DOMDocument->createElement()


DOMDocument->createElement()

(no version information, might be only in CVS)

DOMDocument->createElement() -- Create new element node

Descripción

class DOMDocument {

DOMElement createElement ( string name [, string value] )

}

This function creates a new instance of class DOMElement. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

name

The tag name of the element.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

Valores retornados

Returns a new instance of class DOMElement or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Ejemplos

Ejemplo 1. Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

$element = $dom->createElement('test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

El resultado del ejemplo seria:

<?xml version="1.0" encoding="iso-8859-1"?>
<test>This is the root element!</test>

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createDocumentFragment() | Subir | DOMDocument->createElementNS()


DOMDocument->createElementNS()

(no version information, might be only in CVS)

DOMDocument->createElementNS() -- Create new element node with an associated namespace

Descripción

class DOMDocument {

DOMElement createElementNS ( string namespaceURI, string qualifiedName [, string value] )

}

This function creates a new element node with an associated namespace. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

namespaceURI

The URI of the namespace.

qualifiedName

The qualified name of the element, as prefix:tagname.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

Valores retornados

The new DOMElement or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a maformed qualified name.

Ejemplos

Ejemplo 1. Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

El resultado del ejemplo seria:

<?xml version="1.0" encoding="iso-8859-1"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createElement() | Subir | DOMDocument->createEntityReference()


DOMDocument->createEntityReference()

(no version information, might be only in CVS)

DOMDocument->createEntityReference() -- Create new entity reference node

Descripción

class DOMDocument {

DOMEntityReference createEntityReference ( string name )

}

This function creates a new instance of class DOMEntityReference. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

name

The content of the entity reference, e.g. the entity reference minus the leading & and the trailing ; characters.

Valores retornados

The new DOMEntityReference or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createElementNS() | Subir | DOMDocument->createProcessingInstruction()


DOMDocument->createProcessingInstruction()

(no version information, might be only in CVS)

DOMDocument->createProcessingInstruction() -- Creates new PI node

Descripción

class DOMDocument {

DOMProcessingInstruction createProcessingInstruction ( string target [, string data] )

}

This function creates a new instance of class DOMProcessingInstruction. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

target

The target of the processing instruction.

data

The content of the processing instruction.

Valores retornados

The new DOMProcessingInstruction or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if target contains an invalid character.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMDocument->createEntityReference() | Subir | DOMDocument->createTextNode()


DOMDocument->createTextNode()

(no version information, might be only in CVS)

DOMDocument->createTextNode() -- Create new text node

Descripción

class DOMDocument {

DOMText createTextNode ( string content )

}

This function creates a new instance of class DOMText. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con DOMNode->appendChild().

Lista de parámetros

content

The content of the text.

Valores retornados

The new DOMText or FALSE if an error occured.

Ver también

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()

Anterior | Inicio | Siguiente
DOMDocument->createProcessingInstruction() | Subir | DOMDocument->getElementById()


DOMDocument->getElementById()

(no version information, might be only in CVS)

DOMDocument->getElementById() -- Searches for an element with a certain id

Descripción

class DOMDocument {

DOMElement getElementById ( string elementId )

}

This function is similar to DOMDocument->getElementsByTagName() but searches for an element with a given id.

For this function to work, you will need either to set some ID attributes with DOMElement->setIdAttribute() or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument->validate() or DOMDocument->validateOnParse before using this function.

Lista de parámetros

elementId

The unique id value for an element.

Valores retornados

Returns the DOMElement or NULL if the element is not found.

Ejemplos

Ejemplo 1. DOMDocument->getElementById() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "The element whose id is books is: " . $doc->getElementById('books')->tagName . "\n";

?>

El resultado del ejemplo seria:

The element whose id is books is: chapter

Ver también

DOMDocument->getElementsByTagName()

Anterior | Inicio | Siguiente
DOMDocument->createTextNode() | Subir | DOMDocument->getElementsByTagName()


DOMDocument->getElementsByTagName()

(no version information, might be only in CVS)

DOMDocument->getElementsByTagName() -- Searches for all elements with given tag name

Descripción

class DOMDocument {

DOMNodeList getElementsByTagName ( string name )

}

This function returns a new instance of class DOMNodeList containing the elements with a given tag name.

Lista de parámetros

name

The name of the tag to match on. The special value * matches all tags.

Valores retornados

A new DOMNodeList object containing all the matched elements.

Ver también

DOMDocument->getElementsByTagNameNS()

Anterior | Inicio | Siguiente
DOMDocument->getElementById() | Subir | DOMDocument->getElementsByTagNameNS()


DOMDocument->getElementsByTagNameNS()

(no version information, might be only in CVS)

DOMDocument->getElementsByTagNameNS() -- Searches for all elements with given tag name in specified namespace

Descripción

class DOMDocument {

DOMNodeList getElementsByTagNameNS ( string namespaceURI, string localName )

}

Returns a DOMNodeList of all elements with a given local name and a namespace URI.

Lista de parámetros

namespaceURI

The namespace URI of the elements to match on. The special value * matches all namespaces.

localName

The local name of the elements to match on. The special value * matches all local names.

Valores retornados

A new DOMNodeList object containing all the matched elements.

Ejemplos

Ejemplo 1. Get all the XInclude elements

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

El resultado del ejemplo seria:

local name: include, prefix: xi
local name: fallback, prefix: xi

Ver también

DOMDocument->getElementsByTagName()

Anterior | Inicio | Siguiente
DOMDocument->getElementsByTagName() | Subir | DOMDocument->importNode()


DOMDocument->importNode()

(no version information, might be only in CVS)

DOMDocument->importNode() -- Import node into current document

Descripción

class DOMDocument {

DOMNode importNode ( DOMNode importedNode [, bool deep] )

}

This function returns a copy of the node to import and associates it with the current document.

Lista de parámetros

importedNode

The node to import.

deep

If set to TRUE, this method will recursively import the subtree under the importedNode.

Valores retornados

The copied node.

Errors/Exceptions

DOMException is thrown if node cannot be imported.

Anterior | Inicio | Siguiente
DOMDocument->getElementsByTagNameNS() | Subir | DOMDocument->load()


DOMDocument->load()

(no version information, might be only in CVS)

DOMDocument->load() -- Load XML from a file

Descripción

class DOMDocument {

mixed load ( string filename [, int options] )

}

Loads an XML document from a file.

Lista de parámetros

filename

The path to the XML document.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. If called statically, returns a DOMDocument.

Ejemplos

Ejemplo 1. Creating a Document

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Ver también

DOMDocument->loadXML()
DOMDocument->save()
DOMDocument->saveXML()

Anterior | Inicio | Siguiente
DOMDocument->importNode() | Subir | DOMDocument->loadHTML()


DOMDocument->loadHTML()

(no version information, might be only in CVS)

DOMDocument->loadHTML() -- Load HTML from a string

Descripción

class DOMDocument {

bool loadHTML ( string source )

}

The function parses the HTML contained in the string source. Unlike loading XML, HTML does not have to be well-formed to load. This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Lista de parámetros

source

The HTML string.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Ver también

DOMDocument->loadHTMLFile()
DOMDocument->saveHTML()
DOMDocument->saveHTMLFile()

Anterior | Inicio | Siguiente
DOMDocument->load() | Subir | DOMDocument->loadHTMLFile()


DOMDocument->loadHTMLFile()

(no version information, might be only in CVS)

DOMDocument->loadHTMLFile() -- Load HTML from a file

Descripción

class DOMDocument {

bool loadHTMLFile ( string filename )

}

The function parses the HTML document in the file named filename. Unlike loading XML, HTML does not have to be well-formed to load.

This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Lista de parámetros

filename

The path to the HTML file.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Ver también

DOMDocument->loadHTML()
DOMDocument->saveHTML()
DOMDocument->saveHTMLFile()

Anterior | Inicio | Siguiente
DOMDocument->loadHTML() | Subir | DOMDocument->loadXML()


DOMDocument->loadXML()

(no version information, might be only in CVS)

DOMDocument->loadXML() -- Load XML from a string

Descripción

class DOMDocument {

mixed loadXML ( string source [, int options] )

}

Loads an XML document from a string.

This method may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Lista de parámetros

source

The string containing the XML.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. If called statically, returns a DOMDocument.

Ejemplos

Ejemplo 1. Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Ejemplo 2. Static invocation of loadXML

<?php
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Ver también

DOMDocument->load()
DOMDocument->save()
DOMDocument->saveXML()

Anterior | Inicio | Siguiente
DOMDocument->loadHTMLFile() | Subir | DOMDocument->normalizeDocument()


DOMDocument->relaxNGValidate()

(no version information, might be only in CVS)

DOMDocument->relaxNGValidate() -- Performs relaxNG validation on the document

Descripción

class DOMDocument {

bool relaxNGValidate ( string filename )

}

Performs relaxNG validation on the document based on the given RNG schema.

Lista de parámetros

filename

The RNG file.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMDocument->relaxNGValidateSource()
DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->validate()

Anterior | Inicio | Siguiente
DOMDocument->registerNodeClass() | Subir | DOMDocument->relaxNGValidateSource()


DOMDocument->relaxNGValidateSource()

(no version information, might be only in CVS)

DOMDocument->relaxNGValidateSource() -- Performs relaxNG validation on the document

Descripción

class DOMDocument {

bool relaxNGValidateSource ( string source )

}

Performs relaxNG validation on the document based on the given RNG source.

Lista de parámetros

source

A string containing the RNG schema.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMDocument->relaxNGValidate()
DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->validate()

Anterior | Inicio | Siguiente
DOMDocument->relaxNGValidate() | Subir | DOMDocument->save()


DOMDocument->save()

(no version information, might be only in CVS)

DOMDocument->save() -- Dumps the internal XML tree back into a file

Descripción

class DOMDocument {

mixed save ( string filename [, int options] )

}

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Lista de parámetros

filename

The path to the saved XML document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Valores retornados

Returns the number of bytes written or FALSE if an error occurred.

Registro de cambios

Versión | Descripción
5.1.0 | Added the options parameter

Ejemplos

Ejemplo 1. Saving a DOM tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes

?>

Ver también

DOMDocument->saveXML()
DOMDocument->load()
DOMDocument->loadXML()

Anterior | Inicio | Siguiente
DOMDocument->relaxNGValidateSource() | Subir | DOMDocument->saveHTML()


DOMDocument->saveHTML()

(no version information, might be only in CVS)

DOMDocument->saveHTML() -- Dumps the internal document into a string using HTML formatting

Descripción

class DOMDocument {

string saveHTML ( void )

}

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Valores retornados

Returns the HTML, or FALSE if an error occurred.

Ejemplos

Ejemplo 1. Saving a HTML tree into a string

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Ver también

DOMDocument->saveHTMLFile()
DOMDocument->loadHTML()
DOMDocument->loadHTMLFile()

Anterior | Inicio | Siguiente
DOMDocument->save() | Subir | DOMDocument->saveHTMLFile()


DOMDocument->saveHTMLFile()

(no version information, might be only in CVS)

DOMDocument->saveHTMLFile() -- Dumps the internal document into a file using HTML formatting

Descripción

class DOMDocument {

int saveHTMLFile ( string filename )

}

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Lista de parámetros

filename

The path to the saved HTML document.

Valores retornados

Returns the number of bytes written or FALSE if an error occurred.

Ejemplos

Ejemplo 1. Saving a HTML tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Wrote: 129 bytes

?>

Ver también

DOMDocument->saveHTML()
DOMDocument->loadHTML()
DOMDocument->loadHTMLFile()

Anterior | Inicio | Siguiente
DOMDocument->saveHTML() | Subir | DOMDocument->saveXML()


DOMDocument->saveXML()

(no version information, might be only in CVS)

DOMDocument->saveXML() -- Dumps the internal XML tree back into a string

Descripción

class DOMDocument {

string saveXML ( [DOMNode node [, int options]] )

}

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Lista de parámetros

node

Use this parameter to output only a specific node without XML declaration rather than the entire document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Valores retornados

Returns the XML, or FALSE if an error occurred.

Errors/Exceptions

DOM_WRONG_DOCUMENT_ERR

Raised if node is from another document.

Registro de cambios

Versión | Descripción
5.1.0 | Added the options parameter

Ejemplos

Ejemplo 1. Saving a DOM tree into a string

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo "Saving all the document:\n";
echo $doc->saveXML() . "\n";

echo "Saving only the title part:\n";
echo $doc->saveXML($title);

?>

El resultado del ejemplo seria:

Saving all the document:
<?xml version="1.0"?>
<book>
  <title>This is the title</title>
</book>

Saving only the title part:
<title>This is the title</title>

Ver también

DOMDocument->save()
DOMDocument->load()
DOMDocument->loadXML()

Anterior | Inicio | Siguiente
DOMDocument->saveHTMLFile() | Subir | DOMDocument->schemaValidate()


DOMDocument->schemaValidate()

(no version information, might be only in CVS)

DOMDocument->schemaValidate() -- Validates a document based on a schema

Descripción

class DOMDocument {

bool schemaValidate ( string filename )

}

Validates a document based on the given schema file.

Lista de parámetros

filename

The path to the schema.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMDocument->schemaValidateSource()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()
DOMDocument->validate()

Anterior | Inicio | Siguiente
DOMDocument->saveXML() | Subir | DOMDocument->schemaValidateSource()


DOMDocument->schemaValidateSource()

(no version information, might be only in CVS)

DOMDocument->schemaValidateSource() -- Validates a document based on a schema

Descripción

class DOMDocument {

bool schemaValidateSource ( string source )

}

Validates a document based on a schema defined in the given string.

Lista de parámetros

source

A string containing the schema.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMDocument->schemaValidate()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()
DOMDocument->validate()

Anterior | Inicio | Siguiente
DOMDocument->schemaValidate() | Subir | DOMDocument->validate()


DOMDocument->validate()

(no version information, might be only in CVS)

DOMDocument->validate() -- Validates the document based on its DTD

Descripción

class DOMDocument {

bool validate ( void )

}

Validates the document based on its DTD.

You can also use the validateOnParse property of DOMDocument to make a DTD validation.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. If the document have no DTD attached, this method will return FALSE.

Ejemplos

Ejemplo 1. Example of DTD validation

<?php
$dom = new DOMDocument;
$dom->Load('book.xml');
if ($dom->validate()) {
    echo "This document is valid!\n";
}
?>

You can also validate your XML file while loading it:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->Load('book.xml');
?>

Ver también

DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()

Anterior | Inicio | Siguiente
DOMDocument->schemaValidateSource() | Subir | DOMDocument->xinclude()


DOMDocument->xinclude()

(no version information, might be only in CVS)

DOMDocument->xinclude() -- Substitutes XIncludes in a DOMDocument Object

Descripción

class DOMDocument {

int xinclude ( [int options] )

}

This method substitutes XIncludes in a DOMDocument object.

Nota: Due to libxml2 automatically resolving entities, this method will produce unexpected results if the included XML file have an attached DTD.

Lista de parámetros

options

libxml parameters. Available since PHP 5.1.0 and Libxml 2.6.7.

Valores retornados

Returns the number of XIncludes in the document.

Ejemplos

Ejemplo 1. DOMDocument->xinclude() example

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Books of the other guy..</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml not found</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// let's have a nice output
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// load the XML string defined above
$dom->loadXML($xml);

// substitute xincludes
$dom->xinclude();

echo $dom->saveXML();

?>

El resultado del ejemplo seria algo similar a:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Books of the other guy..</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>

Anterior | Inicio | Siguiente
DOMDocument->validate() | Subir | DOMDocumentFragment->appendXML()


DOMElement->getAttribute()

(no version information, might be only in CVS)

DOMElement->getAttribute() -- Returns value of attribute

Descripción

class DOMElement {

string getAttribute ( string name )

}

Gets the value of the attribute with name name for the current node.

Lista de parámetros

name

The name of the attribute.

Valores retornados

The value of the attribute, or an empty string if no attribute with the given name is found.

Ver también

DOMElement->hasAttribute()
DOMElement->setAttribute()
DOMElement->removeAttribute()

Anterior | Inicio | Siguiente
DOMElement->__construct() | Subir | DOMElement->getAttributeNode()


DOMElement->getAttributeNode()

(no version information, might be only in CVS)

DOMElement->getAttributeNode() -- Returns attribute node

Descripción

class DOMElement {

DOMAttr getAttributeNode ( string name )

}

Returns the attribute node with name name for the current element.

Lista de parámetros

name

The name of the attribute.

Valores retornados

The attribute node.

Ver también

DOMElement->hasAttribute()
DOMElement->setAttributeNode()
DOMElement->removeAttributeNode()

Anterior | Inicio | Siguiente
DOMElement->getAttribute() | Subir | DOMElement->getAttributeNodeNS()


DOMElement->getAttributeNodeNS()

(no version information, might be only in CVS)

DOMElement->getAttributeNodeNS() -- Returns attribute node

Descripción

class DOMElement {

DOMAttr getAttributeNodeNS ( string namespaceURI, string localName )

}

Returns the attribute node in namespace namespaceURI with local name localName for the current node.

Lista de parámetros

namespaceURI

The namespace URI.

localName

The local name.

Valores retornados

The attribute node.

Ver también

DOMElement->hasAttributeNS()
DOMElement->setAttributeNodeNS()
DOMElement->removeAttributeNode()

Anterior | Inicio | Siguiente
DOMElement->getAttributeNode() | Subir | DOMElement->getAttributeNS()


DOMElement->getAttributeNS()

(no version information, might be only in CVS)

DOMElement->getAttributeNS() -- Returns value of attribute

Descripción

class DOMElement {

string getAttributeNS ( string namespaceURI, string localName )

}

Gets the value of the attribute in namespace namespaceURI with local name localName for the current node.

Lista de parámetros

namespaceURI

The namespace URI.

localName

The local name.

Valores retornados

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found.

Ver también

DOMElement->hasAttributeNS()
DOMElement->setAttributeNS()
DOMElement->removeAttributeNS()

Anterior | Inicio | Siguiente
DOMElement->getAttributeNodeNS() | Subir | DOMElement->getElementsByTagName()


DOMElement->getElementsByTagName()

(no version information, might be only in CVS)

DOMElement->getElementsByTagName() -- Gets elements by tagname

Descripción

class DOMElement {

DOMNodeList getElementsByTagName ( string name )

}

This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag name, in the order in which they are encountered in a preorder traversal of this element tree.

Lista de parámetros

name

The tag name. Use * to return all elements within the element tree.

Valores retornados

This function returns a new instance of the class DOMNodeList of all matched elements.

Ver también

DOMElement->getElementsByTagNameNS()

Anterior | Inicio | Siguiente
DOMElement->getAttributeNS() | Subir | DOMElement->getElementsByTagNameNS()


DOMElement->getElementsByTagNameNS()

(no version information, might be only in CVS)

DOMElement->getElementsByTagNameNS() -- Get elements by namespaceURI and localName

Descripción

class DOMElement {

DOMNodeList getElementsByTagNameNS ( string namespaceURI, string localName )

}

This function fetch all the descendant elements with a given localName and namespaceURI.

Lista de parámetros

namespaceURI

The namespace URI.

localName

The local name. Use * to return all elements within the element tree.

Valores retornados

This function returns a new instance of the class DOMNodeList of all matched elements in the order in which they are encountered in a preorder traversal of this element tree.

Ver también

DOMElement->getElementsByTagName()

Anterior | Inicio | Siguiente
DOMElement->getElementsByTagName() | Subir | DOMElement->hasAttribute()


DOMElement->hasAttribute()

(no version information, might be only in CVS)

DOMElement->hasAttribute() -- Checks to see if attribute exists

Descripción

class DOMElement {

bool hasAttribute ( string name )

}

Indicates whether attribute named name exists as a member of the element.

Lista de parámetros

name

The attribute name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMElement->hasAttributeNS()
DOMElement->getAttribute()
DOMElement->setAttribute()
DOMElement->removeAttribute()

Anterior | Inicio | Siguiente
DOMElement->getElementsByTagNameNS() | Subir | DOMElement->hasAttributeNS()


DOMElement->hasAttributeNS()

(no version information, might be only in CVS)

DOMElement->hasAttributeNS() -- Checks to see if attribute exists

Descripción

class DOMElement {

bool hasAttributeNS ( string namespaceURI, string localName )

}

Indicates whether attribute in namespace namespaceURI named localName exists as a member of the element.

Lista de parámetros

namespaceURI

The namespace URI.

localName

The local name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMElement->hasAttribute()
DOMElement->getAttributeNS()
DOMElement->setAttributeNS()
DOMElement->removeAttributeNS()

Anterior | Inicio | Siguiente
DOMElement->hasAttribute() | Subir | DOMElement->removeAttribute()


DOMElement->removeAttribute()

(no version information, might be only in CVS)

DOMElement->removeAttribute() -- Removes attribute

Descripción

class DOMElement {

bool removeAttribute ( string name )

}

Removes attribute named name from the element.

Lista de parámetros

name

The name of the attribute.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Ver también

DOMElement->hasAttribute()
DOMElement->getAttribute()
DOMElement->setAttribute()

Anterior | Inicio | Siguiente
DOMElement->hasAttributeNS() | Subir | DOMElement->removeAttributeNode()


DOMElement->removeAttributeNode()

(no version information, might be only in CVS)

DOMElement->removeAttributeNode() -- Removes attribute

Descripción

class DOMElement {

bool removeAttributeNode ( DOMAttr oldnode )

}

Removes attribute oldnode from the element.

Lista de parámetros

oldnode

The attribute node.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND_ERROR

Raised if oldnode is not an attribute of the element.

Ver también

DOMElement->hasAttribute()
DOMElement->getAttributeNode()
DOMElement->setAttributeNode()

Anterior | Inicio | Siguiente
DOMElement->removeAttribute() | Subir | DOMElement->removeAttributeNS()


DOMElement->removeAttributeNS()

(no version information, might be only in CVS)

DOMElement->removeAttributeNS() -- Removes attribute

Descripción

class DOMElement {

bool removeAttributeNS ( string namespaceURI, string localName )

}

Removes attribute is namespace namespaceURI named localName from the element.

Lista de parámetros

namespaceURI

The namespace URI.

localName

The local name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Ver también

DOMElement->hasAttributeNS()
DOMElement->getAttributeNS()
DOMElement->setAttributeNS()

Anterior | Inicio | Siguiente
DOMElement->removeAttributeNode() | Subir | DOMElement->setAttribute()


DOMElement->setAttribute()

(no version information, might be only in CVS)

DOMElement->setAttribute() -- Adds new attribute

Descripción

class DOMElement {

bool setAttribute ( string name, string value )

}

Sets an attribute with name name to the given value. If the attribute does not exist, it will be created.

Lista de parámetros

name

The name of the attribute.

value

The value of the attribute.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Ejemplos

Ejemplo 1. Setting an attribute

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Ver también

DOMElement->hasAttribute()
DOMElement->getAttribute()
DOMElement->removeAttribute()

Anterior | Inicio | Siguiente
DOMElement->removeAttributeNS() | Subir | DOMElement->setAttributeNode()


DOMElement->setAttributeNode()

(no version information, might be only in CVS)

DOMElement->setAttributeNode() -- Adds new attribute node to element

Descripción

class DOMElement {

DOMAttr setAttributeNode ( DOMAttr attr )

}

Adds new attribute node attr to element.

Lista de parámetros

attr

The attribute node.

Valores retornados

Returns old node if the attribute has been replaced or NULL.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Ver también

DOMElement->hasAttribute()
DOMElement->getAttributeNode()
DOMElement->removeAttributeNode()

Anterior | Inicio | Siguiente
DOMElement->setAttribute() | Subir | DOMElement->setAttributeNodeNS()


DOMElement->setAttributeNodeNS()

(no version information, might be only in CVS)

DOMElement->setAttributeNodeNS() -- Adds new attribute node to element

Descripción

class DOMElement {

DOMAttr setAttributeNodeNS ( DOMAttr attr )

}

Adds new attribute node attr to element.

Lista de parámetros

name

The attribute node.

Valores retornados

Returns the old node if the attribute has been replaced.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Ver también

DOMElement->hasAttributeNS()
DOMElement->getAttributeNodeNS()
DOMElement->removeAttributeNode()

Anterior | Inicio | Siguiente
DOMElement->setAttributeNode() | Subir | DOMElement->setAttributeNS()


DOMElement->setAttributeNS()

(no version information, might be only in CVS)

DOMElement->setAttributeNS() -- Adds new attribute

Descripción

class DOMElement {

void setAttributeNS ( string namespaceURI, string qualifiedName, string value )

}

Sets an attribute with namespace namespaceURI and name name to the given value. If the attribute does not exist, it will be created.

Lista de parámetros

namespaceURI

The namespace URI.

qualifiedName

The qualified name of the attribute, as prefix:tagname.

value

The value of the attribute.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

Ver también

DOMElement->hasAttributeNS()
DOMElement->getAttributeNS()
DOMElement->removeAttributeNS()

Anterior | Inicio | Siguiente
DOMElement->setAttributeNodeNS() | Subir | DOMElement->setIdAttribute()


DOMImplementation->createDocument()

(no version information, might be only in CVS)

DOMImplementation->createDocument() -- Creates a DOMDocument object of the specified type with its document element

Descripción

class DOMImplementation {

DOMDocument createDocument ( [string namespaceURI [, string qualifiedName [, DOMDocumentType doctype]]] )

}

Creates a DOMDocument object of the specified type with its document element.

Lista de parámetros

namespaceURI

The namespace URI of the document element to create.

qualifiedName

The qualified name of the document element to create.

doctype

The type of document to create or NULL.

Valores retornados

A new DOMDocument object. If namespaceURI, qualifiedName, and doctype are null, the returned DOMDocument is empty with no document element

Errors/Exceptions

DOM_WRONG_DOCUMENT_ERR

Raised if doctype has already been used with a different document or was created from a different implementation.

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by namespaceURI and qualifiedName.

Ver también

DOMDocument->__construct()
DOMImplementation->createDocumentType()

Anterior | Inicio | Siguiente
DOMImplementation->__construct() | Subir | DOMImplementation->createDocumentType()


DOMImplementation->createDocumentType()

(no version information, might be only in CVS)

DOMImplementation->createDocumentType() -- Creates an empty DOMDocumentType object

Descripción

class DOMImplementation {

DOMDocumentType createDocumentType ( [string qualifiedName [, string publicId [, string systemId]]] )

}

Creates an empty DOMDocumentType object. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur.

Lista de parámetros

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Valores retornados

A new DOMDocumentType node with its ownerDocument set to NULL.

Ejemplos

Ejemplo 1. Creating a document with an attached DTD

<?php

// Creates an instance of the DOMImplementation class
$imp = new DOMImplementation;

// Creates a DOMDocumentType instance
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Creates a DOMDocument instance
$dom = $imp->createDocument("", "", $dtd);

// Set other properties
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Create an empty element
$element = $dom->createElement('graph');

// Append the element
$dom->appendChild($element);

// Retrieve and print the document
echo $dom->saveXML();

?>

El resultado del ejemplo seria:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Errors/Exceptions

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by qualifiedName.

Ver también

DOMImplementation->createDocument()

Anterior | Inicio | Siguiente
DOMImplementation->createDocument() | Subir | DOMImplementation->hasFeature()


DOMImplementation->hasFeature()

(no version information, might be only in CVS)

DOMImplementation->hasFeature() -- Test if the DOM implementation implements a specific feature

Descripción

class DOMImplementation {

bool hasFeature ( string feature, string version )

}

Test if the DOM implementation implements a specific feature.

You can find a list of all features in the Conformance section of the DOM specification.

Lista de parámetros

feature

The feature to test.

version

The version number of the feature to test. In level 2, this can be either 2.0 or 1.0.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Testing your DOM Implementation

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $key => $name) {
  if (DOMImplementation::hasFeature($key, '2.0')) {
    echo "Has feature $name\n";
  } else {
    echo "Missing feature $name\n";
  }
}

?>

Ver también

DOMNode->isSupported()

Anterior | Inicio | Siguiente
DOMImplementation->createDocumentType() | Subir | DOMNamedNodeMap->getNamedItem()


DOMNamedNodeMap->getNamedItem()

(no version information, might be only in CVS)

DOMNamedNodeMap->getNamedItem() -- Retrieves a node specified by name

Descripción

class DOMNamedNodeMap {

DOMNode getNamedItem ( string name )

}

Retrieves a node specified by its nodeName.

Lista de parámetros

name

The nodeName of the node to retrieve.

Valores retornados

A node (of any type) with the specified nodeName, or NULL if no node is found.

Ver también

DOMNamedNodeMap->getNamedItemNS()

Anterior | Inicio | Siguiente
DOMImplementation->hasFeature() | Subir | DOMNamedNodeMap->getNamedItemNS()


DOMNamedNodeMap->getNamedItemNS()

(no version information, might be only in CVS)

DOMNamedNodeMap->getNamedItemNS() -- Retrieves a node specified by local name and namespace URI

Descripción

class DOMNamedNodeMap {

DOMNode getNamedItemNS ( string namespaceURI, string localName )

}

Retrieves a node specified by localName and namespaceURI.

Lista de parámetros

namespaceURI

The namespace URI of the node to retrieve.

localName

The local name of the node to retrieve.

Valores retornados

A node (of any type) with the specified local name and namespace URI, or NULL if no node is found.

Ver también

DOMNamedNodeMap->getNamedItem()

Anterior | Inicio | Siguiente
DOMNamedNodeMap->getNamedItem() | Subir | DOMNamedNodeMap->item()


DOMNamedNodeMap->item()

(no version information, might be only in CVS)

DOMNamedNodeMap->item() -- Retrieves a node specified by index

Descripción

class DOMNamedNodeMap {

DOMNode item ( int index )

}

Retrieves a node specified by index within the DOMNamedNodeMap object.

Lista de parámetros

index

Index into this map.

Valores retornados

The node at the indexth position in the map, or NULL if that is not a valid index (greater than or equal to the number of nodes in this map).

Anterior | Inicio | Siguiente
DOMNamedNodeMap->getNamedItemNS() | Subir | DOMNode->appendChild()


DOMNode->appendChild()

(no version information, might be only in CVS)

DOMNode->appendChild() -- Adds new child at the end of the children

Descripción

class DOMNode {

DOMNode appendChild ( DOMNode newnode )

}

This functions appends a child to an existing list of children or creates a new list of children. The child can be created with e.g. DOMDocument->createElement(), DOMDocument->createTextNode() etc. or simply by using any other node.

Lista de parámetros

newnode

The appended child.

Valores retornados

The node added.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

Ejemplos

The following example will add a new element node to a fresh document.

Ejemplo 1. Adding a child

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Ver también

DOMNode->removeChild()
DOMNode->replaceChild()

Anterior | Inicio | Siguiente
DOMNamedNodeMap->item() | Subir | DOMNode->cloneNode()


DOMNode->cloneNode()

(no version information, might be only in CVS)

DOMNode->cloneNode() -- Clones a node

Descripción

class DOMNode {

DOMNode cloneNode ( [bool deep] )

}

Creates a copy of the node.

Lista de parámetros

deep

Indicates whether to copy all descendant nodes. This parameter is defaulted to FALSE.

Valores retornados

The cloned node.

Anterior | Inicio | Siguiente
DOMNode->appendChild() | Subir | DOMNode->hasAttributes()


DOMNode->hasAttributes()

(no version information, might be only in CVS)

DOMNode->hasAttributes() -- Checks if node has attributes

Descripción

class DOMNode {

bool hasAttributes ( void )

}

This method checks if the node has attributes. The tested node have to be an XML_ELEMENT_NODE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMNode->hasChildNodes()

Anterior | Inicio | Siguiente
DOMNode->cloneNode() | Subir | DOMNode->hasChildNodes()


DOMNode->hasChildNodes()

(no version information, might be only in CVS)

DOMNode->hasChildNodes() -- Checks if node has children

Descripción

class DOMNode {

bool hasChildNodes ( void )

}

This function checks if the node has children.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMNode->hasAttributes()

Anterior | Inicio | Siguiente
DOMNode->hasAttributes() | Subir | DOMNode->insertBefore()


DOMNode->insertBefore()

(no version information, might be only in CVS)

DOMNode->insertBefore() -- Adds a new child before a reference node

Descripción

class DOMNode {

DOMNode insertBefore ( DOMNode newnode [, DOMNode refnode] )

}

This function inserts a new node right before the reference node. If you plan to do further modifications on the appended child you must use the returned node.

Lista de parámetros

newnode

The new node.

refnode

The reference node. If not supplied, newnode is appended to the children.

Valores retornados

The inserted node.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if refnode is not a child of this node.

Anterior | Inicio | Siguiente
DOMNode->hasChildNodes() | Subir | DOMNode->isDefaultNamespace()


DOMNode->isSameNode()

(no version information, might be only in CVS)

DOMNode->isSameNode() -- Indicates if two nodes are the same node

Descripción

class DOMNode {

bool isSameNode ( DOMNode node )

}

This function indicates if two nodes are the same node. The comparison is not based on content

Lista de parámetros

node

The compared node.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
DOMNode->isDefaultNamespace() | Subir | DOMNode->isSupported()


DOMNode->isSupported()

(no version information, might be only in CVS)

DOMNode->isSupported() -- Checks if feature is supported for specified version

Descripción

class DOMNode {

bool isSupported ( string feature, string version )

}

Checks if the asked feature is supported for the specified version.

Lista de parámetros

feature

The feature to test. See the example of DOMImplementation->hasFeature() for a list of features.

version

The version number of the feature to test.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

DOMImplementation->hasFeature()

Anterior | Inicio | Siguiente
DOMNode->isSameNode() | Subir | DOMNode->lookupNamespaceURI()


DOMNode->lookupNamespaceURI()

(no version information, might be only in CVS)

DOMNode->lookupNamespaceURI() -- Gets the namespace URI of the node based on the prefix

Descripción

class DOMNode {

string lookupNamespaceURI ( string prefix )

}

Gets the namespace URI of the node based on the prefix.

Lista de parámetros

prefix

The prefix of the namespace.

Valores retornados

The namespace URI of the node.

Ver también

DOMNode->lookupPrefix()

Anterior | Inicio | Siguiente
DOMNode->isSupported() | Subir | DOMNode->lookupPrefix()


DOMNode->lookupPrefix()

(no version information, might be only in CVS)

DOMNode->lookupPrefix() -- Gets the namespace prefix of the node based on the namespace URI

Descripción

class DOMNode {

string lookupPrefix ( string namespaceURI )

}

Gets the namespace prefix of the node based on the namespace URI.

Lista de parámetros

namespaceURI

The namespace URI.

Valores retornados

The prefix of the namespace.

Ver también

DOMNode->lookupNamespaceURI()

Anterior | Inicio | Siguiente
DOMNode->lookupNamespaceURI() | Subir | DOMNode->normalize()


DOMNode->normalize()

(no version information, might be only in CVS)

DOMNode->normalize() -- Normalizes the node

Descripción

class DOMNode {

void normalize ( void )

}

Normalizes the node.

Valores retornados

No value is returned.

Ver también

The DOM Specification
DOMDocument->normalizeDocument()

Anterior | Inicio | Siguiente
DOMNode->lookupPrefix() | Subir | DOMNode->removeChild()


DOMNode->removeChild()

(no version information, might be only in CVS)

DOMNode->removeChild() -- Removes child from list of children

Descripción

class DOMNode {

DOMNode removeChild ( DOMNode oldnode )

}

This functions removes a child from a list of children.

Lista de parámetros

oldnode

The removed child.

Valores retornados

If the child could be removed the functions returns the old child.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

Ejemplos

The following example will delete the chapter element of our XML document.

Ejemplo 1. Removing a child

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

El resultado del ejemplo seria:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Ver también

DOMNode->appendChild()
DOMNode->replaceChild()

Anterior | Inicio | Siguiente
DOMNode->normalize() | Subir | DOMNode->replaceChild()


DOMNode->replaceChild()

(no version information, might be only in CVS)

DOMNode->replaceChild() -- Replaces a child

Descripción

class DOMNode {

DOMNode replaceChild ( DOMNode newnode, DOMNode oldnode )

}

This function replaces the child oldnode with the passed new node. If the new node is already a child it will not be added a second time. If the replacement succeeds the old node is returned.

Lista de parámetros

newnode

The new node. It must be a member of the target document, i.e. created by one of the DOMDocument->createXXX() methods or imported in the document by DOMDocument->importNode().

oldnode

The old node.

Valores retornados

The old node or FALSE if an error occur.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

Ver también

DOMNode->appendChild()
DOMNode->removeChild()

Anterior | Inicio | Siguiente
DOMNode->removeChild() | Subir | DOMNodelist->item()


DOMNodelist->item()

(no version information, might be only in CVS)

DOMNodelist->item() -- Retrieves a node specified by index

Descripción

class DOMNodeList {

DOMNode item ( int index )

}

Retrieves a node specified by index within the DOMNodeList object.

Sugerencia: If you need to know the number of nodes in the collection, use the length property of the DOMNodeList object.

Lista de parámetros

index

Index of the node into the collection.

Valores retornados

The node at the indexth position in the DOMNodeList, or NULL if that is not a valid index.

Ejemplos

Ejemplo 1. Traversing all the entries of the table

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

Alternatively, you can use foreach, which is a much more convenient way:

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

El resultado del ejemplo seria:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209

Anterior | Inicio | Siguiente
DOMNode->replaceChild() | Subir | DOMProcessingInstruction->__construct()


DOMText->isWhitespaceInElementContent()

(no version information, might be only in CVS)

DOMText->isWhitespaceInElementContent() -- Indicates whether this text node contains whitespace

Descripción

class DOMText {

bool isWhitespaceInElementContent ( void )

}

Indicates whether this text node contains whitespace. The text node is determined to contain whitespace in element content during the load of the document.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
DOMText->__construct() | Subir | DOMText->splitText()


DOMText->splitText()

(no version information, might be only in CVS)

DOMText->splitText() -- Breaks this node into two nodes at the specified offset

Descripción

class DOMText {

DOMText splitText ( int offset )

}

Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings.

After being split, this node will contain all the content up to the offset. If the original node had a parent node, the new node is inserted as the next sibling of the original node. When the offset is equal to the length of this node, the new node has no data.

Lista de parámetros

offset

The offset at which to split, starting from 0.

Valores retornados

The new node of the same type, which contains all the content at and after the offset.

Anterior | Inicio | Siguiente
DOMText->isWhitespaceInElementContent() | Subir | DOMXPath->__construct()


DOMXPath->query()

(no version information, might be only in CVS)

DOMXPath->query() -- Evaluates the given XPath expression

Descripción

class DOMXPath {

DOMNodeList query ( string expression [, DOMNode contextnode] )

}

Executes the given XPath expression.

Lista de parámetros

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

Valores retornados

Returns a DOMNodeList containing all nodes matching the given XPath expression. Any expression which do not return nodes will return an empty DOMNodeList.

Ejemplos

Ejemplo 1. Getting all the english books

<?php

$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// We starts from the root element
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

El resultado del ejemplo seria:

Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck

We can also use the contextnode parameter to shorten our expression:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

Ver también

DOMXPath->evaluate()

Anterior | Inicio | Siguiente
DOMXPath->evaluate() | Subir | DOMXPath->registerNamespace()


DOMXPath->registerNamespace()

(no version information, might be only in CVS)

DOMXPath->registerNamespace() -- Registers the namespace with the DOMXPath object

Descripción

class DOMXPath {

bool registerNamespace ( string prefix, string namespaceURI )

}

Registers the namespaceURI and prefix with the DOMXPath object.

Lista de parámetros

prefix

The prefix.

namespaceURI

The URI of the namespace.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
DOMXPath->query() | Subir | dom_import_simplexml


dom_import_simplexml

(PHP 5)

dom_import_simplexml -- Gets a DOMElement object from a SimpleXMLElement object

Descripción

DOMElement dom_import_simplexml ( SimpleXMLElement node )

This function takes the node node of class SimpleXML and makes it into a DOMElement node. This new object can then be used as a native DOMElement node.

Lista de parámetros

node

The SimpleXMLElement node.

Valores retornados

The DOMElement node added or FALSE if any errors occur.

Ejemplos

Ejemplo 1. Import SimpleXML into DOM with dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Error while parsing the document';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Error while converting XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Ver también

simplexml_import_dom()

Anterior | Inicio | Siguiente
DOMXPath->registerNamespace() | Subir | Funciones DOM XML


Funciones DOM XML

Manual de PHP
Anterior Siguiente

XXXI. Funciones DOM XML

Introducción

La extensión DOM XML ha sido re-estructurada en PHP 4.3.0 para mayor compatibilidad con el estándar DOM. La extensión aun contiene varias funciones viejas, pero ellas ya no deben ser usadas. En particular, las funciones que no son orientadas a objetos deben evitarse.

La extensión le permite operar sobre un documento XML con la API DOM. También ofrece una función domxml_xmltree() para convertir el documento XML completo en un árbol de objetos PHP. Actualmente, este árbol debe ser considerado como de sólo-escritura - es posible modificarlo, pero tal cosa no tendría sentido ya que DomDocument_dump_mem() no puede aplicarse sobre él. Por lo tanto, si desea leer un archivo XML y escribir una versión modificada, use DomDocument_create_element(), DomDocument_create_text_node(), set_attribute(), etc. y finalmente la función DomDocument_dump_mem().

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Nota: Si necesita soporte DOM XML con PHP 5, puede usar la extensión DOM. La presente extensión, domxml, no es compatible con la extensión DOM.

Requisitos

Esta extensión hace uso de la biblioteca GNOME XML. Descargue e instale esta biblioteca. Necesita por lo menos libxml-2.4.14. Para usar las características DOM XSLT, puede usar la biblioteca libxslt y las adiciones EXSLT de http://www.exslt.org/. Descargue e instale estas bibliotecas si planea usar las características XSLT (y las mejoras). Necesita por lo menos libxslt-1.0.18.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/domxml.

En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. Esta extensión se encuentra disponible únicamente si PHP fue configurado con --with-dom[=DIR]. Agregue --with-dom-xslt[=DIR] para incluir soporte para DOM XSLT. DIR es el directorio de instalación de libxslt. Agregue --with-dom-exslt[=DIR] para incluir soporte para DOM EXSLT, en donde DIR es el directorio de instalación de libexslt.

Los usuarios de windows deben habilitar php_domxml.dll al interior de php.ini para usar estas funciones. En PHP 4, esta DLL se encuentra en el directorio extensions/ que existe en los binarios de PHP para Windows. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/. Asimismo, hay una DLL adicional que debe estar disponible para su PATH de sistema para que ésta extensión trabaje. En PHP 4 esta ruta está en el directorio dlls/. Su nombre: Para PHP <= 4.2.0, es libxml2.dll. Para PHP >= 4.3.0, es iconv.dll. Y a partir de PHP 5.0.0, iconv se encuentra compilado con sus binarios Windows de PHP por defecto, así que no se necesitan archivos DLL adicionales.

Funciones obsoletas

Existen varias funciones que no tienen lugar en el estándar DOM y no deberían seguir siendo usadas. Estas funciones son listadas en la siguiente tabla. La función DomNode_append_child() ha cambiado su comportamiento. Ahora agrega un hijo y no un hermano. Si esto afecta su aplicación, use la función DomNode_append_sibling(), la cual no hace parte del conjunto DOM.

Tabla 1. Funciones obsoletas y sus reemplazos

Función antigua | Función nueva
xmldoc | domxml_open_mem()
xmldocfile | domxml_open_file()
domxml_new_xmldoc | domxml_new_doc()
domxml_dump_mem | DomDocument_dump_mem()
domxml_dump_mem_file | DomDocument_dump_file()
DomDocument_dump_mem_file | DomDocument_dump_file()
DomDocument_add_root | DomDocument_create_element() seguido por DomNode_append_child()
DomDocument_dtd | DomDocument_doctype()
DomDocument_root | DomDocument_document_element()
DomDocument_children | DomNode_child_nodes()
DomDocument_imported_node | No hay reemplazo.
DomNode_add_child | Crear un nuevo nodo, p.ej. con DomDocument_create_element() y agregarlo con DomNode_append_child().
DomNode_children | DomNode_child_nodes()
DomNode_parent | DomNode_parent_node()
DomNode_new_child | Crear un nuevo nodo, p.ej. con DomDocument_create_element() y agregarlo con DomNode_append_child().
DomNode_set_content | Crear un nuevo nodo, p.ej. con DomDocument_create_text_node() y agregarlo con DomNode_append_child().
DomNode_get_content | El contenido es solo un nodo de texto y puede consultarse con DomNode_child_nodes().
DomNode_set_content | El contenido es solo un nodo de texto y puede ser agregado con DomNode_append_child().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 2. Constantes XML

Constante | Valor | Descripción
XML_ELEMENT_NODE (integer) | 1 | El nodo es un elemento
XML_ATTRIBUTE_NODE (integer) | 2 | El nodo es un atributo
XML_TEXT_NODE (integer) | 3 | El nodo es un segmento de texto
XML_CDATA_SECTION_NODE (integer) | 4 |
XML_ENTITY_REF_NODE (integer) | 5 |
XML_ENTITY_NODE (integer) | 6 | El nodo es una entidad como &nbsp;
XML_PI_NODE (integer) | 7 | El nodo es una instrucción de procesamiento
XML_COMMENT_NODE (integer) | 8 | El nodo es un comentario
XML_DOCUMENT_NODE (integer) | 9 | El nodo es un documento
XML_DOCUMENT_TYPE_NODE (integer) | 10 |
XML_DOCUMENT_FRAG_NODE (integer) | 11 |
XML_NOTATION_NODE (integer) | 12 |
XML_GLOBAL_NAMESPACE (integer) | 1 |
XML_LOCAL_NAMESPACE (integer) | 2 |
XML_HTML_DOCUMENT_NODE (integer) |  |
XML_DTD_NODE (integer) |  |
XML_ELEMENT_DECL_NODE (integer) |  |
XML_ATTRIBUTE_DECL_NODE (integer) |  |
XML_ENTITY_DECL_NODE (integer) |  |
XML_NAMESPACE_DECL_NODE (integer) |  |
XML_ATTRIBUTE_CDATA (integer) |  |
XML_ATTRIBUTE_ID (integer) |  |
XML_ATTRIBUTE_IDREF (integer) |  |
XML_ATTRIBUTE_IDREFS (integer) |  |
XML_ATTRIBUTE_ENTITY (integer) |  |
XML_ATTRIBUTE_NMTOKEN (integer) |  |
XML_ATTRIBUTE_NMTOKENS (integer) |  |
XML_ATTRIBUTE_ENUMERATION (integer) |  |
XML_ATTRIBUTE_NOTATION (integer) |  |
XPATH_UNDEFINED (integer) |  |
XPATH_NODESET (integer) |  |
XPATH_BOOLEAN (integer) |  |
XPATH_NUMBER (integer) |  |
XPATH_STRING (integer) |  |
XPATH_POINT (integer) |  |
XPATH_RANGE (integer) |  |
XPATH_LOCATIONSET (integer) |  |
XPATH_USERS (integer) |  |
XPATH_NUMBER (integer) |  |

Clases

La API del módulo sigue el estándar DOM de Nivel 2 tan fielmente como es posible. Por consiguiente, la API es completamente orientada a objetos. Es una buena idea tener el estándar DOM a la mano cuando se usa este módulo. Aunque la API es orientada a objetos, existen varias funciones que pueden ser llamadas en una forma no orientada a objetos, pasando el objeto sobre el que debe operarse como primer argumento. Estas funciones existen principalmente para conservar la compatibilidad con versiones anteriores de esta extensión, y no deberían ser usadas cuando se creen nuevos scripts.

Esta API difiere de la API DOM oficial en dos formas. Primero, todos los atributos de clase son implementados como funciones con el mismo nombre. En segundo lugar, los nombres de funciones siguen la convención de nombres de PHP. esto quiere decir que una función DOM llamada lastChild() será escrita como last_child().

Este módulo define un número de clases, que son listados - incluyendo sus métodos - en las siguientes tablas. Las clases con un equivalente en el estándar DOM son llamadas DOMxxx.

Tabla 3. Lista de clases

Nombre de clase | Clases padre
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomCData : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | Por el momento aun se llama DomParser
XPathContext |

Tabla 4. Clase DomDocument (DomDocument : DomNode)

Nombre de método | Nombre de función | Anotación
doctype | DomDocument_doctype() |
document_element | DomDocument_document_element() |
create_element | DomDocument_create_element() |
create_text_node | DomDocument_create_text_node() |
create_comment | DomDocument_create_comment() |
create_cdata_section | DomDocument_create_cdata_section() |
create_processing_instruction | DomDocument_create_processing_instruction() |
create_attribute | DomDocument_create_attribute() |
create_entity_reference | DomDocument_create_entity_reference() |
get_elements_by_tagname | DomDocument_get_elements_by_tagname() |
get_element_by_id | DomDocument_get_element_by_id() |
dump_mem | DomDocument_dump_mem() | no hace parte del estándar DOM
dump_file | DomDocument_dump_file() | no hace parte del estándar DOM
html_dump_mem | DomDocument_html_dump_mem() | no hace parte del estándar DOM
xpath_init | xpath_init | no hace parte del estándar DOM
xpath_new_context | xpath_new_context | no hace parte del estándar DOM
xptr_new_context | xptr_new_context | no hace parte del estándar DOM

Tabla 5. Clase DomElement (DomElement : DomNode)

Nombre de método | Nombre de función | Anotación
tagname | DomElement_tagname() |
get_attribute | DomElement_get_attribute() |
set_attribute | DomElement_set_attribute() |
remove_attribute | DomElement_remove_attribute() |
get_attribute_node | DomElement_get_attribute_node() |
set_attribute_node | DomElement_set_attribute_node() |
get_elements_by_tagname | DomElement_get_elements_by_tagname() |
has_attribute | DomElement_has_attribute() |

Tabla 6. DomNode class

Nombre de método | Anotación
DomNode_node_name() |
DomNode_node_value() |
DomNode_node_type() |
DomNode_last_child() |
DomNode_first_child() |
DomNode_child_nodes() |
DomNode_previous_sibling() |
DomNode_next_sibling() |
DomNode_parent_node() |
DomNode_owner_document() |
DomNode_insert_before() |
DomNode_append_child() |
DomNode_append_sibling() | No se encuentra en el estándar DOM. Esta función emula el comportamiento antiguo de DomNode_append_child().
DomNode_remove_child() |
DomNode_has_child_nodes() |
DomNode_has_attributes() |
DomNode_clone_node() |
DomNode_attributes() |
DomNode_unlink_node() | No se encuentra en el estándar DOM
DomNode_replace_node() | No se encuentra en el estándar DOM
DomNode_set_content() | No se encuentra en el estándar DOM, obsoleta
DomNode_get_content() | No se encuentra en el estándar DOM, obsoleta
DomNode_dump_node() | No se encuentra en el estándar DOM
DomNode_is_blank_node() | No se encuentra en el estándar DOM

Tabla 7. Clase DomAttribute (DomAttribute : DomNode)

Nombre de método |  | Anotación
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

Tabla 8. Clase DomProcessingInstruction (DomProcessingInstruction : DomNode)

Nombre de método | Nombre de función | Anotación
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

Tabla 9. Clase Parser

Nombre de método | Nombre de función | Anotación
add_chunk | Parser_add_chunk() |
end | Parser_end() |

Tabla 10. Clase XPathContext

Nombre de método | Nombre de función | Anotación
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

Tabla 11. Clase DomDocumentType (DomDocumentType : DomNode)

Nombre de método | Nombre de función | Anotación
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

La clase DomDtd es derivada de DomNode. DomComment es derivada de DomCData.

Ejemplos

Varios ejemplos en esta referencia requieren una cadena XML. En lugar de repetir esta cadena en cada ejemplo, será puesta en un archivo el cual será incluido en cada ejemplo. Este archivo de inclusión es mostrado en la siguiente sección de ejemplo. Alternativamente, es posible crear un documento XML y leerlo con DomDocument_open_file().

Ejemplo 1. Archivo de inclusión ejemplo.inc con una cadena XML

<?php
$cadena_xml = "<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj  -->
<chapter language='en'><title language='en'>Title</title>
 <para language='ge'>
  &sp;
  <!-- comment -->
  <informaltable ID='findme' language='&sp;'>
   <tgroup cols='3'>
    <tbody>
     <row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
</chapter>";
?>

Tabla de contenidos
DomAttribute->name -- Devuelve el nombre de un atributo
DomAttribute->set_value -- Establece el valor de un atributo
DomAttribute->specified -- Revisa si el atributo está especificado
DomAttribute->value -- Devuelve el valor del atributo
DomDocument->add_root -- Agrega un nodo raíz [obsoleto]
DomDocument->create_attribute -- Crear un nuevo atributo
DomDocument->create_cdata_section -- Crear un nuevo nodo cdata
DomDocument->create_comment -- Crea un nuevo nodo de comentario
DomDocument->create_element_ns -- Crea un nuevo nodo tipo elemento con un espacio de nombres asociado
DomDocument->create_element -- Crear un nuevo nodo de tipo elemento
DomDocument->create_entity_reference -- Crear una referencia de entidad
DomDocument->create_processing_instruction -- Crea un nuevo nodo PI
DomDocument->create_text_node -- Crear un nuevo nodo de texto
DomDocument->doctype -- Devuelve el tipo de documento
DomDocument->document_element -- Devuelve el nodo del elemento raíz
DomDocument->dump_file -- Vuelca el árbol XML interno de vuelta a un archivo
DomDocument->dump_mem -- Vuelca el árbol XML interno de vuelta a una cadena
DomDocument->get_element_by_id -- Busca un elemento con cierto id
DomDocument->get_elements_by_tagname -- Devuelve una matriz de nodos con el nombre de etiqueta dado en el documento o una matriz vacía si no se encuentran
DomDocument->html_dump_mem -- Vuelca el árbol XML interno de vuelta a una cadena como HTML
DomDocument->xinclude -- Reemplaza sentencias XInclude en un Objeto DomDocument
DomDocumentType->entities() -- Devuelve una lista de entidades
DomDocumentType->internal_subset() -- Devuelve el sub-conjunto interno
DomDocumentType->name() -- Devuelve el nombre del tipo de documento
DomDocumentType->notations() -- Devuelve una lista de notaciones
DomDocumentType->public_id() -- Devuelve el id público del tipo de documento
DomDocumentType->system_id() -- Devuelve el id de sistema del tipo de documento
DomElement->get_attribute_node() -- Devuelve el nodo del atributo dado
DomElement->get_attribute() -- Devuelve el valor del atributo dado
DomElement->get_elements_by_tagname() -- Obtiene elementos por el nombre de etiqueta
DomElement->has_attribute() -- Verifica si un atributo existe en el nodo actual
DomElement->remove_attribute() -- Elimina un atributo
DomElement->set_attribute_node() -- Agrega un nuevo atributo
DomElement->set_attribute() -- Define el valor de un atributo
DomElement->tagname() -- Devuelve el nombre del elemento actual
DomNode->add_namespace -- Agrega una declaración de espacio de nombres a un nodo
DomNode->append_child -- Agrega un nuevo hijo al final del grupo de hijos
DomNode->append_sibling -- Agrega un nuevo hermano a un nodo
DomNode->attributes -- Devuelve la lista de atributos
DomNode->child_nodes -- Devuelve los hijos del nodo
DomNode->clone_node -- Clona un nodo
DomNode->dump_node -- Vuelca un nodo único
DomNode->first_child -- Devuelve el primer hijo del nodo
DomNode->get_content -- Obtiene el contenido del nodo
DomNode->has_attributes -- Verifica si un nodo tiene atributos
DomNode->has_child_nodes -- Verifica si el nodo tiene hijos
DomNode->insert_before -- Inserta un nodo nuevo como hijo
DomNode->is_blank_node -- Verifica si el nodo está en blanco
DomNode->last_child -- Devuelve el último hijo del nodo
DomNode->next_sibling -- Devuelve el siguiente hermano del nodo
DomNode->node_name -- Devuelve el nombre del nodo
DomNode->node_type -- Devuelve el tipo de nodo
DomNode->node_value -- Devuelve el valor de un nodo
DomNode->owner_document -- Devuelve el documento al que este nodo pertenece
DomNode->parent_node -- Devuelve el padre del nodo
DomNode->prefix -- Devuelve el prefijo de espacio de nombres del nodo
DomNode->previous_sibling -- Devuelve el hermano anterior del nodo
DomNode->remove_child -- Elimina un hijo de una lista de hijos
DomNode->replace_child -- Reemplaza un hijo
DomNode->replace_node -- Reemplaza el nodo
DomNode->set_content -- Define el contenido del nodo
DomNode->set_name -- Define el nombre del nodo
DomNode->set_namespace -- Define el espacio de nombres de un nodo
DomNode->unlink_node -- Elimina el nodo
DomProcessingInstruction->data -- Devuelve los datos de un nodo ProcessingInstruction
DomProcessingInstruction->target -- Devuelve el destino de un nodo ProcessingInstruction
DomXsltStylesheet->process() -- Aplica la Transformación XSLT sobre un objeto DomDocument
DomXsltStylesheet->result_dump_file() -- Vuelca el resultado de una Transformación XSLT a un archivo
DomXsltStylesheet->result_dump_mem() -- Vuelca el resultado de una Transformación XSLT de vuelta a una cadena
domxml_new_doc -- Crea un nuevo documento XML vacío
domxml_open_file -- Crea un objeto DOM a partir de un archivo XML
domxml_open_mem -- Crea un objeto DOM desde un documento XML
domxml_version -- Obtiene la versión de la biblioteca XML
domxml_xmltree -- Crea un árbol de objetos PHP a partir de un documento XML
domxml_xslt_stylesheet_doc -- Crea un Objeto DomXsltStylesheet a partir de un Objeto DomDocument
domxml_xslt_stylesheet_file -- Crea un Objeto DomXsltStylesheet a partir de un documento XSL en un archivo
domxml_xslt_stylesheet -- Crea un objeto DomXsltStylesheet desde un documento XSL en una cadena
domxml_xslt_version -- Obtiene la versión de la biblioteca XSLT
xpath_eval_expression -- Evalúa la Ruta de Ubicación XPath en la cadena entregada
xpath_eval -- Evalúa la Ruta de Ubicación XPatch en la cadena dada
xpath_new_context -- Crea un nuevo contexto xpath
xpath_register_ns_auto -- Registrar el espacio de nombres dado en el contexto XPath pasado
xpath_register_ns -- Registrar el espacio de nombres dado en el contexto XPath pasado
xptr_eval -- Evalúa la Ruta de Ubicación XPtr en la cadena dada
xptr_new_context -- Crea un nuevo Contexto XPath

Anterior | Inicio | Siguiente
dom_import_simplexml | Subir | DomAttribute->name


DomAttribute->name

(no version information, might be only in CVS)

DomAttribute->name -- Devuelve el nombre de un atributo

Descripción

class DomAttribute {

string name ( void )

}

Obtiene el nombre del atributo.

Valores retornados

Devuelve el nombre del atributo.

Migración a PHP 5

Use la propiedad name de DOMAttr.

Ver también

DomAttribute->value para un ejemplo

Anterior | Inicio | Siguiente
Funciones DOM XML | Subir | DomAttribute->set_value


DomAttribute->specified

(no version information, might be only in CVS)

DomAttribute->specified -- Revisa si el atributo está especificado

Descripción

class DomAttribute {

bool specified ( void )

}

Verifica si fue entregado un valor explícitamente para el atributo en el documento original.

Nota: Este método no está implementado aun.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

La definición de specified en las Recomendaciones DOM

Anterior | Inicio | Siguiente
DomAttribute->set_value | Subir | DomAttribute->value


DomAttribute->value

(no version information, might be only in CVS)

DomAttribute->value -- Devuelve el valor del atributo

Descripción

class DomAttribute {

string value ( void )

}

Esta función devuelve el valor del atributo.

Ejemplos

Ejemplo 1. Obtener todos los atributos de un nodo

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
     echo "Ocurri&oacute; un error al interpretar el documento\n";
     exit;
}

$raiz = $dom->document_element();
$atrs = $raiz->attributes();

echo 'Atributos de ' . $raiz->node_name() . "\n";
foreach ($atrs as $atributo) {
     echo ' - ' . $atributo->name . ' : ' . $attribute->value . "\n";
}

?>

El resultado del ejemplo seria:

Atributos de chapter
 - language : en

Valores retornados

Devuelve el valor del atributo.

Migración a PHP 5

Use la propiedad value de DOMAttr.

Ver también

DomAttribute->set_value
DomAttribute->name

Anterior | Inicio | Siguiente
DomAttribute->specified | Subir | DomDocument->add_root


DomDocument->add_root

(no version information, might be only in CVS)

DomDocument->add_root -- Agrega un nodo raíz [obsoleto]

Descripción

domelement DomDocument->add_root ( string nombre )

Agrega un nodo de elemento raíz a un documento dom y devuelve el nuevo nodo. El nombre del elemento es dado en el parámetro pasado.

Ejemplo 1. Creación de una cabecera para un documento HTML simple

<?php
$doc = domxml_new_doc("1.0");
$raiz = $doc->add_root("html");
$cabecera = $raiz->new_child("head", "");
$cabecera->new_child("title", "Hier der Titel");
echo htmlentities($doc->dump_mem());
?>

Anterior | Inicio | Siguiente
DomAttribute->value | Subir | DomDocument->create_attribute


DomDocument->create_attribute

(no version information, might be only in CVS)

DomDocument->create_attribute -- Crear un nuevo atributo

Descripción

domattribute DomDocument->create_attribute ( string nombre, string valor )

Esta función devuelve una nueva instancia de clase DomAttribute. El nombre del atributo es el valor del primer parámetro. El valor del atributo es el valor del segundo parámetro. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->add_root | Subir | DomDocument->create_cdata_section


DomDocument->create_cdata_section

(no version information, might be only in CVS)

DomDocument->create_cdata_section -- Crear un nuevo nodo cdata

Descripción

domcdata DomDocument->create_cdata_section ( string contenido )

Esta función devuelve una nueva instancia de la clase DomCData. El contenido cdata es el valor del parámetro pasado. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_attribute | Subir | DomDocument->create_comment


DomDocument->create_comment

(no version information, might be only in CVS)

DomDocument->create_comment -- Crea un nuevo nodo de comentario

Descripción

domcomment DomDocument->create_comment ( string contenido )

Esta función devuelve una nueva instancia de la clase DomComment. El contenido del comentario es el valor del parámetro pasado. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_cdata_section | Subir | DomDocument->create_element_ns


DomDocument->create_element_ns

(no version information, might be only in CVS)

DomDocument->create_element_ns -- Crea un nuevo nodo tipo elemento con un espacio de nombres asociado

Descripción

domelement DomDocument->create_element_ns ( string uri, string nombre [, string prefijo] )

Esta función devuelve una nueva instancia de la clase DomElement. El nombre de etiqueta del elemento es el valor del parámetro nombre pasado. El URI del espacio de nombres es el valor del parámetro uri pasado. Si ya existe una declaración de espacio de nombres con la misma uri en el nodo raíz del documento, el prefijo de éste es tomado, de lo contrario tomará el que se provee en el parámetro opcional prefijo o genera uno aleatorio. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también
domdocument_create_element_ns(),
domnode_add_namespace(),
domnode_set_namespace(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_comment | Subir | DomDocument->create_element


DomDocument->create_element

(no version information, might be only in CVS)

DomDocument->create_element -- Crear un nuevo nodo de tipo elemento

Descripción

domelement DomDocument->create_element ( string nombre )

Esta función devuelve una nueva instancia de la clase DomElement. El nombre de la etiqueta del elemento es el valor del parámetro pasado. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también
domdocument_create_element_ns(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_element_ns | Subir | DomDocument->create_entity_reference


DomDocument->create_entity_reference

(no version information, might be only in CVS)

DomDocument->create_entity_reference -- Crear una referencia de entidad

Descripción

domentityreference DomDocument->create_entity_reference ( string contenido )

Esta función devuelve una nueva instancia de la clase DomEntityReference. El contenido de la referencia a entidad es el valor del parámetro pasado. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_attribute(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_element | Subir | DomDocument->create_processing_instruction


DomDocument->create_processing_instruction

(no version information, might be only in CVS)

DomDocument->create_processing_instruction -- Crea un nuevo nodo PI

Descripción

domprocessinginstruction DomDocument->create_processing_instruction ( string contenido )

Esta función devuelve una nueva instancia de la clase DomCData. El contenido de la instrucción de procesamiento es el valor del parámetro pasado. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_attribute(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_entity_reference | Subir | DomDocument->create_text_node


DomDocument->create_text_node

(no version information, might be only in CVS)

DomDocument->create_text_node -- Crear un nuevo nodo de texto

Descripción

domtext DomDocument->create_text_node ( string contenido )

Esta función devuelve una nueva instancia de la clase DomText. El contenido del texto es el valor del parámetro pasado. Este nodo no sera mostrado en el documento a no ser que sea introducido por ejemplo con domnode_append_child().

El valor de retorno es FALSE si ocurre un error.

Vea también domnode_append_child(),
domdocument_create_element(),
domdocument_create_comment(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), y
domnode_insert_before().

Anterior | Inicio | Siguiente
DomDocument->create_processing_instruction | Subir | DomDocument->doctype


DomDocument->doctype

(no version information, might be only in CVS)

DomDocument->doctype -- Devuelve el tipo de documento

Descripción

domdocumenttype DomDocument->doctype ( void )

Esta función devuelve un objeto de la clase DomDocumentType. En versiones de PHP anteriores a 4.3, esta era la clase Dtd, pero el estándar DOM no conoce tal clase.

Vea también los métodos de la clase DomDocumentType.

Anterior | Inicio | Siguiente
DomDocument->create_text_node | Subir | DomDocument->document_element


DomDocument->document_element

(no version information, might be only in CVS)

DomDocument->document_element -- Devuelve el nodo del elemento raíz

Descripción

domelement DomDocument->document_element ( void )

Esta función devuelve el nodo de elemento raíz de un documento.

El siguiente ejemplo devuelve tan solo el elemento con nombre CHAPTER y lo imprime. El otro nodo -- el comentario -- no es devuelto.

Ejemplo 1. Recuperar el elemento raíz

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ha ocurrido un error al procesar el documento\n";
  exit;
}

$raiz = $dom->document_element();
print_r($raiz);
?>

El resultado del ejemplo seria:

domelement Object
(
    [type] => 1
    [tagname] => chapter
    [0] => 6
    [1] => 137960648
)

Anterior | Inicio | Siguiente
DomDocument->doctype | Subir | DomDocument->dump_file


DomDocument->dump_file

(no version information, might be only in CVS)

DomDocument->dump_file -- Vuelca el árbol XML interno de vuelta a un archivo

Descripción

string DomDocument->dump_file ( string nombre_archivo [, bool modo_compresion [, bool formato]] )

Crea un documento XML desde la representación dom. Esta función es llamada por lo general después de construir un nuevo documento dom desde ceros como en el ejemplo a continuación. El formato especifica si la salida debe tener un formato elegante, o no. El primer parámetro especifica el nombre del archivo y el segundo parámetro, si debe comprimirse o no.

Ejemplo 1. Creación de una cabecera de un documento HTML simple

<?php
$doc = domxml_new_doc("1.0");
$raiz = $doc->create_element("HTML");
$raiz = $doc->append_child($raiz);
$cabecera = $doc->create_element("HEAD");
$cabecera = $raiz->append_child($cabecera);
$titulo = $doc->create_element("TITLE");
$titulo = $cabecera->append_child($titulo);
$texto = $doc->create_text_node("Este es el t&iacute;tulo");
$texto = $titulo->append_child($texto);
$doc->dump_file("/tmp/prueba.xml", false, true);
?>

Vea también domdocument_dump_mem(), y domdocument_html_dump_mem().

Anterior | Inicio | Siguiente
DomDocument->document_element | Subir | DomDocument->dump_mem


DomDocument->dump_mem

(no version information, might be only in CVS)

DomDocument->dump_mem -- Vuelca el árbol XML interno de vuelta a una cadena

Descripción

string DomDocument->dump_mem ( [bool formato [, string codificacion]] )

Crea un documento XML desde la representación dom. Esta función es llamada por lo general después de construir un nuevo documento dom desde ceros como en el ejemplo a continuación. El formato especifica si la salida debe tener un formato elegante, o no.

Ejemplo 1. Creación de una cabecera de un documento HTML simple

<?php
$doc = domxml_new_doc("1.0");
$raiz = $doc->create_element("HTML");
$raiz = $doc->append_child($raiz);
$cabecera = $doc->create_element("HEAD");
$cabecera = $raiz->append_child($cabecera);
$titulo = $doc->create_element("TITLE");
$titulo = $cabecera->append_child($titulo);
$texto = $doc->create_text_node("This is the title");
$texto = $titulo->append_child($texto);
echo "<PRE>";
echo htmlentities($doc->dump_mem(true));
echo "</PRE>";
?>

Nota: El primer parámetro fue agregado en PHP 4.3.0.

Vea también domdocument_dump_file(), y domdocument_html_dump_mem().

Anterior | Inicio | Siguiente
DomDocument->dump_file | Subir | DomDocument->get_element_by_id


DomDocument->get_element_by_id

(no version information, might be only in CVS)

DomDocument->get_element_by_id -- Busca un elemento con cierto id

Descripción

domelement DomDocument->get_element_by_id ( string id )

Esta función es similar a domdocument_get_elements_by_tagname(), pero busca un elemento con un id dado. De acuerdo al estándar DOM, esto requiere un DTD que defina el atributo ID como de tipo ID, aunque la implementación actual simplemente realiza una búsqueda xpath por "//*[@ID = '%s']". Esto no es fiel al estándar DOM, el cual requiere que se devuelva un valor nulo si no se conoce cuál atributo es de tipo id. Es probable que este comportamiento sea corregido, de modo que no depende del modo que opera ahora.

Vea también domdocument_get_elements_by_tagname()

Anterior | Inicio | Siguiente
DomDocument->dump_mem | Subir | DomDocument->get_elements_by_tagname


DomDocument->get_elements_by_tagname

(no version information, might be only in CVS)

DomDocument->get_elements_by_tagname -- Devuelve una matriz de nodos con el nombre de etiqueta dado en el documento o una matriz vacía si no se encuentran

Descripción

array DomDocument->get_elements_by_tagname ( string nombre )

Vea también domdocument_add_root()

Anterior | Inicio | Siguiente
DomDocument->get_element_by_id | Subir | DomDocument->html_dump_mem


DomDocument->html_dump_mem

(no version information, might be only in CVS)

DomDocument->html_dump_mem -- Vuelca el árbol XML interno de vuelta a una cadena como HTML

Descripción

string DomDocument->html_dump_mem ( void )

Crea un documento HTML para la representación dom. Por lo general, esta función es llamada después de construier un nuevo documento dom desde ceros, como en el siguiente ejemplo.

Ejemplo 1. Creación de una cabecera de documento HTML simple

<?php

// Crea el documento
$doc = domxml_new_doc("1.0");
$raiz = $doc->create_element("html");
$raiz = $doc->append_child($raiz);
$cabecera = $doc->create_element("head");
$cabecera = $raiz->append_child($cabecera);
$titulo = $doc->create_element("title");
$titulo = $cabecera->append_child($titulo);

$texto = $doc->create_text_node("This is the title");
$texto = $titulo->append_child($texto);

echo $doc->html_dump_mem();
?>

El resultado del ejemplo seria:

<html><head><title>This is the title</title></head></html>

Vea también domdocument_dump_file(), y domdocument_html_dump_mem().

Anterior | Inicio | Siguiente
DomDocument->get_elements_by_tagname | Subir | DomDocument->xinclude


DomDocument->xinclude

(no version information, might be only in CVS)

DomDocument->xinclude -- Reemplaza sentencias XInclude en un Objeto DomDocument

Descripción

int DomDocument->xinclude ( void )

Esta función reemplaza elementos XInclude en un objeto DomDocument.

Ejemplo 1. Sustitución de elementos Xinclude

<?php

// include.xml contiene :
// <child>prueba</child>

$xml = '<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="include.xml">
    <xi:fallback>
      <error>xinclude: no se encontr&oacute; include.xml</error>
    </xi:fallback>
  </xi:include>
</root>';

$domxml = domxml_open_mem($xml);
$domxml->xinclude();

echo $domxml->dump_mem();

?>

El resultado del ejemplo seria:

<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <child>prueba</child>
</root>

Si include.xml no existe, usted verá:

<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <error>xinclude: no se encontr&oacute; include.xml</error>
</root>

Anterior | Inicio | Siguiente
DomDocument->html_dump_mem | Subir | DomDocumentType->entities()


DomDocumentType->entities()

(no version information, might be only in CVS)

DomDocumentType->entities() -- Devuelve una lista de entidades

Descripción

class DomDocumentType {

array entities ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Migración a PHP 5

Use la propiedad entities del objeto DOMDocumentType.

Anterior | Inicio | Siguiente
DomDocument->xinclude | Subir | DomDocumentType->internal_subset()


DomDocumentType->internal_subset()

(no version information, might be only in CVS)

DomDocumentType->internal_subset() -- Devuelve el sub-conjunto interno

Descripción

class DomDocumentType {

bool internal_subset ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Migración a PHP 5

Use la propiedad internalSubset del objeto DOMDocumentType.

Anterior | Inicio | Siguiente
DomDocumentType->entities() | Subir | DomDocumentType->name()


DomDocumentType->name()

(no version information, might be only in CVS)

DomDocumentType->name() -- Devuelve el nombre del tipo de documento

Descripción

class DomDocumentType {

string name ( void )

}

Esta función devuelve el nombre del tipo de documento.

Valores retornados

Devuelve el nombre del objeto DomDocumentType, como una cadena.

Ejemplos

Ejemplo 1. Obtener el nombre del tipo de documento

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
    echo "Ocurri&oacute; un error al interpretar el documento\n";
    exit;
}

$tipo_doc = $dom->doctype();
echo $tipo_doc->name(); // chapter

?>

Migración a PHP 5

Use la propiedad name del objeto DOMDocumentType.

Anterior | Inicio | Siguiente
DomDocumentType->internal_subset() | Subir | DomDocumentType->notations()


DomDocumentType->notations()

(no version information, might be only in CVS)

DomDocumentType->notations() -- Devuelve una lista de notaciones

Descripción

class DomDocumentType {

array notations ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Migración a PHP 5

Use la propiedad notations del objeto DOMDocumentType.

Anterior | Inicio | Siguiente
DomDocumentType->name() | Subir | DomDocumentType->public_id()


DomDocumentType->public_id()

(no version information, might be only in CVS)

DomDocumentType->public_id() -- Devuelve el id público del tipo de documento

Descripción

class DomDocumentType {

string public_id ( void )

}

Esta función devuelve el id público del tipo de documento.

Valores retornados

Devuelve el id público del objecto DomDocumentType, como una cadena.

Ejemplos

El siguiente ejemplo no produce ninguna salida.

Ejemplo 1. Recuperación del id público

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$tipo_doc = $dom->doctype();
echo $tipo_doc->public_id();
?>

Migración a PHP 5

Use la propiedad publicId del objeto DOMDocumentType.

Anterior | Inicio | Siguiente
DomDocumentType->notations() | Subir | DomDocumentType->system_id()


DomDocumentType->system_id()

(no version information, might be only in CVS)

DomDocumentType->system_id() -- Devuelve el id de sistema del tipo de documento

Descripción

class DomDocumentType {

string system_id ( void )

}

Devuelve el id de sistema del tipo de documento.

Valores retornados

Devuelve el id de sistema del objeto DomDocumentType, como una cadena.

Ejemplos

Ejemplo 1. Recuperación del id de sistema

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error mientras se analizaba el documento\n";
  exit;
}

$tipo_doc = $dom->doctype();
echo $tipo_doc->system_id();
?>

El resultado del ejemplo seria:

/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd

Migración a PHP 5

Use la propiedad systemId del objeto DOMDocumentType.

Anterior | Inicio | Siguiente
DomDocumentType->public_id() | Subir | DomElement->get_attribute_node()


DomElement->get_attribute_node()

(no version information, might be only in CVS)

DomElement->get_attribute_node() -- Devuelve el nodo del atributo dado

Descripción

class DomElement {

DomAttribute get_attribute_node ( string nombre )

}

Devuelve el nodo del atributo dado en el elemento actual.

Lista de parámetros

nombre

El nombre del atributo buscado. Este parámetro es sensible a mayúsculas/minúsculas.

Valores retornados

Devuelve el nodo del atributo como un objeto DomAttribute o FALSE si no se encuentra un atributo con el nombre dado.

Ejemplos

Ejemplo 1. Obtener un nodo de atributo

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
    echo "Ocurri&oacute; un error al interpretar el documento\n";
    exit;
}

$raiz = $dom->document_element();
if ($atributo = $raiz->get_attribute_node('language')) {
    echo 'El idioma es: ' . $atributo->value() . "\n";
}

?>

Migración a PHP 5

Use DOMElement->getAttributeNode().

Ver también

DomElement->get_attribute()
DomElement->set_attribute()

Anterior | Inicio | Siguiente
DomDocumentType->system_id() | Subir | DomElement->get_attribute()


DomElement->get_attribute()

(no version information, might be only in CVS)

DomElement->get_attribute() -- Devuelve el valor del atributo dado

Descripción

class DomElement {

string get_attribute ( string nombre )

}

Devuelve el valor del atributo dado en el elemento actual.

A partir de PHP 4.3, si no se encuentra un atributo con el nombre dado, se devuelve una cadena vacía.

Lista de parámetros

nombre

El nombre del atributo buscado. Este parámetro es sensible a mayúsculas/minúsculas.

Valores retornados

Devuelve el nombre del atributo como una cadena o una cadena vacía si no se encuentra un atributo con el nombre dado.

Ejemplos

Ejemplo 1. Obtener el valor de un atributo

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
    echo "Ocurri&oacute; un error al interpretar el documento\n";
    exit;
}

// obtener chapter
$raiz = $dom->document_element();
echo $raiz->get_attribute('language'); // en

?>

Migración a PHP 5

Use DOMElement->getAttribute().

Ver también

DomElement->get_attribute_node()
DomElement->set_attribute()

Anterior | Inicio | Siguiente
DomElement->get_attribute_node() | Subir | DomElement->get_elements_by_tagname()


DomElement->get_elements_by_tagname()

(no version information, might be only in CVS)

DomElement->get_elements_by_tagname() -- Obtiene elementos por el nombre de etiqueta

Descripción

class DomElement {

array get_elements_by_tagname ( string nombre )

}

Obtiene todos los sub-elementos con el nombre específico al interior del elemento actual.

Lista de parámetros

nombre

El nombre del elemento buscado.

Valores retornados

Devuelve una matriz de objetos DomElement.

Ejemplos

Ejemplo 1. Obtener el contenido

<?php
if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$raiz = $dom->document_element();

$matriz_nodos = $raiz->get_elements_by_tagname('element');

foreach ($matriz_nodos as $nodo) {
    echo ' - ' . $nodo->get_content() . "\n";
}

?>

Migración a PHP 5

Use DOMElement->getElementsByTagName().

Anterior | Inicio | Siguiente
DomElement->get_attribute() | Subir | DomElement->has_attribute()


DomElement->has_attribute()

(no version information, might be only in CVS)

DomElement->has_attribute() -- Verifica si un atributo existe en el nodo actual

Descripción

class DomElement {

bool has_attribute ( string nombre )

}

Esta función verifica si un atributo con el nombre dado existe en el nodo actual.

Lista de parámetros

nombre

El nombre del atributo probado.

Valores retornados

Devuelve TRUE si el atributo solicitado existe, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Probar la existencia de un atributo

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
    echo "Ocurri&oacute; un error al interpretar el documento\n";
    exit;
}

$raiz = $dom->document_element();

$bufer = '<html';
if ($raiz->has_attribute('language')) {
    $buffer .= 'lang="' . $raiz->get_attribute('language') . '"';
}
$bufer .= '>';

?>

Migración a PHP 5

Use DOMElement->hasAttribute().

Anterior | Inicio | Siguiente
DomElement->get_elements_by_tagname() | Subir | DomElement->remove_attribute()


DomElement->remove_attribute()

(no version information, might be only in CVS)

DomElement->remove_attribute() -- Elimina un atributo

Descripción

class DomElement {

bool remove_attribute ( string nombre )

}

Elimina un atributo del nodo DomElement actual.

Lista de parámetros

nombre

El nombre del atributo a eliminar.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Migración a PHP 5

Use DOMElement->removeAttribute().

Anterior | Inicio | Siguiente
DomElement->has_attribute() | Subir | DomElement->set_attribute_node()


DomElement->set_attribute()

(no version information, might be only in CVS)

DomElement->set_attribute() -- Define el valor de un atributo

Descripción

class DomElement {

DomAttribute set_attribute ( string nombre, string valor )

}

Define un atributo con el nombre nombre con el valor dado.

Lista de parámetros

nombre

El nombre del atributo. Si este atributo no existe, será creado.

valor

El valor del atributo.

Valores retornados

Devuelve el nodo DomAttribute antiguo, o el nuevo si está creando el atributo por primera vez.

Ejemplos

Ejemplo 1. Definición de un atributo

<?php
$doc = domxml_new_doc("1.0");
$nodo = $doc->create_element("para");
$nodo_nuevo = $doc->append_child($nodo);
$nodo_nuevo->set_attribute("align", "left");
?>

Migración a PHP 5

Use DOMElement->setAttribute().

Ver también

DomElement->get_attribute_node()
DomElement->get_attribute()

Anterior | Inicio | Siguiente
DomElement->set_attribute_node() | Subir | DomElement->tagname()


DomElement->tagname()

(no version information, might be only in CVS)

DomElement->tagname() -- Devuelve el nombre del elemento actual

Descripción

class DomElement {

string tagname ( void )

}

Devuelve el nombre del nodo actual. Llamar esta función es equivalente a acceder a la propiedad tagname, o llamar DomNode->node_name en el nodo actual.

Valores retornados

Devuelve el nombre del nodo DomElement actual.

Ejemplos

Ejemplo 1. Obtener el nombre del nodo

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
    echo "Ocurri&oacute; un error al interpretar el documento\n";
    exit;
}

$raiz = $dom->document_element();
echo $raiz->tagname();   // chapter
echo $raiz->tagname;     // chapter
echo $raiz->node_name(); // chapter

?>

Migración a PHP 5

Use la propiedad tagName del objeto DOMElement.

Anterior | Inicio | Siguiente
DomElement->set_attribute() | Subir | DomNode->add_namespace


DomNode->add_namespace

(no version information, might be only in CVS)

DomNode->add_namespace -- Agrega una declaración de espacio de nombres a un nodo

Descripción

class DOMNode {

bool add_namespace ( string uri, string prefijo )

}

Este método agrega una declaración de espacio de nombres a un nodo.

Nota: Este método no es parte de la especificación DOM.

Lista de parámetros

uri

El URI de espacio de nombres del nodo.

prefijo

El prefijo de espacio de nombres del nodo.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Migración a PHP 5

Es posible definir el URI y prefijo de espacio de nombres de un DOMElement o un DOMAttr en tiempo de creación usando DOMDocument->createElementNS() o DOMDocument->createAttributeNS().

Nota: Recuerde que un atributo no hereda su espacio de nombres del elemento al que está adjunto.

Ver también

DomDocument->create_element_ns
DomNode->set_namespace

Anterior | Inicio | Siguiente
DomElement->tagname() | Subir | DomNode->append_child


DomNode->append_child

(no version information, might be only in CVS)

DomNode->append_child -- Agrega un nuevo hijo al final del grupo de hijos

Descripción

class DOMNode {

DOMNode append_child ( DOMNode nodo_nuevo )

}

Esta función agrega un hijo a una lista existente de hijos o crea una nueva lista de hijos.

Lista de parámetros

nodo_nuevo

El nodo que está siendo agregado. Puede ser creado p.ej. con DomDocument->create_element, DomDocument->create_text_node etc. o simplemente usando cualquier otro nodo.

Nota: No es posible agregar un DOMAttribute usando este método. Use DomElement->set_attribute() en su lugar.

Valores retornados

Devuelve el nodo agregado en caso de éxito, o FALSE si ocurre un error.

Registro de cambios

Versión | Descripción
4.3.0 | Ya no es posible insertar un nodo desde otro documento.
4.3.0 | Antes de PHP 4.3.0, el nuevo hijo es duplicado antes de agregarse. Por lo tanto el nuevo hijo es una nueva copia que puede ser modificada sin cambiar el nodo que fue pasado a esta función. Si el nodo pasado tiene hijos, ellos serán duplicados también, lo que facilita la duplicación de grandes segmentos de un documento XML. El valor de retorno es el hijo agregado. Si planea realizar modificaciones posteriores sobre el hijo agregado, debe usar el nodo devuelto.
4.3.0 y 4.3.1 | El nuevo hijo nodo_nuevo es separado primero de su contexto actual, si ya se trata de un hijo de DomNode. Por lo tanto el nodo_nuevo es movido y no copiado. Este es el comportamiento de acuerdo a las especificaciones del W3C. Si necesita el comportamiento antiguo, use DomNode->clone_node antes de agregar.
4.3.2 | El nuevo hijo nodo_nuevo es primero separado de su contexto actual, si éste ya existe en el árbol. Se aplican las mismas reglas.

Ejemplos

El siguiente ejemplo agrega un nuevo nodo tipo elemento a un documento nuevo y define el atributo align como left.

Ejemplo 1. Agregar un hijo

<?php
$doc = domxml_new_doc("1.0");
$nodo = $doc->create_element("para");
$nodo_nuevo = $doc->append_child($nodo);
$nodo_nuevo->set_attribute("align", "left");
?>

El anterior ejemplo pudo ser escrito también como:

Ejemplo 2. Agregar un hijo

<?php
$doc = domxml_new_doc("1.0");
$nodo = $doc->create_element("para");
$nodo->set_attribute("align", "left");
$nodo_nuevo = $doc->append_child($nodo);
?>

Un ejemplo más complejo se presenta a continuación. Primero busca cierto elemento, lo duplica incluyendo sus hijos y lo agrega como un hermano. Finalmente un nuevo atributo es agregado a uno de los hijos del nuevo hermano y el documento completo es volcado.

Ejemplo 3. Agregar un hijo

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$elementos = $dom->get_elements_by_tagname("informaltable");
print_r($elementos);
$elemento = $elementos[0];

$padre = $elemento->parent_node();
$nodo_nuevo = $padre->append_child($elemento);
$hijos = $nodo_nuevo->children();
$atr = $hijos[1]->set_attribute("align", "left");

$archivo_xml = $dom->dump_mem();
echo htmlentities($archivo_xml);
?>

El ejemplo anterior pudo escribirse también con DomNode->insert_before en lugar de DomNode->append_child.

Migración a PHP 5

Debe usar DOMNode->appendChild().

Ver también

DomNode->insert_before
DomNode->clone_node

Anterior | Inicio | Siguiente
DomNode->add_namespace | Subir | DomNode->append_sibling


DomNode->append_sibling

(no version information, might be only in CVS)

DomNode->append_sibling -- Agrega un nuevo hermano a un nodo

Descripción

domelement DomNode->append_sibling ( domelement nodo_nuevo )

Esta función agrega un hermano a un nodo existente. El hijo puede ser creado, por ejemplo, con domdocument_create_element(), domdocument_create_text() etc. o simplemente mediante el uso de otro nodo.

Antes de que un nuevo hermano sea agregado, éste es duplicado. Por lo tanto, el nuevo hijo es una copia completamente nueva que puede modificarse sin cambiar el nodo que fue pasado a ésta función. Si el nodo pasado tiene hijos, ellos serán duplicados también, lo que facilita enormemente la duplicación de partes grandes de un documento XML. El valor de retorno es el hermano agregado. Si planea hacer modificaciones posteriores al hermano agregado, debe usar el nodo devuelto.

Esta función ha sido agregada para ofrecer el comportamiento de domnode_append_child(), del modo que funcionaba hasta PHP 4.2.

Vea también domnode_append_before().

Anterior | Inicio | Siguiente
DomNode->append_child | Subir | DomNode->attributes


DomNode->attributes

(no version information, might be only in CVS)

DomNode->attributes -- Devuelve la lista de atributos

Descripción

array DomNode->attributes ( void )

Esta función solo devuelve una matriz de atributos si el nodo es de tipo XML_ELEMENT_NODE.

(Sólo PHP >= 4.3) Si no se encuentran atributos, se devuelve NULL.

Anterior | Inicio | Siguiente
DomNode->append_sibling | Subir | DomNode->child_nodes


DomNode->child_nodes

(no version information, might be only in CVS)

DomNode->child_nodes -- Devuelve los hijos del nodo

Descripción

array DomNode->child_nodes ( void )

Devuelve todos los hijos del nodo.

Vea también domnode_next_sibling(), y domnode_previous_sibling().

Anterior | Inicio | Siguiente
DomNode->attributes | Subir | DomNode->clone_node


DomNode->clone_node

(no version information, might be only in CVS)

DomNode->clone_node -- Clona un nodo

Descripción

domelement DomNode->clone_node ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DomNode->child_nodes | Subir | DomNode->dump_node


DomNode->dump_node

(no version information, might be only in CVS)

DomNode->dump_node -- Vuelca un nodo único

Descripción

string DomNode->dump_node ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Vea también domdocument_dump_mem().

Anterior | Inicio | Siguiente
DomNode->clone_node | Subir | DomNode->first_child


DomNode->first_child

(no version information, might be only in CVS)

DomNode->first_child -- Devuelve el primer hijo del nodo

Descripción

domelement DomNode->first_child ( void )

Devuelve el primer hijo del nodo.

(Sólo PHP >= 4.3) Si no se encuentra un hijo, se devuelve NULL.

Vea también domnode_last_child(), y
domnode_next_sibling(),
domnode_previous_sibling().

Anterior | Inicio | Siguiente
DomNode->dump_node | Subir | DomNode->get_content


DomNode->get_content

(no version information, might be only in CVS)

DomNode->get_content -- Obtiene el contenido del nodo

Descripción

string DomNode->get_content ( void )

Esta función devuelve el contenido del nodo mismo.

Ejemplo 1. Obtener el contenido

<?php
if (!$dom = domxml_open_mem($codena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$raiz = $dom->document_element();

$matriz_nodos = $raiz->get_elements_by_tagname("element");

for ($i = 0; $i<count($matriz_nodos); $i++) {
    $nodo = $matriz_nodos[$i];
    echo "El elemento[$i] is: " . $nodo->get_content();
}

?>

Anterior | Inicio | Siguiente
DomNode->first_child | Subir | DomNode->has_attributes


DomNode->has_attributes

(no version information, might be only in CVS)

DomNode->has_attributes -- Verifica si un nodo tiene atributos

Descripción

bool DomNode->has_attributes ( void )

Esta función verifica si el nodo tiene atributos.

Vea también domnode_has_child_nodes().

Anterior | Inicio | Siguiente
DomNode->get_content | Subir | DomNode->has_child_nodes


DomNode->has_child_nodes

(no version information, might be only in CVS)

DomNode->has_child_nodes -- Verifica si el nodo tiene hijos

Descripción

bool DomNode->has_child_nodes ( void )

Esta función verifica si el nodo tiene hijos.

Vea también domnode_child_nodes().

Anterior | Inicio | Siguiente
DomNode->has_attributes | Subir | DomNode->insert_before


DomNode->insert_before

(no version information, might be only in CVS)

DomNode->insert_before -- Inserta un nodo nuevo como hijo

Descripción

domelement DomNode->insert_before ( domelement nodo_nuevo, domelement nodo_ref )

Esta función inserta el nuevo nodo, nodo_nuevo, justo antes del nodo nodo_ref. El valor de retorno es el nodo insertado. Si planea hacer modificaciones posteriores sobre el hijo agregado, debe usar el nodo devuelto.

(Sólo PHP >= 4.3) Si nodo_nuevo ya es parte de un documento, será primero desenlazado de su contexto actual. Si nodo_ref es NULL, entonces nodo_nuevo será insertado al final de la lista de hijos.

domnode_insert_before() es bastante similar a domnode_append_child() como muestra el siguiente ejemplo, el cual hace lo mismo que el ejemplo en domnode_append_child().

Ejemplo 1. Agregar un hijo

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$elementos = $dom->get_elements_by_tagname("informaltable");
print_r($elementos);
$elemento = $elementos[0];

$nodo_nuevo = $elemento->insert_before($elemento, $elemento);
$hijos = $nodo_nuevo->children();
$atr = $hijos[1]->set_attribute("align", "left");

echo "<pre>";
$archivo_xml = $dom->dump_mem();
echo htmlentities($archivo_xml);
echo "</pre>";
?>

Vea también domnode_append_child().

Anterior | Inicio | Siguiente
DomNode->has_child_nodes | Subir | DomNode->is_blank_node


DomNode->is_blank_node

(no version information, might be only in CVS)

DomNode->is_blank_node -- Verifica si el nodo está en blanco

Descripción

bool DomNode->is_blank_node ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DomNode->insert_before | Subir | DomNode->last_child


DomNode->last_child

(no version information, might be only in CVS)

DomNode->last_child -- Devuelve el último hijo del nodo

Descripción

domelement DomNode->last_child ( void )

Devuelve el último hijo del nodo.

(Sólo PHP >= 4.3) Si no se encuentra un último hijo, se devuelve NULL.

Vea también domnode_first_child(), y
domnode_next_sibling(),
domnode_previous_sibling().

Anterior | Inicio | Siguiente
DomNode->is_blank_node | Subir | DomNode->next_sibling


DomNode->next_sibling

(no version information, might be only in CVS)

DomNode->next_sibling -- Devuelve el siguiente hermano del nodo

Descripción

domelement DomNode->next_sibling ( void )

Esta función devuelve el siguiente hermano del nodo actual. Si no hay un siguiente hermano, devuelve FALSE (< 4.3) o null (>= 4.3). Es posible usar esta función para iterar sobre los hijos de un nodo, como se muestra en el ejemplo a continuación.

Ejemplo 1. Iterar sobre los hijos

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$elementos = $dom->get_elements_by_tagname("tbody");
$elemento = $elementos[0];
$hijo = $elemento->first_child();

while ($hijo) {
   print_r($hijo);
   $hijo = $hijo->next_sibling();
}
?>

Vea también domnode_previous_sibling().

Anterior | Inicio | Siguiente
DomNode->last_child | Subir | DomNode->node_name


DomNode->node_name

(no version information, might be only in CVS)

DomNode->node_name -- Devuelve el nombre del nodo

Descripción

string DomNode->node_name ( void )

Devuelve el nombre del nodo. El nombre tiene significados diferentes para los diferentes tipos de nodo, como se ilustra en la siguiente tabla.

Tabla 1. Significado de valores

Tipo | Significado
DomAttribute | valor del atributo
DomAttribute |
DomCDataSection | sección-#cdata
DomComment | #comment
DomDocument | #document
DomDocumentType | nombre del tipo de documento
DomElement | nombre de la etiqueta
DomEntity | nombre de la entidad
DomEntityReference | nombre de referencia a entidad
DomNotation | nombre de notación
DomProcessingInstruction | destino
DomText | #text

Anterior | Inicio | Siguiente
DomNode->next_sibling | Subir | DomNode->node_type


DomNode->node_type

(no version information, might be only in CVS)

DomNode->node_type -- Devuelve el tipo de nodo

Descripción

int DomNode->node_type ( void )

Devuelve el tipo del nodo. Todos los tipos posibles son listados en la tabla de la introducción.

Ejemplo 1.

<?php

include 'ejemplo.inc';

$dom = domxml_open_mem($cadena_xml);

$capitulo = $dom->document_element();

// Veamos los elementos contenidos en capitulo
foreach($capitulo->child_nodes() as $nodo) {
  if ($nodo->node_type() == XML_ELEMENT_NODE) {
    echo $nodo->node_name() . "\n";
  }
}

?>

El resultado del ejemplo seria:

title
para

Anterior | Inicio | Siguiente
DomNode->node_name | Subir | DomNode->node_value


DomNode->node_value

(no version information, might be only in CVS)

DomNode->node_value -- Devuelve el valor de un nodo

Descripción

string DomNode->node_value ( void )

Devuelve el valor del nodo. El valor tiene significados diferentes para los diferentes tipos de nodos, como se ilustra en la siguiente tabla.

Tabla 1. Significado de valores

Tipo | Significado
DomAttribute | valor del atributo
DomAttribute |
DomCDataSection | contenido
DomComment | contenido del comentario
DomDocument | null
DomDocumentType | null
DomElement | null
DomEntity | null
DomEntityReference | null
DomNotation | null
DomProcessingInstruction | contenido completo sin destino
DomText | contenido del texto

Anterior | Inicio | Siguiente
DomNode->node_type | Subir | DomNode->owner_document


DomNode->owner_document

(no version information, might be only in CVS)

DomNode->owner_document -- Devuelve el documento al que este nodo pertenece

Descripción

domdocument DomNode->owner_document ( void )

Esta función devuelve el documento al que pertenece el nodo actual.

El siguiente ejemplo creará dos listas idénticas de hijos.

Ejemplo 1. Encontrar el documento de un nodo

<?php
$doc = domxml_new_doc("1.0");
$nodo = $doc->create_element("para");
$nodo = $doc->append_child($nodo);
$hijos = $doc->children();
print_r($hijos);

$doc2 = $nodo->owner_document();
$hijos = $doc2->children();
print_r($hijos);
?>

Vea también domnode_insert_before().

Anterior | Inicio | Siguiente
DomNode->node_value | Subir | DomNode->parent_node


DomNode->parent_node

(no version information, might be only in CVS)

DomNode->parent_node -- Devuelve el padre del nodo

Descripción

domnode DomNode->parent_node ( void )

Esta función devuelve el nodo padre.

(Sólo PHP >= 4.3) Si no se encuentra un padre, se devuelve NULL.

El siguiente ejemplo mostrará dos listas idénticas de hijos.

Ejemplo 1. Encontrar el documento de un nodo

<?php
$doc = domxml_new_doc("1.0");
$nodo = $doc->create_element("para");
$nodo = $doc->append_child($nodo);
$hijos = $doc->children();
print_r($hijos);

$doc2 = $nodo->parent_node();
$hijos = $doc2->children();
print_r($hijos);
?>

Anterior | Inicio | Siguiente
DomNode->owner_document | Subir | DomNode->prefix


DomNode->prefix

(no version information, might be only in CVS)

DomNode->prefix -- Devuelve el prefijo de espacio de nombres del nodo

Descripción

string DomNode->prefix ( void )

Devuelve el prefijo de espacio de nombres del nodo.

Anterior | Inicio | Siguiente
DomNode->parent_node | Subir | DomNode->previous_sibling


DomNode->previous_sibling

(no version information, might be only in CVS)

DomNode->previous_sibling -- Devuelve el hermano anterior del nodo

Descripción

domelement DomNode->previous_sibling ( void )

Esta función devuelve el hermano anterior del nodo actual. Si no hay un hermano anterior, devuelve FALSE (< 4.3) o NULL (>= 4.3). Es posible usar esta función para iterar a través de los hijos de un nodo, como se muestra en el ejemplo.

Vea también domnode_next_sibling().

Anterior | Inicio | Siguiente
DomNode->prefix | Subir | DomNode->remove_child


DomNode->remove_child

(no version information, might be only in CVS)

DomNode->remove_child -- Elimina un hijo de una lista de hijos

Descripción

domtext DomNode->remove_child ( domtext hijo_antiguo )

Esta función elimina un hijo de una lista de hijos. Si el hijo no puede ser eliminado, o no es un hijo, la función devuelve FALSE. Si el hijo puede ser eliminado, la función devuelve el hijo antiguo.

Ejemplo 1. Eliminar un hijo

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$elementos = $dom->get_elements_by_tagname("tbody");
$elemento = $elementos[0];
$hijos = $elemento->child_nodes();
$hijo = $elemento->remove_child($hijos[0]);

echo "<PRE>";
$archivo_xml = $dom->dump_mem(true);
echo htmlentities($archivo_xml);
echo "</PRE>";
?>

Vea también domnode_append_child().

Anterior | Inicio | Siguiente
DomNode->previous_sibling | Subir | DomNode->replace_child


DomNode->replace_child

(no version information, might be only in CVS)

DomNode->replace_child -- Reemplaza un hijo

Descripción

domelement DomNode->replace_child ( domelement nodo_nuevo, domelement nodo_antiguo )

(PHP 4.2) Esta función reemplaza el hijo nodo_antiguo con el nuevo nodo pasado. Si el nuevo nodo ya es un hijo, no será agregado una segunda vez. Si el nodo antiguo no puede encontrarse, la función devuelve FALSE. Si el reemplazo tiene éxito, se devuelve el nodo antiguo.

(PHP 4.3) Esta función reemplaza el hijo nodo_antiguo con el nodo_nuevo pasado, incluso si el nuevo nodo ya es un hijo del DomNode. Si nodo_nuevo ya había sido insertado en el documento, primero es desenlazado de su contexto actual. Si el nodo antiguo no puede ser encontrado, la función devuelve FALSE. Si el reemplazo tiene éxito, se devuelve el nodo antiguo. (Este comportamiento sigue las especificaciones del W3C).

Vea también domnode_append_child()

Anterior | Inicio | Siguiente
DomNode->remove_child | Subir | DomNode->replace_node


DomNode->replace_node

(no version information, might be only in CVS)

DomNode->replace_node -- Reemplaza el nodo

Descripción

domelement DomNode->replace_node ( domelement nodo_nuevo )

(PHP 4.2) Esta función reemplaza un nodo existente con el nuevo nodo pasado. Antes del reemplazo, nodo_nuevo es copiado si tiene un padre, para asegurarse de que un nodo que ya esté en el documento no sea insertado una segunda vez. Este comportamiento obliga a hacer todas las modificaciones en el nodo antes del reemplazo, o retomar el nodo insertado después con funciones como domnode_first_child(), domnode_child_nodes() etc..

(PHP 4.3) Esta función reemplaza un nodo existente con el nuevo nodo pasado. No sigue siendo copiado. Si nodo_nuevo ya había sido insertado en el documento, es primero despojado del enlace con su contexto actual. Si el reemplazo tiene éxito, se devuelve el nodo antiguo.

Vea también domnode_append_child()

Anterior | Inicio | Siguiente
DomNode->replace_child | Subir | DomNode->set_content


DomNode->set_content

(no version information, might be only in CVS)

DomNode->set_content -- Define el contenido del nodo

Descripción

bool DomNode->set_content ( string contenido )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DomNode->replace_node | Subir | DomNode->set_name


DomNode->set_name

(no version information, might be only in CVS)

DomNode->set_name -- Define el nombre del nodo

Descripción

bool DomNode->set_name ( void )

Define el nombre del nodo.

Vea también domnode_node_name().

Anterior | Inicio | Siguiente
DomNode->set_content | Subir | DomNode->set_namespace


DomNode->set_namespace

(no version information, might be only in CVS)

DomNode->set_namespace -- Define el espacio de nombres de un nodo

Descripción

void DomNode->set_namespace ( string uri [, string prefijo] )

Define el espacio de nombres de un nodo a uri. Si ya existe una declaración de espacio de nombres con el mismo uri en uno de los nodos padres del nodo, tal prefijo será tomado, de lo contrario tomará aquél indicado en el parámetro opcional prefijo o generará uno aleatorio.

Vea también domdocument_create_element_ns(), y domnode_add_namespace()

Anterior | Inicio | Siguiente
DomNode->set_name | Subir | DomNode->unlink_node


DomNode->unlink_node

(no version information, might be only in CVS)

DomNode->unlink_node -- Elimina el nodo

Descripción

void DomNode->unlink_node ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DomNode->set_namespace | Subir | DomProcessingInstruction->data


DomProcessingInstruction->data

(no version information, might be only in CVS)

DomProcessingInstruction->data -- Devuelve los datos de un nodo ProcessingInstruction

Descripción

class DomProcessingInstruction {

string data ( void )

}

Este método obtiene los datos del nodo ProcessingInstruction.

Valores retornados

Devuelve los datos de la Instrucción de Procesamiento.

Migración a PHP 5

Use la propiedad data de DOMProcessingInstruction.

Anterior | Inicio | Siguiente
DomNode->unlink_node | Subir | DomProcessingInstruction->target


DomProcessingInstruction->target

(no version information, might be only in CVS)

DomProcessingInstruction->target -- Devuelve el destino de un nodo ProcessingInstruction

Descripción

class DomProcessingInstruction {

string target ( void )

}

Este método obtiene el destino del nodo ProcessingInstruction.

Valores retornados

Devuelve el destino de la Instrucción de Procesamiento.

Migración a PHP 5

Use la propiedad target de DOMProcessingInstruction.

Anterior | Inicio | Siguiente
DomProcessingInstruction->data | Subir | DomXsltStylesheet->process()


DomXsltStylesheet->process()

(no version information, might be only in CVS)

DomXsltStylesheet->process() -- Aplica la Transformación XSLT sobre un objeto DomDocument

Descripción

class DomXsltStylesheet {

DomDocument process ( DomDocument doc_xml [, array params_xslt [, bool es_param_xpath [, string nombre_archivo_perfil]]] )

}

Aplica una Transformación XSLT sobre el objeto DomDocument dado.

Lista de parámetros

doc_xml

El documento XML a ser transformado, como un objeto DomDocument.

params_xslt

Una matriz asociativa que toma parejas de nombres de parámetro y valores.

es_param_xpath

Si su valor es FALSE los valores de params_xslt serán rodeados de comillas. Este es el comportamiento predeterminado. Le permite pasar valores como cadenas PHP.

Nota: Si sus cadenas contienen tanto comillas sencillas como dobles, debe cuidarse de rodear de comillas todos los valores usted mismo y definir este parámetro como TRUE.

nombre_archivo_perfil

Defina este parámetro con la ruta de un nombre de archivo, si desea información de parametrización.

Valores retornados

Devuelve el resultado del procesamiento, como un objeto DomDocument.

Migración a PHP 5

Use XSLTProcessor::setParameter y XSLTProcessor::transformToDoc.

Registro de cambios

Versión | Descripción
4.3.0 | Fue agregado el parámetro nombre_archivo_perfil.

Ver también

domxml_xslt_stylesheet()
domxml_xslt_stylesheet_file()
domxml_xslt_stylesheet_doc()

Anterior | Inicio | Siguiente
DomProcessingInstruction->target | Subir | DomXsltStylesheet->result_dump_file()


DomXsltStylesheet->result_dump_file()

(no version information, might be only in CVS)

DomXsltStylesheet->result_dump_file() -- Vuelca el resultado de una Transformación XSLT a un archivo

Descripción

class DomXsltStylesheet {

string result_dump_file ( DomDocument doc_xml, string nombre_archivo )

}

Dado que DomXsltStylesheet->process() siempre devuelve un DomDocument XML bien formado, sin importar el método de salida declarado en <xsl:output> y atributos o elementos similares, no es de mucha utilidad si desea generar datos HTML 4 o de texto.

Por otra parte, esta función honra <xsl:output method="html|text"> y otras directivas de control de salida. Vea el ejemplo para más información sobre su uso.

Ejemplos

Ejemplo 1. Guardar el resultado de una transformción XSLT en un archivo

<?php
$nombre_archivo = "stylesheet.xsl";
$doc_xml = domxml_open_file("datos.xml");
$doc_xsl = domxml_xslt_stylesheet_file($nombre_archivo);
$resultado = $doc_xsl->process($doc_xml);
echo $doc_xsl->result_dump_file($resultado, "nombre_archivo");
?>

Ver también

DomXsltStylesheet->result_dump_mem()
DomXsltStylesheet->process()

Anterior | Inicio | Siguiente
DomXsltStylesheet->process() | Subir | DomXsltStylesheet->result_dump_mem()


DomXsltStylesheet->result_dump_mem()

(no version information, might be only in CVS)

DomXsltStylesheet->result_dump_mem() -- Vuelca el resultado de una Transformación XSLT de vuelta a una cadena

Descripción

class DomXsltStylesheet {

string result_dump_mem ( DomDocument doc_xml )

}

Dado que DomXsltStylesheet->process() siempre devuelve un DomDocument XML bien formado, sin importar el método de salida declarado en <xsl:output> y atributos o elementos similares, no es de mucha utilidad si desea generar datos HTML 4 o de texto.

Por otra parte, esta función honra <xsl:output method="html|text"> y otras directivas de control de salida. Vea el ejemplo para más información sobre su uso.

Ejemplos

Ejemplo 1. Imprimir el resultado de una transformación XSLT

<?php
$nombre_archivo = "stylesheet.xsl";
$doc_xml = domxml_open_file("datos.xml");
$doc_xsl = domxml_xslt_stylesheet_file($nombre_archivo);
$resultado = $doc_xsl->process($doc_xml);
echo $doc_xsl->result_dump_mem($resultado);
?>

Ver también

DomXsltStylesheet->result_dump_file()
DomXsltStylesheet->process()

Anterior | Inicio | Siguiente
DomXsltStylesheet->result_dump_file() | Subir | domxml_new_doc


domxml_new_doc

(PHP 4 >= 4.2.1, PECL)

domxml_new_doc -- Crea un nuevo documento XML vacío

Descripción

DomDocument domxml_new_doc ( string version )

Crea un nuevo documento Dom desde ceros y lo devuelve.

Lista de parámetros

version

El número de versión XML del documento.

Valores retornados

Devuelve una nueva instancia DomDocument.

Anterior | Inicio | Siguiente
DomXsltStylesheet->result_dump_mem() | Subir | domxml_open_file


domxml_open_file

(PHP 4 >= 4.2.1, PECL)

domxml_open_file -- Crea un objeto DOM a partir de un archivo XML

Descripción

DomDocument domxml_open_file ( string nombre_archivo [, int modo [, array &error]] )

Esta función analiza el documento XML en el archivo dado.

Lista de parámetros

nombre_archivo

La ruta al archivo XML. El archivo es accesado en modo de sólo-lectura.

modo

Este parámetro opcional puede ser usado para modificar el comportamiento de esta función.

Puede usar una de las siguientes constantes para este parámetro: DOMXML_LOAD_PARSING (predeterminado), DOMXML_LOAD_VALIDATING o DOMXML_LOAD_RECOVERING. También puede agregar DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES y DOMXML_LOAD_COMPLETE_ATTRS con una operación OR de bits.

error

Si se usa, contendrá los mensajes de error. error debe ser pasado por referencia.

Valores retornados

Devuelve una instancia DomDocument del archivo dado.

Ejemplos

Ejemplo 1. Apertura de un documento XML desde un archivo

<?php

if (!$dom = domxml_open_file("ejemplo.xml")) {
  echo "Ocurri&oacute; un error al analizar el documento\n";
  exit;
}

$raiz = $dom->document_element();
?>

Registro de cambios

Versión | Descripción
4.3.0 | Fueron agregados los parámetros modo y error.

Ver también

domxml_open_mem()
domxml_new_doc()

Anterior | Inicio | Siguiente
domxml_new_doc | Subir | domxml_open_mem


domxml_open_mem

(PHP 4 >= 4.2.1, PECL)

domxml_open_mem -- Crea un objeto DOM desde un documento XML

Descripción

DomDocument domxml_open_mem ( string cadena [, int modo [, array &error]] )

Esta función analiza el documento XML en la cadena dada.

Lista de parámetros

cadena

Los contenidos del archivo XML.

modo

Este parámetro opcional puede ser usado para modificar el comportamiento de esta función.

Es posible usar una de las siguientes constantes para este parámetro: DOMXML_LOAD_PARSING (predeterminada), DOMXML_LOAD_VALIDATING o DOMXML_LOAD_RECOVERING. También es posible agregar DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES y DOMXML_LOAD_COMPLETE_ATTRS mediante la operación ó de bits.

error

Si es usado, contendrá los mensajes de error. error debe ser pasado por referencia.

Valores retornados

Devuelve una instancia DomDocument del contenido XML dado.

Ejemplos

Ejemplo 1. Apertura de un documento XML desde una cadena

<?php
include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
  echo "Ocurri&oacute;n un error al analizar el documento\n";
  exit;
}

$raiz = $dom->document_element();
?>

Ver también

domxml_open_file()
domxml_new_doc()

Anterior | Inicio | Siguiente
domxml_open_file | Subir | domxml_version


domxml_version

(PHP 4 >= 4.1.0, PECL)

domxml_version -- Obtiene la versión de la biblioteca XML

Descripción

string domxml_version ( void )

Obtiene la versión de la biblioteca XML usada actualmente.

Valores retornados

La versión de la biblioteca XML, como una cadena.

Ejemplos

Ejemplo 1. Ejemplo de domxml_version()

<?php

echo domxml_version();

?>

El resultado del ejemplo seria algo similar a:

20607

Anterior | Inicio | Siguiente
domxml_open_mem | Subir | domxml_xmltree


domxml_xmltree

(PHP 4 >= 4.2.1, PECL)

domxml_xmltree -- Crea un árbol de objetos PHP a partir de un documento XML

Descripción

DomDocument domxml_xmltree ( string cadena )

La función analiza el documento XML en cadena y devuelve un árbol de objetos PHP como el documento interpretado.

Esta función se encuentra separada de las demás, lo que quiere decir que no puede acceder al árbol con cualquiera de las otras funciones. Modificarlo, por ejemplo agregando nodos, no tiene sentido ya que no hay forma de volcar el resultado como un archivo XML.

Sin embargo, esta función puede resultar útil si quiere leer un archivo y consultar su contenido.

Lista de parámetros

cadena

El contenido del archivo XML.

Valores retornados

Devuelve un árbol de objetos Dom comenzando por un DomDocument.

Anterior | Inicio | Siguiente
domxml_version | Subir | domxml_xslt_stylesheet_doc


domxml_xslt_stylesheet_doc

(PHP 4 >= 4.2.0, PECL)

domxml_xslt_stylesheet_doc -- Crea un Objeto DomXsltStylesheet a partir de un Objeto DomDocument

Descripción

DomXsltStylesheet domxml_xslt_stylesheet_doc ( DomDocument doc_xsl )

Crea un objeto DomXsltStylesheet desde el documento XSL dado.

Lista de parámetros

doc_xsl

El documento XSL, como un objeto DomDocument.

Valores retornados

Devuelve una nueva instancia de DomXsltStylesheet.

Migración a PHP 5

Llame XSLTProcessor::importStylesheet con el parámetro xsl_doc.

Ver también

DomXsltStylesheet->process()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_file()

Anterior | Inicio | Siguiente
domxml_xmltree | Subir | domxml_xslt_stylesheet_file


domxml_xslt_stylesheet_file

(PHP 4 >= 4.2.0, PECL)

domxml_xslt_stylesheet_file -- Crea un Objeto DomXsltStylesheet a partir de un documento XSL en un archivo

Descripción

DomXsltStylesheet domxml_xslt_stylesheet_file ( string archivo_xsl )

Crea un objeto DomXsltStylesheet desde el archivo XSL dado.

Lista de parámetros

archivo_xsl

La ruta al documento XSL, como una cadena.

Valores retornados

Devuelve una nueva instancia de DomXsltStylesheet.

Migración a PHP 5

Llame XSLTProcessor::importStylesheet con DOMDocument::load($archivo_xsl) como parámetro.

Ver también

DomXsltStylesheet->process()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_doc()

Anterior | Inicio | Siguiente
domxml_xslt_stylesheet_doc | Subir | domxml_xslt_stylesheet


domxml_xslt_stylesheet

(PHP 4 >= 4.2.0, PECL)

domxml_xslt_stylesheet -- Crea un objeto DomXsltStylesheet desde un documento XSL en una cadena

Descripción

DomXsltStylesheet domxml_xslt_stylesheet ( string buf_xsl )

Crea un objeto DomXsltStylesheet desde el búfer XSL dado.

Lista de parámetros

buf_xsl

El documento XSL, como una cadena.

Valores retornados

Devuelve una nueva instancia de DomXsltStylesheet.

Migración a PHP 5

Llame XSLTProcessor::importStylesheet con DOMDocument::loadXML($buf_xsl) como parámetro.

Ver también

DomXsltStylesheet->process()
domxml_xslt_stylesheet_file()
domxml_xslt_stylesheet_doc()

Anterior | Inicio | Siguiente
domxml_xslt_stylesheet_file | Subir | domxml_xslt_version


xpath_eval_expression

(PHP 4 >= 4.0.4, PECL)

xpath_eval_expression -- Evalúa la Ruta de Ubicación XPath en la cadena entregada

Descripción

class XPathContext {

XPathObject xpath_eval_expression ( string expresion [, domnode nodo_contexto] )

}XPathObject xpath_eval_expression ( XPathContext contexto_xpath, string expresion [, domnode nodo_contexto] )

Ejemplo 1. Ejemplo de xpath_eval_expression()

<?php

include("ejemplo.inc");

if (!$dom = domxml_open_mem($cadena_xml)) {
    echo "Ocurri&oacute; un error al interpretar el documento\n";
    exit;
}

$xpath = xpath_new_context($dom);
var_dump(xpath_eval_expression($xpath, '/chapter/@language'));

?>

El resultado del ejemplo seria:

object(XPathObject)(2) {
   ["type"]=>
   int(1)
   ["nodeset"]=>
   array(1) {
     [0]=>
     object(domattribute)(5) {
       ["type"]=>
       int(2)
       ["name"]=>
       string(8) "language"
       ["value"]=>
       string(2) "en"
       [0]=>
       int(7)
       [1]=>
       int(138004256)
     }
  }
}

Vea también xpath_eval().

Anterior | Inicio | Siguiente
domxml_xslt_version | Subir | xpath_eval


xpath_eval

(PHP 4 >= 4.0.4, PECL)

xpath_eval -- Evalúa la Ruta de Ubicación XPatch en la cadena dada

Descripción

class XPathContext {

XPathObject xpath_eval ( string expresion_xpath [, domnode nodo_contexto] )

}XPathObject xpath_eval ( XPathContext contexto_xpath, string expresion_xpath [, domnode nodo_contexto] )

El valor opcional nodo_contexto puede especificarse para realizar consultas XPath relativas.

Vea también xpath_new_context().

Anterior | Inicio | Siguiente
xpath_eval_expression | Subir | xpath_new_context


xpath_new_context

(PHP 4 >= 4.0.4, PECL)

xpath_new_context -- Crea un nuevo contexto xpath

Descripción

XPathContext xpath_new_context ( domdocument documento_dom )

Vea también xpath_eval().

Anterior | Inicio | Siguiente
xpath_eval | Subir | xpath_register_ns_auto


xptr_eval

(PHP 4 >= 4.0.4, PECL)

xptr_eval -- Evalúa la Ruta de Ubicación XPtr en la cadena dada

Descripción

class XPathContext {

int xptr_eval ( string cadena_eval [, domnode nodo_contexto] )

}int xptr_eval ( XPathContext contexto_xpath, string cadena_eval [, domnode nodo_contexto] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xpath_register_ns | Subir | xptr_new_context


xptr_new_context

(PHP 4 >= 4.0.4, PECL)

xptr_new_context -- Crea un nuevo Contexto XPath

Descripción

XPathContext xptr_new_context ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xptr_eval | Subir | enchant Functions


.NET Functions

Manual de PHP
Anterior Siguiente

I. .NET Functions

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Tabla de contenidos
dotnet_load -- Loads a DOTNET module

Anterior | Inicio | Siguiente
Referencia de funciones | Subir | dotnet_load


dotnet_load

(no version information, might be only in CVS)

dotnet_load -- Loads a DOTNET module

Descripción

int dotnet_load ( string assembly_name [, string datatype_name [, int codepage]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
.NET Functions | Subir | Funciones específicas de Apache


Funciones de Gestión de Errores y Registros

Manual de PHP
Anterior Siguiente

XXXIII. Funciones de Gestión de Errores y Registros

Introducción

Estas son funciones que trabajan en la gestión de errores y registros. Le permiten definir sus propias reglas de gestión de errores, asi como modificar el modo en que los errores son registrados. Esto le permite modificar y mejorar el reporte de errores para que se adapte a sus necesidades.

Con las funciones de registro, puede enviar mensajes directamente a otras máquinas, a un correo electrónico (¡o correo electrónico a una puerta de enlace con un buscapersonas!), a bitácoras del sistema, etc., de modo que puede registrar y monitorear selectivamente las partes más importantes de sus aplicaciones y sitios web.

Las funciones de reporte de errores le permiten personalizar el nivel y tipo de retroalimentación de errores que PHP entrega, desde noticias simples a funciones personalizadas devueltas durante los errores.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración de Errores y Registro

Nombre | Por defecto | Modificable | Cambios
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.3.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.2.
docref_root | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Disponible desde PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
warn_plus_overloading | NULL | PHP_INI?? |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

error_reporting integer

Establece el nivel de reporte de errores. Este parámetro es, o bien un entero que representa un campo de bit, o constantes con nombre. Los niveles de error_reporting y las constantes están descritas en Constantes Predefinidas, y en php.ini. Para definir este valor en tiempo de ejecución, use la función error_reporting(). Vea también la directiva display_errors.

En PHP 4 y PHP 5, el valor predeterminado es E_ALL & ~E_NOTICE. Este valor no muestra errores de nivel E_NOTICE. Puede que usted quiera mostrarlos durante su actividad de desarrollo.

Nota: Al habilitar E_NOTICE durante el desarrollo de software tiene algunos beneficios. Para propósitos de depuración: los mensajes NOTICE le advertirán sobre posibles fallos en su código. Por ejemplo, se le advertirá sobre el uso de valores no-asignados. Es extremadamente útil para encontrar errores ortográficos y ahorrar tiempo de depuración. Los mensajes NOTICE le advertirán sobre el uso de un estilo incorrecto. Por ejemplo, $matriz[item] está mejor escrito como $matriz['item'] ya que PHP intenta darle a "item" un tratamiento de constante. Si no es una constante, PHP asume que es un índice de tipo cadena para la matriz.

Nota: En PHP 5, un nuevo nivel de error, E_STRICT, se encuentra disponible. Dado que E_STRICT no se incluye en E_ALL, usted debe habilitar explícitamente este tipo de nivel de error. Habilitar E_STRICT durante el desarrollo tiene algunos beneficios. Los mensajes STRICT le ayudarán a usar los últimos y más grandiosos métodos sugeridos para escribir código, por ejemplo, le advertirá sobre el uso de funciones obsoletas.

En PHP 3, el valor por defecto es (E_ERROR | E_WARNING | E_PARSE), lo que en la práctica representa lo mismo. Note, sin embargo, que dado que las constantes en el archivo php3.ini de PHP 3 no son soportadas, el valor de error_reporting allí debe ser numérico; por lo tanto, es 7.

display_errors boolean

Este parámetro determina si los errores deben ser puestos en pantalla como parte de la salida o si deben ser ocultados al usuario.

Nota: Es una característica de apoyo para su proceso de desarrollo y no debería ser usada nunca en sistemas en producción (p.ej. sistemas conectados a internet).

Nota: Aunque display_errors puede ser definido en tiempo de ejecución (con ini_set()), no tendrá ningún efecto si el script contiene errores fatales. Esto se debe a que la acción de tiempo de ejecución deseada no se alcanza a ejecutar.

display_startup_errors boolean

Aun cuando display_errors esté encendido, los errores que ocurren durante la secuencia de arranque de PHP no son desplegados. Es muy recomendable mantener display_startup_errors apagado, excepto en tiempos de depuración.

log_errors boolean

Indica si los mensajes de error de un script deben ser registrados en la bitácora de errores del servidor o error_log. Esta opción es por lo tanto espocífica al servidor.

Nota: Es altamente recomendable que use registro de errores en lugar de despliegue de errores en sitios web en producción.

log_errors_max_len integer

Establece la longitud máxima de log_errors en bytes. En error_log se añade información sobre la fuente. El valor por defecto es 1024, y un valor de 0 permite que no se aplique ninguna longitud máxima en absoluto. Esta longitud se aplica también a los errores almacenados en el registro, a los errores que se despliegan y a $php_errormsg.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

ignore_repeated_errors boolean

No registrar mensajes repetidos. Los errores repetidos deben ocurrir en el mismo archivo, en la misma línea hasta que el parámetro ignore_repeated_source sea establecido como true.

ignore_repeated_source boolean

Ignorar la fuente de mensaje cuando se ignoran los mensajes repetidos. Cuando este parámetro está encendido, no se registrará errores con mensajes repetidos desde diferentes fuentes de archivos.

report_memleaks boolean

Si este parámetro está apagado, entonces las fugas de memoria no serán mostradas (en stdout o en el registro). Este valor sólo tiene efecto en una compilación de depuración, y si error_reporting incluye E_WARNING en la lista permitida.

track_errors boolean

Cuando está habilitado, el último mensaje de error estará siempre presente en la variable $php_errormsg.

html_errors boolean

Permite deshabilitar las etiquetas HTML en los mensajes de error. El nuevo formato para los errores en HTML produce mensajes con enlaces que dirigen al usuario a una página que describe el error o función que ha causado el error. Estas referencias son afectadas por docref_root y docref_ext.

docref_root string

El nuevo formato de error contiene una referencia hacia una página que describe el error o la función que ha causado el error. En el caso de páginas de un manual, usted puede descargar el manual en su idioma y establecer esta directiva ini como la URL de su copia local. Si su copia local del manual puede encontrarse bajo '/manual/' entonces puede usar simplemente docref_root=/manual/. Adicionalmente debe establecer un valor de docref_ext que coincida con las extensiones de archivo de su copia; docref_ext=.html. Es posible usar referencias externas. Por ejemplo, puede usar docref_root=http://manual/en/ o docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F".

Por lo general usted querrá que el valor de docref_root finalice con una barra '/'. Pero observe el segundo ejemplo mencionado anteriormente, el cual no tiene una barra final, ni la necesita.

Nota: Esta es una característica de apoyo para su desarrollo ya que permite consultar la descripción de una función fácilmente. Sin embargo, nunca debe ser utilizada en sistemas en producción (p.ej. sistema conectados a internet).

docref_ext string

Vea docref_root.

Nota: El valor de docref_ext debe comenzar con un punto '.'.

error_prepend_string string

Cadena a mostrar antes de un mensaje de error.

error_append_string string

Cadena a mostrar después de un mensaje de error.

error_log string

Nombre del archivo en donde deberían registrarse los errores del script. El archivo debe tener permisos de escritura para el usuario del servidor web. Si se utiliza el valor especial syslog, los errores son enviados al gestor de registros del sistema. En Unix, esto quiere decir syslog(3) y en Windows NT quiere decir el "event log". El gestor de registro de actividades no está soportado bajo Windows 95. Vea también: syslog(). Si esta directiva no está definida, los errores son enviados al registro de errores SAPI. Por ejemplo, puede ser un registro de errores en Apache o stderr en CLI.

warn_plus_overloading boolean

Si se habilita, esta opción hace que PHP genere una advertencia cuando se utilice un operador más (+) con cadenas. Esto facilita la labor de encontrar scripts que necesitan ser reescritos para hacer uso del concatenador de cadenas en su lugar (.). Esta opción no existe a partir de PHP 4.

Constantes predefinidas

Las constantes listadas aqui están siempre disponibles a través del "núcleo PHP".

Nota: Es posible usar estos nombres de constantes en php.ini pero no por fuera de PHP, como en httpd.conf, en donde debería usar los valores de máscara de bits en su lugar.

Tabla 2. Errores y Registro

Valor | Constante | Descripción | Nota
1 | E_ERROR (integer) | Errores fatales en tiempo de ejecución. Estos indican errores de los que no es posible recuperarse, tales como problemas de asignación de memoria. Se detiene la ejecución del script. |
2 | E_WARNING (integer) | Advertencias en tiempo de ejecución (errores no-fatales). La ejecución del script no se interrumpe. |
4 | E_PARSE (integer) | Errores de intérprete en tiempo de compilación. Esto tipo de errores deberían ser generados únicamente por el interprete. |
8 | E_NOTICE (integer) | Anotaciones en tiempo de ejecución. Indican que el script se ha topado con algo que puede indicar la presencia de un error, pero que también podría ocurrir en el curso normal de la ejecución de un script. |
16 | E_CORE_ERROR (integer) | Errores fatales que ocurren durante el arranque inicial de PHP. Es como un E_ERROR, excepto que es generado por el núcleo de PHP. | a partir de PHP 4
32 | E_CORE_WARNING (integer) | Advertencias (errores no-fatales) que ocurren durante el arranque inicial de PHP. Es como un E_WARNING, excepto que es generado por el núcleo de PHP. | a partir de PHP 4
64 | E_COMPILE_ERROR (integer) | Errores fatales en tiempo de compilación. Es como un E_ERROR, excepto que es generado por el Motor de Scripting de Zend. | a partir de PHP 4
128 | E_COMPILE_WARNING (integer) | Advertencias en tiempo de compilación (errores no fatales). Es como un E_WARNING, excepto que es generado por el Motor de Scripting de Zend. | a partir de PHP 4
256 | E_USER_ERROR (integer) | Mensaje de error generado por el usuario. Es como un E_ERROR, excepto que es generado desde código PHP usando la función trigger_error(). | a partir de PHP 4
512 | E_USER_WARNING (integer) | Mensaje de advertencia generado por el usuario. Es como un E_WARNING, excepto que es generado desde código PHP usando la función trigger_error(). | a partir de PHP 4
1024 | E_USER_NOTICE (integer) | Anotación generada por el usuario. Es como un E_NOTICE, excepto que es generado desde código PHP usando la función trigger_error(). | a partir de PHP 4
2048 | E_STRICT (integer) | Noticias de tiempo de ejecución. Habilite este valor para hacer que PHP sugiera cambios en su código que velarán por la mejor interoperabilidad y por mantener la compatibilidad de su código. | a partir de PHP 5
4096 | E_RECOVERABLE_ERROR (integer) | Error fatal atrapable. Indica que ocurrió un error probablemente peligroso, pero no ha dejado el Motor en un estado inutilizable. Si el error no es atrapado por un gestor definido por el usuario (vea también set_error_handler()), la aplicación aborta como si fuera un E_ERROR. | a partir de PHP 5.2.0
8191 | E_ALL (integer) | Todos los errores y advertencias, en la medida en que sean soportados, excepto por el nivel E_STRICT en PHP < 6. | 6143 en PHP 5.2.x y previamente 2047

Los valores referidos anteriormente (ya sean numéricos o simbólicos) son usados para construir una máscara de bits que indica cuáles errores reportar. Puede usar los operadores bit a bit para combinar estos valores o excluir explícitamente ciertos tipos de errores. Sin embargo, note que únicamente '|', '~', '!', '^' y '&' serán entendidos desde php.ini, y que ningún operador bit a bit será interpretado correctamente desde php3.ini.

Ejemplos

A continuación podemos apreciar un ejemplo del uso de las capacidades de gestión de errores que vienen con PHP. Definimos una función de manipulación de errores que registra la información en un archivo (usando un formato XML), y envía un correo electrónico al desarrollador en caso de que un error crítico en la lógica del software ocurra.

Ejemplo 1. Uso de gestión de errores en un script

<?php
// haremos nuestra propia manipulación de errores
error_reporting(0);

// función de gestión de errores definida por el usuario
function gestorDeErroresDeUsuario($num_err, $mens_err, $nombre_archivo,
                                  $num_linea, $vars)
{

    // marca de fecha/hora para el registro de error
    $dt = date("Y-m-d H:i:s (T)");

    // definir una matriz asociativa de cadenas de error
    // en realidad las únicas entradas que deberíamos
    // considerar son E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING y E_USER_NOTICE

    $tipo_error = array (
                E_ERROR              => 'Error',
                E_WARNING            => 'Advertencia',
                E_PARSE              => 'Error de Intérprete',
                E_NOTICE             => 'Anotación',
                E_CORE_ERROR         => 'Error de Núcleo',
                E_CORE_WARNING       => 'Advertencia de Núcleo',
                E_COMPILE_ERROR      => 'Error de Compilación',
                E_COMPILE_WARNING    => 'Advertencia de Compilación',
                E_USER_ERROR         => 'Error de Usuario',
                E_USER_WARNING       => 'Advertencia de Usuario',
                E_USER_NOTICE        => 'Anotación de Usuario',
                E_STRICT             => 'Anotación de tiempo de ejecución',
                E_RECOVERABLE_ERROR  => 'Error Fatal Atrapable'
                );
    // conjunto de errores de los cuales se almacenará un rastreo
    $errores_de_usuario = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $dt . "</datetime>\n";
    $err .= "\t<errornum>" . $num_err . "</errornum>\n";
    $err .= "\t<errortype>" . $tipo_error[$num_err] . "</errortype>\n";
    $err .= "\t<errormsg>" . $mens_err . "</errormsg>\n";
    $err .= "\t<scriptname>" . $nombre_archivo . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $num_linea . "</scriptlinenum>\n";

    if (in_array($num_err, $errores_de_usuario)) {
        $err .= "\t<vartrace>" . wddx_serialize_value($vars, "Variables") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // para efectos de depuración
    // echo $err;

    // guardar en el registro de errores, y enviar un correo
    // electrónico si hay un error crítico de usuario
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($num_err == E_USER_ERROR) {
        mail("phpdev@example.com", "Error Crítico de Usuario", $err);
    }
}

function distancia($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Parámetros incorrectos, se esperan matrices", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Los vectores deben ser del mismo tamaño", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("La coordenada $i en el vector 1 no es un ".
                          "número, se usará cero",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("La coordenada $i en el vector 2 no es un".
                          "número, se usará cero",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$gestor_de_errores_anterior = set_error_handler("gestorDeErroresDeUsuario");

// constante indefinida, se genera una advertencia
$t = NO_ESTOY_DEFINIDA;

// definir algunos "vectores"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// generar un error de usuario
$t1 = distance($c, $b) . "\n";

// generar otro error de usuario
$t2 = distance($b, "no soy una matriz") . "\n";

// generar una advertencia
$t3 = distance($a, $b) . "\n";

?>

Ver también

Vea también syslog().

Tabla de contenidos
debug_backtrace -- Genera un backtrace
debug_print_backtrace -- Imprime un backtrace
error_get_last -- Get the last occurred error
error_log -- Enviar un mensaje de error a alguna parte
error_reporting -- Define cuáles errores de PHP son reportados
restore_error_handler -- Recupera la función de gestión de errores previa
restore_exception_handler -- Recupera la función de gestión de excepciones previamente definida
set_error_handler -- Establece una función de gestión de errores definida por el usuario
set_exception_handler -- Define una función de gestión de excepciones definida por el usuario
trigger_error -- Genera un mensaje de error/advertencia/noticia de nivel de usuario
user_error -- Alias de trigger_error()

Anterior | Inicio | Siguiente
enchant_dict_suggest | Subir | debug_backtrace


debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace -- Genera un backtrace

Descripción

array debug_backtrace ( void )

debug_backtrace() genera un backtrace PHP.

Valores retornados

Devuelve un array asociativo. Los elementos posiblemente devueltos son los siguientes:

Tabla 1. Elementos posiblemente devueltos por debug_backtrace()

Nombre | Tipo | Descripción
function | string | El nombre de la función actual. Vea también __FUNCTION__.
line | integer | El número de línea actual. Vea también __LINE__.
file | string | El nombre del archivo actual. Vea también __FILE__.
class | string | El nombre de la clase actual. Vea también __CLASS__
object | object | El objeto actual.
type | string | El tipo de llamada actual. Si es una llamada de método, se devuelve "->". Si es una llamada a un método estático, se devuelve "::". Si es una llamada de función, no se devuelve nada.
args | array | Si se encuentra al interior de una función, contiene una lista de los argumentos de la función. Si se encuentra al interior de un archivo de inclusión, contiene una lista de los nombres de archivos incluídos.

Registro de cambios

Versión | Descripción
5.1.1 | Se agregó el object actual como un posible elemento retornado.

Ejemplos

Ejemplo 1. Ejemplo de debug_backtrace()

<?php
// nombre de archivo: a.php

function una_prueba($cadena)
{
    echo "\nHola: $cadena";
    var_dump(debug_backtrace());
}

una_prueba('amigo');
?>

<?php
// nombre de archivo: b.php
include_once '/tmp/a.php';
?>

Resultados similares a los siguientes al ejecutar /tmp/b.php:

Hola: amigo
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(8) "prueba_a"
    ["args"]=>
    array(1) {
      [0] => &string(5) "amigo"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Ver también

trigger_error()
debug_print_backtrace()

Anterior | Inicio | Siguiente
Funciones de Gestión de Errores y Registros | Subir | debug_print_backtrace


debug_print_backtrace

(PHP 5)

debug_print_backtrace -- Imprime un backtrace

Descripción

void debug_print_backtrace ( void )

debug_print_backtrace() imprime un backtrace PHP. Imprime las llamadas a función, archivos incluídos y el material evaluado mediante eval().

Lista de parámetros

Esta función no tiene parámetros.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Ejemplo de debug_print_backtrace()

<?php
// archivo include.php
function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
<?php
// archivo prueba.php
// este es el archivo que debe ejecutar

include 'include.php';
?>

El resultado del ejemplo seria algo similar a:

#0  eval() called at [/tmp/include.php:5]
#1  a() called at [/tmp/include.php:17]
#2  include(/tmp/include.php) called at [/tmp/prueba.php:3]

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/prueba.php:3]

Ver también

debug_backtrace()

Anterior | Inicio | Siguiente
debug_backtrace | Subir | error_get_last


error_log

(PHP 3, PHP 4, PHP 5)

error_log -- Enviar un mensaje de error a alguna parte

Descripción

bool error_log ( string mensaje [, int tipo_mensaje [, string destino [, string cabeceras_extra]]] )

Envía un mensaje de error al registro del servidor web, a un puerto TCP o a un archivo.

Lista de parámetros

mensaje

El mensaje de error a ser registrado.

tipo_mensaje

Indica a dónde debe ir el mensaje. Los tipos de mensaje posibles son los siguientes:

Tabla 1. Tipos de registro de error_log()

0 | mensaje es enviado al registro de sistema de PHP, usando el mecanismo de registro del Sistema Operativo o un archivo, dependiendo del valor de la directiva de configuración error_log. Esta es la opción predeterminada.
1 | mensaje es enviado por correo electrónico a la dirección en el parámetro destino. Este es el único tipo de mensaje en donde el cuarto parámetro, cabeceras_extra, es usado.
2 | mensaje es enviado a través de la conexión de depuración de PHP. Esta opción está disponible únicamente si la depuración remota ha sido habilitada. En este caso el parámetro destino indica el nombre de host o dirección IP y, opcionalmente, el número de puerto del socket que recibe la información de depuración. Esta opción sólo está disponible en PHP 3.
3 | mensaje es agregado al final del archivo destino. Un salto de línea no es agregado automáticamente al final de la cadena mensaje.

destino

El destino. Su significado depende del parámetro tipo_mensaje como se describió anteriormente.

cabeceras_extra

Las cabeceras adicionales. Es usado cuando el parámetro tipo_mensaje es definido a 1. Este tipo de mensaje usa la misma función interna que usa mail().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplos de error_log()

<?php
// Enviar una notificación a través del registro del servidor si no nos
// podemos conectar a la base de datos.
if (!Ora_Logon($nombre_usuario, $contrasenya)) {
    error_log("¡La base de datos Oracle no está disponible!", 0);
}

// Notificar al administrador por correo electrónico si se agota FOO
if (!($foo = allocate_new_foo())) {
    error_log("¡Problemas, se nos acaban los FOOs!", 1,
              "operador@example.com");
}

// otras formas de llamar error_log():
error_log("Ha fallado!", 2, "127.0.0.1:7000");
error_log("Ha fallado!", 2, "host_registro");
error_log("Ha fallado!", 3, "/var/tmp/mis-errores.log");
?>

Anterior | Inicio | Siguiente
error_get_last | Subir | error_reporting


error_reporting

(PHP 3, PHP 4, PHP 5)

error_reporting -- Define cuáles errores de PHP son reportados

Descripción

int error_reporting ( [int nivel] )

La función error_reporting() establece la directiva error_reporting en tiempo de ejecución. PHP tiene varios niveles de errores, el uso de esta función define ese nivel para la duración (tiempo de ejecución) de su script.

Lista de parámetros

nivel

El nuevo nivel de error_reporting. Recibe una máscara de bits, o constantes con nombre. El uso de constantes con nombre es bastante recomendable para asegurar la compatibilidad con versiones futuras. A medida que se agregan niveles de error, el rango de los enteros se incrementa, así que los niveles de error antiguos basados en enteros no siempre se comportarán como es de esperarse.

Las constantes de nivel de error disponibles se listan a continuación. Los significados reales de estos niveles de error son descritos en las constantes predefinidas.

Tabla 1. Constantes de nivel de error_reporting() y valores de bit

valor | constante
1 | E_ERROR
2 | E_WARNING
4 | E_PARSE
8 | E_NOTICE
16 | E_CORE_ERROR
32 | E_CORE_WARNING
64 | E_COMPILE_ERROR
128 | E_COMPILE_WARNING
256 | E_USER_ERROR
512 | E_USER_WARNING
1024 | E_USER_NOTICE
6143 | E_ALL
2048 | E_STRICT
4096 | E_RECOVERABLE_ERROR

Valores retornados

Devuelve el nivel error_reporting antiguo.

Registro de cambios

Versión | Descripción
5.0.0 | Se introdujo E_STRICT (no es parte de E_ALL).
5.2.0 | Se introdujo E_RECOVERABLE_ERROR.
6 | E_STRICT se hizo parte de E_ALL.

Ejemplos

Ejemplo 1. Ejemplos de error_reporting()

<?php

// Deshabilitar todo reporte de errores
error_reporting(0);

// Errores de ejecución simples
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reportar E_NOTICE puede ser bueno también (para reportar variables
// no inicializadas o capturar equivocaciones en nombres de variables ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Reportar todos los errores excepto E_NOTICE
// Este es el valor predeterminado en php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Reportar todos los errores de PHP (el valor de bits 63 puede ser usado en PHP 3)
error_reporting(E_ALL);

// Lo mismo que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

Notes

Aviso

La mayoría de errores E_STRICT son evaluados en tiempo de compilación, por lo que tales errores no son reportados en el archivo en donde error_reporting sea modificado para incluir errores E_STRICT (y vice-versa).

Ver también

La directiva display_errors
ini_set()

Anterior | Inicio | Siguiente
error_log | Subir | restore_error_handler


restore_error_handler

(PHP 4 >= 4.0.1, PHP 5)

restore_error_handler -- Recupera la función de gestión de errores previa

Descripción

bool restore_error_handler ( void )

Usada después de modificar la función de gestión de errores usando set_error_handler(), para revertir al gestor de errores previo (el cual puede ser el incorporado o una función definida por el usuario).

Valores retornados

Esta función siempre devuelve TRUE.

Ejemplos

Ejemplo 1. Ejemplo de restore_error_handler()

Decidir si unserialize() causó un error, entonces recuperar el gestor de errores original.

<?php
function gestor_unserialize($errno, $errstr)
{
    echo "Valor seriado inválido.\n";
}

$seriado = 'foo';
set_error_handler('gestor_unserialize');
$original = unserialize($seriado);
restore_error_handler();
?>

El resultado del ejemplo seria:

Valor seriado inválido.

Notes

Nota: Llamar restore_error_handler() desde la función error_handler es ignorado.

Ver también

error_reporting()
set_error_handler()
restore_exception_handler()
trigger_error()

Anterior | Inicio | Siguiente
error_reporting | Subir | restore_exception_handler


restore_exception_handler

(PHP 5)

restore_exception_handler -- Recupera la función de gestión de excepciones previamente definida

Descripción

bool restore_exception_handler ( void )

Usada después de cambiar la función de gestión de excepciones mediante set_exception_handler(), para revertir al gestor de excepciones previo (que podría ser el predeterminado o una función definida por el usuario).

Valores retornados

Esta función siempre devuelve TRUE.

Ver también

set_exception_handler()
set_error_handler()
restore_error_handler()
error_reporting()

Anterior | Inicio | Siguiente
restore_error_handler | Subir | set_error_handler


set_error_handler

(PHP 4 >= 4.0.1, PHP 5)

set_error_handler -- Establece una función de gestión de errores definida por el usuario

Descripción

mixed set_error_handler ( callback gestor_errores [, int tipos_error] )

Establece una función de usuario (gestor_errores) para manejar los errores en un script.

Esta función puede ser usada para definir su propia forma de gestionar errores en tiempo de ejecución, por ejemplo en aplicaciones en las que necesita efectuar limpieza de datos/archivos cuando ocurre en error crítico, o cuando necesita generar un error bajo ciertas condiciones (usando trigger_error()).

Es importante recordar que el gestor de errores estándar de PHP es completamente ignorado. Los parámetros de error_reporting() no tendrán efecto alguno y su gestor de errores será llamado en cualquier circunstancia - sin embargo es posible leer el valor actual de error_reporting y actuar apropiadamente. Es particularmente importante notar que este valor será 0 si la sentencia que causó el error fue precedida por el operador de control de errores @.

Note también que es su responsabilidad usar die() si es necesario. Si la función de gestión de errores retorna, la ejecución del script continuará con la siguiente sentencia después de aquélla que causó el error.

Los siguientes tipos de error no pueden ser gestionados con una función definida por el usuario: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, y la mayoría de E_STRICT generados en el archivo en donde set_error_handler() es llamado.

Si ocurren errores antes de que el script es ejecutado (p.ej. cuando se cargan archivos desde una página web) el gestor de errores personalizado no puede ser llamado ya que no está registrado en ese momento.

Lista de parámetros

gestor_errores

La función de usuario necesita aceptar dos parámetros: el código de error, y una cadena que describa el error. Luego hay tres parámetros opcionales que pueden entregarse: el nombre del archivo en el que ocurrió el error, el número de línea en el que ocurrió el error, y el contexto en el que ocurrió el error (una matriz que apunta a la tabla activa de símbolos en el punto en el que ocurrió el error). La función puede mostrarse como:

gestor ( int num_err, string cadena_err [, string archivo_err [, int linea_err [, array contexto_err]]] )

num_err

El primer parámetro, num_err, contiene el nivel del error generado, como un entero.

cadena_err

El segundo parámetro, cadena_err, contiene el mensaje de error, como una cadena.

archivo_err

El tercer parámetro es opcional, archivo_err, el cual contiene el nombre del archivo en el que se generó el error, como una cadena.

linea_err

El cuarto parámetro es opcional, linea_err, el cual contiene el número de línea en la que se generó el error, como un entero.

contexto_err

El quinto parámetro es opcional, contexto_err, el cual es una matriz que apunta a la tabla activa de símbolos en el punto en el que ocurrió el error. En otras palabras, contexto_err contendrá una matriz de todas las variables que existieron en el contexto en el que ocurrió el error. El gestor de errores definido por el usuario no debe modificar el contexto del error.

tipos_error

Puede ser usado para aplicar una máscara a las llamadas de la función error_handler tal y como el parámetro ini error_reporting controla qué errores son mostrados. Sin esta máscara definida, el gestor_errores será llamado para cada error sin importar el valor del parámetro error_reporting.

Valores retornados

Devuelve una cadena que contiene el gestor de errores previamente definido (si lo hay), o NULL en caso de error. Si el gestor previo era un método de clase, esta función devolverá una matriz indexada con la clase y el nombre del método.

Registro de cambios

Versión | Descripción
5.2.0 | El gestor de errores debe devolver FALSE para poblar $php_errormsg.
5.0.0 | Se introdujo el parámetro tipos_error.
4.3.0 | En lugar de un nombre de función, también es posible entregar una matriz que contenga una referencia a objeto y un nombre de método como valor de gestor_errores.
4.0.2 | Se introdujeron tres parámetros opcionales para la función de usuario gestor_errores. Estos son el nombre de archivo, el número de línea, y el contexto.

Ejemplos

Ejemplo 1. Gestión de errores con set_error_handler() y trigger_error()

El siguiente ejemplo muestra la gestión de excepciones internas generando errores y manejándolos con una función definida por el usuario:

<?php
// función de gestión de errores
function miGestorErrores($num_err, $cadena_err, $archivo_err, $linea_err)
{
    switch ($num_err) {
    case E_USER_ERROR:
        echo "<b>Mi ERROR</b> [$num_err] $cadena_err<br />\n";
        echo "  Error fatal en la línea $linea_err en el archivo $archivo_err";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Abortando...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>Mi ADVERTENCIA</b> [$num_err] $cadena_err<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>Mi NOTICIA</b> [$num_err] $cadena_err<br />\n";
        break;

    default:
        echo "Tipo de error desconocido: [$num_err] $cadena_err<br />\n";
        break;
    }

    /* No ejecutar el gestor de errores interno de PHP */
    return true;
}

// función para probar la gestión de errores
function escalar_por_log($vect, $escala)
{
    if (!is_numeric($escala) || $escala <= 0) {
        trigger_error("log(x) para x <= 0 es indefinido, usted usó: escala = $escala", E_USER_ERROR);
    }

    if (!is_array($vect)) {
        trigger_error("Vector de entrada incorrecto, se espera una matriz de valores", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vect as $pos => $valor) {
        if (!is_numeric($valor)) {
            trigger_error("El valor en la posición $pos no es un número, usando 0 (cero)", E_USER_NOTICE);
            $valor = 0;
        }
        $temp[$pos] = log($escala) * $valor;
    }

    return $temp;
}

// establecer el gestor de errores definido
$gestor_errores_anterior = set_error_handler("miGestorErrores");

// generar algunos errores, primero definir una matriz mezclada con un ítem no-numérico
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// ahora generar una segunda matriz
echo "----\nvector b - una noticia (b = log(PI) * a)\n";
/* El valor en la posición $pos no es un número, usando 0 (cero) */
$b = escalar_por_log($a, M_PI);
print_r($b);

// esto es un problema, pasamos una cadena en lugar de una matriz
echo "----\nvector c - una advertencia\n";
/* Vector de entrada incorrecto, se espera una matriz de valores */
$c = escalar_por_log("no es matriz", 2.3);
var_dump($c); // NULL

// este es un error crítico, log de cero o un número negativo es indefinido
echo "----\nvector d - error fatal\n";
/* log(x) para x <= 0 es indefinido, usted usó: escala = $escala" */
$d = escalar_por_log($a, -2.5);
var_dump($d); // Nunca se alcanza
?>

El resultado del ejemplo seria algo similar a:

vector a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
vector b - una noticia (b = log(PI) * a)
<b>Mi NOTICIA</b> [1024] El valor en la posición 2 no es un número, se usa 0 (cero)<br />
Array
(
    [0] => 2.2894597717
    [1] => 3.43418965755
    [2] => 0
    [3] => 6.29601437217
    [4] => 49.5668040573
    [5] => 24.1652478903
)
----
vector c - una advertencia
<b>Mi ADVERTENCIA</b> [512] Vector de entrada incorrecto, se esperan valores de matriz<br />
NULL
----
vector d - error fatal
<b>Mi ERROR</b> [256] log(x) para x <= 0 es indefinido, usted usó: escala = -2.5<br />
  Error fatal en la línea 32 del archivo generar_error.php, PHP 5.0.4 (Linux)<br />
Abortando...<br />

Ver también

error_reporting()
restore_error_handler()
trigger_error()
constantes de nivel de error
information about the callback type

Anterior | Inicio | Siguiente
restore_exception_handler | Subir | set_exception_handler


set_exception_handler

(PHP 5)

set_exception_handler -- Define una función de gestión de excepciones definida por el usuario

Descripción

string set_exception_handler ( callback gestor_excepciones )

Establece el gestor de excepciones predeterminado si una excepción no es capturada al interior de un bloque try/catch. La ejecución se detendrá después de que gestor_excepciones es llamado.

Lista de parámetros

gestor_excepciones

Nombre de la función a ser llamada cuando ocurre una excepción no capturada. Esta función debe debe definirse antes de llamar set_exception_handler(). Este gestor debe aceptar un parámetro, que será el objeto de excepción que ha sido arrojado.

Valores retornados

Devuelve el nombre del gestor de excepciones previamente definido, o NULL en caso de error. Si no se había definido un gestor previamente, se devuelve NULL también.

Ejemplos

Ejemplo 1. Ejemplo de set_exception_handler()

<?php
function gestor_excepciones($excepcion) {
  echo "Excepción no capturada: " , $excepcion->getMessage(), "\n";
}

set_exception_handler('gestor_excepciones');

throw new Exception('Excepción No Capturada');
echo "No es ejecutado\n";
?>

Ver también

restore_exception_handler(),
restore_error_handler(),
error_reporting(),
information about the callback type, , y
Excepciones de PHP 5.

Anterior | Inicio | Siguiente
set_error_handler | Subir | trigger_error


trigger_error

(PHP 4 >= 4.0.1, PHP 5)

trigger_error -- Genera un mensaje de error/advertencia/noticia de nivel de usuario

Descripción

bool trigger_error ( string mensaje_error [, int tipo_error] )

Usada para generar una condición de error, puede ser usada en conjunto con el gestor de errores incorporado, o con una función definida por el usuario que haya sido establecida como el nuevo gestor de errores (set_error_handler()).

Esta función es útil cuando necesita generar una respuesta particular a una excepción en tiempo de ejecución.

Lista de parámetros

mensaje_error

El mensaje de error designado para este error. Está limitado a 1024 caracteres en longitud. Cualquier caracter adicional más allá de los 1024 será truncado.

tipo_error

El tipo de error designado para este error. Solo funciona con la familia de constantes E_USER, y su valor predeterminado será E_USER_NOTICE.

Valores retornados

Esta función devuelve FALSE si se especifica un tipo_error equivocado, TRUE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de trigger_error()

Vea set_error_handler() para un ejemplo más extenso.

<?php
if (assert($divisor == 0)) {
    trigger_error("No es posible dividir por cero", E_USER_ERROR);
}
?>

Ver también

error_reporting()
set_error_handler()
restore_error_handler()
Las constantes de nivel de error

Anterior | Inicio | Siguiente
set_exception_handler | Subir | user_error


user_error

(PHP 4, PHP 5)

user_error -- Alias de trigger_error()

Descripción

This function is an alias of: trigger_error().

Anterior | Inicio | Siguiente
trigger_error | Subir | Exif Functions


Exif Functions

Manual de PHP
Anterior Siguiente

XXXIV. Exif Functions

Introducción

With the exif extension you are able to work with image meta data. For example, you may use exif functions to read meta data of pictures taken from digital cameras by working with information stored in the headers of the JPEG and TIFF images.

Requisitos

Your PHP must be compiled in with --enable-exif. PHP does not require any additional library for the exif module. Windows users must also have the mbstring extension enabled.

Instalación

To enable exif-support configure PHP with --enable-exif

Windows users must enable both the php_mbstring.dll and php_exif.dll DLL's in php.ini. The php_mbstring.dll DLL must be loaded before the php_exif.dll DLL so adjust your php.ini accordingly.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Exif supports automatically conversion for Unicode and JIS character encodings of user comments when module mbstring is available. This is done by first decoding the comment using the specified characterset. The result is then encoded with another characterset which should match your HTTP output.

Tabla 1. Exif configuration options

Name | Default | Changeable | Changelog
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

exif.encode_unicode string

exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non Asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola defines the image internal characterset for Unicode encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel defines the image internal characterset for Unicode encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2LE.

exif.encode_jis string

exif.encode_jis defines the characterset JIS user comments are handled. This defaults to an empty value which forces the functions to use the current internal encoding of mbstring.

exif.decode_jis_motorola string

exif.decode_jis_motorola defines the image internal characterset for JIS encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

exif.decode_jis_intel string

exif.decode_jis_intel defines the image internal characterset for JIS encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

EXIF_USE_MBSTRING (integer)

The exif_imagetype() lists several related built-in constants.

Tabla de contenidos
exif_imagetype -- Determine the type of an image
exif_read_data -- Reads the EXIF headers from JPEG or TIFF
exif_tagname -- Get the header name for an index
exif_thumbnail -- Retrieve the embedded thumbnail of a TIFF or JPEG image
read_exif_data -- Alias of exif_read_data()

Anterior | Inicio | Siguiente
user_error | Subir | exif_imagetype


exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetype -- Determine the type of an image

Descripción

int exif_imagetype ( string filename )

exif_imagetype() reads the first bytes of an image and checks its signature.

exif_imagetype() can be used to avoid calls to other exif functions with unsupported file types or in conjunction with $_SERVER['HTTP_ACCEPT'] to check whether or not the viewer is able to see a specific image in the browser.

Lista de parámetros

filename

The image being checked.

Valores retornados

When a correct signature is found, the appropriate constant value will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but exif_imagetype() is much faster.

Registro de cambios

Versión | Descripción
4.3.2 | Support for JPC, JP2, JPX, JB2, XBM, and WBMP
4.3.0 | Support for SWC

Constantes predefinidas

The following constants are defined, and represent possible exif_imagetype() return values:

Tabla 1. Imagetype Constants

Value | Constant
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (intel byte order)
8 | IMAGETYPE_TIFF_MM (motorola byte order)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM

Ejemplos

Ejemplo 1. exif_imagetype() example

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

Ver también

getimagesize()

Anterior | Inicio | Siguiente
Exif Functions | Subir | exif_read_data


exif_read_data

(PHP 4 >= 4.2.0, PHP 5)

exif_read_data -- Reads the EXIF headers from JPEG or TIFF

Descripción

array exif_read_data ( string filename [, string sections [, bool arrays [, bool thumbnail]]] )

exif_read_data() reads the EXIF headers from a JPEG or TIFF image file. This way you can read meta data generated by digital cameras.

Exif headers tend to be present in JPEG/TIFF images generated by digital cameras, but unfortunately each digital camera maker has a different idea of how to actually tag their images, so you can't always rely on a specific Exif header being present.

Height and Width are computed the same way getimagesize() does so their values must not be part of any header returned. Also, html is a height/width text string to be used inside normal HTML.

When an Exif header contains a Copyright note, this itself can contain two values. As the solution is inconsistent in the Exif 2.10 standard, the COMPUTED section will return both entries Copyright.Photographer and Copyright.Editor while the IFD0 sections contains the byte array with the NULL character that splits both entries. Or just the first entry if the datatype was wrong (normal behaviour of Exif). The COMPUTED will also contain the entry Copyright which is either the original copyright string, or a comma separated list of the photo and editor copyright.

The tag UserComment has the same problem as the Copyright tag. It can store two values. First the encoding used, and second the value itself. If so the IFD section only contains the encoding or a byte array. The COMPUTED section will store both in the entries UserCommentEncoding and UserComment. The entry UserComment is available in both cases so it should be used in preference to the value in IFD0 section.

exif_read_data() also validates EXIF data tags according to the EXIF specification (http://exif.org/Exif2-2.PDF, page 20).

Nota: Windows ME/XP can both wipe the Exif headers when connecting to a camera. More information available at http://www.canon.co.jp/Imaging/NOTICE/011214-e.html.

Lista de parámetros

filename

The name of the image file being read. This cannot be an URL.

sections

Is a comma separated list of sections that need to be present in file to produce a result array. If none of the requested sections could be found the return value is FALSE.

FILE | FileName, FileSize, FileDateTime, SectionsFound
COMPUTED | html, Width, Height, IsColor, and more if available. Height and Width are computed the same way getimagesize() does so their values must not be part of any header returned. Also, html is a height/width text string to be used inside normal HTML.
ANY_TAG | Any information that has a Tag e.g. IFD0, EXIF, ...
IFD0 | All tagged data of IFD0. In normal imagefiles this contains image size and so forth.
THUMBNAIL | A file is supposed to contain a thumbnail if it has a second IFD. All tagged information about the embedded thumbnail is stored in this section.
COMMENT | Comment headers of JPEG images.
EXIF | The EXIF section is a sub section of IFD0. It contains more detailed information about an image. Most of these entries are digital camera related.

arrays

Specifies whether or not each section becomes an array. The sections COMPUTED, THUMBNAIL, and COMMENT always become arrays as they may contain values whose names conflict with other sections.

thumbnail

When set to TRUE the thumbnail itself is read. Otherwise, only the tagged data is read.

Valores retornados

It returns an associative array where the array indexes are the header names and the array values are the values associated with those headers. If no data can be returned, exif_read_data() will return FALSE.

Registro de cambios

Versión | Descripción
4.3.0 | Can read all embedded IFD data including arrays (returned as such). Also the size of an embedded thumbnail is returned in a THUMBNAIL subarray, and can return thumbnails in TIFF format. Also, there is no longer a maximum length for returned values (not until the memory limit has been reached)
4.3.0 | If PHP has mbstring support, the user comment can automatically change encoding. Also, if the user comment uses Unicode or JIS encoding this encoding will automatically be changed according to the exif ini settings in php.ini
4.3.0 | If the image contains any IFD0 data then COMPUTED contains the entry ByteOrderMotorola which is 0 for little-endian (intel) and 1 for big-endian (motorola) byte order. Also, COMPUTED and UserComment no longer only contain the first copyright entry if the datatype was wrong.

Ejemplos

Ejemplo 1. exif_read_data() example

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

The first call fails because the image has no header information.

El resultado del ejemplo seria algo similar a:

test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Ver también

exif_thumbnail()
getimagesize()

Anterior | Inicio | Siguiente
exif_imagetype | Subir | exif_tagname


exif_tagname

(PHP 4 >= 4.2.0, PHP 5)

exif_tagname -- Get the header name for an index

Descripción

string exif_tagname ( string index )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

index

The image index

Valores retornados

Returns the header name, or FALSE if index is undefined.

Ver también

exif_imagetype()

Anterior | Inicio | Siguiente
exif_read_data | Subir | exif_thumbnail


exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5)

exif_thumbnail -- Retrieve the embedded thumbnail of a TIFF or JPEG image

Descripción

string exif_thumbnail ( string filename [, int &width [, int &height [, int &imagetype]]] )

exif_thumbnail() reads the embedded thumbnail of a TIFF or JPEG image.

If you want to deliver thumbnails through this function, you should send the mimetype information using the header() function.

It is possible that exif_thumbnail() cannot create an image but can determine its size. In this case, the return value is FALSE but width and height are set.

Lista de parámetros

filename

The name of the image file being read. This image contains an embedded thumbnail.

width

The return width of the returned thumbnail.

height

The returned height of the returned thumbnail.

imagetype

The returned image type of the returned thumbnail. This is either TIFF or JPEG.

Valores retornados

Returns the embedded thumbnail, or FALSE if the image contains no thumbnail.

Registro de cambios

Versión | Descripción
4.3.0 | The optional parameters width, height, and imagetype all became available.
4.3.0 | May return thumbnails in the TIFF format.

Ejemplos

Ejemplo 1. exif_thumbnail() example

<?php
if (array_key_exists('file', $_REQUEST)) {
    $image = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $image = false;
}
if ($image!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $image;
    exit;
} else {
    // no thumbnail available, handle the error here
    echo 'No thumbnail available';
}
?>

Ver también

exif_read_data()
image_type_to_mime_type()

Anterior | Inicio | Siguiente
exif_tagname | Subir | read_exif_data


read_exif_data

(PHP 4 >= 4.0.1, PHP 5)

read_exif_data -- Alias of exif_read_data()

Descripción

This function is an alias of: exif_read_data().

Anterior | Inicio | Siguiente
exif_thumbnail | Subir | Expect Functions


File Alteration Monitor Functions

Manual de PHP
Anterior Siguiente

XXXVI. File Alteration Monitor Functions

Introducción

FAM monitors files and directories, notifying interested applications of changes. More information about FAM is available at http://oss.sgi.com/projects/fam/.

A PHP script may specify a list of files for FAM to monitor using the functions provided by this extension.

The FAM process is started when the first connection from any application to it is opened. It exits after all connections to it have been closed.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows

Requisitos

This extension uses the functions of the FAM library, developed by SGI. Therefore you have to download and install the FAM library.

Instalación

To use PHP's FAM support you must compile PHP --with-fam[=DIR] where DIR is the location of the directory containing the lib and include directories.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

There are two resource types used in the FAM module. The first one is the connection to the FAM service returned by fam_open(), the second a monitoring resource returned by the fam_monitor_XXX functions.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 1. FAM event constants

Constant | Description
FAMChanged (integer) | Some value which can be obtained with fstat(1) changed for a file or directory.
FAMDeleted (integer) | A file or directory was deleted or renamed.
FAMStartExecuting (integer) | An executable file started executing.
FAMStopExecuting (integer) | An executable file that was running finished.
FAMCreated (integer) | A file was created in a directory.
FAMMoved (integer) | This event never occurs.
FAMAcknowledge (integer) | An event in response to fam_cancel_monitor().
FAMExists (integer) | An event upon request to monitor a file or directory. When a directory is monitored, an event for that directory and every file contained in that directory is issued.
FAMEndExist (integer) | Event after the last FAMEExists event.
Tabla de contenidos
fam_cancel_monitor -- Terminate monitoring
fam_close -- Close FAM connection
fam_monitor_collection -- Monitor a collection of files in a directory for changes
fam_monitor_directory -- Monitor a directory for changes
fam_monitor_file -- Monitor a regular file for changes
fam_next_event -- Get next pending FAM event
fam_open -- Open connection to FAM daemon
fam_pending -- Check for pending FAM events
fam_resume_monitor -- Resume suspended monitoring
fam_suspend_monitor -- Temporarily suspend monitoring

Anterior | Inicio | Siguiente
expect_popen | Subir | fam_cancel_monitor


fam_cancel_monitor

(PHP 5 <= 5.0.4)

fam_cancel_monitor -- Terminate monitoring

Descripción

bool fam_cancel_monitor ( resource fam, resource fam_monitor )

Terminates monitoring on a resource.

In addition an FAMAcknowledge event occurs.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fam_monitor_file()
fam_monitor_directory()
fam_monitor_collection()
fam_suspend_monitor()

Anterior | Inicio | Siguiente
File Alteration Monitor Functions | Subir | fam_close


fam_close

(PHP 5 <= 5.0.4)

fam_close -- Close FAM connection

Descripción

void fam_close ( resource fam )

Closes a connection to the FAM service.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

Valores retornados

No value is returned.

Ver también

fam_monitor_open()

Anterior | Inicio | Siguiente
fam_cancel_monitor | Subir | fam_monitor_collection


fam_monitor_collection

(PHP 5 <= 5.0.4)

fam_monitor_collection -- Monitor a collection of files in a directory for changes

Descripción

resource fam_monitor_collection ( resource fam, string dirname, int depth, string mask )

Requests monitoring for a collection of files within a directory.

A FAM event will be generated whenever the status of the files change. The possible event codes are described in detail in the constants part of this section.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Directory path to the monitored files

depth

The maximum search depth starting from this directory

mask

A shell pattern mask restricting the file names to look for

Valores retornados

Returns a monitoring resource or FALSE on errors.

Ver también

fam_monitor_file()
fam_monitor_directory()
fam_cancel_monitor()
fam_suspend_monitor()
fam_resume_monitor()

Anterior | Inicio | Siguiente
fam_close | Subir | fam_monitor_directory


fam_monitor_directory

(PHP 5 <= 5.0.4)

fam_monitor_directory -- Monitor a directory for changes

Descripción

resource fam_monitor_directory ( resource fam, string dirname )

Requests monitoring for a directory and all contained files.

A FAM event will be generated whenever the status of the directory (i.e. the result of function stat() on that directory) or its content (i.e. the results of readdir()) changes.

The possible event codes are described in detail in the constants part of this section.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Path to the monitored directory

Valores retornados

Returns a monitoring resource or FALSE on errors.

Ver también

fam_monitor_file()
fam_monitor_collection()
fam_cancel_monitor()
fam_suspend_monitor()
fam_resume_monitor()

Anterior | Inicio | Siguiente
fam_monitor_collection | Subir | fam_monitor_file


fam_monitor_file

(PHP 5 <= 5.0.4)

fam_monitor_file -- Monitor a regular file for changes

Descripción

resource fam_monitor_file ( resource fam, string filename )

Requests monitoring for a single file. A FAM event will be generated whenever the file status changes (i.e. the result of function stat() on that file).

The possible event codes are described in detail in the constants part of this section.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

filename

Path to the monitored file

Valores retornados

Returns a monitoring resource or FALSE on errors.

Ver también

fam_monitor_directory()
fam_monitor_collection()
fam_cancel_monitor()
fam_suspend_monitor()
fam_resume_monitor()

Anterior | Inicio | Siguiente
fam_monitor_directory | Subir | fam_next_event


fam_next_event

(PHP 5 <= 5.0.4)

fam_next_event -- Get next pending FAM event

Descripción

array fam_next_event ( resource fam )

Returns the next pending FAM event.

The function will block until an event is available which can be checked for using fam_pending().

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

Valores retornados

Returns an array that contains a FAM event code in the 'code' element, the path of the file this event applies to in the 'filename' element and optionally a hostname in the 'hostname' element.

The possible event codes are described in detail in the constants part of this section.

Ver también

fam_pending()

Anterior | Inicio | Siguiente
fam_monitor_file | Subir | fam_open


fam_open

(PHP 5 <= 5.0.4)

fam_open -- Open connection to FAM daemon

Descripción

resource fam_open ( [string appname] )

Opens a connection to the FAM service daemon.

Lista de parámetros

appname

A string identifying the application for logging reasons

Valores retornados

Returns a resource representing a connection to the FAM service on success or FALSE on errors.

Ver también

fam_close()

Anterior | Inicio | Siguiente
fam_next_event | Subir | fam_pending


fam_pending

(PHP 5 <= 5.0.4)

fam_pending -- Check for pending FAM events

Descripción

int fam_pending ( resource fam )

Checks for pending FAM events.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

Valores retornados

Returns non-zero if events are available to be fetched using fam_next_event(), zero otherwise.

Ver también

fam_next_event()

Anterior | Inicio | Siguiente
fam_open | Subir | fam_resume_monitor


fam_resume_monitor

(PHP 5 <= 5.0.4)

fam_resume_monitor -- Resume suspended monitoring

Descripción

bool fam_resume_monitor ( resource fam, resource fam_monitor )

Resumes monitoring of a resource previously suspended using fam_suspend_monitor().

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fam_suspend_monitor()

Anterior | Inicio | Siguiente
fam_pending | Subir | fam_suspend_monitor


fam_suspend_monitor

(PHP 5 <= 5.0.4)

fam_suspend_monitor -- Temporarily suspend monitoring

Descripción

bool fam_suspend_monitor ( resource fam, resource fam_monitor )

fam_suspend_monitor() temporarily suspend monitoring of a resource.

Monitoring can later be continued using fam_resume_monitor() without the need of requesting a complete new monitor.

Lista de parámetros

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fam_cancel_monitor()
fam_resume_monitor()

Anterior | Inicio | Siguiente
fam_resume_monitor | Subir | Funciones del Formato de Datos de Formulario


FrontBase Functions

Manual de PHP
Anterior Siguiente

XLV. FrontBase Functions

Introducción

These functions allow you to access FrontBase database servers. More information about FrontBase can be found at http://www.frontbase.com/.

Documentation for FrontBase can be found at http://www.frontbase.com/cgi-bin/WebObjects/FrontBase.woa/wa/productsPage?currentPage=Documentation.

Frontbase support has been added to PHP 4.0.6.

Requisitos

You must install the FrontBase database server or at least the fbsql client libraries to use this functions. You can get FrontBase from http://www.frontbase.com/.

Instalación

In order to have these functions available, you must compile PHP with fbsql support by using the --with-fbsql[=DIR] option. If you use this option without specifying the path to fbsql, PHP will search for the fbsql client libraries in the default installation location for the platform. Users who installed FrontBase in a non standard directory should always specify the path to fbsql: --with-fbsql=/path/to/fbsql. This will force PHP to use the client libraries installed by FrontBase, avoiding any conflicts.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. FrontBase configuration options

Name | Default | Changeable | Changelog
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.2.0.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM |
fbsql.default_host | NULL | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

FBSQL_ASSOC (integer)

FBSQL_NUM (integer)

FBSQL_BOTH (integer)

FBSQL_LOCK_DEFERRED (integer)

FBSQL_LOCK_OPTIMISTIC (integer)

FBSQL_LOCK_PESSIMISTIC (integer)

FBSQL_ISO_READ_UNCOMMITTED (integer)

FBSQL_ISO_READ_COMMITTED (integer)

FBSQL_ISO_REPEATABLE_READ (integer)

FBSQL_ISO_SERIALIZABLE (integer)

FBSQL_ISO_VERSIONED (integer)

FBSQL_UNKNOWN (integer)

FBSQL_STOPPED (integer)

FBSQL_STARTING (integer)

FBSQL_RUNNING (integer)

FBSQL_STOPPING (integer)

FBSQL_NOEXEC (integer)

FBSQL_LOB_DIRECT (integer)

FBSQL_LOB_HANDLE (integer)

Tabla de contenidos
fbsql_affected_rows -- Get number of affected rows in previous FrontBase operation
fbsql_autocommit -- Enable or disable autocommit
fbsql_blob_size -- Get the size of a BLOB
fbsql_change_user -- Change logged in user of the active connection
fbsql_clob_size -- Get the size of a CLOB
fbsql_close -- Close FrontBase connection
fbsql_commit -- Commits a transaction to the database
fbsql_connect -- Open a connection to a FrontBase Server
fbsql_create_blob -- Create a BLOB
fbsql_create_clob -- Create a CLOB
fbsql_create_db -- Create a FrontBase database
fbsql_data_seek -- Move internal result pointer
fbsql_database_password -- Sets or retrieves the password for a FrontBase database
fbsql_database -- Get or set the database name used with a connection
fbsql_db_query -- Send a FrontBase query
fbsql_db_status -- Get the status for a given database
fbsql_drop_db -- Drop (delete) a FrontBase database
fbsql_errno -- Returns the error number from previous operation
fbsql_error -- Returns the error message from previous operation
fbsql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both
fbsql_fetch_assoc -- Fetch a result row as an associative array
fbsql_fetch_field -- Get column information from a result and return as an object
fbsql_fetch_lengths -- Get the length of each output in a result
fbsql_fetch_object -- Fetch a result row as an object
fbsql_fetch_row -- Get a result row as an enumerated array
fbsql_field_flags -- Get the flags associated with the specified field in a result
fbsql_field_len -- Returns the length of the specified field
fbsql_field_name -- Get the name of the specified field in a result
fbsql_field_seek -- Set result pointer to a specified field offset
fbsql_field_table -- Get name of the table the specified field is in
fbsql_field_type -- Get the type of the specified field in a result
fbsql_free_result -- Free result memory
fbsql_get_autostart_info --
fbsql_hostname -- Get or set the host name used with a connection
fbsql_insert_id -- Get the id generated from the previous INSERT operation
fbsql_list_dbs -- List databases available on a FrontBase server
fbsql_list_fields -- List FrontBase result fields
fbsql_list_tables -- List tables in a FrontBase database
fbsql_next_result -- Move the internal result pointer to the next result
fbsql_num_fields -- Get number of fields in result
fbsql_num_rows -- Get number of rows in result
fbsql_password -- Get or set the user password used with a connection
fbsql_pconnect -- Open a persistent connection to a FrontBase Server
fbsql_query -- Send a FrontBase query
fbsql_read_blob -- Read a BLOB from the database
fbsql_read_clob -- Read a CLOB from the database
fbsql_result -- Get result data
fbsql_rollback -- Rollback a transaction to the database
fbsql_rows_fetched --
fbsql_select_db -- Select a FrontBase database
fbsql_set_characterset -- Change input/output character set
fbsql_set_lob_mode -- Set the LOB retrieve mode for a FrontBase result set
fbsql_set_password -- Change the password for a given user
fbsql_set_transaction -- Set the transaction locking and isolation
fbsql_start_db -- Start a database on local or remote server
fbsql_stop_db -- Stop a database on local or remote server
fbsql_table_name -- Get table name of field
fbsql_tablename -- Alias of of fbsql_table_name()
fbsql_username -- Get or set the username for the connection
fbsql_warnings -- Enable or disable FrontBase warnings

Anterior | Inicio | Siguiente
fribidi_log2vis | Subir | fbsql_affected_rows


fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_affected_rows -- Get number of affected rows in previous FrontBase operation

Descripción

int fbsql_affected_rows ( [resource link_identifier] )

fbsql_affected_rows() returns the number of rows affected by the last INSERT, UPDATE or DELETE query associated with link_identifier.

Nota: If you are using transactions, you need to call fbsql_affected_rows() after your INSERT, UPDATE, or DELETE query, not after the commit.

If the last query was a DELETE query with no WHERE clause, all of the records will have been deleted from the table but this function will return zero.

Nota: When using UPDATE, FrontBase will not update columns where the new value is the same as the old value. This creates the possibility that fbsql_affected_rows() may not actually equal the number of rows matched, only the number of rows that were literally affected by the query.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

If the last query failed, this function will return -1.

Ver también

fbsql_num_rows()

Anterior | Inicio | Siguiente
FrontBase Functions | Subir | fbsql_autocommit


fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_autocommit -- Enable or disable autocommit

Descripción

bool fbsql_autocommit ( resource link_identifier [, bool OnOff] )

Returns the current autocommit status.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

OnOff

If this optional parameter is given the auto commit status will be changed.

With OnOff set to TRUE each statement will be committed automatically, if no errors was found.

With OnOff set to FALSE the user must commit or rollback the transaction using either fbsql_commit() or fbsql_rollback().

Valores retornados

Returns the current autocommit status, as a boolean.

Ver también

fbsql_commit()
fbsql_rollback()

Anterior | Inicio | Siguiente
fbsql_affected_rows | Subir | fbsql_blob_size


fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_blob_size -- Get the size of a BLOB

Descripción

int fbsql_blob_size ( string blob_handle [, resource link_identifier] )

Returns the size of the given BLOB.

Lista de parámetros

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns the BLOB size as an integer, or FALSE on error.

Ver también

fbsql_clob_size()

Anterior | Inicio | Siguiente
fbsql_autocommit | Subir | fbsql_change_user


fbsql_change_user

(no version information, might be only in CVS)

fbsql_change_user -- Change logged in user of the active connection

Descripción

bool fbsql_change_user ( string user, string password [, string database [, resource link_identifier]] )

fbsql_change_user() changes the logged in user of the specified connection. If the new user and password authorization fails, the current connected user stays active.

Lista de parámetros

user

The new user name.

password

The new user password.

database

If specified, this will be the default or current database after the user has been changed.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
fbsql_blob_size | Subir | fbsql_clob_size


fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_clob_size -- Get the size of a CLOB

Descripción

int fbsql_clob_size ( string clob_handle [, resource link_identifier] )

Returns the size of the given CLOB.

Lista de parámetros

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns the CLOB size as an integer, or FALSE on error.

Ver también

fbsql_blob_size()

Anterior | Inicio | Siguiente
fbsql_change_user | Subir | fbsql_close


fbsql_close

(PHP 4 >= 4.0.6, PHP 5)

fbsql_close -- Close FrontBase connection

Descripción

bool fbsql_close ( [resource link_identifier] )

Closes the connection to the FrontBase server that's associated with the specified link identifier.

Using fbsql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. fbsql_close() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);
?>

Ver también

fbsql_connect()
fbsql_pconnect()

Anterior | Inicio | Siguiente
fbsql_clob_size | Subir | fbsql_commit


fbsql_commit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_commit -- Commits a transaction to the database

Descripción

bool fbsql_commit ( [resource link_identifier] )

Ends the current transaction by writing all inserts, updates and deletes to the disk and unlocking all row and table locks held by the transaction. This command is only needed if autocommit is set to false.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_autocommit()
fbsql_rollback()

Anterior | Inicio | Siguiente
fbsql_close | Subir | fbsql_connect


fbsql_connect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_connect -- Open a connection to a FrontBase Server

Descripción

resource fbsql_connect ( [string hostname [, string username [, string password]]] )

fbsql_connect() establishes a connection to a FrontBase server.

If a second call is made to fbsql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling fbsql_close().

Lista de parámetros

hostname

The server host name. Defaults to 'NULL'.

username

The user name for the connection. Defaults to _SYSTEM.

password

The user name for the connection. Defaults to the empty string.

Valores retornados

Returns a positive FrontBase link identifier on success, or FALSE on errors.

Ejemplos

Ejemplo 1. fbsql_connect() example

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);

?>

Ver también

fbsql_pconnect()
fbsql_close()

Anterior | Inicio | Siguiente
fbsql_commit | Subir | fbsql_create_blob


fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_blob -- Create a BLOB

Descripción

string fbsql_create_blob ( string blob_data [, resource link_identifier] )

Creates a BLOB from the given data.

Lista de parámetros

blob_data

The BLOB data.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a resource handle to the newly created BLOB, which can be used with insert and update commands to store the BLOB in the database.

Ejemplos

Ejemplo 1. fbsql_create_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "blobfile.bin";
$fp = fopen($filename, "rb");
$blobdata = fread($fp, filesize($filename));
fclose($fp);

$blobHandle = fbsql_create_blob($blobdata, $link);

$sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);";
$rs = fbsql_query($sql, $link);
?>

Ver también

fbsql_create_clob()
fbsql_read_blob()
fbsql_read_clob()
fbsql_set_lob_mode()

Anterior | Inicio | Siguiente
fbsql_connect | Subir | fbsql_create_clob


fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_clob -- Create a CLOB

Descripción

string fbsql_create_clob ( string clob_data [, resource link_identifier] )

Creates a CLOB from the given data.

Lista de parámetros

clob_data

The CLOB data.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a resource handle to the newly created CLOB, which can be used with insert and update commands to store the CLOB in the database.

Ejemplos

Ejemplo 1. fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "clob_file.txt";
$fp = fopen($filename, "rb");
$clobdata = fread($fp, filesize($filename));
fclose($fp);

$clobHandle = fbsql_create_clob($clobdata, $link);

$sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);";
$rs = fbsql_query($sql, $link);
?>

Ver también

fbsql_create_blob()
fbsql_read_blob()
fbsql_read_clob()
fbsql_set_lob_mode()

Anterior | Inicio | Siguiente
fbsql_create_blob | Subir | fbsql_create_db


fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_create_db -- Create a FrontBase database

Descripción

bool fbsql_create_db ( string database_name [, resource link_identifier [, string database_options]] )

Attempts to create a new database on the specied server.

Lista de parámetros

database_name

The database name, as a string.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

database_options

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. fbsql_create_db() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
if (fbsql_create_db("my_db")) {
    echo "Database created successfully\n";
} else {
    printf("Error creating database: %s\n", fbsql_error());
}
?>

Ver también

fbsql_drop_db()

Anterior | Inicio | Siguiente
fbsql_create_clob | Subir | fbsql_data_seek


fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_data_seek -- Move internal result pointer

Descripción

bool fbsql_data_seek ( resource result, int row_number )

Moves the internal row pointer of the FrontBase result associated with the specified result identifier to point to the specified row number.

The next call to fbsql_fetch_row() would return that row.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

row_number

The row number. Starts at 0.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. fbsql_data_seek() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");

fbsql_select_db("samp_db")
    or die("Could not select database");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("Query failed");

// fetch rows in reverse order

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("Cannot seek to row %d\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result($result);
?>

Anterior | Inicio | Siguiente
fbsql_create_db | Subir | fbsql_database_password


fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database_password -- Sets or retrieves the password for a FrontBase database

Descripción

string fbsql_database_password ( resource link_identifier [, string database_password] )

Sets and retrieves the database password used by the connection. If a database is protected by a database password, the user must call this function before calling fbsql_select_db().

If no link is open, the function will try to establish a link as if fbsql_connect() was called, and use it.

This function does not change the database password in the database nor can it be used to retrieve the database password for a database.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

database_password

The database password, as a string. If given, the function sets the database password for the specified link identifier.

Valores retornados

Returns the database password associated with the link identifier.

Ejemplos

Ejemplo 1. fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

Ver también

fbsql_connect()
fbsql_pconnect()
fbsql_select_db()

Anterior | Inicio | Siguiente
fbsql_data_seek | Subir | fbsql_database


fbsql_database

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database -- Get or set the database name used with a connection

Descripción

string fbsql_database ( resource link_identifier [, string database] )

Get or set the database name used with the connection.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

database

The database name. If given, the default database of the connexion will be changed to database.

Valores retornados

Returns the name of the database used with this connection.

Anterior | Inicio | Siguiente
fbsql_database_password | Subir | fbsql_db_query


fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_db_query -- Send a FrontBase query

Descripción

resource fbsql_db_query ( string database, string query [, resource link_identifier] )

Selects a database and executes a query on it.

Lista de parámetros

database

The database to be selected.

query

The SQL query to be executed.

Nota: The query string shall always end with a semicolon.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a positive FrontBase result identifier to the query result, or FALSE on error.

Ver también

fbsql_query()
fbsql_connect()

Anterior | Inicio | Siguiente
fbsql_database | Subir | fbsql_db_status


fbsql_db_status

(PHP 4 >= 4.1.0, PHP 5)

fbsql_db_status -- Get the status for a given database

Descripción

int fbsql_db_status ( string database_name [, resource link_identifier] )

Gets the current status of the specified database.

Lista de parámetros

database_name

The database name.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns an integer value with the current status. This can be one of the following constants:

  • FALSE - The exec handler for the host was invalid. This error will occur when the link_identifier connects directly to a database by using a port number. FBExec can be available on the server but no connection has been made for it.

  • FBSQL_UNKNOWN - The Status is unknown.

  • FBSQL_STOPPED - The database is not running. Use fbsql_start_db() to start the database.

  • FBSQL_STARTING - The database is starting.

  • FBSQL_RUNNING - The database is running and can be used to perform SQL operations.

  • FBSQL_STOPPING - The database is stopping.

  • FBSQL_NOEXEC - FBExec is not running on the server and it is not possible to get the status of the database.

Ver también

fbsql_start_db()
fbsql_stop_db()

Anterior | Inicio | Siguiente
fbsql_db_query | Subir | fbsql_drop_db


fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_drop_db -- Drop (delete) a FrontBase database

Descripción

bool fbsql_drop_db ( string database_name [, resource link_identifier] )

fbsql_drop_db() attempts to drop (remove) an entire database from the server associated with the specified link identifier.

Lista de parámetros

database_name

The database name, as a string.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_create_db()

Anterior | Inicio | Siguiente
fbsql_db_status | Subir | fbsql_errno


fbsql_errno

(PHP 4 >= 4.0.6, PHP 5)

fbsql_errno -- Returns the error number from previous operation

Descripción

int fbsql_errno ( [resource link_identifier] )

Returns the numerical value of the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_errno() to retrieve the error code. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns the error number from the last fbsql function, or 0 (zero) if no error occurred.

Ejemplos

Ejemplo 1. fbsql_errno() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Ver también

fbsql_error()
fbsql_warnings()

Anterior | Inicio | Siguiente
fbsql_drop_db | Subir | fbsql_error


fbsql_error

(PHP 4 >= 4.0.6, PHP 5)

fbsql_error -- Returns the error message from previous operation

Descripción

string fbsql_error ( [resource link_identifier] )

Returns the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_error() to retrieve the error text. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns the error text from the last fbsql function, or '' (the empty string) if no error occurred.

Ejemplos

Ejemplo 1. fbsql_error() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Ver también

fbsql_errno()
fbsql_warnings()

Anterior | Inicio | Siguiente
fbsql_errno | Subir | fbsql_fetch_array


fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both

Descripción

array fbsql_fetch_array ( resource result [, int result_type] )

fbsql_fetch_array() is a combination of
fbsql_fetch_row() and
fbsql_fetch_assoc().

An important thing to note is that using fbsql_fetch_array() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

result_type

A constant and can take the following values: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH.

When using FBSQL_BOTH, in addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

Valores retornados

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must the numeric index of the column or make an alias for the column.

select t1.f1 as foo t2.f1 as bar from t1, t2

Ejemplos

Ejemplo 1. fbsql_fetch_array() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "fullname: " . $row["fullname"] . "<br />\n";
    echo "fullname: " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

Ver también

fbsql_fetch_row()
fbsql_fetch_assoc()
fbsql_fetch_object()

Anterior | Inicio | Siguiente
fbsql_error | Subir | fbsql_fetch_assoc


fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_assoc -- Fetch a result row as an associative array

Descripción

array fbsql_fetch_assoc ( resource result )

Calling fbsql_fetch_assoc() is equivalent to calling fbsql_fetch_array() with FBSQL_ASSOC as second parameter. It only returns an associative array.

This is the way fbsql_fetch_array() originally worked. If you need the numeric indices as well as the associative, use fbsql_fetch_array().

An important thing to note is that using fbsql_fetch_assoc() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use fbsql_fetch_array() and have it return the numeric indices as well.

Ejemplos

Ejemplo 1. fbsql_fetch_assoc() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_assoc($result)) {
    echo $row["user_id"];
    echo $row["fullname"];
}
fbsql_free_result($result);
?>

Ver también

fbsql_fetch_row()
fbsql_fetch_array()
fbsql_fetch_object()

Anterior | Inicio | Siguiente
fbsql_fetch_array | Subir | fbsql_fetch_field


fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_field -- Get column information from a result and return as an object

Descripción

object fbsql_fetch_field ( resource result [, int field_offset] )

Used in order to obtain information about fields in a certain query result.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0. If not specified, the next field that wasn't yet retrieved by fbsql_fetch_field() is retrieved.

Valores retornados

Returns an object containing field information, or FALSE on errors.

The properties of the object are:

  • name - column name

  • table - name of the table the column belongs to

  • max_length - maximum length of the column

  • not_null - 1 if the column cannot be NULL

  • type - the type of the column

Ejemplos

Ejemplo 1. fbsql_fetch_field() example

<?php
fbsql_connect($host, $user, $password)
    or die("Could not connect");
$result = fbsql_db_query("database", "select * from table")
    or die("Query failed");
# get column metadata
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "No information available<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

Ver también

fbsql_field_seek()

Anterior | Inicio | Siguiente
fbsql_fetch_assoc | Subir | fbsql_fetch_lengths


fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_lengths -- Get the length of each output in a result

Descripción

array fbsql_fetch_lengths ( resource result )

Stores the lengths of each result column in the last row returned by
fbsql_fetch_row(),
fbsql_fetch_array() and
fbsql_fetch_object() in an array.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns an array, starting at offset 0, that corresponds to the lengths of each field in the last row fetched by fbsql_fetch_row(), or FALSE on error.

Ver también

fbsql_fetch_row()

Anterior | Inicio | Siguiente
fbsql_fetch_field | Subir | fbsql_fetch_object


fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_object -- Fetch a result row as an object

Descripción

object fbsql_fetch_object ( resource result )

fbsql_fetch_object() is similar to fbsql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to fbsql_fetch_array(), and almost as quick as fbsql_fetch_row() (the difference is insignificant).

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Ejemplos

Ejemplo 1. fbsql_fetch_object() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
fbsql_free_result($result);
?>

Ver también

fbsql_fetch_array()
fbsql_fetch_row()
fbsql_fetch_assoc()

Anterior | Inicio | Siguiente
fbsql_fetch_lengths | Subir | fbsql_fetch_row


fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_row -- Get a result row as an enumerated array

Descripción

array fbsql_fetch_row ( resource result )

fbsql_fetch_row() fetches one row of data from the result associated with the specified result identifier.

Subsequent call to fbsql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns an array that corresponds to the fetched row where each result column is stored in an offset, starting at offset 0, or FALSE if there are no more rows.

Ver también

fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_object()
fbsql_data_seek()
fbsql_fetch_lengths()
fbsql_result()

Anterior | Inicio | Siguiente
fbsql_fetch_object | Subir | fbsql_field_flags


fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_flags -- Get the flags associated with the specified field in a result

Descripción

string fbsql_field_flags ( resource result [, int field_offset] )

Gets the flags associated with the specified field in a result.

Lista de parámetros

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Valores retornados

Returns the field flags of the specified field as a single word per flag separated by a single space, so that you can split the returned value using explode().

Anterior | Inicio | Siguiente
fbsql_fetch_row | Subir | fbsql_field_len


fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_len -- Returns the length of the specified field

Descripción

int fbsql_field_len ( resource result [, int field_offset] )

Returns the length of the specified field.

Lista de parámetros

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Valores retornados

Returns the length of the specified field.

Anterior | Inicio | Siguiente
fbsql_field_flags | Subir | fbsql_field_name


fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_name -- Get the name of the specified field in a result

Descripción

string fbsql_field_name ( resource result [, int field_index] )

Returns the name of the specified field index.

Lista de parámetros

result

A result pointer returned by fbsql_list_fields().

field_index

The numerical offset of the field. The field index starts at 0.

Valores retornados

Returns the name as a string, or FALSE if the field doesn't exist.

Ejemplos

Ejemplo 1. fbsql_field_name() example

<?php
// The users table consists of three fields:
//   user_id
//   username
//   password.

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

El resultado del ejemplo seria:

user_id
password

Ver también

fbsql_field_type()

Anterior | Inicio | Siguiente
fbsql_field_len | Subir | fbsql_field_seek


fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_seek -- Set result pointer to a specified field offset

Descripción

bool fbsql_field_seek ( resource result [, int field_offset] )

Seeks to the specified field offset. If the next call to fbsql_fetch_field() doesn't include a field offset, the field offset specified in fbsql_field_seek() will be returned.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_fetch_field()

Anterior | Inicio | Siguiente
fbsql_field_name | Subir | fbsql_field_table


fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_table -- Get name of the table the specified field is in

Descripción

string fbsql_field_table ( resource result [, int field_offset] )

Returns the name of the table that the specified field is in.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Valores retornados

Returns the name of the table, as a string.

Anterior | Inicio | Siguiente
fbsql_field_seek | Subir | fbsql_field_type


fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_type -- Get the type of the specified field in a result

Descripción

string fbsql_field_type ( resource result [, int field_offset] )

fbsql_field_type() is similar to the fbsql_field_name() function, but the field type is returned instead.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Valores retornados

Returns the field type, as a string.

This can be one of int, real, string, blob, and others as detailed in the FrontBase documentation.

Ejemplos

Ejemplo 1. fbsql_field_type() example

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " records <br />";
echo "The table has the following fields <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

Ver también

fbsql_field_name()

Anterior | Inicio | Siguiente
fbsql_field_table | Subir | fbsql_free_result


fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_free_result -- Free result memory

Descripción

bool fbsql_free_result ( resource result )

Frees all memory associated with the given result identifier.

fbsql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
fbsql_field_type | Subir | fbsql_get_autostart_info


fbsql_get_autostart_info

(PHP 4 >= 4.1.0, PHP 5)

fbsql_get_autostart_info --

Descripción

array fbsql_get_autostart_info ( [resource link_identifier] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Anterior | Inicio | Siguiente
fbsql_free_result | Subir | fbsql_hostname


fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5)

fbsql_hostname -- Get or set the host name used with a connection

Descripción

string fbsql_hostname ( resource link_identifier [, string host_name] )

Gets or sets the host name used with a connection.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

host_name

If provided, this will be the new connection host name.

Valores retornados

Returns the current host name used for the connection.

Ver también

fbsql_username()
fbsql_password()

Anterior | Inicio | Siguiente
fbsql_get_autostart_info | Subir | fbsql_insert_id


fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5)

fbsql_insert_id -- Get the id generated from the previous INSERT operation

Descripción

int fbsql_insert_id ( [resource link_identifier] )

Gets the id generated from the previous INSERT operation which created a DEFAULT UNIQUE value.

Nota: The value of the FrontBase SQL function fbsql_insert_id() always contains the most recently generated DEFAULT UNIQUE value, and is not reset between queries.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns the ID generated from the previous INSERT query, or 0 if the previous query does not generate an DEFAULT UNIQUE value.

If you need to save the value for later, be sure to call this function immediately after the query that generates the value.

Ver también

fbsql_affected_rows()

Anterior | Inicio | Siguiente
fbsql_hostname | Subir | fbsql_list_dbs


fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_dbs -- List databases available on a FrontBase server

Descripción

resource fbsql_list_dbs ( [resource link_identifier] )

Return a result pointer containing the databases available from the current fbsql daemon. Use the fbsql_tablename() to traverse this result pointer.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a result pointer or FALSE on error.

Ejemplos

Ejemplo 1. fbsql_list_dbs() example

$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}

El resultado del ejemplo seria algo similar a:

database1
database2
database3
...

Nota: The above code would just as easily work with fbsql_fetch_row() or other similar functions.

Ver también

fbsql_list_fields()
fbsql_list_tables()

Anterior | Inicio | Siguiente
fbsql_insert_id | Subir | fbsql_list_fields


fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_fields -- List FrontBase result fields

Descripción

resource fbsql_list_fields ( string database_name, string table_name [, resource link_identifier] )

Retrieves information about the given table.

Lista de parámetros

database_name

The database name.

table_name

The table name.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a result pointer which can be used with the fbsql_field_xxx functions, or FALSE on error.

Errors/Exceptions

A string describing the error will be placed in $phperrmsg, and unless the function was called as @fbsql() then this error string will also be printed out.

Ejemplos

Ejemplo 1. fbsql_list_fields() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

El resultado del ejemplo seria algo similar a:

field1
field2
field3
...

Ver también

fbsql_field_len()
fbsql_field_name()
fbsql_field_type()
fbsql_field_flags()

Anterior | Inicio | Siguiente
fbsql_list_dbs | Subir | fbsql_list_tables


fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_tables -- List tables in a FrontBase database

Descripción

resource fbsql_list_tables ( string database [, resource link_identifier] )

Returns a result pointer describing the database.

Lista de parámetros

database

The database name.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a result pointer which can be used with the fbsql_tablename() function to read the actual table names, or FALSE on error.

Ver también

fbsql_list_fields()
fbsql_list_dbs()

Anterior | Inicio | Siguiente
fbsql_list_fields | Subir | fbsql_next_result


fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_next_result -- Move the internal result pointer to the next result

Descripción

bool fbsql_next_result ( resource result )

When sending more than one SQL statement to the server or executing a stored procedure with multiple results will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the words from the new result set.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns TRUE if an additional result set was available or FALSE otherwise.

Ejemplos

Ejemplo 1. fbsql_next_result() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret");
fbsql_select_db("MyDB", $link);
$SQL = "Select * from table1; select * from table2;";
$rs = fbsql_query($SQL, $link);
do {
    while ($row = fbsql_fetch_row($rs)) {
    }
} while (fbsql_next_result($rs));
fbsql_free_result($rs);
fbsql_close($link);
?>

Anterior | Inicio | Siguiente
fbsql_list_tables | Subir | fbsql_num_fields


fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_fields -- Get number of fields in result

Descripción

int fbsql_num_fields ( resource result )

Returns the number of fields in the given result set.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns the number of fields, as an integer.

Ver también

fbsql_db_query()
fbsql_query()
fbsql_fetch_field()
fbsql_num_rows()

Anterior | Inicio | Siguiente
fbsql_next_result | Subir | fbsql_num_rows


fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_rows -- Get number of rows in result

Descripción

int fbsql_num_rows ( resource result )

Gets the number of rows in the given result set.

This function is only valid for SELECT statements. To retrieve the number of rows returned from a INSERT, UPDATE or DELETE query, use fbsql_affected_rows().

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

Valores retornados

Returns the number of rows returned by the last SELECT statement.

Ejemplos

Ejemplo 1. fbsql_num_rows() example

<?php

$link = fbsql_connect("localhost", "username", "password");
fbsql_select_db("database", $link);

$result = fbsql_query("SELECT * FROM table1;", $link);
$num_rows = fbsql_num_rows($result);

echo "$num_rows Rows\n";

?>

Ver también

fbsql_affected_rows()
fbsql_connect()
fbsql_select_db()
fbsql_query()

Anterior | Inicio | Siguiente
fbsql_num_fields | Subir | fbsql_password


fbsql_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_password -- Get or set the user password used with a connection

Descripción

string fbsql_password ( resource link_identifier [, string password] )

Get or set the user password used with a connection.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

password

If provided, this will be the new connection password.

Valores retornados

Returns the current password used for the connection.

Ver también

fbsql_username()
fbsql_hostname()

Anterior | Inicio | Siguiente
fbsql_num_rows | Subir | fbsql_pconnect


fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_pconnect -- Open a persistent connection to a FrontBase Server

Descripción

resource fbsql_pconnect ( [string hostname [, string username [, string password]]] )

Establishes a persistent connection to a FrontBase server.

To set the server port number, use fbsql_select_db().

fbsql_pconnect() acts very much like fbsql_connect() with two major differences:

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use.

This type of links is therefore called 'persistent'.

Lista de parámetros

hostname

The server host name. Defaults to localhost.

username

The user name for the connection. Defaults to _SYSTEM.

password

The password for the connection. Defaults to the empty string.

Valores retornados

Returns a positive FrontBase persistent link identifier on success, or FALSE on error.

Ver también

fbsql_connect()

Anterior | Inicio | Siguiente
fbsql_password | Subir | fbsql_query


fbsql_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_query -- Send a FrontBase query

Descripción

resource fbsql_query ( string query [, resource link_identifier [, int batch_size]] )

Sends a query to the currently active database on the server.

If the query succeeds, you can call fbsql_num_rows() to find out how many rows were returned for a SELECT statement or fbsql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

Lista de parámetros

query

The SQL query to be executed.

Nota: The query string shall always end with a semicolon.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

batch_size

Valores retornados

fbsql_query() returns TRUE (non-zero) or FALSE to indicate whether or not the query succeeded. A return value of TRUE means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.

For SELECT statements, fbsql_query() returns a new result identifier that you can pass to fbsql_result().

fbsql_query() will also fail and return FALSE if you don't have permission to access the table(s) referenced by the query.

Ejemplos

The following query is syntactically invalid, so fbsql_query() fails and returns FALSE:

Ejemplo 1. fbsql_query() example

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Invalid query");
?>

The following query is semantically invalid if my_col is not a column in the table my_tbl, so fbsql_query() fails and returns FALSE:

Ejemplo 2. fbsql_query() example

<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
    or die ("Invalid query");
?>

Ver también

fbsql_affected_rows()
fbsql_db_query()
fbsql_free_result()
fbsql_result()
fbsql_select_db()
fbsql_connect()

Anterior | Inicio | Siguiente
fbsql_pconnect | Subir | fbsql_read_blob


fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_blob -- Read a BLOB from the database

Descripción

string fbsql_read_blob ( string blob_handle [, resource link_identifier] )

Reads BLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_blob() to get the actual BLOB data from the database.

Lista de parámetros

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a string containing the specified BLOB data.

Ejemplos

Ejemplo 1. fbsql_read_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the blob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the BLOB data in the first row
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

Ver también

fbsql_create_blob()
fbsql_read_clob()
fbsql_set_lob_mode()

Anterior | Inicio | Siguiente
fbsql_query | Subir | fbsql_read_clob


fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_clob -- Read a CLOB from the database

Descripción

string fbsql_read_clob ( string clob_handle [, resource link_identifier] )

Reads CLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_clob() to get the actual CLOB data from the database.

Lista de parámetros

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Returns a string containing the specified CLOB data.

Ejemplos

Ejemplo 1. fbsql_read_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the clob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the CLOB data in the first row
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

Ver también

fbsql_create_clob()
fbsql_read_blob()
fbsql_set_lob_mode()

Anterior | Inicio | Siguiente
fbsql_read_blob | Subir | fbsql_result


fbsql_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_result -- Get result data

Descripción

mixed fbsql_result ( resource result [, int row [, mixed field]] )

Returns the contents of one cell from a FrontBase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than fbsql_result().

Calls to fbsql_result() should not be mixed with calls to other functions that deal with the result set.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

row

field

Can be the field's offset, or the field's name, or the field's table dot field's name (tabledname.fieldname).

If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name.

Nota: Specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Valores retornados

Ver también

Recommended high-performance alternatives:

fbsql_fetch_row()
fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_object()

Anterior | Inicio | Siguiente
fbsql_read_clob | Subir | fbsql_rollback


fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5)

fbsql_rollback -- Rollback a transaction to the database

Descripción

bool fbsql_rollback ( [resource link_identifier] )

Ends the current transaction by rolling back all statements issued since last commit.

This command is only needed if autocommit is set to false.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_autocommit()
fbsql_commit()

Anterior | Inicio | Siguiente
fbsql_result | Subir | fbsql_rows_fetched


fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_select_db -- Select a FrontBase database

Descripción

bool fbsql_select_db ( [string database_name [, resource link_identifier]] )

Sets the current active database on the given link identifier.

The client contacts FBExec to obtain the port number to use for the connection to the database. If the database name is a number the system will use that as a port number and it will not ask FBExec for the port number. The FrontBase server can be stared as FRontBase -FBExec=No -port=<port number> <database name>.

Every subsequent call to fbsql_query() will be made on the active database.

Lista de parámetros

database_name

The name of the database to be selected.

If the database is protected with a database password, the you must call fbsql_database_password() before selecting the database.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_connect()
fbsql_pconnect()
fbsql_database_password()
fbsql_query()

Anterior | Inicio | Siguiente
fbsql_rows_fetched | Subir | fbsql_set_characterset


fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_lob_mode -- Set the LOB retrieve mode for a FrontBase result set

Descripción

bool fbsql_set_lob_mode ( resource result, int lob_mode )

Sets the mode for retrieving LOB data from the database.

When BLOB and CLOB data is retrieved in FrontBase it can be retrieved direct or indirect. Direct retrieved LOB data will always be fetched no matter the setting of the lob mode. If the LOB data is less than 512 bytes it will always be retrieved directly.

Lista de parámetros

result

A result identifier returned by fbsql_query() or fbsql_db_query().

lob_mode

Can be one of:

  • FBSQL_LOB_DIRECT - LOB data is retrieved directly. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, all CLOB and BLOB columns will be returned as ordinary columns. This is the default value on a new FrontBase result.

  • FBSQL_LOB_HANDLE - LOB data is retrieved as handles to the data. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, LOB data will be returned as a handle to the data if the data is stored indirect or the data if it is stored direct. If a handle is returned it will be a 27 byte string formatted as @'000000000000000000000000'.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_create_blob()
fbsql_create_clob()
fbsql_read_blob()
fbsql_read_clob()

Anterior | Inicio | Siguiente
fbsql_set_characterset | Subir | fbsql_set_password


fbsql_set_password

(PHP 5)

fbsql_set_password -- Change the password for a given user

Descripción

bool fbsql_set_password ( resource link_identifier, string user, string password, string old_password )

Changes the password for the given user.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

user

The user name.

password

The new password to be set.

old_password

The old password to be replaced.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
fbsql_set_lob_mode | Subir | fbsql_set_transaction


fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_transaction -- Set the transaction locking and isolation

Descripción

void fbsql_set_transaction ( resource link_identifier, int locking, int isolation )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

locking

isolation

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
fbsql_set_password | Subir | fbsql_start_db


fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_start_db -- Start a database on local or remote server

Descripción

bool fbsql_start_db ( string database_name [, resource link_identifier [, string database_options]] )

Start a database on local or remote server.

Lista de parámetros

database_name

The database name.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

database_options

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_db_status()
fbsql_stop_db()

Anterior | Inicio | Siguiente
fbsql_set_transaction | Subir | fbsql_stop_db


fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_stop_db -- Stop a database on local or remote server

Descripción

bool fbsql_stop_db ( string database_name [, resource link_identifier] )

Stops a database on local or remote server.

Lista de parámetros

database_name

The database name.

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fbsql_db_status()
fbsql_start_db()

Anterior | Inicio | Siguiente
fbsql_start_db | Subir | fbsql_table_name


fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5)

fbsql_tablename -- Alias of of fbsql_table_name()

Descripción

This function is an alias of: fbsql_table_name().

Anterior | Inicio | Siguiente
fbsql_table_name | Subir | fbsql_username


fbsql_username

(PHP 4 >= 4.0.6, PHP 5)

fbsql_username -- Get or set the username for the connection

Descripción

string fbsql_username ( resource link_identifier [, string username] )

Get or set the username used for the connection.

Lista de parámetros

link_identifier

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments

username

If provided, this is the new username to set.

Valores retornados

Returns the current username used with the connection, as a string.

Ver también

fbsql_password()
fbsql_hostname()

Anterior | Inicio | Siguiente
fbsql_tablename | Subir | fbsql_warnings


fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5)

fbsql_warnings -- Enable or disable FrontBase warnings

Descripción

bool fbsql_warnings ( [bool OnOff] )

Enables or disables FrontBase warnings.

Lista de parámetros

OnOff

Whether to enable warnings or no.

Valores retornados

Returns TRUE if warnings is turned on, FALSE otherwise.

Ver también

fbsql_errno()
fbsql_error()

Anterior | Inicio | Siguiente
fbsql_username | Subir | Funciones FTP


Funciones filePro

Manual de PHP
Anterior Siguiente

XXXIX. Funciones filePro

Estas funciones permiten acceso en modo de solo-lectura a datos guardados en bases de datos filePro.

filePro es una marca registrada de fP Technologies, Inc. Mas informacion sobre filePro puede encontrarse en http://www.fptech.com/.

Tabla de contenidos
filepro_fieldcount -- encuentra cuantos campos existen en una base de datos filePro
filepro_fieldname -- obtiene el nombre de un campo
filepro_fieldtype -- obtiene el tipo de campo
filepro_fieldwidth -- obtiene la anchura de un campo
filepro_retrieve -- extrae informacion de una base de datos filePro
filepro_rowcount -- encuentra cuantas filas existen en una base de datos filePro
filepro -- lee y verifica el fichero de mapeo

Anterior | Inicio | Siguiente
finfo_set_flags | Subir | filepro_fieldcount


filepro_fieldcount

(PHP 3, PHP 4, PHP 5)

filepro_fieldcount -- encuentra cuantos campos existen en una base de datos filePro

Descripcion

int filepro_fieldcount ( void )

Devuelve el numero de campos (columnas) existentes en la base de datos filePro abierta.

Ver tambien filepro().

Anterior | Inicio | Siguiente
Funciones filePro | Subir | filepro_fieldname


filepro_fieldname

(PHP 3, PHP 4, PHP 5)

filepro_fieldname -- obtiene el nombre de un campo

Descripcion

string filepro_fieldname ( int field_number )

Devuelve el nombre del campo correspondiente a field_number.

Anterior | Inicio | Siguiente
filepro_fieldcount | Subir | filepro_fieldtype


filepro_fieldtype

(PHP 3, PHP 4, PHP 5)

filepro_fieldtype -- obtiene el tipo de campo

Descripcion

string filepro_fieldtype ( int field_number )

Devuelve el tipo de campo del campo correspondiente a field_number.

Anterior | Inicio | Siguiente
filepro_fieldname | Subir | filepro_fieldwidth


filepro_fieldwidth

(PHP 3, PHP 4, PHP 5)

filepro_fieldwidth -- obtiene la anchura de un campo

Descripcion

int filepro_fieldwidth ( int field_number )

Devuelve la anchura de el campo correspondiente a field_number.

Anterior | Inicio | Siguiente
filepro_fieldtype | Subir | filepro_retrieve


filepro_retrieve

(PHP 3, PHP 4, PHP 5)

filepro_retrieve -- extrae informacion de una base de datos filePro

Descripcion

string filepro_retrieve ( int row_number, int field_number )

Devuelve la informacion de la base de datos contenida en la localizacion especificada.

Anterior | Inicio | Siguiente
filepro_fieldwidth | Subir | filepro_rowcount


filepro_rowcount

(PHP 3, PHP 4, PHP 5)

filepro_rowcount -- encuentra cuantas filas existen en una base de datos filePro

Descripcion

int filepro_rowcount ( void )

Devuelve el numero de filas (entradas) existentes en la base de datos filePro abierta.

Ver tambien filepro().

Anterior | Inicio | Siguiente
filepro_retrieve | Subir | filepro


filepro

(PHP 3, PHP 4, PHP 5)

filepro -- lee y verifica el fichero de mapeo

Descripcion

bool filepro ( string directory )

Lee y verifica el fichero de mapeo, guardando la relacion de campos e informacion.

Ningun bloqueo es realizado, por ello, no se deberia modificar la base de datos filePro cuando puede ser abierta con PHP.

Anterior | Inicio | Siguiente
filepro_rowcount | Subir | Funciones del Sistema de Archivos


Funciones del Sistema de Archivos

Manual de PHP
Anterior Siguiente

XL. Funciones del Sistema de Archivos

Introducción

Requisitos

No se requieren bibliotecas externas para compilar esta extensión, pero si desea que PHP ofrezca soporte para LFS (archivos grandes) en Linux, entonces necesita tener una versión reciente de glibc y necesita compilar PHP con las siguientes banderas del compilador: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración del Sistema de Archivos y Secuencias

Nombre | Predeterminado | Modificable | Cambios
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.3.4. Disponible desde PHP 4.0.4.
allow_url_include | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.0.
user_agent | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0.
default_socket_timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.

A continuación se presenta una corta explicación de las directivas de configuración.

allow_url_fopen boolean

Esta opción habilita las envolturas fopen tipo URL que le permiten acceder a objetos URL como archivos. Existen envolturas predeterminadas para el acceso de archivos remotos usando los protocolos ftp o http, algunas extensiones como zlib pueden registrar envolturas adicionales.

Nota: Este parámetro puede ser definido únicamente en php.ini debido a razones de seguridad.

Nota: Esta opción fue introducida inmediatamente después del lanzamiento de la versión 4.0.3. Para versiones anteriores a, e incluyendo la 4.0.3, solo puede deshabilitar esta característica en tiempo de compilación usando el parámetro de configuración --disable-url-fopen-wrapper.

Aviso

En versiones de windows anteriores a PHP 4.3.0, las siguientes funciones no soportan el acceso de archivos remotos: include(), include_once(), require(), require_once() y las funciones imagecreatefromXXX en la extensión Referencia LXIII, Funciones para imágenes.

allow_url_include boolean

Esta opción permite el uso de envolturas fopen con soporte URL con las
siguientes funciones: include(),
include_once(), require(),
require_once().

Nota: Este parámetro requiere que se habilite allow_url_fopen.

user_agent string

Definir el agente de usuario que envía PHP.

default_socket_timeout integer

Tiempo de espera predeterminado (en segundos) para secuencias basadas en sockets.

Nota: Esta opción de configuración fue introducida en PHP 4.3.0

from string

Definir la contraseña de ftp anónimo (su dirección de correo electrónico).

auto_detect_line_endings boolean

Cuando está habilitada esta opción, PHP examina los datos leídos por fgets() y file() para ver si está usando convenciones de final de líneo tipo Unix, MS-Dos o Macintosh.

Esto le permite a PHP interoperar con sistemas Macintosh, pero tiene un valor predeterminado de Off, ya que hay un impacto ligero de rendimiento cuando se detectan las convenciones EOL para la primera línea, y también porque las personas que usen retornos de carro como separador de elementos bajo sistemas Unix percibirían un comportamiento que no es compatible con versiones anteriores.

Nota: Esta opción de configuración fue introducida en PHP 4.3.0

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

GLOB_BRACE (integer)

GLOB_ONLYDIR (integer)

GLOB_MARK (integer)

GLOB_NOSORT (integer)

GLOB_NOCHECK (integer)

GLOB_NOESCAPE (integer)

PATHINFO_DIRNAME (integer)

PATHINFO_BASENAME (integer)

PATHINFO_EXTENSION (integer)

PATHINFO_FILENAME (integer)

Desde PHP 5.2.0.

FILE_USE_INCLUDE_PATH (integer)

FILE_APPEND (integer)

FILE_IGNORE_NEW_LINES (integer)

FILE_SKIP_EMPTY_LINES (integer)

Ver también

Para funciones relacionadas, vea también las secciones Directorio y Ejecución de Programas.

Para una lista de las varias envolturas de URL que pueden ser usadas como archivos remotos, y su explicación, vea también Apéndice M.

Tabla de contenidos
basename -- Devuelve la parte del path correspondiente al nombre del archivo
chgrp -- Cambia el grupo de un archivo
chmod -- Cambia permisos de un archivo
chown -- Cambia el propietario de un archivo
clearstatcache -- Limpia la cache de estado de un archivo
copy -- Copia un archivo
delete -- Vea unlink() o unset()
dirname -- Devuelve la parte del path correspondiente al directorio
disk_free_space -- Devuelve el espacio disponible en el directorio
disk_total_space -- Devuelve el tamaño total de un directorio
diskfreespace -- Alias de disk_free_space()
fclose -- Cierra el apuntador a un archivo abierto
feof -- Verifica si el apuntador a un archivo está al final del archivo
fflush -- Vacía la salida hacia un archivo
fgetc -- Obtiene un caracter del archivo apuntado
fgetcsv -- Obtiene una linea del archivo apuntado y extrae los campos CSV
fgets -- Obtiene una línea desde el apuntador de archivo
fgetss -- Obtiene una lína desde el apuntador de archivo y elimina las etiquetas HTML
file_exists -- Verifica si un archivo o directorio existe
file_get_contents -- Lee un archivo entero en una cadena
file_put_contents -- Escribir una cadena sobre un archivo
file -- Lee un archivo entero hacia una matriz
fileatime -- Obtiene la hora del último acceso al archivo
filectime -- Obtiene la hora de modificación del inode del archivo
filegroup -- Obtiene el grupo del archivo
fileinode -- Obtiene el inode del archivo
filemtime -- Obtiene la hora de modificación del archivo
fileowner -- Obtiene el dueño del archivo
fileperms -- Obtiene los permisos del archivo
filesize -- Obtiene el tamaño del archivo
filetype -- Obtiene el tipo de archivo
flock -- Aviso de bloqueo de archivos portable
fnmatch -- Comparar un nombre de archivo contra un patrón
fopen -- Abre un archivo o URL
fpassthru -- Imprime todos los datos restantes en un apuntador de archivo
fputcsv -- Formatea la línea como CSV y la escribe en el archivo apuntado
fputs -- Alias of fwrite()
fread -- Lectura de archivos segura con material binario
fscanf -- Procesa la entrada desde un archivo de acuerdo a un formato
fseek -- Realiza una búsqueda sobre un apuntador de archivo
fstat -- Obtiene información sobre un archivo usando un apuntador de archivo abierto
ftell -- Indica la posición de lectura/escritura del apuntador de archivo
ftruncate -- Trunca un archivo a la longitud dada
fwrite -- Escritura sobre archivos, segura con material binario
glob -- Encontrar nombres de ruta coincidentes con un patrón
is_dir -- Indica si el nombre de archivo es un directorio
is_executable -- Indica si el archivo es ejecutable
is_file -- Indica si el archivo es un archivo regular
is_link -- Indica si el archivo es un enlace simbólico
is_readable -- Indica si es posible leer el archivo
is_uploaded_file -- Indica si un archivo fue cargado a través de HTTP POST
is_writable -- Indica si el nombre de archivo es escribible
is_writeable -- Alias of is_writable()
lchgrp -- Changes group ownership of symlink
lchown -- Changes user ownership of symlink
link -- Crea un enlace duro
linkinfo -- Consigue información sobre un enlace
lstat -- Entrega información sobre un archivo o enlace simbólico
mkdir -- Crea un directorio
move_uploaded_file -- Mueve un archivo cargado a una nueva ubicación
parse_ini_file -- Procesar un archivo de configuración
pathinfo -- Devuelve información sobre la ruta de un archivo
pclose -- Cierra un apuntador de archivo de proceso
popen -- Abre un apuntador de archivo de proceso
readfile -- Imprime un archivo
readlink -- Devuelve el objetivo de un enlace simbólico
realpath -- Devuelve el nombre de ruta absoluto simplificado
rename -- Renombra un archivo o directorio
rewind -- Retroceder la posición de un apuntador de archivo
rmdir -- Elimina un directorio
set_file_buffer -- Alias of stream_set_write_buffer()
stat -- Entrega información sobre un archivo
symlink -- Crea un enlace simbólico
tempnam -- Crear un archivo con un nombre único
tmpfile -- Crea un archivo temporal
touch -- Establece la hora de acceso y modificación de un archivo
umask -- Cambia la umask actual
unlink -- Elimina un archivo

Anterior | Inicio | Siguiente
filepro | Subir | basename


basename

(PHP 3, PHP 4, PHP 5)

basename -- Devuelve la parte del path correspondiente al nombre del archivo

Descripción

string basename ( string path [, string sufijo] )

Dada una cadena que contiene el path de un archivo, esta función devuelve el nombre base del archivo. Si el nombre del archivo termina con sufijo, este también será cortado del nombre del archivo.

En Windows, tanto la barra (/) como la barra inversa (\) pueden usarse como caracter separador en el path. En otros entornos, se usa la barra directa (/).

Ejemplo 1. Ejemplo de basename()

<?php
$path = "/home/httpd/html/index.php";
$file = basename($path);        // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
?>

Nota: El parámetro sufijo fue agregado en PHP 4.1.0.

Ver también: dirname().

Anterior | Inicio | Siguiente
Funciones del Sistema de Archivos | Subir | chgrp


chgrp

(PHP 3, PHP 4, PHP 5)

chgrp -- Cambia el grupo de un archivo

Descripción

int chgrp ( string nombre_archivo, mixed grupo )

Trata de cambiar el grupo del archivo nombre_archivo al grupo grupo (especificado por nombre o número). Sólo el superusuario puede cambiar el grupo de un archivo arbitrariamente; otros usuarios pueden cambiar el grupo del archivo a cualquier grupo del cual el usuario sea miembro.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Ver también chown() y chmod().

Anterior | Inicio | Siguiente
basename | Subir | chmod


chmod

(PHP 3, PHP 4, PHP 5)

chmod -- Cambia permisos de un archivo

Descripción

int chmod ( string nombre_archivo, int modo )

Trata de cambiar los permisos del archivo especificado por nombre_archivo a los permisos dados por modo.

Note que modo no es asumido de forma automática como un valor octal. Para asegurar que se hace la operación esperada necesitas anteponer un cero (0) como prefijo del parámetro modo:

<?php
chmod("/somedir/somefile", 755);   // decimal; probablemente incorrecto
chmod("/somedir/somefile", "u+rwx,go+rx"); // string; incorrecto
chmod("/somedir/somefile", 0755);  // octal; valor correcto
?>

El parámetro modo consiste de tres componentes de valor octal que especifican las restricciones de acceso para el propietario, el grupo de usuarios al que pertenece el propietario del archivo, y todo el mundo, e ese orden. Uno de los componentes puede ser calculado al agregarle los permisos necesarios para ese usuario en especifico, El número 1 significa que tiene permisos de ejecución, el número 2 significa que puede modificar el contenido del archivo, el número 4 significa que puede leer el contenido del archivo. Agrege estos valores para especificar los permisos necesrios. También se puede leer más acerca de los modos en sistemas Unix con los comandos 'man 1 chmod' y 'man 2 chmod'.

<?php
// Lectura y escritura para el propietario, y nada para los demas
chmod("/somedir/somefile", 0600);

// Lectura y escritura para el propietario, y lectura para los demas
chmod("/somedir/somefile", 0644);

// todos los permisos par el propietario, lectyra y escritura para los demas
chmod("/somedir/somefile", 0755);

// Todo para el propietario, lectura y ejecucion para el grupo del propietario
chmod("/somedir/somefile", 0750);
?>

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: El usuario actual es con el cual PHP se ejecuta. Es probable que no sea el mismo usuario que usa para accesos FTP o por shell.

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Cuando safe mode está activado, PHP checa si los archivos o directorios con lo que quiere trabajar tienen la misma identificación de usuario (UID) (propietario) que el que está ejecutando el script. Además no puede cambiar el SUID, SGID y los sticky bits.

Ver también chown() y chgrp().

Anterior | Inicio | Siguiente
chgrp | Subir | chown


chown

(PHP 3, PHP 4, PHP 5)

chown -- Cambia el propietario de un archivo

Descripción

int chown ( string nombre_archivo, mixed usuario )

Trata de cambiar el propietario del archivo nombre_archivo al usuario usuario. Sólo el superusuario puede cambiar el propietario de un archivo.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Ver también chmod().

Anterior | Inicio | Siguiente
chmod | Subir | clearstatcache


clearstatcache

(PHP 3, PHP 4, PHP 5)

clearstatcache -- Limpia la cache de estado de un archivo

Descripción

void clearstatcache ( void )

Cuando se usa stat(), lstat(), o cualquier otra de las funciones en la lista de funciones afectadas (vea abajo), PHP pone en cache la información de lo que devuelven esas funciones, en aras de proveer mayor desempeño. Sin embargo, en ciertos casos, tal vez desee quitar la información en el cache. Por ejemplo, si el mismo archivo está siendo revisado muchas veces dentro de un mismo script, y ese archivo está en peligro de ser removido o cambia durante la operación del script, puede escoger borrar el cache. En estos casos, puede usar la función clearstatcache() para limpiar la información que PHP pone en cache acerca del archivo.

Debe notar también que PHP no pone información en cache de archivos que no existen. De tal manera, que si ejecuta file_exists() en un archivo que no existe, regresará FALSE hasta que cree el archivo. SI crea el archivo, regresará TRUE aunque haya borrado el archivo.

Nota: Esta función pone en cache información acerca de nombres de archivo especificos, de tal forma que solo necesita ejecutar clearstatcache() si está elaborando operaciones múltiples sobre el mismo archivo y necesita que la información sobre un archivo en particular no se ponga en cache.

Entre las funciones afectadas se incluyen stat(),
lstat(),
file_exists(),
is_writeable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype(), y
fileperms().

Anterior | Inicio | Siguiente
chown | Subir | copy


copy

(PHP 3, PHP 4, PHP 5)

copy -- Copia un archivo

Descripción

int copy ( string origen, string destino )

Hace una copia de origen a destino. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de copy()

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "failed to copy $file...\n";
}
?>

Si desea mover un archivo, use la función rename().

Nota: Desde PHP 4.3.0, los parámetros origen y destino pueden ser ULRs si se ha habilitado la opción "fopen wrappers". Vea fopen() para más detalles. Si destino es una URL, la operación de copiado puede fallar si el empaquetador o wrapper no soporta la sobreescritura de archivos existentes.

Aviso

Si el archivo de destino ya existe, será sobreescrito.

Nota: Nota de compatibilidad con windows: Si copia un archivo sin tamaño, copy() regresará FALSE, pero el archivo será copiado correctamente.

Vea también move_uploaded_file(), rename(), y la sección del manual acerca del Manejo de envío de archivos .

Anterior | Inicio | Siguiente
clearstatcache | Subir | delete


delete

(no version information, might be only in CVS)

delete -- Vea unlink() o unset()

Descripción

void delete ( string archivo )

Esto es una forma de satisfacer a esas personas que están buscando unlink() o unset() en el lugar equivocado.

Ver también: unlink() para borrar ficheros, unset() para borrar variables.

Anterior | Inicio | Siguiente
copy | Subir | dirname


dirname

(PHP 3, PHP 4, PHP 5)

dirname -- Devuelve la parte del path correspondiente al directorio

Descripción

string dirname ( string path )

Dada una cadena conteniendo el path a un fichero, esta función devolverá el nombre del directorio.

En Windows, tanto la barra (/) como la barra inversa (\) son usadas como separadores de caracteres. En otros entornos, debe usarse la barra directa (/).

Ejemplo 1. Ejemplo de dirname()

<?php
$path = "/etc/passwd";
$file = dirname($path); // $file is set to "/etc"
?>

Nota: En PHP 4.0.3, dirname() fue corregida para cumplir con POSIX. Esencialmente, esto significa que si no hay diagonales en path, se regresa un punto ('.'), indicando el directorio actual. De otra manera, la cadena regresada es path con cualquier /component removido. Note que esto significa que seguido obtendrá una diagonal o punto en situaciones donde la funcionalidad anterior le haya dado una cadena vacía.

dirname() ha cambiado su comportamiento en PHP 4.3.0. Revise los siguiente ejemplos:

<?php

//before PHP 4.3.0
dirname('c:/'); // returned '.'

//after PHP 4.3.0
dirname('c:/'); // returns 'c:'

?>

dirname() es segura con datos binarios desde PHP 5.0.0

Vea también basename(),
pathinfo() y
realpath().

Anterior | Inicio | Siguiente
delete | Subir | disk_free_space


disk_free_space

(PHP 4 >= 4.1.0, PHP 5)

disk_free_space -- Devuelve el espacio disponible en el directorio

Descripción

float disk_free_space ( string directorio )

Dada una cadena que contiene un directorio, esta función devolverá el número de bytes disponibles en el sistema de archivos o partición de disco correspondiente.

Ejemplo 1. Ejemplo de disk_free_space()

<?php
// $df contiene el número de bytes disponibles en "/"
$df = disk_free_space("/");

// En Windows:
disk_free_space("C:");
disk_free_space("D:");
?>

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Vea también disk_total_space()

Anterior | Inicio | Siguiente
dirname | Subir | disk_total_space


disk_total_space

(PHP 4 >= 4.1.0, PHP 5)

disk_total_space -- Devuelve el tamaño total de un directorio

Descripción

float disk_total_space ( string directorio )

Dada una cadena que contiene un directorio, esta función devolverá el número total de bytes en el sistema de archivos o partición de disco correspondiente.

Ejemplo 1. Ejemplo de disk_total_space()

<?php
// $df contiene el número total de bytes disponible en "/"
$df = disk_total_space("/");

// En Windows:
disk_total_space("C:");
disk_total_space("D:");
?>

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Vea también disk_free_space()

Anterior | Inicio | Siguiente
disk_free_space | Subir | diskfreespace


diskfreespace

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

diskfreespace -- Alias de disk_free_space()

Descripción

Esta función es un alias de disk_free_space().

Anterior | Inicio | Siguiente
disk_total_space | Subir | fclose


fclose

(PHP 3, PHP 4, PHP 5)

fclose -- Cierra el apuntador a un archivo abierto

Descripcióon

int fclose ( int handle )

Se cierra el fichero apuntado por handle.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El apuntador al fichero debe ser válido y debe apuntarse a un fichero abierto con éxito con fopen() o con fsockopen().

Ejemplo 1. Un ejemplo simple de fclose()

<?php

  $handle = fopen('somefile.txt', 'r');

  fclose($handle);

?>

Anterior | Inicio | Siguiente
diskfreespace | Subir | feof


feof

(PHP 3, PHP 4, PHP 5)

feof -- Verifica si el apuntador a un archivo está al final del archivo

Descripción

int feof ( int handle )

Devuelve TRUE si el apuntador del fichero está en EOF o si ocurre un error (incluyendo tiempo de espera agotado); en otro caso devuelve FALSE.

Aviso

Si una conexión abierta por fsockopen() no fue cerrada por el servidor, feof() esperará hasta que ocurra un tiempo de espera agotado para regresar TRUE. El tiempo de espera por default es 60 segundos. Puede usar stream_set_timeout() para cambiar este valor.

El puntero de fichero debe de ser valido y debe de apuntar a un fichero abierto con exito por fopen() o fsockopen().

Anterior | Inicio | Siguiente
fclose | Subir | fflush


fflush

(PHP 4 >= 4.0.1, PHP 5)

fflush -- Vacía la salida hacia un archivo

Descripción

bool fflush ( resource gestor )

Esta función obliga a que se produzca la escritura de la salida acumulada en búfer al recurso apuntado por el gestor de archivo gestor. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El puntero de fichero debe de ser valido y debe de apuntar a un fichero abierto con exito por fopen() o fsockopen().

Anterior | Inicio | Siguiente
feof | Subir | fgetc


fgetc

(PHP 3, PHP 4, PHP 5)

fgetc -- Obtiene un caracter del archivo apuntado

Descripción

string fgetc ( resource handle )

Devuelve una cadena conteniendo un simple caracter leído del archivo apuntado por handle. Devuelve FALSE para EOF

El puntero de fichero debe de ser valido y debe de apuntar a un fichero abierto con exito por fopen() o fsockopen().

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ejemplo 1. Un ejemplo de fgetc()

<?php
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
    echo 'Could not open file somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}
?>

Nota: Esta función es segura binariamente.

Vea tambié fread(), fopen(),
popen(), fsockopen(), y
fgets().

Anterior | Inicio | Siguiente
fflush | Subir | fgetcsv


fgetcsv

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

fgetcsv -- Obtiene una linea del archivo apuntado y extrae los campos CSV

Descripción

array fgetcsv ( resource handle [, int length [, string delimiter [, string enclosure]]] )

handle

Un apuntador de archivo válido abierto exitosamente por fopen(), popen(), o fsockopen().

length (Optional)

Debe ser mayor que la línea más grande (en caracteres) a ser encontrada en el archivo CSV (permitiendo los caracteres de fin de línea). Se volvió opcional en PHP 5. Omitiendo este parámetro (o poniéndolo en 0 en PHP 5.0.4 y superior) no hay tamaño máximo para una línea, lo cuál lo hace un poco lento.

delimiter (Optional)

Fija el delimitador del campo (sólo un caracter). El valor por defecto es la coma.

enclosure (Optional)

Fija el caracter de delimitación (sólo un caracter). El caracter por defecto son las dobles comillas. Agregado en PHP 4.3.0.

Similar a fgets() excepto en el formato CSV y regresa una matriz conteniendo los campos leídos.

fgetcsv() regresa FALSE en error, incluyendo fin de archivo.

Nota: Una línea en blanco en un archivo CSV será regresada como una matriz que contiene un campo null, y no ser´ tratada como error.

Ejemplo 1. Lee e imprime todo el contenido del archivo CSV

<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $num = count($data);
    echo "<p> $num fields in line $row: <br /></p>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br />\n";
    }
}
fclose($handle);
?>

fgetcsv() es seguro en forma binaria desde PHP 4.3.5

Nota: Las opciones locales son tomadas en cuenta por esta función. Si LANG es por ejemplo en_US.UTF-8, los archivos codificados en one-byte serán leídos equivocadamente por está función.

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee archivos creados en un Macintosh (o leyendo archivos sobre uno), puede probar activando la opción de configuración auto_detect_line_endings.

Vea también explode(), file(), pack() y fputcsv().

Anterior | Inicio | Siguiente
fgetc | Subir | fgets


fgets

(PHP 3, PHP 4, PHP 5)

fgets -- Obtiene una línea desde el apuntador de archivo

Descripción

string fgets ( resource gestor [, int longitud] )

Devuelve una cadena de hasta longitud - 1 bytes leídos desde el archivo apuntado por gestor. La lectura termina cuando se han leído longitud - 1 bytes, se alcanza un salto de línea (el cual se incluye en el valor devuelto), o en EOF (lo que ocurra primero). Si no se especifica una longitud, la función seguirá leyendo desde la secuencia hasta que llegue al final de línea.

Si ocurre un error, devuelve FALSE.

Errores comunes:

Aquellos acostumbrados a la semántica de fgets() en 'C', debe notar la diferencia en el modo en que EOF es devuelto.

El puntero de fichero debe de ser valido y debe de apuntar a un fichero abierto con exito por fopen() o fsockopen().

A continuación se presenta un ejemplo simple:

Ejemplo 1. Lectura de un archivo línea a línea

<?php
$gestor = @fopen("/tmp/archivo_entrada.txt", "r");
if ($gestor) {
    while (!feof($gestor)) {
        $bufer = fgets($gestor, 4096);
        echo $bufer;
    }
    fclose ($gestor);
}
?>

Nota: El parámetro longitud se hizo opcional en PHP 4.2.0. Hasta PHP 4.3.0, al ser omitido, se asume 1024 como la longitud de línea. Si la mayoría de líneas en el archivo superan los 8KB, es más eficiente en términos de recursos espicificar la longitud máxima de línea en su script.

Nota: Esta función es segura con material binario desde PHP 4.3. Las versiones anteriores no contaban con esta característica.

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee archivos creados en un Macintosh (o leyendo archivos sobre uno), puede probar activando la opción de configuración auto_detect_line_endings.

Vea también fgetss() fread(),
fgetc(), stream_get_line(),
fopen(), popen(),
fsockopen(), y
stream_set_timeout().

Anterior | Inicio | Siguiente
fgetcsv | Subir | fgetss


fgetss

(PHP 3, PHP 4, PHP 5)

fgetss -- Obtiene una lína desde el apuntador de archivo y elimina las etiquetas HTML

Descripción

string fgetss ( resource gestor [, int longitud [, string etiquetas_permisibles]] )

Idéntica a fgets(), excepto que fgetss intenta eliminar cualquier etiqueta HTML y PHP del texto que lee.

Puede usar el opcional tercer parámetro para especificar las etiquetas que no desea remover.

Nota: etiquetas_permisibles se agregó en PHP 3.0.13, PHP 4.0.0.

El parámetro longitud es opcional desde PHP 5.

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee archivos creados en un Macintosh (o leyendo archivos sobre uno), puede probar activando la opción de configuración auto_detect_line_endings.

Vea también fgets(), fopen(),
fsockopen(), popen(), y
strip_tags().

Anterior | Inicio | Siguiente
fgets | Subir | file_exists


file_exists

(PHP 3, PHP 4, PHP 5)

file_exists -- Verifica si un archivo o directorio existe

Descripción

bool file_exists ( string nombre_archivo )

Devuelve TRUE si el archivo o directorio especificado por nombre_archivo existe; o FALSE de lo contrario.

En windows, use //nombre_computadora/recurso/nombre_archivo o \\nombre_computadora\recurso\nombre_archivo para revisar archivos en recursos compartidos de red.

Ejemplo 1. Probar si un archivo existe

<?php
$nombre_archivo = '/ruta/hacia/foo.txt';

if (file_exists($nombre_archivo)) {
    echo "El archivo $nombre_archivo existe";
} else {
    echo "El archivo $nombre_archivo no existe";
}
?>

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Aviso

Esta función devuelve FALSE para archivos inaccesibles debido a restricciones del modo seguro. Sin embargo estos archivo aun pueden ser incluidos si se encuentran en safe_mode_include_dir.

Vea también is_readable(),
is_writable(), is_file() y
file().

Anterior | Inicio | Siguiente
fgetss | Subir | file_get_contents


file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents -- Lee un archivo entero en una cadena

Descripción

string file_get_contents ( string nombre_archivo [, bool usar_ruta_inclusion [, resource contexto [, int desplazamiento [, int long_max]]]] )

Función idéntica a file(), con la excepción de que file_get_contents() devuelve el archivo en una cadena, comenzando en el desplazamiento especificado y hasta long_max bytes. En caso de fallo, file_get_contents() devolverá FALSE.

file_get_contents() es el modo preferido para leer los contenidos de un archivo en una cadena. Esta función usa las técnicas de asignación de memoria que soporte su SO para incrementar su rendimiento.

Nota: Si está abriendo una URI con caracteres especiales, como espacios, necesita codificar la URI con urlencode().

Nota: El parámetro contexto puede obviarse usando NULL.

Registro de cambios

Versión | Descripción
5.0.0 | Se agregó soporte para contextos.
5.1.0 | Se agregaron los parámetros desplazamiento y long_max.

Notes

Nota: Esta función es segura binariamente.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Aviso

Cuando se usa SSL, Microsoft IIS violara el protocolo, cerrando la conexion sin mandar un indicador close_notify. PHP avisara de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solucion a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema y suprime la advertencia. Si usais la funcion fsockopen() para crear un socket ssl://, tendreis que suprimir la advertencia explicitamente.

Ver también

file()
fgets()
fread()
readfile()
file_put_contents()
stream_get_contents()
stream_context_create()

Anterior | Inicio | Siguiente
file_exists | Subir | file_put_contents


file_put_contents

(PHP 5)

file_put_contents -- Escribir una cadena sobre un archivo

Descripción

int file_put_contents ( string nombre_archivo, mixed datos [, int banderas [, resource contexto]] )

Idéntico a llamar fopen(), fwrite(), y fclose() sucesivamente.

También es posible especificar el parámetro datos como una matriz (matrices que no sean multi-dimensionales). Esto es equivalente a file_put_contents($nombre_archive, implode('', $matriz)).

A partir de PHP 5.1.0, también es posible pasar un recurso de secuencia al parámetro datos. El resultado es que el resto del búfer de esa secuencia será copiado al archivo especificado. Esto es similar al uso de stream_copy_to_stream().

Lista de parámetros

nombre_archivo

El nombre del archivo en donde escribir los datos

datos

Los datos a escribir. Puede ser un valor tipo string, array o un recurso stream (explicado anteriormente).

banderas

banderas puede recibir FILE_USE_INCLUDE_PATH, FILE_APPEND y/o LOCK_EX (adquirir un bloqueo exclusivo), sin embargo la opción FILE_USE_INCLUDE_PATH debe ser usada con precaución.

contexto

Un recurso de contexto

Valores retornados

La función devuelve la cantidad de bytes escritos al archivo, o FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
5.1.0 | Se agregó soporte para LOCK_EX y la habilidad de pasar un recurso de secuencia al parámetro datos

Notes

Nota: Esta función es segura binariamente.

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Ver también

fopen()
fwrite()
file_get_contents()
stream_context_create()

Anterior | Inicio | Siguiente
file_get_contents | Subir | file


file

(PHP 3, PHP 4, PHP 5)

file -- Lee un archivo entero hacia una matriz

Descripción

array file ( string nombre_archivo [, int usar_ruta_inclusion [, resource contexto]] )

Función idéntica a file_get_contents(), excepto que file() devuelve el archivo en una matriz. Cada elemento de la matriz corresponde a una línea en el archivo, con el salto de línea aun incluido. Si ocurre un fallo, file() devuelve FALSE.

Es posible usar el parámetro opcional usar_ruta_inclusion, y definirlo como "1", si desea buscar por el archivo en include_path, también.

<?php
// Obtiene un archivo en una matriz. En este ejemplo usaremos HTTP
// para obtener el codigo fuente HTML de una URL.

$lineas = file('http://www.example.com/');

// Recorrer nuestra matriz, mostrar el código HTML como código fuente
// HTML, y los números de línea también.
foreach ($lineas as $linea_num => $linea) {
    echo "Línea #<b>{$linea_num}</b> : " . htmlspecialchars($linea) . "<br />\n";
}

// Otro ejemplo, obtengames una pagina web como una cadena. Vea
// también file_get_contents().
$html = implode('', file('http://www.example.com/'));
?>

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Nota: Cada línea en la matriz resultante incluye el final de línea, así que aun necesita usar rtrim() si no quiere conservar el final de línea.

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee archivos creados en un Macintosh (o leyendo archivos sobre uno), puede probar activando la opción de configuración auto_detect_line_endings.

Nota: A partir de PHP 4.3.0, puede usar file_get_contents() para devolver el contenido de un archivo como una cadena.

En PHP 4.3.0 file(), se volvió una función segura con material binario.

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Aviso

Cuando se usa SSL, Microsoft IIS violara el protocolo, cerrando la conexion sin mandar un indicador close_notify. PHP avisara de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solucion a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema y suprime la advertencia. Si usais la funcion fsockopen() para crear un socket ssl://, tendreis que suprimir la advertencia explicitamente.

Vea también readfile(), fopen(),
fsockopen(), popen(),
file_get_contents(), y include(), y
stream_context_create()

Anterior | Inicio | Siguiente
file_put_contents | Subir | fileatime


fileatime

(PHP 3, PHP 4, PHP 5)

fileatime -- Obtiene la hora del último acceso al archivo

Descripción

int fileatime ( string nombre_archivo )

Devuelve la hora en que se accedió al archivo por última vez, o FALSE en caso de un error. La hora es devuelta como una marca de tiempo Unix.

Nota: El valor atime de un archivo debe cambiar cada vez que los bloques de datos de éste sean leídos. Esto puede resultar costoso en términos de rendimiento cuando una aplicación accede regularmente a un número muy grande de archivos o directorios. Algunos sistemas de archivos Unix pueden ser montados deshabilitando los actualizaciones atime para incrementar el rendimiento de tales aplicaciones. Las colas de noticias USENET son un ejemplo común. En tales sistemas de archivos esta función resultará inútil.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Ejemplo 1. Ejemplo de fileatime()

<?php

// imprime p.ej. se accedió a un_archivo.txt en: December 29 2002 22:16:23.

$nombre_archivo = 'un_archivo.txt';
if (file_exists($nombre_archivo)) {
    echo "se accedió a $nombre_archivo en: " . date("F d Y H:i:s.", fileatime($nombre_archivo));
}

?>

Vea también filemtime(), fileinode(), y date().

Anterior | Inicio | Siguiente
file | Subir | filectime


filectime

(PHP 3, PHP 4, PHP 5)

filectime -- Obtiene la hora de modificación del inode del archivo

Descripción

int filectime ( string nombre_archivo )

Devuelve la hora en que el archivo fue cambiado por última vez, o FALSE en caso de fallo. La hora es devuelta como una marca de tiempo Unix.

Nota: En la mayoría de sistemas de archivos en Unix, un archivo se considera cambiado cuando los datos del inode cambian; es decir, cuando la información de permisos, el dueño, grupo u otros meta-datos son actualizados. Vea también filemtime() (que es lo que probablemente quiera usar cuando desea crear pies de página tipo "Modificado por última vez" en páginas web) y fileatime().

Note también que en algunos textos sobre Unix, el valor ctime de un archivo se detalla como la hora de creación del archivo. Esto es falso. No existe una hora de creación para archivos Unix en la mayoría de sistemas de archivos usados en Unix.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Ejemplo 1. Un ejemplo de filectime()

<?php

// imprime p.ej. un_archivo.txt fue modificado en: December 29 2002 22:16:23.

$nombre_archivo = 'un_archivo.txt';
if (file_exists($nombre_archivo)) {
    echo "$nombre_archivo fue modificado en: " . date("F d Y H:i:s.", filectime($nombre_archivo));
}

?>

Vea también filemtime()

Anterior | Inicio | Siguiente
fileatime | Subir | filegroup


filegroup

(PHP 3, PHP 4, PHP 5)

filegroup -- Obtiene el grupo del archivo

Descripción

int filegroup ( string nombre_archivo )

Devuelve el ID de grupo del archivo, o FALSE en caso de fallo. El ID de grupo es devuelto en formato numérico, use posix_getgrgid() para convertirlo en un nombre de grupo. En caso de fallo, se devuelve FALSE y se genera un error de nivel E_WARNING.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también fileowner(), y safe_mode_gid.

Anterior | Inicio | Siguiente
filectime | Subir | fileinode


fileinode

(PHP 3, PHP 4, PHP 5)

fileinode -- Obtiene el inode del archivo

Descripción

int fileinode ( string nombre_archivo )

Devuelve el número inode del archivo, o FALSE en caso de un error.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también stat()

Anterior | Inicio | Siguiente
filegroup | Subir | filemtime


filemtime

(PHP 3, PHP 4, PHP 5)

filemtime -- Obtiene la hora de modificación del archivo

Descripción

int filemtime ( string nombre_archivo )

Devuelve la hora en que el archivo fue modificado por última vez, o FALSE en caso de fallo. La hora es devuelta como una marca de tiempo Unix, la cual es apropiada para la función date().

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Esta función devuelve la hora en que los bloques de datos de un archivo recibieron una escritura, es decir, la hora en que el contenido del archivo cambió.

Ejemplo 1. Ejemplo de filemtime()

<?php
// imprime, p.ej. un_archivo.txt fue modificado: December 29 2002 22:16:23.

$nombre_archivo = 'un_archivo.txt';
if (file_exists($nombre_archivo)) {
    echo "$nombre_archivo fue modificado: " . date ("F d Y H:i:s.", filemtime($nombre_archivo));
}
?>

Vea también filectime(), stat(), touch(), y getlastmod().

Anterior | Inicio | Siguiente
fileinode | Subir | fileowner


fileowner

(PHP 3, PHP 4, PHP 5)

fileowner -- Obtiene el dueño del archivo

Descripción

int fileowner ( string nombre_archivo )

Devuelve el ID de usuario del dueño del archivo, o FALSE en caso de fallo. El ID de usuario es devuelto en formato numérico, uso posix_getpwuid() para convertirlo en un nombre de usuario.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también stat()

Anterior | Inicio | Siguiente
filemtime | Subir | fileperms


fileperms

(PHP 3, PHP 4, PHP 5)

fileperms -- Obtiene los permisos del archivo

Descripción

int fileperms ( string nombre_archivo )

Devuelve los permisos del archivo, o FALSE en caso de fallo.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Ejemplo 1. Desplegar los permisos como un valor octal

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

Esto produciría la salida:

1777
0644

Ejemplo 2. Mostrar los permisos completos

<?php
$perms = fileperms('/etc/passwd');

if (($perms & 0xC000) == 0xC000) {
    // Socket
    $info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
    // Enlace Simbólico
    $info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
    // Regular
    $info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
    // Bloque especial
    $info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
    // Directorio
    $info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
    // Caracter especial
    $info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
    // Pipe FIFO
    $info = 'p';
} else {
    // Desconocido
    $info = 'u';
}

// Dueño
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : '-'));

// Grupo
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : '-'));

// Mundo
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>

Esto produciría la salida:

-rw-r--r--

Vea también is_readable(), y stat()

Anterior | Inicio | Siguiente
fileowner | Subir | filesize


filesize

(PHP 3, PHP 4, PHP 5)

filesize -- Obtiene el tamaño del archivo

Descripción

int filesize ( string nombre_archivo )

Devuelve el tamaño del archivo en bytes, o FALSE (y genera un error de nivel E_WARNING) en caso de fallo.

Nota: Dado que el tipo entero de PHP tiene signo y muchas plataformas usan enteros de 32 bits, filesize() puede devolver resultados inesperados para archivos con un tamaño mayor de 2GB. Para archivos entre 2GB y 4GB de tamaño, esto puede resolverse por lo general usando sprintf("%u", filesize($archivo)).

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Ejemplo 1. Ejemplo de filesize()

<?php

// imprime, p.ej. un_archivo.txt: 1024 bytes

$nombre_archivo = 'un_archivo.txt';
echo $nombre_archivo . ': ' . filesize($nombre_archivo) . ' bytes';

?>

Vea también file_exists()

Anterior | Inicio | Siguiente
fileperms | Subir | filetype


filetype

(PHP 3, PHP 4, PHP 5)

filetype -- Obtiene el tipo de archivo

Descripción

string filetype ( string nombre_archivo )

Devuelve el tipo del archivo. Los posibles valores son fifo, char, dir, block, link, file, y unknown.

Devuelve FALSE si ocurre un error. filetype() producirá siempre un mensaje E_NOTICE si el llamado a stat falla o el tipo de archivo es desconocido.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Ejemplo 1. Ejemplo de filetype()

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

Vea también is_dir(), is_file(),
is_link(), file_exists(),
stat(), y mime_content_type().

Anterior | Inicio | Siguiente
filesize | Subir | flock


flock

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

flock -- Aviso de bloqueo de archivos portable

Descripción

bool flock ( resource gestor, int operacion [, int &bloquearia] )

PHP soporta una manera portable de bloquear archivos enteros de por medio de avisos (lo que quiere decir que todos los programas que acceden al archivo deben usar el mismo mecanismo de bloqueo, o no funcionará).

Nota: flock() es obligatorio bajo Windows.

flock() opera sobre gestor, que debe ser un apuntador a un archivo abierto. operacion es uno de los siguientes valores:

  • Para adquirir un bloqueo compartido (de lectura), defina operacion a LOCK_SH (o use 1 antes de PHP 4.0.1).

  • Para adquirir un bloqueo exclusizo (de escritura), defina operacion a LOCK_EX (o use 2 antes de PHP 4.0.1).

  • Para liberar un bloqueo (compartido o exclusivo), defina operacion a LOCK_UN (o use 3 antes de PHP 4.0.1).

  • Si no desea que flock() bloquee mientras opera, agregue LOCK_NB (4 antes de PHP 4.0.1) a operacion.

flock() le permite ejecutar un modelo de lectura/escritura simple que puede ser usado en prácticamente cualquier plataforma (incluyendo la mayoría de derivaciones de Unix e incluso Windows). El tercer argumento opcional recibe el valor TRUE si el aviso produciría un bloqueo (la condición EWOULDBLOCK). El bloqueo es liberado también por fclose() (el cual es llamado automáticamente cuando el script finaliza).

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de flock()

<?php

$aa = fopen("/tmp/bloqueo.txt", "w+");

if (flock($aa, LOCK_EX)) { // realizar un bloqueo exclusivo
    fwrite($aa, "Escribir algo aquí\n");
    flock($aa, LOCK_UN); // liberar el aviso
} else {
    echo "¡No se pudo bloquear el archivo!";
}

fclose($aa);

?>

Nota: Dado que flock() requiere un apuntador de archivo, puede que necesite usar un archivo especial de bloqueo para proteger el acceso a un archivo que pretende truncar abriéndolo en modo de escritura (con un argumento "w" o "w+" a fopen()).

Aviso

flock() no trabajará sobre NFS y muchos otros sistemas de archivos en red. Revise la documentación de su sistema operativo para más detalles.

En algunos sistemas operativos flock() se implementa al nivel de proceso. Cuando usa una API de servidor multi-hilos como ISAPI, ¡es posible que no pueda depender en flock() para proteger archivos contra otros scripts PHP corriendo en hilos paralelos en la misma instancia de servidor!

flock() no es soportado en sistemas de archivos anticuados como FAT y sus derivados, y por lo tanto siempre devolverá FALSE bajo tales entornos (esto es especialmente cierto para usuarios de Windows 98).

Anterior | Inicio | Siguiente
filetype | Subir | fnmatch


fnmatch

(PHP 4 >= 4.3.0, PHP 5)

fnmatch -- Comparar un nombre de archivo contra un patrón

Descripción

bool fnmatch ( string patron, string cadena [, int banderas] )

fnmatch() verifica si la cadena pasada coincide con el comodín de intérprete de comandos dado, patron.

Esto es especialmente útil para nombres de archivos, pero también puede ser usado sobre cadenas comunes. El usuario promedio puede encontrarse familiarizado con patrones de intérprete de comandos, o, por lo menos en su forma más simple, con los comodines '?' y '*', así que el uso de fnmatch() en lugar de ereg() o preg_match() para el procesamiento de expresiones de búsqueda puede ser mucho más conveniente para usuarios no-programadores.

Ejemplo 1. Verificar un nombre de color contra un patrón de comodines de intérprete de comandos.

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "alguna forma de gris (gray) ...";
}
?>

Aviso

Por ahora, esta función no se encuentra disponible en Windows ni otros sistemas no-compatibles con POSIX.

Vea también glob(), ereg(), preg_match() y la página man Unix sobre fnmatch(3) para consultar los nombres de banderas (mientras no estén documentados aquí).

Anterior | Inicio | Siguiente
flock | Subir | fopen


fopen

(PHP 3, PHP 4, PHP 5)

fopen -- Abre un archivo o URL

Descripción

resource fopen ( string nombre_archivo, string modo [, bool usar_ruta_inclusion [, resource contexto]] )

fopen() asocia un recurso con nombre, especificado por nombre_archivo, a una secuencia. Si nombre_archivo es de la forma "esquema://...", se asume que es una URL y PHP buscará por un gestor de protocolo (también conocido como envoltura) para tal esquema. Si no hay envolturas registradas para ese protocolo, PHP emitirá una noticia para ayudarle a rastrear problemas potenciales en su script, y luego continúa como si nombre_archivo indicara un archivo corriente.

Si PHP decide que nombre_archivo hace referencia a un archivo local, entonces intentará abrir una secuencia sobre ese archivo. El archivo debe ser asequible para PHP, así que debe asegurarse de que los permisos de acceso del archivo sean los apropiados. Si tiene habilitado safe mode, o open_basedir, pueden aplicarse mayores restricciones.

Si PHP decide que nombre_archivo hace referencia a un protocolo registrado, y ese protocolo está registrado como una URL de red, PHP verificará que allow_url_fopen se encuentre habilitado. Si no es así, PHP emitirá una advertencia y la llamada a fopen fallará.

Nota: La lista de protocolos soportados puede encontrarse en Apéndice M. Algunos protocolos (también conocidos como envolturas) soportan un contexto u opciones php.ini. Refiérase a la página específica del protocolo en uso para una lista de opciones que pueden definirse. (p.ej. el valor php.ini user_agent usado por la envoltura http)

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Nota: A partir de PHP 4.3.2, el modo predeterminado es definido como binario para todas las plataformas que distinguen entre modos binario y de texto. Si está experimentando problemas con sus scripts después de actualizarse, intente usar la bandera 't' como solución temporal hasta que haga su script más portable, tal y como se explica más adelante.

El parámetro modo especifica el tipo de acceso que requiere para la secuencia. Puede ser cualquiera de los siguientes valores:

Tabla 1. Una lista de modos posibles para fopen() usando modo

modo | Descripción
'r' | Apertura para sólo lectura; ubica el apuntador de archivo al comienzo del mismo.
'r+' | Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo del mismo.
'w' | Apertura para sólo escritura; ubica el apuntador de archivo al comienzo de éste y lo trunca a una longitud de cero. Si el archivo no existe, intenta crearlo.
'w+' | Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo de éste y lo trunca a una longitud cero. Si el archivo no existe, intenta crearlo.
'a' | Apertura para sólo escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo.
'a+' | Apertura para lectura y escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo.
'x' | Creación y apertura para sólo escritura; ubica el apuntador de archivo al comienzo de éste. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no existe, intenta crearlo. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT en la llamada de sistema open(2) interna. Esta opción es soportada en PHP 4.3.2 y versiones posteriores, y sólo funciona con archivos locales.
'x+' | Creación y apertura para lectura y escritura; ubica el apuntador de archivo al comienzo de éste. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no existe, intenta crearlo. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT en la llamada de sistema open(2) interna. Esta opción es soportada en PHP 4.3.2 y versiones posteriores, y sólo funciona con archivos locales.

Nota: Diferentes familias de sistemas operativos tienen diferentes convenciones sobre el final-de-línea. Cuando escribe a un archivo de texto y desea insertar un salto de línea, necesita usar los caracteres correctos de final-de-línea para su sistema operativo. Los sistemas basados en Unix usan \n como el caracter de final de línea, los sistemas basados en Windows usan \r\n como los caracteres de final de línea, y los sistemas basados en Macintosh usan \r como el caracter de final de línea.

Si usa los caracteres de final de línea equivocados cuando crea sus archivos, puede que encuentre que otras aplicaciones que abren esos archivos lucirán "extraño".

Windows ofrece una bandera de traducción de modo-texto ('t') la cual traducirá transparentemente \n a \r\n cuando trabaje con el archivo. En contraste, también puede usar 'b' para forzar el modo binario, el cual no traduce sus datos. Para usar estas banderas, indique 'b' o 't' como el último caracter del parámetro modo.

El modo de traducción predeterminado depende de la SAPI y la versión de PHP que usa, así que es recomendable especificar siempre la bandera apropiada por razones de portabilidad. Debería usar el modo 't' si trabaja con archivos de texto-plano y usa \n para delimitar los finales de línea en su script, pero espera que sus archivos sean legibles en aplicaciones como el bloc de notas. Debería usar el modo 'b' en todos los demás casos.

Si no especifica la bandera 'b' cuando trabaja con archivos binarios, puede experimentar problemas con sus datos, incluyendo archivos de imagen corruptos y problemas extraños con los caracteres \r\n.

Nota: Por razones de portabilidad, es bastante recomendable que siempre usa la bandera 'b' cuando abre archivos con fopen().

Nota: Nuevamente, por razones de portabilidad, es bastante recomendable que re-escriba el código que usa o depende del modo 't', de modo que use los finales de línea correctos y el modo 'b' en su lugar.

El tercer parámetro, opcional, usar_ruta_inclusion puede definirse como '1' o TRUE si desea buscar por el archivo en include_path, también.

Si la apertura falla, la función devuelve FALSE y se genera un error de nivel E_WARNING. Es posible usar @ para suprimir tal advertencia.

Ejemplo 1. Ejemplos de fopen()

<?php
$gestor = fopen("/home/rasmus/archivo.txt", "r");
$gestor = fopen("/home/rasmus/archivo.gif", "wb");
$gestor = fopen("http://www.example.com/", "r");
$gestor = fopen("ftp://usuario:contrasenya@example.com/un_archivo.txt", "w");
?>

Si experimenta problemas con la lectura y escritura sobre archivos, y está usando la versión tipo módulo de servidor de PHP, recuerde asegurarse de que los archivos y directorios que está usando sean asequibles para el proceso del servidor.

En la plataforma Windows, tenga cuidado de escapar cualquier barra invertida usada en la ruta al archivo, o use barras hace adelante.

<?php
$gestor = fopen("c:\\datos\\info.txt", "r");
?>

Aviso

Cuando se usa SSL, Microsoft IIS violara el protocolo, cerrando la conexion sin mandar un indicador close_notify. PHP avisara de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solucion a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema y suprime la advertencia. Si usais la funcion fsockopen() para crear un socket ssl://, tendreis que suprimir la advertencia explicitamente.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Vea también Apéndice M, fclose(),
fgets(), fread(),
fwrite(), fsockopen(),
file(), file_exists(),
is_readable(),
stream_set_timeout(), popen(), y
stream_context_create().

Anterior | Inicio | Siguiente
fnmatch | Subir | fpassthru


fpassthru

(PHP 3, PHP 4, PHP 5)

fpassthru -- Imprime todos los datos restantes en un apuntador de archivo

Descripción

int fpassthru ( resource gestor )

Lee hasta EOF en el apuntador de archivo dado a partir de la posición actual y escribe los resultados en el búfer de salida.

Si ocurre un error, fpassthru() devuelve FALSE. De lo contrario, fpassthru() devuelve el número de caracteres leídos desde gestor y pasados a la salida.

El puntero de fichero debe de ser valido y debe de apuntar a un fichero abierto con exito por fopen() o fsockopen().

Puede que necesite llamar rewind() para restablecer el apuntador de archivo al comienzo de éste si ya ha escrito datos en el archivo.

Si tan sólo quiere volcar el contenido de un archivo al búfer de salida, sin modificarlo o buscar un desplazamiento en particular, puede que quiera usar la función readfile(), la cual le ahorra la llamada a fopen().

Nota: Cuando se usa fpassthru() sobre un archivo binario en sistemas Windows, debe asegurarse de abrir el archivo en modo binario, agregando el valor b al modo usado en la llamada a fopen().

Es recomendable usar la bandera b cuando trate con archivos binarios, incluso si su sistema no lo requiere, de modo que sus scripts sean más portables.

Ejemplo 1. Uso de fpassthru() con archivos binarios

<?php

// abrir el archivo en modo binario
$nombre = './img/ok.png';
$aa = fopen($nombre, 'rb');

// enviar las cabeceras correctas
header("Content-Type: image/png");
header("Content-Length: " . filesize($nombre));

// volcar la imagen y detener el script
fpassthru($aa);
exit;

?>

Vea también readfile(), fopen(), popen(), y fsockopen()

Anterior | Inicio | Siguiente
fopen | Subir | fputcsv


fputcsv

(PHP 5 >= 5.1.0RC1)

fputcsv -- Formatea la línea como CSV y la escribe en el archivo apuntado

Descripción

int fputcsv ( resource handle [, array fields [, string delimiter [, string enclosure]]] )

fputcsv() da formato a línea (pasada como matriz en fields) como CSV y la escribe en el archivo especificado por handle. Regresa la longitud de la cadena escrita, o FALSE en caso de falla.

El parámetro opcional delimiter fija el delimitador de campo (sólo un caracter). Por defecto es una coma: ,.

El parámetro opcional enclosure fija el empaquetador del campo (sólo un caracter) y el valor por defecto son las dobles comillas ".

Ejemplo 1. Ejemplo de fputcsv()

<?php

$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
}

fclose($fp);
?>

Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee archivos creados en un Macintosh (o leyendo archivos sobre uno), puede probar activando la opción de configuración auto_detect_line_endings.

Vea también fgetcsv().

Anterior | Inicio | Siguiente
fpassthru | Subir | fputs


fputs

(PHP 3, PHP 4, PHP 5)

fputs -- Alias of fwrite()

Descripción

This function is an alias of: fwrite().

Anterior | Inicio | Siguiente
fputcsv | Subir | fread


fread

(PHP 3, PHP 4, PHP 5)

fread -- Lectura de archivos segura con material binario

Descripción

string fread ( resource gestor, int longitud )

fread() lee hasta longitud bytes desde el apuntador de archivo indicado por gestor. La lectura se detiene cuando se han leído hasta longitud bytes, se alcanza EOF (el final de archivo), (en el caso de secuencias de red) cuando un paquete se encuentra disponible, o (después de abrir una secuencia de espacio de usuario) cuando se han leído 8192 bytes, aquello que ocurra primero.

Devuelve la cadena leída o FALSE en caso de error.

<?php
// obtiene el contenido de un archivo en una cadena
$nombre_archivo = "/usr/local/algo.txt";
$gestor = fopen($nombre_archivo, "r");
$contenido = fread($gestor, filesize($nombre_archivo));
fclose($gestor);
?>

Aviso

En sistemas que diferencian entre archivos binarios y de texto (es decir, Windows) el archivo debe ser abierto con el valor 'b' incluido en el parámetro de modo de fopen().

<?php
$nombre_archivo = "c:\\archivos\\una_imagen.gif";
$gestor = fopen($nombre_archivo, "rb");
$contenido = fread($gestor, filesize($nombre_archivo));
fclose($gestor);
?>

Aviso

Cuando se lee desde cualquier cosa que no sea un archivo local normal, como es el caso de secuencias devueltas al leer archivos remotos o desde popen() y fsockopen(), la lectura se detendrá después de que un paquete esté disponible. Esto quiere decir que debe recolectar los datos en segmentos, como se muestra en los ejemplos a continuación.

<?php
// Para PHP 5 y superiores
$gestor = fopen("http://www.example.com/", "rb");
$contenidos = stream_get_contents($gestor);
fclose($gestor);
?>

<?php
$gestor = fopen("http://www.example.com/", "rb");
$contenido = '';
while (!feof($gestor)) {
  $contenido .= fread($gestor, 8192);
}
fclose($gestor);
?>

Nota: Si tan solo desea obtener el contenido de un archivo en una cadena, use file_get_contents(), ya que tiene un rendimiento mucho mayor que el código anterior.

Vea también fwrite(), fopen(),
fsockopen(), popen(),
fgets(), fgetss(),
fscanf(), file(), y
fpassthru().

Anterior | Inicio | Siguiente
fputs | Subir | fscanf


fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf -- Procesa la entrada desde un archivo de acuerdo a un formato

Descripción

mixed fscanf ( resource gestor, string formato [, mixed &...] )

La función fscanf() es similar a sscanf(), pero toma su entrada desde un archivo asociado con gestor e interpreta la entrada de acuerdo al formato especificado, el cual es descrito en la documentación de sprintf(). Si sólo se pasan dos parámetros a esta función, los valores procesados serán devueltos como una matriz. De otro modo, si se pasan parámetros opcionales, la función devolverá el número de valores asignados. Los parámetros opcionales deben ser pasados por referencia.

Cualquier espacio en blanco en la cadena de formato crea una correspondencia con cualquier espacio en blanco en la secuencia de entrada. Esto quiere decir que incluso una tabulación \t en la cadena de formato puede coincidir con un caracter de espacio sencillo en la secuencia de entrada.

Ejemplo 1. Ejemplo de fscanf()

<?php
$gestor = fopen("usuarios.txt","r");
while ($info_usuario = fscanf($gestor, "%s\t%s\t%s\n")) {
    list ($nombre, $profesion, $cod_pais) = $info_usuario;
    //... hacer algo con los valores
}
fclose($gestor);
?>

Ejemplo 2. Contenido de usuarios.txt

javier  argonauta       pe
hiroshi escultor        jp
robert  desempleado     us
luigi   florista        it

Nota: Antes de PHP 4.3.0, el máximo número de caracteres leídos desde el archivo era 512 (o hasta el primer \n, lo que primero ocurriera). A partir de PHP 4.3.0 se leerán y analizarán líneas de longitudes arbitrariamente grandes.

Vea también fread(), fgets(),
fgetss(), sscanf(),
printf(), y sprintf().

Anterior | Inicio | Siguiente
fread | Subir | fseek


fseek

(PHP 3, PHP 4, PHP 5)

fseek -- Realiza una búsqueda sobre un apuntador de archivo

Descripción

int fseek ( resource gestor, int desplazamiento [, int desde] )

Establece el indicador de posición para el archivo referenciado por gestor. La nueva posición, medida en bytes desde el comienzo del archivo, so obtiene al sumar desplazamiento con la posición especificada por desde, cuyos valores se definen como se indica a continuación:

SEEK_SET - Define la posición igual a desplazamiento bytes.
SEEK_CUR - Define la posición como la posición actual mas desplazamiento.
SEEK_END - Define la posición como el final-de-archivo mas desplazamiento. (Para moverse a una posición anterior al final-de-archivo, es necesario pasar un valor negativo en desplazamiento.)

Si no se especifica desde, se asume que sea SEEK_SET.

De tener éxito, la función devuelve 0; de lo contrario devuelve -1. Note que realizar una reubicación más allá del final de archivo no se considera un error.

Ejemplo 1. Ejemplo de fseek()

<?php

$da = fopen('algun_archivo.txt', 'r');

// leer datos
$datos = fgets($da, 4096);

// moverse de vuelta al comienzo del archivo
// igual que rewind($da);
fseek($da, 0);

?>

Puede que no sea posible usar la función sobre apuntadores de archivo devueltos por fopen() si usan los formatos "http://" o "ftp://". fseek() produce también resultados indefinidos para secuencias de adición (abiertas con la bandera "a").

Nota: El argumento desde fue agregado después de PHP 4.0.0.

Nota: Si el archivo es abierto en modo de adición ("a" o "a+"), cualquier información escrita en el archivo será siempre agregada al final, independientemente de la posición en el archivo.

Vea también ftell() y rewind().

Anterior | Inicio | Siguiente
fscanf | Subir | fstat


fstat

(PHP 4, PHP 5)

fstat -- Obtiene información sobre un archivo usando un apuntador de archivo abierto

Descripción

array fstat ( resource gestor )

Reúne las estadísticas del archivo abierto por el apuntador a archivo gestor. Esta función es similar a la función stat(), excepto que opera sobre un apuntador de archivo abierto en lugar de un nombre de archivo.

Devuelve una matriz con las estadísticas del archivo; el formato de la matriz es descrito en la página del manual sobre stat().

Ejemplo 1. Ejemplo de fstat()

<?php

// abrir un archivo
$da = fopen("/etc/passwd", "r");

// reunir estadísticas
$fstat = fstat($da);

// cerrar el archivo
fclose($da);

// imprimir sólo la parte asociativa
print_r(array_slice($fstat, 13));

?>

El resultado del ejemplo seria algo similar a:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Anterior | Inicio | Siguiente
fseek | Subir | ftell


ftell

(PHP 3, PHP 4, PHP 5)

ftell -- Indica la posición de lectura/escritura del apuntador de archivo

Descripción

int ftell ( resource gestor )

Devuelve la posición del apuntador de archivo indicado por gestor; es decir, su desplazamiento al interior de la secuencia de archivo.

Si ocurre un error, devuelve FALSE.

El apuntador de archivo debe ser válido, y debe apuntar a un archivo abierto satisfactoriamente por fopen() o popen(). ftell() entrega resultados indefinidos para secuencias de adición (abiertas con la bandera "a").

Ejemplo 1. Ejemplo de ftell()

<?php

// abre un archivo y lee algunos datos
$da = fopen("/etc/passwd", "r");
$datos = fgets($da, 12);

// ¿en dónde estamos?
echo ftell($da); // 11

fclose($da);

?>

Vea también fopen(), popen(), fseek(), and rewind().

Anterior | Inicio | Siguiente
fstat | Subir | ftruncate


ftruncate

(PHP 4, PHP 5)

ftruncate -- Trunca un archivo a la longitud dada

Descripción

bool ftruncate ( resource gestor, int tamanyo )

Toma el apuntador de archivo, gestor, y trunca el archivo a la longitud tamanyo. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: El apuntador de archivo es modificado únicamente en modo de adición. En modo de escritura se requiere de una llamada adicional a fseek().

Nota: En versiones anteriores a PHP 4.3.3, ftruncate() devuelve un valor integer de 1 cuando tiene éxito, en lugar del valor boolean TRUE.

Vea también fopen() y fseek().

Anterior | Inicio | Siguiente
ftell | Subir | fwrite


fwrite

(PHP 3, PHP 4, PHP 5)

fwrite -- Escritura sobre archivos, segura con material binario

Descripción

int fwrite ( resource gestor, string cadena [, int longitud] )

fwrite() escribe los contenidos de cadena a la secuencia de archivo apuntada por gestor. Si el argumento longitud es entregado, la escritura se detendrá después de que longitud bytes hayan sido escritos, o al alcanzar el final de cadena, aquello que ocurra primero.

fwrite() devuelve el número de bytes escritos, o FALSE en caso de fallo.

Note que si se utiliza el argumento longitud, entonces la opción de configuración magic_quotes_runtime será ignorada y no se eliminarán caracteres de barra desde la cadena.

Nota: En los sistemas que diferencian entre archivos binarios y de texto (es decir, Windows) el archivo debe ser abierto incluyendo el valor 'b' en el parámetro de modo de fopen().

Ejemplo 1. Un ejemplo sencillo de fwrite()

<?php
$nombre_archivo = 'prueba.txt';
$contenido = "Agregar esto al archivo\n";

// Asegurarse primero de que el archivo existe y puede escribirse sobre él.
if (is_writable($nombre_archivo)) {

    // En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
    // El apuntador de archivo se encuentra al final del archivo, así que
    // allí es donde irá $contenido cuando llamemos fwrite().
    if (!$gestor = fopen($nombre_archivo, 'a')) {
         echo "No se puede abrir el archivo ($nombre_archivo)";
         exit;
    }

    // Escribir $contenido a nuestro arcivo abierto.
    if (fwrite($gestor, $contenido) === FALSE) {
        echo "No se puede escribir al archivo ($nombre_archivo)";
        exit;
    }

    echo "Éxito, se escribió ($contenido) al archivo ($nombre_archivo)";

    fclose($gestor);

} else {
    echo "No se puede escribir sobre el archivo $nombre_archivo";
}
?>

Vea también fread(), fopen(),
fsockopen(), popen(), y
file_put_contents().

Anterior | Inicio | Siguiente
ftruncate | Subir | glob


glob

(PHP 4 >= 4.3.0, PHP 5)

glob -- Encontrar nombres de ruta coincidentes con un patrón

Descripción

array glob ( string patron [, int banderas] )

La función glob() realiza una búsqueda por todos los nombres de ruta que coincidan con patron de acuerdo a las reglas usadas por la función glob() de la biblioteca de C, las cuales son muy similares a las reglas usadas por intérpretes de comandos comunes. No se realiza expansión de tildes o parámetros.

Devuelve una matriz que contiene los archivos/directorios coincidentes, una matriz vacía si ningún archivo coincide o FALSE si ocurre un error.

Banderas válidas:

  • GLOB_MARK - Agrega una barra a cada elemento devuelto

  • GLOB_NOSORT - Devuelve los archivos como aparecen en el directorio (sin ordenar)

  • GLOB_NOCHECK - Devuelve el patrón de búsqueda si no se han encontrado archivos coincidentes

  • GLOB_NOESCAPE - Las barras invertidas no indican metacaracteres

  • GLOB_BRACE - Expande {a,b,c} para que coincida con 'a', 'b', o 'c'

    Nota: Esta bandera no se encuentra disponible en algunos sistema no-GNU, como Solaris.

  • GLOB_ONLYDIR - Devuelve únicamente entradas de directorios que coinciden con el patrón

    Nota: Antes de PHP 4.3.3 GLOB_ONLYDIR no estaba disponible en windows y otros sistemas que no usan la biblioteca de C GNU.

  • GLOB_ERR - Detenerse en errores de lectura (como directorios inaccesibles), los errores son ignorados por omisión. Agregada en PHP 5.1.0.

Ejemplo 1. Modo conveniente de reemplazar opendir() y amigos con glob().

<?php
foreach (glob("*.txt") as $nombre_archivo) {
    echo "$nombre_archivo tamaño " . filesize($nombre_archivo) . "\n";
}
?>

El resultado del ejemplo seria algo similar a:

funclist.txt tamaño 44686
funcsummary.txt tamaño 267625
quickref.txt tamaño 137820

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Esta función no se encuentra disponible en algunos sistemas (p.ej. viejos sistemas operativos Sun).

Vea también opendir(), readdir(), closedir(), y fnmatch().

Anterior | Inicio | Siguiente
fwrite | Subir | is_dir


is_dir

(PHP 3, PHP 4, PHP 5)

is_dir -- Indica si el nombre de archivo es un directorio

Descripción

bool is_dir ( string nombre_archivo )

Devuelve TRUE si el archivo con el nombre dado existe y es un directorio. Si nombre_archivo es un nombre de archivo relativo, éste será analizado relativo al directorio de trabajo actual.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Ejemplo 1. Ejemplo de is_dir()

<?php
var_dump(is_dir('un_archivo.txt')) . "\n";
var_dump(is_dir('directorio_falso/abc')) . "\n";

var_dump(is_dir('..')); //un directorio arriba
?>

El resultado del ejemplo seria:

bool(false)
bool(false)
bool(true)

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también chdir(), dir, opendir(), is_file() y is_link().

Anterior | Inicio | Siguiente
glob | Subir | is_executable


is_executable

(PHP 3, PHP 4, PHP 5)

is_executable -- Indica si el archivo es ejecutable

Descripción

bool is_executable ( string nombre_archivo )

Devuelve TRUE si el archivo con el nombre dado existe y es ejecutable.

is_executable() apareció en Windows en la versión 5.0.0 de PHP.

Ejemplo 1. Ejemplo de is_executable()

<?php

$archivo = '/home/vincent/algun_archivo.sh';

if (is_executable($archivo)) {
    echo $archivo.' es ejecutable';
} else {
    echo $archivo.' no es ejecutable';
}

?>

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también is_file() y is_link().

Anterior | Inicio | Siguiente
is_dir | Subir | is_file


is_file

(PHP 3, PHP 4, PHP 5)

is_file -- Indica si el archivo es un archivo regular

Descripción

bool is_file ( string nombre_archivo )

Devuelve TRUE si el archivo con el nombre dado existe y es un archivo regular.

Ejemplo 1. Ejemplo de is_file()

<?php
var_dump(is_file('un_archivo.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

El resultado del ejemplo seria:

bool(true)
bool(false)

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también is_dir() y is_link().

Anterior | Inicio | Siguiente
is_executable | Subir | is_link


is_link

(PHP 3, PHP 4, PHP 5)

is_link -- Indica si el archivo es un enlace simbólico

Descripción

bool is_link ( string nombre_archivo )

Devuelve TRUE si el archivo con el nombre dado existe y es un enlace simbólico.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también is_dir(), is_file(), y readlink().

Anterior | Inicio | Siguiente
is_file | Subir | is_readable


is_readable

(PHP 3, PHP 4, PHP 5)

is_readable -- Indica si es posible leer el archivo

Descripción

bool is_readable ( string nombre_archivo )

Devuelve TRUE si el archivo o directorio especificado por nombre_archivo existe y es posible leerlo.

Tenga en cuenta que PHP puede estar accediendo al archivo bajo el id de usuario bajo el que corre el servidor web (usualmente 'nobody'). Las limitaciones dol modo seguro no son tomadas en cuenta.

Ejemplo 1. Ejemplo de is_readable()

<?php
$nombre_archivo = 'prueba.txt';
if (is_readable($nombre_archivo)) {
    echo 'Es posible leer el archivo';
} else {
    echo 'No es posible leer el archivo';
}
?>

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también is_writable(), file_exists(), y fgets().

Anterior | Inicio | Siguiente
is_link | Subir | is_uploaded_file


is_uploaded_file

(PHP 3 >= 3.0.17, PHP 4 >= 4.0.3, PHP 5)

is_uploaded_file -- Indica si un archivo fue cargado a través de HTTP POST

Descripción

bool is_uploaded_file ( string nombre_archivo )

Devuelve TRUE si el archivo dado por nombre_archivo fue cargado a través de HTTP POST. Esto es útil para ayudar a verificar que un usuario malicioso no ha intentado engañar al script haciéndole trabajar sobre archivos con los que no debería trabajar--por ejemplo, /etc/passwd.

Este tipo de chequeo es especialmente importante si existe alguna posibilidad de que cualquier cosa realizada con archivos cargados pueda revelar sus contenidos al usuario, o incluso a otros usuarios en el mismo sistema.

Para que trabaje adecuadamente, la función is_uploaded_file() necesita un argumento como $_FILES['archivo_usuario']['tmp_name'], - el nombre del archivo cargado en la máquina del cliente $_FILES['archivo_usuario']['name'] no funciona.

Ejemplo 1. Ejemplo de is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['archivo_usuario']['tmp_name'])) {
   echo "El archivo ". $_FILES['archivo_usuario']['name'] ." fue cargado satisfactoriamente.\n";
   echo "Mostrando su contenido\n";
   readfile($_FILES['archivo_usuario']['tmp_name']);
} else {
   echo "Posible ataque de carga de archivo: ";
   echo "nombre de archivo '". $_FILES['archivo_usuario']['tmp_name'] . "'.";
}

?>

is_uploaded_file() se encuentra disponible únicamente en versiones de PHP 3 superiores a PHP 3.0.16, y en versiones de PHP 4 superiores a 4.0.2. Si está atrapado usando una versión anterior, puede usar la siguiente función para protegerse:

Nota: El siguiente ejemplo no trabajará con versiones de PHP 4 superiores a 4.0.2. Depende en la funcionalidad interna de PHP que fue modificada luego de esa versión.

Ejemplo 2. Ejemplo de is_uploaded_file() para PHP 4 < 4.0.3

<?php
/* Prueba de usuario para verificar un archivo cargado. */
function is_uploaded_file_4_0_2($nombre_archivo)
{
    if (!$archivo_tmp = get_cfg_var('upload_tmp_dir')) {
        $archivo_tmp = dirname(tempnam('', ''));
    }
    $archivo_tmp .= '/' . basename($nombre_archivo);
    /* El usuario puede tener una barra final en php.ini... */
    return (ereg_replace('/+', '/', $archivo_tmp) == $nombre_archivo);
}

/* Así es como se usa, ya que tampoco se cuenta con
 * move_uploaded_file() en estas versiones antiguas: */
if (is_uploaded_file_4_0_2($HTTP_POST_FILES['archivo_de_usuario'])) {
    copy($HTTP_POST_FILES['archivo_de_usuario'], "/lugar/a/colocar/el/archivo/cargado");
} else {
    echo "Posible ataque de archivo entrante: nombre de archivo '$HTTP_POST_FILES[archivo_de_usuario]'.";
}
?>

Vea también move_uploaded_file(), y la sección Gestión de carga de archivos para un ejempo de uso sencillo.

Anterior | Inicio | Siguiente
is_readable | Subir | is_writable


is_writable

(PHP 4, PHP 5)

is_writable -- Indica si el nombre de archivo es escribible

Descripción

bool is_writable ( string nombre_archivo )

Devuelve TRUE si nombre_archivo existe y es escribible. El argumento de nombre de archivo puede ser un nombre de directorio, permitiéndole revisar si un directorio es escribible.

Tenga en mente que PHP puede estar accediendo al archivo bajo el id de usuario con el que corre el servidor web (usualmente 'nobody'). No se tienen en cuenta limitaciones del modo seguro.

Ejemplo 1. Ejemplo de is_writable()

<?php
$nombre_archivo = 'prueba.txt';
if (is_writable($nombre_archivo)) {
    echo 'Es posible escribir sobre el archivo';
} else {
    echo 'No es posible escribir sobre el archivo';
}
?>

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también is_readable(), file_exists(), y fwrite().

Anterior | Inicio | Siguiente
is_uploaded_file | Subir | is_writeable


is_writeable

(PHP 3, PHP 4, PHP 5)

is_writeable -- Alias of is_writable()

Descripción

This function is an alias of: is_writable().

Anterior | Inicio | Siguiente
is_writable | Subir | lchgrp


link

(PHP 3, PHP 4, PHP 5)

link -- Crea un enlace duro

Descripción

int link ( string target, string link )

link() crea un enlace duro. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Esta función no está implementada en plataformas Windows.

Ver también symlink() para crear enlaces suaves, y readlink() junto con linkinfo().

Anterior | Inicio | Siguiente
lchown | Subir | linkinfo


linkinfo

(PHP 3, PHP 4, PHP 5)

linkinfo -- Consigue información sobre un enlace

Descripción

int linkinfo ( string path )

linkinfo() da el campo st_dev de la extructura stat de UNIX C devuelto por la llamada al sistema lstat. Esta función se usa para verificar si un enlace (apuntado por path) existe realmente (usando el mismo método que la macro S_ISLNK definida en stat.h). Devuelve 0 o FALSE en caso de error.

Ejemplo 1. Ejemplo delinkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Nota: Esta función no está implementada en plataformas Windows.

Ver también symlink(), link(), y readlink().

Anterior | Inicio | Siguiente
link | Subir | lstat


lstat

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

lstat -- Entrega información sobre un archivo o enlace simbólico

Descripción

array lstat ( string nombre_archivo )

Reúne las estadísticas del archivo o enlace simbólico con el nombre nombre_archivo. Esta función es idéntica a la función stat(), con la excepción de que si el parámetro nombre_archivo es un enlace simbólico, se devuelve el status del enlace simbólico, no el del archivo apuntado por el enlace simbólico.

Consulte la página del manual sobre stat() para información sobre la estructura de la matriz que lstat() devuelve.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también stat().

Anterior | Inicio | Siguiente
linkinfo | Subir | mkdir


mkdir

(PHP 3, PHP 4, PHP 5)

mkdir -- Crea un directorio

Descripción

bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )

Trata de crear el directorio especificado por pathname.

Ten en cuenta que debes especifiar el modo como un número octal, lo que significa que debes anteponerle un 0 al número. el modo también es modificado por el valor acutal de "umask", el cuál se puede cambiar usando umask().

Nota: El modo es ignorado en Windows, y se hizo opcional en PHP 4.2.0.

El modo es 0777 por defecto, lo cual significa el acceso más amplio posible. Para mas información de los modos, lea mas detalles en la página chmod().

Ejemplo 1. ejemplo de mkdir()

<?php
mkdir("/path/to/my/dir", 0700);
?>

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Desde PHP 5.0.0 mkdir() también puede ser usada con algunos empaquetadores de URL. Vea Apéndice M para una lista de cuales empaquetadores son soportados mkdir().

Nota: El parámetro recursive fue agregado desde PHP 5.0.0.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Ver también rmdir().

Anterior | Inicio | Siguiente
lstat | Subir | move_uploaded_file


move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file -- Mueve un archivo cargado a una nueva ubicación

Descripción

bool move_uploaded_file ( string nombre_archivo, string destino )

Esta función realiza un chequeo para asegurar que el archivo indicado por nombre_archivo sea un archivo cargado válido (lo que quiere decir que fue cargado a través del mecanismo de carga HTTP POST de PHP). Si el archivo es válido, será movido al nombre de archivo dado por destino.

Si nombre_archivo no es un archivo cargado válido, entonces no se tomará ninguna acción, y move_uploaded_file() devolverá FALSE.

Si nombre_archivo es un archivo cargado válido, pero no puede ser movido por alguna razón, no se tomará ninguna acción, y move_uploaded_file() devolverá FALSE. Adicionalmente, se emitirá una advertencia.

Este tipo de chequeo es especialmente importante si hay algún chance de que cualquier cosa hecha con archivos cargados pueda revelar sus contenidos al usuario, o incluso a otros usuarios en el mismo sistema.

Nota: La función move_uploaded_file() toma en consideración los parámetros safe mode y open_basedir. Sin embargo, las restricciones impuestas son usadas solo en la ruta de destino para permitir el traslado de archivos cargados en los que el nombre_archivo pueda entrar en conflicto con tales restricciones. move_uploaded_file() asegura la seguridad de esta operación permitiendo que solo los archivos cargados a través de PHP sean movidos.

Aviso

Si el archivo de destino ya existe, será sobrescrito.

Vea también is_uploaded_file(), y la sección Gestión de carga de archivos para un ejemplo de uso simple.

Anterior | Inicio | Siguiente
mkdir | Subir | parse_ini_file


parse_ini_file

(PHP 4, PHP 5)

parse_ini_file -- Procesar un archivo de configuración

Descripción

array parse_ini_file ( string nombre_archivo [, bool procesar_secciones] )

parse_ini_file() lee el contenido del archivo ini especificado en nombre_archivo, y devuelve los parámetros que incluye en una matriz asociativa. Al definir el último parámetro procesar_secciones como TRUE, recibe una matriz multidimensional, con los nombres de secciones y parámetros incluidos. El valor predeterminado para procesar_secciones es FALSE

Nota: Esta función no tiene relación alguna con el archivo php.ini. Éste ya ha sido procesado al momento de ejecutar su script. Esta función puede ser usada para leer los archivos de configuración de su propia aplicación.

Nota: Si un valor en el archivo ini contiene caracteres no-alfanuméricos, éste necesita ser rodeado por comillas dobles (").

Nota: A partir de PHP 4.2.1, esta función se ve afectada también por safe mode y open_basedir.

Nota: A partir de PHP 5.0.0, esta función también gestiona nuevas líneas en los valores.

Nota: Existen palabras reservadas que no deben ser usadas como claves en archivos ini. Entre estas se encuentran: null, yes, no, true, y false. Los valores null, no y false resultan en "", yes y true resultan en "1". Los caracteres {}|&~![()" no deben ser usados en ninguna parte de la clave, y tienen un significado especial en el valor.

La estructura del archivo ini es similar al de php.ini.

También pueden procesarse Constantes en el archivo ini, de tal modo que si define una constante como un valor ini antes de ejecutar parse_ini_file(), ésta será integrada en los resultados. Solo son evaluados los valores ini. Por ejemplo:

Ejemplo 1. Contenidos de ejemplo.ini

; Este es un archivo de configuración de ejemplo
; Los comentarios comienzan con ';', como en php.ini

[primera_seccion]
uno = 1
cinco = 5
animal = PAJARO

[segunda_seccion]
ruta = "/usr/local/bin"
URL = "http://www.example.com/~nombreusuario"

Ejemplo 2. Ejemplo de parse_ini_file()

<?php

define('PAJARO', 'Ave Dodo');

// Procesar sin secciones
$matriz_ini = parse_ini_file("ejemplo.ini");
print_r($matriz_ini);

// Procesar con secciones
$matriz_ini = parse_ini_file("ejemplo.ini", true);
print_r($matriz_ini);

?>

Produciría:

Array
(
    [uno] => 1
    [cinco] => 5
    [animal] => Ave Dodo
    [ruta] => /usr/local/bin
    [URL] => http://www.example.com/~nombreusuario
)
Array
(
    [primera_seccion] => Array
        (
            [uno] => 1
            [cinco] => 5
            [animal] = Ave Dodo
        )

    [segunda_seccion] => Array
        (
            [ruta] => /usr/local/bin
            [URL] => http://www.example.com/~nombreusuario
        )

)

Las claves y los nombres de sección que consisten de números son evaluadas como enteros de PHP, de modo que los números que comienzan con 0 son evaluados como valores octales y los números que comienzan con 0x son evaluados como hexadecimales.

Anterior | Inicio | Siguiente
move_uploaded_file | Subir | pathinfo


pathinfo

(PHP 4 >= 4.0.3, PHP 5)

pathinfo -- Devuelve información sobre la ruta de un archivo

Descripción

mixed pathinfo ( string ruta [, int opciones] )

pathinfo() devuelve una matriz asociativa que contiene información sobre ruta. Los siguientes elementos de la matriz son devueltos: dirname, basename y extension si existe.

Puede especificar cuáles elementos son devueltos con el parámetro opcional opciones. Éste se compone de PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION y PATHINFO_FILENAME (disponible desde PHP 5.2.0). Su comportamiento predeterminado es devolver todos los elementos. Esta función devuelve una cadena si no todos las elementos son solicitados.

Ejemplo 1. Ejemplo de pathinfo()

<?php
$partes_ruta = pathinfo('/www/htdocs/index.html');

echo $partes_ruta['dirname'] . "\n";
echo $partes_ruta['basename'] . "\n";
echo $partes_ruta['extension'] . "\n";
echo $partes_ruta['filename'], "\n"; // desde PHP 5.2.0
?>

Produciría:

/www/htdocs
index.html
html
index

Nota: Para información sobre la recuperación de información sobre la ruta actual, lea la sección relevante en variables reservadas predefinidas.

Vea también dirname(), basename(), parse_url() y realpath().

Anterior | Inicio | Siguiente
parse_ini_file | Subir | pclose


pclose

(PHP 3, PHP 4, PHP 5)

pclose -- Cierra un apuntador de archivo de proceso

Descripción

int pclose ( resource gestor )

Cierra un apuntador de archivo a un pipe abierto por popen().

El apuntador de archivo debe ser válido, y debe haber sido devuelto por un llamado satisfactorio a popen().

Devuelve el status de terminación del proceso que fue ejecutado.

Vea también popen().

Anterior | Inicio | Siguiente
pathinfo | Subir | popen


popen

(PHP 3, PHP 4, PHP 5)

popen -- Abre un apuntador de archivo de proceso

Descripción

resource popen ( string comando, string modo )

Abre un pipe con un proceso ejecutado al bifurcar el comando dado en el primer parámetro.

Devuelve un apuntador de archivo idéntico al devuelto por fopen(), con la excepción de que es unidireccional (puede ser usado sólo para lectura o escritura) y debe ser cerrado con pclose(). Este apuntador puede ser usado con fgets(), fgetss(), y fwrite().

Si ocurre un error, se devuelve FALSE.

Nota: Si está buscando soporte bidireccional (en dos vías), use proc_open().

Ejemplo 1. Ejemplo de popen()

<?php
$gestor = popen("/bin/ls", "r");
?>

Si el comando a ser ejecutado no es encontrado, se devuelve un recurso válido. Esto puede parecer extraño, pero tiene sentido; le permite acceder a cualquier mensaje de error devuelto por el intérprete de comandos:

<?php
error_reporting(E_ALL);

/* Agregar redirección de modo que tengamos stderr. */
$gestor = popen('/ruta/hacia/basura 2>&1', 'r');
echo "'$gestor'; " . gettype($gestor) . "\n";
$read = fread($gestor, 2096);
echo $read;
pclose($gestor);
?>

Nota: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Aviso

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".

Vea también pclose(), fopen(), y proc_open().

Anterior | Inicio | Siguiente
pclose | Subir | readfile


readfile

(PHP 3, PHP 4, PHP 5)

readfile -- Imprime un archivo

Descripción

int readfile ( string nombre_archivo [, bool usar_ruta_inclusion [, resource contexto]] )

Lee un archivo y lo escribe al búfer de salida.

Devuelve el número de bytes leídos desde el archivo. Si ocurre un error, FALSE es devuelto y a menos que la función sea llamada como @readfile(), se genera un mensaje de error.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Puede usar el segundo parámetro opcional y definirlo como TRUE, si desea buscar por el archivo en include_path, también.

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Vea también fpassthru(), file(),
fopen(), include(),
require(), virtual(),
file_get_contents(), y Apéndice M.

Anterior | Inicio | Siguiente
popen | Subir | readlink


readlink

(PHP 3, PHP 4, PHP 5)

readlink -- Devuelve el objetivo de un enlace simbólico

Descripción

string readlink ( string path )

readlink() hace lo mismo que la función C readlink y devuelve el contenido del path del enlace simbólico o 0 en caso de error.

Ejemplo 1. Ejemplo de readlink()

<?php

// output e.g. /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');

?>

Nota: Esta función no está implementada en plataformas Windows.

Ver también symlink(),
readlink() y
linkinfo().

Anterior | Inicio | Siguiente
readfile | Subir | realpath


realpath

(PHP 4, PHP 5)

realpath -- Devuelve el nombre de ruta absoluto simplificado

Descripción

string realpath ( string ruta )

realpath() expande todos los enlaces simbólicos y revuelve todas las referencias a '/./', '/../' y caracteres '/' extra en la ruta de entrada, y devuelve el nombre de ruta absoluto simplificado. La ruta resultante no tendrá enlaces simbólicos, ni componentes '/./' o '/../'.

realpath() devuelve FALSE en caso de fallo, p.ej. si el archivo no existe. En sistemas BSD, realpath() no falla si únicamente el último componente de ruta no existe, mientras que en otros sistemas se devolverá FALSE.

Ejemplo 1. Ejemplo de realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>

El resultado del ejemplo seria:

/etc/passwd

Vea también basename(), dirname(), y pathinfo().

Anterior | Inicio | Siguiente
readlink | Subir | rename


rename

(PHP 3, PHP 4, PHP 5)

rename -- Renombra un archivo o directorio

Descripción

bool rename ( string nombre_antiguo, string nombre_nuevo [, resource contexto] )

Intenta renombrar nombre_antiguo a nombre_nuevo.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo con rename()

<?php
rename("/tmp/archivo_temp.txt", "/home/usuario/login/docs/mi_archivo.txt");
?>

Nota: Antes de PHP 4.3.3, rename() no podía renombrar archivos a través de particiones diferentes bajo sistemas basados en Unix.

Nota: A partir de PHP 5.0.0, rename() puede usarse también con algunas envolturas URL. Consulte Apéndice M para un listado de las envolturas que soporta rename().

Nota: La envoltura usada en nombre_antiguo DEBE coincidir con la envoltura usada en nombre_nuevo.

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Vea también copy(), unlink(), y move_uploaded_file().

Anterior | Inicio | Siguiente
realpath | Subir | rewind


rewind

(PHP 3, PHP 4, PHP 5)

rewind -- Retroceder la posición de un apuntador de archivo

Descripción

bool rewind ( resource gestor )

Define el indicador de posición de archivo para gestor como el comienzo de la secuencia de archivo.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El apuntador de archivo debe ser válido, y debe apuntar a un archivo abierto satisfactoriamente mediante fopen().

Nota: Si ha abierto el archivo en modo de adición ("a" o "a+"), cualquier información que escriba al archivo será siempre agregada al final de éste, independientemente de la posición del archivo.

Vea también fseek() y ftell().

Anterior | Inicio | Siguiente
rename | Subir | rmdir


rmdir

(PHP 3, PHP 4, PHP 5)

rmdir -- Elimina un directorio

Descripción

int rmdir ( string dirname [, resource context] )

Trata de eliminar el directorio indicado por dirname. El directorio debe estar vacio, y los permisos relevantes deben permitir esto. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Desde PHP 5.0.0 rmdir() también puede ser usada con algunos URL empaquetados. Para una lista de los empaquetadores que son soportados por rmdir() refierase a Apéndice M.

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Vea también mkdir() y unlink().

Anterior | Inicio | Siguiente
rewind | Subir | set_file_buffer


set_file_buffer

(PHP 3 >= 3.0.8, PHP 4 >= 4.0.1, PHP 5)

set_file_buffer -- Alias of stream_set_write_buffer()

Descripción

This function is an alias of: stream_set_write_buffer().

Anterior | Inicio | Siguiente
rmdir | Subir | stat


stat

(PHP 3, PHP 4, PHP 5)

stat -- Entrega información sobre un archivo

Descripción

array stat ( string nombre_archivo )

Reúne las estadísticas del archivo con el nombre nombre_archivo. Si nombre_archivo es un enlace simbólico, las estadísticas son del archivo mismo, no del enlace. lstat() es una función idéntica a stat(), con la excepción de que utiliza la información de status de los enlaces simbólicos.

En caso de fallos, stat() devuelve FALSE. También arrojará una advertencia.

Devuelve una matriz con las estadísticas del archivo, con los siguientes elementos. Esta matriz comienza en cero. Además de devolver estos atributos en una matriz numérica, éstos pueden ser accesados con índices asociativos, como se nota al lado de cada parámetro; esta alternativa está disponible a partir de PHP 4.0.6:

Tabla 1. Formato de resultados de stat() y fstat()

Numérico | Asociativo (desde PHP 4.0.6) | Descripción
0 | dev | número de dispositivo
1 | ino | número de inode
2 | mode | modo de protección inode
3 | nlink | número de enlaces
4 | uid | id de usuario del dueño
5 | gid | id de grupo del dueño
6 | rdev | tipo de dispositivo, si hay dispositivo inode *
7 | size | tamaño en bytes
8 | atime | hora del último acceso (marca de tiempo Unix)
9 | mtime | hora de la última modificación (marca de tiempo Unix)
10 | ctime | hora del último cambio del inode (marca de tiempo Unix)
11 | blksize | tamaño de bloque de E/S del sistema de archivos *
12 | blocks | número de bloques reservados
* Válido únicamente en sistemas que soportan el tipo st_blksize - los demás sistemas (p.ej. Windows) devuelven -1.

Nota: Los resultados de esta función son guardados. Consultar clearstatcache() para más detalles.

Sugerencia: A partir de PHP 5.0.0, esta funcion tambien puede usarse con algunas URL como nombre de fichero. Consultar Apéndice M, para obtener una lista con soporte para la funcionalidad stat().

Vea también lstat(), fstat(), filemtime(), y filegroup().

Anterior | Inicio | Siguiente
set_file_buffer | Subir | symlink


symlink

(PHP 3, PHP 4, PHP 5)

symlink -- Crea un enlace simbólico

Descripción

int symlink ( string target, string link )

symlink() crea un enlace simbólico del objetivo target con el nombre especificado por link.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Esta función no está implementada en plataformas Windows.

Ver también link() para crear enlaces fuertes, y readlink() junto con linkinfo().

Anterior | Inicio | Siguiente
stat | Subir | tempnam


tempnam

(PHP 3, PHP 4, PHP 5)

tempnam -- Crear un archivo con un nombre único

Descripción

string tempnam ( string dir, string prefijo )

Crea un archivo con un nombre único, con el valor de permiso de acceso 0600, en el directorio especificado. Si el directorio no existe, tempnam() puede generar un archivo en el directorio temporal del sistema, y devolver su nombre.

En versiones anteriores a PHP 4.0.6, el comportamiento de la función tempnam() dependía del sistema. En Windows, la variable de entorno TMP sobrescribía el parámetro dir, en Linux la variable TMPDIR tiene precedencia, mientras que SVR4 siempre usa su parámetro dir si el directorio al que apunta existe. Consulte la documentación de su sistema sobre la función tempnam(3) si necesita mayor claridad al respecto.

Nota: Si PHP no puede crear un archivo en el parámetro dir especificado, pasa a usar el valor predeterminado del sistema.

Devuelve el nuevo nombre de archivo temporal, o FALSE en caso de fallo.

Ejemplo 1. Ejemplo de tempnam()

<?php
$nombre_temp = tempnam("/tmp", "FOO");

$gestor = fopen($nombre_temp, "w");
fwrite($gestor, "escribiendo al archivo temporal");
fclose($gestor);

// haga algo aquí

unlink($nombre_temp);
?>

Nota: El comportamiento de esta función cambió en 4.0.3. El archivo temporal es creado también para evitar una condición de carrera en donde el archivo puede aparecer en el sistema de archivos entre el periodo en que se genera la cadena y antes de que el script se dedique a crear el archivo. Note que necesita eliminar el archivo en caso de que no lo necesite más, ya que ésto no se hace automáticamente.

Vea también tmpfile(), sys_get_temp_dir() y unlink().

Anterior | Inicio | Siguiente
symlink | Subir | tmpfile


tmpfile

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

tmpfile -- Crea un archivo temporal

Descripción

resource tmpfile ( void )

Crea un archivo temporal con un nombre único en modo de lectura-escritura (w+), devolviendo un gestor de archivo similar al que devuelve fopen(). El archivo es eliminado automáticamente cuando sea cerrado (usando fclose()), o cuando el script finalice.

Para más detalles, consulte la documentación de su sistema sobre la función tmpfile(3), así como el archivo de cabecera stdio.h.

Ejemplo 1. Ejemplo de tmpfile()

<?php
$temp = tmpfile();
fwrite($temp, "escribiendo sobre el archivo temporal");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // esto elimina el archivo
?>

El resultado del ejemplo seria:

escribiendo sobre el archivo temporal

Vea también tempnam(), sys_get_temp_dir().

Anterior | Inicio | Siguiente
tempnam | Subir | touch


touch

(PHP 3, PHP 4, PHP 5)

touch -- Establece la hora de acceso y modificación de un archivo

Descripción

bool touch ( string nombre_archivo [, int hora [, int hora_acceso]] )

Intenta establecer las horas de acceso y modificación del archivo nombrado en el parámetro nombre_archivo al valor dado en hora. Si hora no se especifica, se usa la hora actual del sistema. Si el tercer parámetro se especifica, la hora de acceso del nombre de archivo dado se establece al valor de hora_acceso. Note que la hora de acceso siempre se modifica, inpedendientemente del número de parámetros.

Si el archivo no existe, será creado. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Aviso

Actualmente no es posible cambiar la hora de modificación de un directorio con esta función bajo Windows.

Ejemplo 1. Ejemplo de touch()

<?php
if (touch($NombreArchivo)) {
    echo "La hora de modificación de $NombreArchivo ha sido modificada a la hora actual";
} else {
    echo "Lamentablemente, no fue posible cambiar la hora de modificación de $NombreArchivo";
}
?>

Anterior | Inicio | Siguiente
tmpfile | Subir | umask


umask

(PHP 3, PHP 4, PHP 5)

umask -- Cambia la umask actual

Descripción

int umask ( [int mask] )

umask() fija las umask PHP con la mascara & 0777 y y devuelve la antigua umask. Cuando PHP se está usando como un módulo del servidor, la umask se restaura cuando cada petición es finalizada.

umask() sin argumentos sólamente devuelve la umask actual.

Anterior | Inicio | Siguiente
touch | Subir | unlink


unlink

(PHP 3, PHP 4, PHP 5)

unlink -- Elimina un archivo

Descripción

bool unlink ( string nombre_archivo [, resource contexto] )

Elimina nombre_archivo. Es similar a la función unlink() de C en Unix. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: A partir de PHP 5.0.0, la función unlink() puede ser usada también con algunas envolturas de URL. Refiérase a Apéndice M para consultar un listado de las envolturas con soporte para unlink().

Nota: Soporte de contexto fue introducido con PHP.5.0.0.

Vea también rmdir() para la eliminación de directorios.

Anterior | Inicio | Siguiente
umask | Subir | Filter Functions


Funciones del Formato de Datos de Formulario

Manual de PHP
Anterior Siguiente

XXXVII. Funciones del Formato de Datos de Formulario

Introducción

El Formato de Datos de Formulario (FDF) es un formato para la gestión de formularios al interior de documentos PDF. Es recomendable que lea la documentación en http://partners.adobe.com/asn/acrobat/forms.jsp para más información sobre lo que FDF es, y el modo de usarlo en general.

La idea general de FDF es similar a la de los formularios HTML. La diferencia es básicamente el formato en que los datos son transmitidos al servidor cuando el botón de envío es pulsado (el cual viene a ser el Formato de Datos de Formulario) y el formato del formulario mismo (el cual es el Formato de Documento Portable, PDF). El procesamiento de los datos FDF es una de las características ofrecidas por las funciones fdf. Pero hay más. También es posible tomar un formulario PDF existente y poblar los campos de entrada con datos sin modificar el formulario mismo. En tal caso, es posible crear un documento FDF (fdf_create()), definir los valores de cada campo de entrada (fdf_set_value()) y asociarlo con un formulario PDF (fdf_set_file()). Finalmente debe ser enviado al navegador con el tipo Mime application/vnd.fdf. El plugin lector de Acrobat en su navegador reconoce el tipo Mime, lee el formulario PDF asociado y aplica los datos del documento FDF.

Si echa un vistazo a un documento FDF con un editor de texto, encontrará un objeto de catálogo con el nombre FDF. Tal objeto puede contener cierto número de entradas como Fields, F, Status etc.. Las entradas usadas con más frecuencia son Fields, la cual apunta a una lista de campos de entrada, y F que contiene el nombre de archivo del documento PDF al que pertenecen estos datos. Esas entradas son referenciadas en la documentación FDF como /F-Key o /Status-Key. La modificación de estas entradas se realiza por medio de funciones como fdf_set_file() y fdf_set_status(). Los campos son mofidicados con fdf_set_value(), fdf_set_opt() etc..

Requisitos

Es necesario el toolkit SDK para FDF disponible en http://partners.adobe.com/asn/acrobat/forms.jsp. A partir de PHP 4.3.0 necesita por lo menos la versión 5.0 del SDK. La biblioteca del toolkit FDF se encuentra disponible en forma binaria únicamente, las plataformas soportadas por Adobe son Win32, Linux, Solaris y AIX.

Instalación

You must compile PHP with --with-fdftk[=DIR].

Nota: If you run into problems configuring PHP with fdftk support, check whether the header file fdftk.h and the library libfdftk.so are at the right place. The configure script supports both the directory structure of the FDF SDK distribution and the usual DIR/include / DIR/lib layout, so you can point it either directly to the unpacked distribution directory or put the header file and the appropriate library for your platform into e.g. /usr/local/include and /usr/local/lib and configure with --with-fdftk=/usr/local.

Note to Win32 Users: In order to enable this module on a Windows environment, you must copy fdftk.dll from the DLL folder of the PHP/Win32 binary package to the SYSTEM32 folder of your Windows machine. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

fdf

La mayoría de funciones fdf requieren un recurso fdf como su primer parámetro. Un recurso fdf es un gestor con un archivo fdf abierto. Los recursos fdf pueden obtenerse usando fdf_create(), fdf_open() y fdf_open_string().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

FDFValue (integer)

FDFStatus (integer)

FDFFile (integer)

FDFID (integer)

FDFFf (integer)

FDFSetFf (integer)

FDFClearFf (integer)

FDFFlags (integer)

FDFSetF (integer)

FDFClrF (integer)

FDFAP (integer)

FDFAS (integer)

FDFAction (integer)

FDFAA (integer)

FDFAPRef (integer)

FDFIF (integer)

FDFEnter (integer)

FDFExit (integer)

FDFDown (integer)

FDFUp (integer)

FDFFormat (integer)

FDFValidate (integer)

FDFKeystroke (integer)

FDFCalculate (integer)

FDFNormalAP (integer)

FDFRolloverAP (integer)

FDFDownAP (integer)

Ejemplos

Los siguientes ejemplos muestran únicamente la evaluación de datos del formulario.

Ejemplo 1. Evaluación de un documento FDF

<?php
// Abrir un fdf desde la cadena de entrada entregada por la extensión
// El formulario pdf contenía varios campos de entrada de texto con los
// nombres volumen, fecha, comentario, editorial, editor, y dos
// cuadros de verificación mostrar_editorial y mostrar_editor.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volumen = fdf_get_value($fdf, "volumen");
echo "El campo volumen tiene el valor '<b>$volumen</b>'<br />";

$fecha = fdf_get_value($fdf, "fecha");
echo "El campo fecha tiene el valor '<b>$fecha</b>'<br />";

$comentario = fdf_get_value($fdf, "comentario");
echo "El campo comentario tiene el valor '<b>$comentario</b>'<br />";

if (fdf_get_value($fdf, "mostrar_editorial") == "On") {
  $editorial = fdf_get_value($fdf, "editorial");
  echo "El campo editorial tiene el valor '<b>$editorial</b>'<br />";
} else
  echo "La editorial no será mostrada.<br />";

if (fdf_get_value($fdf, "mostrar_editor") == "On") {
  $editor = fdf_get_value($fdf, "editor");
  echo "El campo editor tiene el valor '<b>$editor</b>'<br />";
} else
  echo "El editor no será mostrado.<br />";
fdf_close($fdf);
?>

Tabla de contenidos
fdf_add_doc_javascript -- Adds javascript code to the FDF document
fdf_add_template -- Adds a template into the FDF document
fdf_close -- Cerrar un documento FDF
fdf_create -- Crear un documento FDF
fdf_enum_values -- Call a user defined function for each document value
fdf_errno -- Return error code for last fdf operation
fdf_error -- Return error description for FDF error code
fdf_get_ap -- Get the appearance of a field
fdf_get_attachment -- Extracts uploaded file embedded in the FDF
fdf_get_encoding -- Get the value of the /Encoding key
fdf_get_file -- Obtener el valor de la clave /F
fdf_get_flags -- Gets the flags of a field
fdf_get_opt -- Gets a value from the opt array of a field
fdf_get_status -- Obtener el valor de la clave /STATUS
fdf_get_value -- Obtener el valor de un campo
fdf_get_version -- Gets version number for FDF API or file
fdf_header -- Sets FDF-specific output headers
fdf_next_field_name -- Obtener el nombre del siguiente campo
fdf_open_string -- Read a FDF document from a string
fdf_open -- Abrir un documento FDF
fdf_remove_item -- Sets target frame for form
fdf_save_string -- Returns the FDF document as a string
fdf_save -- Guardar un documeto FDF
fdf_set_ap -- Ajusta la apariencia de un campo
fdf_set_encoding -- Sets FDF character encoding
fdf_set_file -- Fijar el valor de la clave /F
fdf_set_flags -- Sets a flag of a field
fdf_set_javascript_action -- Sets an javascript action of a field
fdf_set_on_import_javascript -- Adds javascript code to be executed when Acrobat opens the FDF
fdf_set_opt -- Sets an option of a field
fdf_set_status -- Fija el valor de la clave /STATUS
fdf_set_submit_form_action -- Sets a submit form action of a field
fdf_set_target_frame -- Set target frame for form display
fdf_set_value -- Fijar el valor de un campo
fdf_set_version -- Sets version number for a FDF file

Anterior | Inicio | Siguiente
fam_suspend_monitor | Subir | fdf_add_doc_javascript


fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_add_doc_javascript -- Adds javascript code to the FDF document

Descripción

bool fdf_add_doc_javascript ( resource fdf_document, string script_name, string script_code )

Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the FDF is imported into it.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

script_name

The script name.

script_code

The script code. It is strongly suggested to use \r for linebreaks within the script code.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Adding JavaScript code to a FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

will create a FDF like this:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Anterior | Inicio | Siguiente
Funciones del Formato de Datos de Formulario | Subir | fdf_add_template


fdf_add_template

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

fdf_add_template -- Adds a template into the FDF document

Descripción

bool fdf_add_template ( resource fdf_document, int newpage, string filename, string template, int rename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
fdf_add_doc_javascript | Subir | fdf_close


fdf_close

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_close -- Cerrar un documento FDF

Descripción

void fdf_close ( int fdf_document )

La función fdf_close() cierra un documento FDF.

Vea también fdf_open().

Anterior | Inicio | Siguiente
fdf_add_template | Subir | fdf_create


fdf_create

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_create -- Crear un documento FDF

Descripción

int fdf_create ( void )

La función fdf_create() crea un documento FDF nuevo. Esta función se necesita si se desea rellenar los campos de entrada en un documento PDF.

Ejemplo 1. Rellenando un documento PDF

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volumen", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Vea también fdf_close(),
         fdf_save(),
         fdf_open().

Anterior | Inicio | Siguiente
fdf_close | Subir | fdf_enum_values


fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5)

fdf_enum_values -- Call a user defined function for each document value

Descripción

bool fdf_enum_values ( resource fdf_document, callback function [, mixed userdata] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
fdf_create | Subir | fdf_errno


fdf_errno

(PHP 4 >= 4.3.0, PHP 5)

fdf_errno -- Return error code for last fdf operation

Descripción

int fdf_errno ( void )

Gets the error code set by the last FDF function call.

A textual description of the error may be obtained using with fdf_error().

Valores retornados

Returns the error code as an integer, or zero if there was no errors.

Ver también

fdf_error()

Anterior | Inicio | Siguiente
fdf_enum_values | Subir | fdf_error


fdf_error

(PHP 4 >= 4.3.0, PHP 5)

fdf_error -- Return error description for FDF error code

Descripción

string fdf_error ( [int error_code] )

Gets a textual description for the FDF error code given in error_code.

Lista de parámetros

error_code

An error code obtained with fdf_errno(). If not provided, this function uses the internal error code set by the last operation.

Valores retornados

Returns the error message as a string, or the string no error if nothing went wrong.

Ver también

fdf_errno()

Anterior | Inicio | Siguiente
fdf_errno | Subir | fdf_get_ap


fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_ap -- Get the appearance of a field

Descripción

bool fdf_get_ap ( resource fdf_document, string field, int face, string filename )

Gets the appearance of a field (i.e. the value of the /AP key) and stores it in a file.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field

face

The possible values are FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

The appearance will be stored in this parameter.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
fdf_error | Subir | fdf_get_attachment


fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_attachment -- Extracts uploaded file embedded in the FDF

Descripción

array fdf_get_attachment ( resource fdf_document, string fieldname, string savepath )

Extracts a file uploaded by means of the "file selection" field fieldname and stores it under savepath.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

savepath

May be the name of a plain file or an existing directory in which the file is to be created under its original name. Any existing file under the same name will be overwritten.

Nota: There seems to be no other way to find out the original filename but to store the file using a directory as savepath and check for the basename it was stored under.

Valores retornados

The returned array contains the following fields:

  • path - path were the file got stored

  • size - size of the stored file in bytes

  • type - mimetype if given in the FDF

Ejemplos

Ejemplo 1. Storing an uploaded file

<?php
  $fdf = fdf_open_string($HTTP_FDF_DATA);
  $data = fdf_get_attachment($fdf, "filename", "/tmpdir");
  echo "The uploaded file is stored in $data[path]";
?>

Anterior | Inicio | Siguiente
fdf_get_ap | Subir | fdf_get_encoding


fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_encoding -- Get the value of the /Encoding key

Descripción

string fdf_get_encoding ( resource fdf_document )

Gets the value of the /Encoding key.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valores retornados

Returns the encoding as a string. An empty string is returned if the default PDFDocEncoding/Unicode scheme is used.

Ver también

fdf_set_encoding()

Anterior | Inicio | Siguiente
fdf_get_attachment | Subir | fdf_get_file


fdf_get_file

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_get_file -- Obtener el valor de la clave /F

Descripción

string fdf_get_file ( int fdf_document )

La función fdf_set_file() devuelve el valor de la clave /F.

Vea también fdf_set_file().

Anterior | Inicio | Siguiente
fdf_get_encoding | Subir | fdf_get_flags


fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_flags -- Gets the flags of a field

Descripción

int fdf_get_flags ( resource fdf_document, string fieldname, int whichflags )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
fdf_get_file | Subir | fdf_get_opt


fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_opt -- Gets a value from the opt array of a field

Descripción

mixed fdf_get_opt ( resource fdf_document, string fieldname [, int element] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
fdf_get_flags | Subir | fdf_get_status


fdf_get_status

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_get_status -- Obtener el valor de la clave /STATUS

Descripción

string fdf_get_status ( int fdf_document )

La función fdf_get_status() devuelve el valor de la clave /STATUS.

Vea también fdf_set_status().

Anterior | Inicio | Siguiente
fdf_get_opt | Subir | fdf_get_value


fdf_get_value

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_get_value -- Obtener el valor de un campo

Descripción

string fdf_get_value ( int fdf_document, string fieldname )

La función fdf_get_value() devuelve el valor de un campo.

Vea también fdf_set_value().

Anterior | Inicio | Siguiente
fdf_get_status | Subir | fdf_get_version


fdf_get_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_version -- Gets version number for FDF API or file

Descripción

string fdf_get_version ( [resource fdf_document] )

Return the FDF version for the given document, or the toolkit API version number if no parameter is given.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valores retornados

Returns the version as a string. For the current FDF toolkit 5.0 the API version number is 5.0 and the document version number is either 1.2, 1.3 or 1.4.

Ver también

fdf_set_version()

Anterior | Inicio | Siguiente
fdf_get_value | Subir | fdf_header


fdf_header

(PHP 4 >= 4.3.0, PHP 5)

fdf_header -- Sets FDF-specific output headers

Descripción

void fdf_header ( void )

This is a convenience function to set appropriate HTTP headers for FDF output. It sets the Content-type: to application/vnd.fdf.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
fdf_get_version | Subir | fdf_next_field_name


fdf_next_field_name

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_next_field_name -- Obtener el nombre del siguiente campo

Descripción

string fdf_next_field_name ( int fdf_document, string fieldname )

La función fdf_next_field_name() devuelve el nombre del campo tras el campo fieldname o el nombre del primer campo si el segundo parámetro es NULL.

Vea también fdf_set_field(), fdf_get_field().

Anterior | Inicio | Siguiente
fdf_header | Subir | fdf_open_string


fdf_open_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_open_string -- Read a FDF document from a string

Descripción

resource fdf_open_string ( string fdf_data )

Reads form data from a string.

You can use fdf_open_string() together with $HTTP_FDF_DATA to process FDF form input from a remote client.

Lista de parámetros

fdf_data

The data as returned from a PDF form or created using fdf_create() and fdf_save_string().

Valores retornados

Returns a FDF document handle, or FALSE on error.

Ejemplos

Ejemplo 1. Accessing the form data

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Ver también

fdf_open()
fdf_close()
fdf_create()
fdf_save_string()

Anterior | Inicio | Siguiente
fdf_next_field_name | Subir | fdf_open


fdf_open

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_open -- Abrir un documento FDF

Descripción

int fdf_open ( string filename )

La función fdf_open() abre un archivo con datos de formulario. Este archivo debe contener los datos tal y como se devuelven en un formulario PDF. Actualmente dicho archivo debe crearse "manualmente" usando la función fopen() y escribiendo en éste el contenido de HTTP_FDF_DATA usando fwrite(). No existe un mecanismo similar al de los formularios HTML donde se crea una variable para cada campo de entrada.

Ejemplo 1. Accediendo a los datos del formulario

<?php
// Guarda los datos FDF en un archivo temporal
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Abre archivo temporal y evalúa los datos
$fdf = fdf_open("test.fdf");
...
fdf_close($fdf);
?>

Vea también fdf_close().

Anterior | Inicio | Siguiente
fdf_open_string | Subir | fdf_remove_item


fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5)

fdf_remove_item -- Sets target frame for form

Descripción

bool fdf_remove_item ( resource fdf_document, string fieldname, int item )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
fdf_open | Subir | fdf_save_string


fdf_save_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_save_string -- Returns the FDF document as a string

Descripción

string fdf_save_string ( resource fdf_document )

Returns the FDF document as a string.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valores retornados

Returns the document as a string, or FALSE on error.

Ejemplos

Ejemplo 1. Retrieving FDF as a string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

El resultado del ejemplo seria:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Ver también

fdf_open_string()
fdf_close()
fdf_create()
fdf_save()

Anterior | Inicio | Siguiente
fdf_remove_item | Subir | fdf_save


fdf_save

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_save -- Guardar un documeto FDF

Descripción

int fdf_save ( string filename )

La función fdf_save() guarda un documento FDF. El kit de FDF proporciona una forma de volcar el documento a stdout si el parámetro filename es '.'. Esto no funciona si el PHP se utiliza como un módulo del apache. En tal caso se deberá escribir a un fichero y utilizar p. ej. fpassthru() para visualizarlo.

Vea también fdf_close() y el ejemplo para fdf_create().

Anterior | Inicio | Siguiente
fdf_save_string | Subir | fdf_set_ap


fdf_set_ap

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_set_ap -- Ajusta la apariencia de un campo

Descripción

void fdf_set_ap ( int fdf_document, string field_name, int face, string filename, int page_number )

La función fdf_set_ap() ajusta la apariencia de un campo (p. ej. el valor de la clave /AP). Los valores posibles de face son 1=FDFNormalAP, 2=FDFRolloverAP, 3=FDFDownAP.

Anterior | Inicio | Siguiente
fdf_save | Subir | fdf_set_encoding


fdf_set_encoding

(PHP 4 >= 4.1.0, PHP 5)

fdf_set_encoding -- Sets FDF character encoding

Descripción

bool fdf_set_encoding ( resource fdf_document, string encoding )

Sets the character encoding for the FDF document.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

encoding

The encoding name. The following values are supported: "Shift-JIS", "UHC", "GBK" and "BigFive".

An empty string resets the encoding to the default PDFDocEncoding/Unicode scheme.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
fdf_set_ap | Subir | fdf_set_file


fdf_set_file

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_set_file -- Fijar el valor de la clave /F

Descripción

void fdf_set_file ( int fdf_document, string filename )

La función fdf_set_file() fija el valor de la clave /F. La clave /F es simplemente una referencia a un formulario PDF que se va a rellenar con datos. En un entorno web es un URL (p.ej. http:/testfdf/resultlabel.pdf).

Vea también fdf_get_file() y el ejemplo para fdf_create().

Anterior | Inicio | Siguiente
fdf_set_encoding | Subir | fdf_set_flags


fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_flags -- Sets a flag of a field

Descripción

bool fdf_set_flags ( resource fdf_document, string fieldname, int whichFlags, int newFlags )

Sets certain flags of the given field.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

whichFlags

newFlags

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fdf_set_opt()

Anterior | Inicio | Siguiente
fdf_set_file | Subir | fdf_set_javascript_action


fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_javascript_action -- Sets an javascript action of a field

Descripción

bool fdf_set_javascript_action ( resource fdf_document, string fieldname, int trigger, string script )

Sets a javascript action for the given field.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fdf_set_submit_form_action()

Anterior | Inicio | Siguiente
fdf_set_flags | Subir | fdf_set_on_import_javascript


fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_on_import_javascript -- Adds javascript code to be executed when Acrobat opens the FDF

Descripción

bool fdf_set_on_import_javascript ( resource fdf_document, string script, bool before_data_import )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

fdf_add_doc_javascript()
fdf_set_javascript_action()

Anterior | Inicio | Siguiente
fdf_set_javascript_action | Subir | fdf_set_opt


fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_opt -- Sets an option of a field

Descripción

bool fdf_set_opt ( resource fdf_document, string fieldname, int element, string str1, string str2 )

Sets options of the given field.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

element

str1

str2

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fdf_set_flags()

Anterior | Inicio | Siguiente
fdf_set_on_import_javascript | Subir | fdf_set_status


fdf_set_status

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_set_status -- Fija el valor de la clave /STATUS

Descripción

void fdf_set_status ( int fdf_document, string status )

La función fdf_set_status() fija el valor de la clave /STATUS.

Vea también fdf_get_status().

Anterior | Inicio | Siguiente
fdf_set_opt | Subir | fdf_set_submit_form_action


fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_submit_form_action -- Sets a submit form action of a field

Descripción

bool fdf_set_submit_form_action ( resource fdf_document, string fieldname, int trigger, string script, int flags )

Sets a submit form action for the given field.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

flags

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fdf_set_javascript_action()

Anterior | Inicio | Siguiente
fdf_set_status | Subir | fdf_set_target_frame


fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_target_frame -- Set target frame for form display

Descripción

bool fdf_set_target_frame ( resource fdf_document, string frame_name )

Sets the target frame to display a result PDF defined with fdf_save_file() in.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

frame_name

The frame name, as a string.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fdf_save_file()

Anterior | Inicio | Siguiente
fdf_set_submit_form_action | Subir | fdf_set_value


fdf_set_value

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

fdf_set_value -- Fijar el valor de un campo

Descripción

void fdf_set_value ( int fdf_document, string fieldname, string value, int isName )

La función fdf_set_value() fija el valor de un campo. El parámetro final determina si el valor del campo se deberá convertir a un Nombre PDF (isName = 1) o convertir en una Cadena PDF (isName = 0).

Vea también fdf_get_value().

Anterior | Inicio | Siguiente
fdf_set_target_frame | Subir | fdf_set_version


fdf_set_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_version -- Sets version number for a FDF file

Descripción

bool fdf_set_version ( resource fdf_document, string version )

Sets the FDF version for the given document.

Some features supported by this extension are only available in newer FDF versions.

Lista de parámetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

version

The version number. For the current FDF toolkit 5.0, this may be either 1.2, 1.3 or 1.4.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fdf_get_version()

Anterior | Inicio | Siguiente
fdf_set_value | Subir | Fileinfo Functions


FriBiDi Functions

Manual de PHP
Anterior Siguiente

XLIV. FriBiDi Functions

Introducción

FriBiDi is a free implementation of the Unicode Bidirectional Algorithm.

Requisitos

You must download and install the FriBiDi package.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/fribidi.

In order to use these functions you must compile PHP with Fribidi support by using the --with-fribidi[=DIR] configure option.

Windows users will enable php_fribidi.dll inside of php.ini in order to use these functions. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

FRIBIDI_CHARSET_UTF8 (integer)

Unicode

FRIBIDI_CHARSET_8859_6 (integer)

Arabic

FRIBIDI_CHARSET_8859_8 (integer)

Hebrew

FRIBIDI_CHARSET_CP1255 (integer)

Hebrew/Yiddish

FRIBIDI_CHARSET_CP1256 (integer)

Arabic

FRIBIDI_CHARSET_ISIRI_3342 (integer)

Persian

FRIBIDI_CHARSET_CAP_RTL (integer)

Used for test purposes, will treat CAPS as non-English letters

FRIBIDI_RTL (integer)

Right to left

FRIBIDI_LTR (integer)

Left to right

FRIBIDI_AUTO (integer)

Autodetect the base direction

Tabla de contenidos
fribidi_log2vis -- Convert a logical string to a visual one

Anterior | Inicio | Siguiente
PDO_FIREBIRD DSN | Subir | fribidi_log2vis


fribidi_log2vis

(PHP 4 >= 4.0.4, PECL)

fribidi_log2vis -- Convert a logical string to a visual one

Descripción

string fribidi_log2vis ( string str, string direction, int charset )

Converts a logical string to a vissual one.

Lista de parámetros

str

The logical string.

direction

One of FRIBIDI_RTL, FRIBIDI_LTR or FRIBIDI_AUTO.

charset

One of the FRIBIDI_CHARSET_XXX constants.

Valores retornados

Returns the visual string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
FriBiDi Functions | Subir | FrontBase Functions


Funciones FTP

Manual de PHP
Anterior Siguiente

XLVI. Funciones FTP

Introducción

Las funciones en esta extensión implementan acceso de cliente a servidores de archivos que entiendan el Protocolo de Transferencia de Archivos (FTP, por sus siglas en Inglés), tal y como se define en http://www.faqs.org/rfcs/rfc959. Esta extensión tiene como propósito el acceso detallado a un servidor FTP, brindando un amplio rango de control al script que se encuentre ejecutando. Si sólo desea leer desde un archivo o escribir sobre un archivo en un servidor FTP, considere el uso de la envoltura ftp:// con las funciones del sistema de archivos, medio que provee una interfaz más simple e intuitiva.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

Para usar las funciones FTP con su configuración PHP, debe agregar la opción --enable-ftp cuando instale PHP 4 o versiones posteriores, o --with-ftp cuando use PHP 3.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión usa un tipo de recurso, que es el identificador de enlace de la conexión FTP devuelto por ftp_connect() o ftp_ssl_connect().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Vea ftp_set_option() para más información.

Las siguientes constantes fueron introducidas en PHP 4.3.0.

FTP_AUTOSEEK (integer)

Vea ftp_set_option() para más información.

FTP_AUTORESUME (integer)

Determinar automáticamente la posición de continuación y la posición de comienzo para peticiones GET y PUT (funciona únicamente si FTP_AUTOSEEK está habilitado)

FTP_FAILED (integer)

La transferencia asincrónica ha fallado

FTP_FINISHED (integer)

La transferencia asincrónica ha terminado

FTP_MOREDATA (integer)

La transferencia asincrónica está aun activa

Ejemplos

Ejemplo 1. Ejemplo de FTP

<?php
// establecer una conexion basica
$id_con = ftp_connect($servidor_ftp);

// inicio de sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_ftp);

// chequear la conexion
if ((!$id_con) || (!$resultado_login)) {
        echo "&iexcl;La conexi&oacute;n FTP ha fallado!";
        echo "Se ha intentado la conexion con $servidor_ftp para el " .
             "usuario $nombre_usuario_ftp";
        exit;
    } else {
        echo "Conectado con $servidor_ftp, para el usuario $nombre_usuario_ftp";
    }

// cargar el archivo
$carga = ftp_put($id_con, $archivo_destino, $archivo_fuente, FTP_BINARY);

// chequear el status de la carga
if (!$carga) {
        echo "&iexcl;La carga FTP ha fallado!";
    } else {
        echo "Se ha cargado $archivo_fuente a $servidor_ftp como $archivo_destino";
    }

// cierra la secuencia FTP
ftp_close($id_con);
?>

Tabla de contenidos
ftp_alloc -- Reserva espacio para que un archivo sea cargado
ftp_cdup -- Cambia al directorio padre
ftp_chdir -- Cambia el directorio actual en un servidor FTP
ftp_chmod -- Establecer permisos en un archivo via FTP
ftp_close -- Cierra una conexión FTP
ftp_connect -- Abre una conexión FTP
ftp_delete -- Elimina un archivo en el servidor FTP
ftp_exec -- Solicita la ejecución de un comando en el servidor FTP
ftp_fget -- Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto
ftp_fput -- Carga un archivo abierto al servidor FTP
ftp_get_option -- Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual
ftp_get -- Descarga un archivo desde el servidor FTP
ftp_login -- Inicia sesión en una conexión FTP
ftp_mdtm -- Devuelve el tiempo de la última modificación del archivo dado
ftp_mkdir -- Crea un directorio
ftp_nb_continue -- Continúa recuperando/enviando un archivo (modo no-bloqueo)
ftp_nb_fget -- Recupera un archivo desde el servidor FTP y lo escribe sobre un archivo abierto (modo no-bloqueo)
ftp_nb_fput -- Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)
ftp_nb_get -- Recupera un archivo desde el servidor FTP y lo escribe sobre un archivo local (modo no-bloqueo)
ftp_nb_put -- Almacena un archivo en el servidor FTP (modo no-bloqueo)
ftp_nlist -- Devuelve una lista de archivos en el directorio dado
ftp_pasv -- Habilita o deshabilita el modo pasivo
ftp_put -- Carga un archivo al servidor FTP
ftp_pwd -- Devuelve el nombre del directorio actual
ftp_quit -- Alias of ftp_close()
ftp_raw -- Envía un comando arbitrario a un servidor FTP
ftp_rawlist -- Devuelve una lista detallada de archivos en el directorio dado
ftp_rename -- Renombra un archivo o un directorio en el servidor FTP
ftp_rmdir -- Elimina un directorio
ftp_set_option -- Establecer varias opciones FTP de tiempo de ejecución
ftp_site -- Envía un comando SITE al servidor
ftp_size -- Devuelve el tamaño del archivo dado
ftp_ssl_connect -- Abre una conexión segura SSL-FTP
ftp_systype -- Devuelve el identificador de tipo de sistema del servidor FTP remoto

Anterior | Inicio | Siguiente
fbsql_warnings | Subir | ftp_alloc


ftp_alloc

(PHP 5)

ftp_alloc -- Reserva espacio para que un archivo sea cargado

Descripción

bool ftp_alloc ( resource secuencia_ftp, int tam_archivo [, string &resultado] )

Envía un comando ALLO al servidor FTP remoto para reservar espacio para la carga de un archivo.

Nota: Muchos servidores FTP no ofrecen soporte para este comando. Estos servidores pueden devolver un código de fallo (FALSE) que indica que el comando no es soportado, o un código de éxito (TRUE) para indicar que la pre-ubicación no es necesaria y el cliente debe continuar como si la operación hubiera sido exitosa. Debido a esto, puede ser mejor reservar esta función para servidores que requieren la preubicación explícitamente.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

tam_archivo

El número de bytes a reservar.

resultado

Una representación textual de la respuesta de los servidores será devuelta por referencia en resultado si se entrega la variable.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_alloc()

<?php

$archivo = "/home/usuario/miarchivo";

/* conexion con el servidor */
$id_con = ftp_connect('ftp.example.com');
$resultado_login = ftp_login($id_con, 'anonymous', 'usuario@example.com');

if (ftp_alloc($id_con, filesize($archivo), $resultado)) {
  echo "El espacio fue reservado satisfactoriamente en el servidor. Enviando $archivo.\n";
  ftp_put($id_con, '/incomming/miarchivo', $archivo, FTP_BINARY);
} else {
  echo "No fue posible reservar espacio en el servidor. El servidor dijo: $resultado\n";
}

ftp_close($id_con);

?>

Ver también

ftp_put()
ftp_fput()

Anterior | Inicio | Siguiente
Funciones FTP | Subir | ftp_cdup


ftp_cdup

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_cdup -- Cambia al directorio padre

Descripción

bool ftp_cdup ( resource secuencia_ftp )

Cambia al directorio padre.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_cdup()

<?php
// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya_usuario);

// cambiar el directorio actual a html
ftp_chdir($id_con, 'html');

echo ftp_pwd($id_con); // /html

// regresar al directorio padre
if (ftp_cdup($id_con)) {
  echo "cdup tuvo exito\n";
} else {
  echo "cdup no tuvo exito\n";
}

echo ftp_pwd($id_con); // /

ftp_close($id_con);
?>

Ver también

ftp_chdir()
ftp_pwd()

Anterior | Inicio | Siguiente
ftp_alloc | Subir | ftp_chdir


ftp_chdir

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_chdir -- Cambia el directorio actual en un servidor FTP

Descripción

bool ftp_chdir ( resource secuencia_ftp, string directorio )

Cambia el directorio actual al especificado.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

directorio

El directorio de destino.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Si el cambio de directorio falla, PHP generará también una advertencia.

Ejemplos

Ejemplo 1. Ejemplo de ftp_chdir()

<?php

// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// verificar conexion
if ((!$id_con) || (!$resultado_login)) {
    die("La conexion FTP ha fallado!");
}

echo "Directorio actual: " . ftp_pwd($id_con) . "\n";

// tratar de cambiar el directorio a algundir
if (ftp_chdir($id_con, "algundir")) {
    echo "El directorio actual es ahora: " . ftp_pwd($id_con) . "\n";
} else {
    echo "No se pudo cambiar el directorio\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Ver también

ftp_cdup()
ftp_pwd()

Anterior | Inicio | Siguiente
ftp_cdup | Subir | ftp_chmod


ftp_chmod

(PHP 5)

ftp_chmod -- Establecer permisos en un archivo via FTP

Descripción

int ftp_chmod ( resource secuencia_ftp, int modo, string nombre_archivo )

Establece los permisos sobre el archivo remoto especificado a modo.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

modo

Los nuevos permisos, dados como un valor octal.

nombre_archivo

El archivo remoto.

Valores retornados

Devuelve los nuevos permisos del archivo en caso de tener éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de ftp_chmod()

<?php
$archivo = 'public_html/index.php';

// configurar una conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_ftp);

// intentar chmod en $archivo con el valor 644
if (ftp_chmod($id_con, 0644, $archivo) !== false) {
 echo "se efectu&oacute; chmod sobre $archivo satisfactoriamente con el valor 644\n";
} else {
 echo "no se pudo realizar chmod sobre $archivo\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Ver también

chmod()

Anterior | Inicio | Siguiente
ftp_chdir | Subir | ftp_close


ftp_close

(PHP 4 >= 4.2.0, PHP 5)

ftp_close -- Cierra una conexión FTP

Descripción

bool ftp_close ( resource secuencia_ftp )

ftp_close() cierra el identificador de enlace dado y libera el resource.

Nota: Después de llamar esta función, no puede continuar usando la conexión FTP y debe crear una nueva con ftp_connect().

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_close()

<?php

// establecer una conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $nombre_usuario, $contrasenya_ftp);

// imprimir el directorio actual
echo ftp_pwd($id_con); // /

// cerrar esta conexion
ftp_close($id_con);
?>

Ver también

ftp_connect()

Anterior | Inicio | Siguiente
ftp_chmod | Subir | ftp_connect


ftp_connect

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_connect -- Abre una conexión FTP

Descripción

resource ftp_connect ( string host [, int puerto [, int tiempo_espera]] )

ftp_connect() abre una conexión con el host especificado.

Lista de parámetros

host

La dirección del servidor FTP. Este parámetro no debe tener barras al final, y no debe ser precedido por ftp://.

puerto

Este parámetro especifica un puerto alterno para conectarse. Si es omitido, o es definido como cero, entonces el puerto predeterminado de FTP, 21, será usado.

tiempo_espera

Este parámetro especifica el tiempo de espera para todas las operaciones de red subsiguientes. Si es omitido, el valor predeterminado es 90 segundos. El tiempo de espera puede ser modificado y consultado en cualquier momento con ftp_set_option() y ftp_get_option().

Valores retornados

Devuelve una secuencia FTP en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de ftp_connect()

<?php

$servidor_ftp = "ftp.example.com";

// configurar una conexion o abortar
$id_con = ftp_connect($servidor_ftp) or die("No ha sido posible conectarse a $servidor_ftp");

?>

Registro de cambios

Versión | Descripción
4.2.0 | Se agregó tiempo_espera.

Ver también

ftp_close()
ftp_ssl_connect()

Anterior | Inicio | Siguiente
ftp_close | Subir | ftp_delete


ftp_delete

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_delete -- Elimina un archivo en el servidor FTP

Descripción

bool ftp_delete ( resource secuencia_ftp, string ruta )

ftp_delete() elimina el archivo especificado por ruta desde el servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

rute

El archivo a eliminar.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_delete()

<?php
$archivo = 'public_html/antiguo.txt';

// establecer conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// intento de eliminar $archivo
if (ftp_delete($id_con, $archivo)) {
 echo "$archivo se elimin&oacute; satisfactoriamente\n";
} else {
 echo "no se pudo eliminar $archivo\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Anterior | Inicio | Siguiente
ftp_connect | Subir | ftp_exec


ftp_exec

(PHP 4 >= 4.0.3, PHP 5)

ftp_exec -- Solicita la ejecución de un comando en el servidor FTP

Descripción

bool ftp_exec ( resource secuencia_ftp, string comando )

Envía una petición SITE EXEC comando al servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

comando

El comando a ejecutar.

Valores retornados

Devuelve TRUE si el comando tuvo éxito (el servidor envía el código de respuesta: 200); o FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de ftp_exec()

<?php

// inicialización de variable
$comando = 'ls -al >archivos.txt';

// preparar la conexión básica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesión con nombre de usuario y contraseña
$resultado_login = ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_usuario_ftp);

// ejecutar comando
if (ftp_exec($id_con, $comando)) {
    echo "$comando fue ejecutado satisfactoriamente\n";
} else {
    echo "no se pudo ejecutar $comando\n";
}

// cerrar la conexión
ftp_close($id_con);

?>

Ver también

ftp_raw()

Anterior | Inicio | Siguiente
ftp_delete | Subir | ftp_fget


ftp_fget

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_fget -- Descarga un archivo desde el servidor FTP y lo guarda en un archivo abierto

Descripción

bool ftp_fget ( resource secuencia_ftp, resource gestor, string archivo_remoto, int modo [, int pos_reanudar] )

ftp_fget() recupera archivo_remoto desde el servidor FTP, y lo escribe en el apuntador de archivo dado.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

gestor

Un apuntador de archivo abierto en el que se almacenan los datos.

archivo_remoto

La ruta del archivo remoto.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_reanudar

La posición desde la cual se empieza a descargar el archivo remoto.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_fget()

<?php

// ruta al archivo remoto
$archivo_remoto = 'algun_archivo.txt';
$archivo_local = 'archivo_local.txt';

// abrir algún archivo para escritura
$gestor = fopen($archivo_local, 'w');

// establecer la conexión básica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesión con nombre de usuario y contraseña
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// intento de descargar $archivo_remoto y guardarlo en $gestor
if (ftp_fget($id_con, $gestor, $archivo_remoto, FTP_ASCII, 0)) {
 echo "Se ha escrito satisfactoriamente sobre $archivo_local\n";
} else {
 echo "Ha ocurrido un error mientras se descargaba $archivo_remoto en $archivo_local\n";
}

// cerrar la conexión y el gestor de archivo
ftp_close($id_con);
fclose($gestor);
?>

Registro de cambios

Versión | Descripción
4.3.0 | Se agregó pos_reanudar.

Ver también

ftp_get()
ftp_nb_get()
ftp_nb_fget()

Anterior | Inicio | Siguiente
ftp_exec | Subir | ftp_fput


ftp_fput

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_fput -- Carga un archivo abierto al servidor FTP

Descripción

bool ftp_fput ( resource secuencia_ftp, string archivo_remoto, resource gestor, int modo [, int pos_inicio] )

ftp_fput() carga los datos desde un apuntador de archivo a un archivo remoto en el servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_remoto

La ruta del archivo remoto.

gestor

Un apuntador de archivo abierto sobre el archivo local. La lectura se detiene al final del archivo.

modo

El modo de transferencia. Debe ser o bien FTP_ASCII o FTP_BINARY.

pos_inicio

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_fput()

<?php

// abrir algun archivo para lectura
$archivo = 'somefile.txt';
$da = fopen($archivo, 'r');

// configurar la conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// trata de cargar $archivo
if (ftp_fput($id_con, $archivo, $da, FTP_ASCII)) {
    echo "Se ha cargado $archivo satisfactoriamente\n";
} else {
    echo "Hubo un problema durante la carga de $archivo\n";
}

// cerrar la conexion y el gestor de archivo
ftp_close($id_con);
fclose($da);

?>

Registro de cambios

Versión | Descripción
4.3.0 | Se añadió pos_inicio.

Ver también

ftp_put()
ftp_nb_fput()
ftp_nb_put()

Anterior | Inicio | Siguiente
ftp_fget | Subir | ftp_get_option


ftp_get_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_get_option -- Recupera varios comportamientos de tiempo de ejecución de la secuencia FTP actual

Descripción

mixed ftp_get_option ( resource secuencia_ftp, int opcion )

Esta función devuelve el valor para la opcion solicitada desde la conexión FTP especificada.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

option

Actualmente, las siguientes opciones son soportadas:

Tabla 1. Opciones FTP de tiempo de ejecución soportadas

FTP_TIMEOUT_SEC | Devuelve el tiempo máximo de espera actual usado para las operaciones de red.
FTP_AUTOSEEK | Devuelve TRUE si esta opción está activada, FALSE de lo contrario.

Valores retornados

Devuelve el valor en caso de tener éxito, o FALSE si la opcion dada no es soportada. En el último caso, un mensaje de advertencia es arrojado también.

Ejemplos

Ejemplo 1. Ejemplo de ftp_get_option()

<?php
// Obtiene el tiempo de espera de la secuencia FTP dada
$timeout = ftp_get_option($id_con, FTP_TIMEOUT_SEC);
?>

Ver también

ftp_set_option()

Anterior | Inicio | Siguiente
ftp_fput | Subir | ftp_get


ftp_get

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_get -- Descarga un archivo desde el servidor FTP

Descripción

bool ftp_get ( resource secuencia_ftp, string archivo_local, string archivo_remoto, int modo [, int pos_reanudar] )

ftp_get() recupera un archivo remoto desde el servidor FTP, y lo almacena e un archivo local.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_local

La ruta del archivo local (será sobrescrito si el archivo ya existe).

archivo_remoto

La ruta del archivo remoto.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_reanudar

La posición para el comienzo de la descarga en el archivo remoto.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_get()

<?php

// definir algunas variables
$archivo_local = 'local.zip';
$archivo_servidor = 'servidor.zip';

// configurar conexión básica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesión con nombre de usuario y contraseña
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// intentar la descarga de $archivo_servidor y guardarlo en $archivo_local
if (ftp_get($id_con, $archivo_local, $archivo_servidor, FTP_BINARY)) {
    echo "Se ha guardado satisfactoriamente en $archivo_local\n";
} else {
    echo "Ha ocurrido un problema\n";
}

// cerrar la conexión
ftp_close($id_con);

?>

Registro de cambios

Versión | Descripción
4.3.0 | Se agregó pos_reanudar.

Ver también

ftp_pasv()
ftp_fget()
ftp_nb_get()
ftp_nb_fget()

Anterior | Inicio | Siguiente
ftp_get_option | Subir | ftp_login


ftp_login

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_login -- Inicia sesión en una conexión FTP

Descripción

bool ftp_login ( resource secuencia_ftp, string nombre_usuario, string contrasenya )

Inicia sesión en la secuencia FTP dada.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

nombre_usuario

El nombre de usuario (USER).

contrasenya

La contraseña (PASS).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Si el inicio de sesión falla, PHP generará también una advertencia.

Ejemplos

Ejemplo 1. Ejemplo de ftp_login()

<?php

$servidor_ftp    = "ftp.example.com";
$usuario_ftp     = "foo";
$contrasenya_ftp = "bar";

// configurar una conexion o abortar
$id_con = ftp_connect($servidor_ftp) or die("No ha sido posible conectarse a $servidor_ftp");

// intento de inicio de sesion
if (@ftp_login($id_con, $usuario_ftp, $contrasenya_ftp)) {
    echo "Conectado como $usuario_ftp@$servidor_ftp\n";
} else {
    echo "No ha sido posible conectarse como $usuario_ftp\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Anterior | Inicio | Siguiente
ftp_get | Subir | ftp_mdtm


ftp_mdtm

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_mdtm -- Devuelve el tiempo de la última modificación del archivo dado

Descripción

int ftp_mdtm ( resource secuencia_ftp, string archivo_remoto )

ftp_mdtm() obtiene el tiempo de la última modificación de un archivo remoto.

Nota: ¡No todos los servidores soportan esta característica!

Nota: ftp_mdtm() no funciona con directorios.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_remoto

El archivo del cual extraer el tiempo de la última modificación.

Valores retornados

Devuelve el tiempo de la última modificación como una marca de tiempo Unix en caso de tener éxito, o -1 si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de ftp_mdtm()

<?php

$archivo = 'algun_archivo.txt';

// configurar la conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// obtener la ultima fecha/hora de modificacion
$buf = ftp_mdtm($id_con, $archivo);

if ($buf != -1) {
    // algun_archivo.txt fue modificado por ultima vez en: March 26 2003 14:16:41.
    echo "$archivo fue modificado por &uacute;ltima vez en: " . date("F d Y H:i:s.", $buf);
} else {
    echo "No se pudo obtener mdtime";
}

// cerrar la conexion
ftp_close($id_con);

?>

Anterior | Inicio | Siguiente
ftp_login | Subir | ftp_mkdir


ftp_mkdir

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_mkdir -- Crea un directorio

Descripción

string ftp_mkdir ( resource secuencia_ftp, string directorio )

Crea el directorio especificado en el servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

directorio

El nombre del directorio que será creado.

Valores retornados

Devuelve el nombre del directorio recién creado en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de ftp_mkdir()

<?php

$dir = 'www';

// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// intentar crear el directorio $dir
if (ftp_mkdir($id_con, $dir)) {
 echo "se creo $dir con exito\n";
} else {
 echo "Hubo un problema al crear $dir\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Ver también

ftp_rmdir()

Anterior | Inicio | Siguiente
ftp_mdtm | Subir | ftp_nb_continue


ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_continue -- Continúa recuperando/enviando un archivo (modo no-bloqueo)

Descripción

int ftp_nb_continue ( resource secuencia_ftp )

Continúa la recuperación/envío de un archivo en modo de no-bloqueo.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

Valores retornados

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo 1. Ejemplo de ftp_nb_continue()

<?php

// Iniciar la descarga
$ret = ftp_nb_get($mi_conexion, "prueba", "LEAME", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Continuar con la descarga...
   $ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error en la descarga del archivo...";
   exit(1);
}
?>

Anterior | Inicio | Siguiente
ftp_mkdir | Subir | ftp_nb_fget


ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fget -- Recupera un archivo desde el servidor FTP y lo escribe sobre un archivo abierto (modo no-bloqueo)

Descripción

int ftp_nb_fget ( resource secuencia_ftp, resource gestor, string archivo_remoto, int modo [, int pos_continuacion] )

ftp_nb_fget() recupera un archivo remoto desde el servidor FTP.

La diferencia entre esta función y ftp_fget() es que la presente función recupera el archivo de forma asincrónica, así que su programa puede realizar otras operaciones mientras que el archivo está siendo descargado.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

gestor

Un apuntador de archivo abierto en el cual almacenar los datos.

archivo_remoto

La ruta del archivo remoto.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_continuacion

Valores retornados

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo 1. Ejemplo de ftp_nb_fget()

<?php

// abrir un archivo para lectura
$archivo = 'index.php';
$da = fopen($archivo, 'w');

$id_con = ftp_connect($servidor_ftp);

$resultado_login = ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_ftp);

// Iniciar la descarga
$ret = ftp_nb_fget($id_con, $da, $archivo, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que desee
   echo ".";

   // Continuar la descarga...
   $ret = ftp_nb_continue($id_con);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error en la descarga del archivo...";
   exit(1);
}

// cerrar el apuntador de archivo
fclose($da);
?>

Ver también

ftp_nb_get()
ftp_nb_continue()
ftp_fget()
ftp_get()

Anterior | Inicio | Siguiente
ftp_nb_continue | Subir | ftp_nb_fput


ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fput -- Almacena un archivo desde un archivo abierto en el servidor FTP (modo no-bloqueo)

Descripción

int ftp_nb_fput ( resource secuencia_ftp, string archivo_remoto, resource gestor, int modo [, int pos_comienzo] )

ftp_nb_fput() carga los datos desde un apuntador de archivo a un archivo remoto en el servidor FTP.

La diferencia entre esta función y ftp_fput() es que la presente función carga el archivo de forma asincrónica, así que su programa puede realizar otras operaciones mientras el archivo está siendo cargado.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_remoto

La ruta del archivo remoto.

gestor

Un apuntador de archivo abierto sobre el archivo local. La lectura se detiene al final del archivo.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_comienzo

Valores retornados

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo 1. Ejemplo de ftp_nb_fput()

<?php

$archivo = 'index.php';

$da = fopen($archivo, 'r');

$id_con = ftp_connect($servidor_ftp);

$resultado_login = ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_ftp);

// Iniciar la carga
$ret = ftp_nb_fput($id_con, $arcivo, $da, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que desee
   echo ".";

   // Continuar la carga...
   $ret = ftp_nb_continue($id_con);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error en la carga del archivo...";
   exit(1);
}

fclose($da);
?>

Ver también

ftp_nb_put()
ftp_nb_continue()
ftp_put()
ftp_fput()

Anterior | Inicio | Siguiente
ftp_nb_fget | Subir | ftp_nb_get


ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get -- Recupera un archivo desde el servidor FTP y lo escribe sobre un archivo local (modo no-bloqueo)

Descripción

int ftp_nb_get ( resource secuencia_ftp, string archivo_local, string archivo_remoto, int modo [, int pos_continuacion] )

ftp_nb_get() recupera un archivo remoto desde el servidor FTP, y lo almacena en un archivo local.

La diferencia entre ésta función y ftp_get() es que ésta función recupera el archivo asincrónicamente, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo descargado.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_local

La ruta del archivo local (será sobrescrito si el archivo ya existe).

archivo_remoto

La ruta del archivo remoto.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_continuacion

Valores retornados

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo 1. Ejemplo de ftp_nb_get()

<?php

// Iniciar la descarga
$ret = ftp_nb_get($mi_conexion, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la descarga...
   $ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error descargando el archivo...";
   exit(1);
}
?>

Ejemplo 2. Reanudando una descarga con ftp_nb_get()

<?php

// Iniciar
$ret = ftp_nb_get($mi_conexion, "test", "README", FTP_BINARY,
                  filesize("test"));

// O: $ret = ftp_nb_get($mi_conexion, "test", "README",
//                      FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar descargando...
   $ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error descargando el archivo...";
   exit(1);
}
?>

Ejemplo 3. Reanudar una descarga en la posición 100 sobre un archivo nuevo con ftp_nb_get()

<?php

// Deshabilitar Autoseek
ftp_set_option($mi_conexion, FTP_AUTOSEEK, FALSE);

// Iniciar
$ret = ftp_nb_get($mi_conexion, "archivo_nuevo", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // Continuar descarga...
   $ret = ftp_nb_continue($mi_conexion);
}
?>

En el ejemplo anterior, archivo_nuevo es 100 bytes más pequeña que README en el servidor FTP, ya que comenzamos la lectura en la posición 100. Si no deshabilitamos FTP_AUTOSEEK, los primeros 100 bytes de archivo_nuevo serían '\0'.

Ver también

ftp_nb_fget()
ftp_nb_continue()
ftp_fget()
ftp_get()

Anterior | Inicio | Siguiente
ftp_nb_fput | Subir | ftp_nb_put


ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_put -- Almacena un archivo en el servidor FTP (modo no-bloqueo)

Descripción

int ftp_nb_put ( resource secuencia_ftp, string archivo_remoto, string archivo_local, int modo [, int pos_comienzo] )

ftp_nb_put() almacena un archivo local en el servidor FTP.

La diferencia entre ésta función y ftp_put() es que ésta carga el archivo asincrónicamente, de modo que su programa puede realizar otras operaciones mientras el archivo está siendo cargado.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_remoto

La ruta del archivo remoto.

archivo_local

La ruta del archivo local.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_comienzo

Valores retornados

Devuelve FTP_FAILED o FTP_FINISHED o FTP_MOREDATA.

Ejemplos

Ejemplo 1. Ejemplo de ftp_nb_put()

<?php

// Iniciar la carga
$ret = ftp_nb_put($mi_conexion, "test.remoto", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la carga...
   $ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error cargando el archivo...";
   exit(1);
}
?>

Ejemplo 2. Reanudando una carga con ftp_nb_put()

<?php

// Iniciar
$ret = ftp_nb_put($mi_conexion, "test.remoto", "test.local",
                  FTP_BINARY, ftp_size("test.remoto"));

// O: $ret = ftp_nb_put($mi_conexion, "test.remoto", "test.local",
//                      FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // Haga lo que quiera
   echo ".";

   // Continuar la carga...
   $ret = ftp_nb_continue($mi_conexion);
}
if ($ret != FTP_FINISHED) {
   echo "Hubo un error cargando el archivo...";
   exit(1);
}
?>

Ver también

ftp_nb_fput()
ftp_nb_continue()
ftp_put()
ftp_fput()

Anterior | Inicio | Siguiente
ftp_nb_get | Subir | ftp_nlist


ftp_nlist

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_nlist -- Devuelve una lista de archivos en el directorio dado

Descripción

array ftp_nlist ( resource secuencia_ftp, string directorio )

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

directorio

El directorio a ser listado. Este parámetro puede también incluir argumentos, p.ej. ftp_nlist($id_con, "-la /su/dir"); Note que este parámetro no es escapado así que puede tener algunos problemas con nombres de archivo que contengan espacios y otros caracteres.

Valores retornados

Devuelve una matriz con nombres de archivo del directorio especificado de tener éxito, o FALSE si se presenta un fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_nlist()

<?php

// configurar la conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// obtener los contenidos del directorio actual
$contenidos = ftp_nlist($id_con, ".");

// imprimir $contenidos
var_dump($contenidos);

?>

El resultado del ejemplo seria algo similar a:

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Ver también

ftp_rawlist()

Anterior | Inicio | Siguiente
ftp_nb_put | Subir | ftp_pasv


ftp_pasv

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_pasv -- Habilita o deshabilita el modo pasivo

Descripción

bool ftp_pasv ( resource secuencia_ftp, bool pasv )

ftp_pasv() habilita o deshabilita el modo pasivo. En modo pasivo, las conexiones de datos son iniciadas por el cliente, en lugar del servidor. Puede requerirse si el cliente se encuentra detrás de un firewall.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

pasv

Si es TRUE, el modo pasivo es habilitado, de lo contrario es deshabilitado.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_pasv()

<?php
$archivo = 'algunarchivo.txt';
$archivo_remoto = 'leame.txt';

// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// habilitar modo pasivo
ftp_pasv($id_con, true);

// cargar un archivo
if (ftp_put($id_con, $archivo_remoto, $archivo, FTP_ASCII)) {
 echo "se ha cargado $archivo con exito\n";
} else {
 echo "Hubo un problema al cargar $archivo\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Anterior | Inicio | Siguiente
ftp_nlist | Subir | ftp_put


ftp_put

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_put -- Carga un archivo al servidor FTP

Descripción

bool ftp_put ( resource secuencia_ftp, string archivo_remoto, string archivo_local, int modo [, int pos_inicio] )

ftp_put() almacena un archivo local en el servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_remoto

La ruta del archivo remoto.

archivo_local

La ruta del archivo local.

modo

El modo de transferencia. Debe ser FTP_ASCII o FTP_BINARY.

pos_inicio

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_put()

<?php
$archivo = 'algun-archivo.txt';
$archivo_remoto = 'leame.txt';

// configurar la conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// cargar un archivo
if (ftp_put($id_con, $archivo_remoto, $archivo, FTP_ASCII)) {
 echo "se ha cargado $archivo satisfactoriamente\n";
} else {
 echo "Hubo un problema durante la transferencia de $archivo\n";
}

// cerrar la conexion
ftp_close($id_con);
?>

Registro de cambios

Versión | Descripción
4.3.0 | Se agregó pos_inicio.

Ver también

ftp_pasv()
ftp_fput()
ftp_nb_fput()
ftp_nb_put()

Anterior | Inicio | Siguiente
ftp_pasv | Subir | ftp_pwd


ftp_pwd

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_pwd -- Devuelve el nombre del directorio actual

Descripción

string ftp_pwd ( resource secuencia_ftp )

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

Valores retornados

Devuelve el nombre del directorio actual, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de ftp_pwd()

<?php

// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// cambiar directorio a public_html
ftp_chdir($id_con, 'public_html');

// imprimir el directorio actual
echo ftp_pwd($id_con); // /public_html

// cerrar la conexion
ftp_close($id_con);
?>

Ver también

ftp_chdir()
ftp_cdup()

Anterior | Inicio | Siguiente
ftp_put | Subir | ftp_quit


ftp_quit

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_quit -- Alias of ftp_close()

Descripción

This function is an alias of: ftp_close().

Anterior | Inicio | Siguiente
ftp_pwd | Subir | ftp_raw


ftp_raw

(PHP 5)

ftp_raw -- Envía un comando arbitrario a un servidor FTP

Descripción

array ftp_raw ( resource secuencia_ftp, string comando )

Envía un comando arbitrario al servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

comando

El comando a ejecutar.

Valores retornados

Devuelve la respuesta del servidor como una matriz de cadenas. No se realiza procesamiento alguno con la cadena de respuesta, ni determina ftp_raw() si el comando tuvo éxito.

Ejemplos

Ejemplo 1. Uso de ftp_raw() para iniciar una sesión con un servidor FTP manualmente.

<?php
$desc = ftp_connect("ftp.example.com");

/* Esto es igual a:
   ftp_login($desc, "joeblow", "secreto"); */
ftp_raw($desc, "USER joeblow");
ftp_raw($desc, "PASS secreto");
?>

Ver también

ftp_exec()

Anterior | Inicio | Siguiente
ftp_quit | Subir | ftp_rawlist


ftp_rawlist

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_rawlist -- Devuelve una lista detallada de archivos en el directorio dado

Descripción

array ftp_rawlist ( resource secuencia_ftp, string directorio [, bool recursivo] )

ftp_rawlist() ejecuta el comando FTP LIST, y devuelve el resultado en forma de matriz.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

directorio

La ruta del directorio.

recursivo

Si su valor es TRUE, el comando ejecutado será LIST -R.

Valores retornados

Devuelve una matriz en donde cada elemento corresponde a una línea de texto.

La salida no es procesada en forma alguna. El identificador de tipo de sistema devuelto por ftp_systype() puede ser usado para determinar la forma en que los resultados deberían ser interpretados.

Ejemplos

Ejemplo 1. Ejemplo de ftp_rawlist()

<?php

// establecer una conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// obtener la lista de archivos de /
$bufer = ftp_rawlist($id_con, '/');

// cerrar la conexion
ftp_close($id_con);

// imprimir el contenido del bufer
var_dump($bufer);
?>

El resultado del ejemplo seria algo similar a:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

Registro de cambios

Versión | Descripción
4.3.0 | Se agregó recursivo.

Ver también

ftp_nlist()

Anterior | Inicio | Siguiente
ftp_raw | Subir | ftp_rename


ftp_rename

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_rename -- Renombra un archivo o un directorio en el servidor FTP

Descripción

bool ftp_rename ( resource secuencia_ftp, string nombre_viejo, string nombre_nuevo )

ftp_rename() renombra un archivo o un directorio en el servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

nombre_viejo

El nombre del archivo/directorio viejo.

nombre_nuevo

El nuevo nombre.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_rename()

<?php
$archivo_viejo = 'un_archivo.txt.bak';
$archivo_nuevo = 'un_archivo.txt';

// establecer la conexión básica
$id_con = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// tratar de renombrar $archivo_viejo a $archivo_nuevo
if (ftp_rename($id_con, $archivo_viejo, $archivo_nuevo)) {
 echo "se ha renombrado $archivo_viejo a $archivo_nuevo con éxito\n";
} else {
 echo "Hubo un problema al renombrar $archivo_viejo a $archivo_nuevo\n";
}

// cerrar la conexión
ftp_close($id_con);
?>

Anterior | Inicio | Siguiente
ftp_rawlist | Subir | ftp_rmdir


ftp_rmdir

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_rmdir -- Elimina un directorio

Descripción

bool ftp_rmdir ( resource secuencia_ftp, string directorio )

Elimina el directorio especificado en el servidor FTP.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

directorio

El directorio a eliminar. Este edebe ser una ruta absoluta o relativa a un directorio vacío.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_rmdir()

<?php

$dir = 'www/';

// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// intentar eliminar el directorio $dir
if (ftp_rmdir($id_con, $dir)) {
    echo "Se elimino $dir con exito\n";
} else {
    echo "Hubo un problema al eliminar $dir\n";
}

ftp_close($id_con);

?>

Ver también

ftp_mkdir()

Anterior | Inicio | Siguiente
ftp_rename | Subir | ftp_set_option


ftp_set_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_set_option -- Establecer varias opciones FTP de tiempo de ejecución

Descripción

bool ftp_set_option ( resource secuencia_ftp, int opcion, mixed valor )

Esta función controla varias opciones de tiempo de ejecución para la secuencia FTP especificada.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

opcion

En la actualidad, las siguientes opciones son soportadas:

Tabla 1. Opciones FTP de tiempo de ejecución soportadas

FTP_TIMEOUT_SEC | Modifica el tiempo máximo de espera en segundos usado para todas las funciones de red. valor debe ser un entero mayor a 0. El tiempo de espera predeterminado es 90 segundos.
FTP_AUTOSEEK | Cuando se encuentra habilitado, las peticiones GET o PUT con un parámetro pos_continuacion o pos_comienzo buscarán primero la posición solicitada dentro del archivo. Este parámetro está habilitado por defecto.

valor

Este parámetro depende de qué opcion se elige para ser alterado.

Valores retornados

Devuelve TRUE si la opción pudo ser definida; FALSE de lo contrario. Un mensaje de advertencia es arrojado si la opcion no es soportada o el valor pasado no coincide con el valor esperado para la opcion dada.

Ejemplos

Ejemplo 1. Ejemplo de ftp_set_option()

<?php
// Establecer el tiempo de espera de red a 10 segundos
ftp_set_option($id_con, FTP_TIMEOUT_SEC, 10);
?>

Ver también

ftp_get_option()

Anterior | Inicio | Siguiente
ftp_rmdir | Subir | ftp_site


ftp_site

(PHP 3 >= 3.0.15, PHP 4, PHP 5)

ftp_site -- Envía un comando SITE al servidor

Descripción

bool ftp_site ( resource secuencia_ftp, string comando )

ftp_site() envía el comando SITE dado al servidor FTP.

Los comandos SITE no se encuentran estandarizados, y varían de un servidor a otro. Son útiles para la gestión de cosas como permisos de archivos y membresías de grupos.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

comando

El comando SITE. Note que este parámetro no es escapado, así que pueden haber problemas con nombres de archivo que contengan espacios y otros caracteres.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Envío de un comando SITE a un servidor ftp

<?php
/* Conectarse con el servidor FTP */
$con = ftp_connect('ftp.example.com');
if (!$con) die('No fue posible conectarse con ftp.example.com');

/* Iniciar sesion como "usuario" con la contrasenya "pass" */
if (!ftp_login($con, 'usuario', 'pass')) die('Error iniciando sesion en ftp.example.com');

/* Aplicar el comando "SITE CHMOD 0600 /home/usuario/archivoprivado"
 * al servidor ftp */
if (ftp_site($con, 'CHMOD 0600 /home/usuario/archivoprivado')) {
   echo "Comando ejecutado satisfactoriamente.\n";
} else {
   die('El comando ha fallado.');
}
?>

Ver también

ftp_raw()

Anterior | Inicio | Siguiente
ftp_set_option | Subir | ftp_size


ftp_size

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_size -- Devuelve el tamaño del archivo dado

Descripción

int ftp_size ( resource secuencia_ftp, string archivo_remoto )

ftp_size() devuelve el tamaño del archivo dado en bytes.

Nota: No todos los servidores soportan esta característica.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

archivo_remoto

El archivo remoto.

Valores retornados

Devuelve el tamaño del archivo de tener éxito, o -1 en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de ftp_size()

<?php

$archivo = 'un_archivo.txt';

// establecer la conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

// obtener el tamanyo de $archivo
$res = ftp_size($id_con, $archivo);

if ($res != -1) {
    echo "el tama&ntilde;o de $file es $res bytes";
} else {
    echo "no pudo obtenerse el tama&ntilde;o";
}

// cerrar la conexion
ftp_close($id_con);

?>

Ver también

ftp_rawlist()

Anterior | Inicio | Siguiente
ftp_site | Subir | ftp_ssl_connect


ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connect -- Abre una conexión segura SSL-FTP

Descripción

resource ftp_ssl_connect ( string host [, int puerto [, int tiempo_espera]] )

ftp_ssl_connect() abre una conexión SSL-FTP con el host indicado.

Porqué puede que esta función no exista: ftp_ssl_connect() se encuentra disponible únicamente si el soporte para OpenSSL está habilitado en su versión de PHP. Si no está definido y ha compilado el soporte para FTP, entonces ésta es la causa. Para Windows, debe compilar sus propios binarios de PHP para contar con soporte para esta función.

Lista de parámetros

host

La dirección del servidor FTP. Este parámetro no debe tener barras al final, y no debe tener el prefijo ftp://.

puerto

Este parámetro especifica un puerto alterno para conectarse. Si es omitido o se define como cero, entonces el puerto FTP predeterminado, 21, será usado.

tiempo_espera

Este parámetro especifica el tiempo máximo de espera para todas las operaciones de red subsecuentes. Si se omite, el valor predeterminado es 90 segundos. El tiempo de espera puede ser modificado y consultado en cualquier momento con ftp_set_option() y ftp_get_option().

Valores retornados

Devuelve una secuencia SSL-FTP en caso de tener éxito o FALSE si ocurre un error.

Registro de cambios

Versión | Descripción
5.2.2 | La función fue modificada para devolver FALSE cuando no puede usar una conexión SSL, en lugar de recaer en una no-SSL como lo hacía previamente.

Ejemplos

Ejemplo 1. Ejemplo de ftp_ssl_connect()

<?php

// establecer una conexión ssl básica
$id_con = ftp_ssl_connect($servidor_ftp);

// iniciar sesión con nombre de usuario y contraseña
$resultado_login = ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_ftp);

echo ftp_pwd($id_con); // /

// cerrar la conexión ssl
ftp_close($id_con);
?>

Ver también

ftp_connect()

Anterior | Inicio | Siguiente
ftp_size | Subir | ftp_systype


ftp_systype

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_systype -- Devuelve el identificador de tipo de sistema del servidor FTP remoto

Descripción

string ftp_systype ( resource secuencia_ftp )

Devuelve el identificador de tipo de sistema del servidor FTP remoto.

Lista de parámetros

secuencia_ftp

El identificador de enlace de la conexión FTP.

Valores retornados

Devuelve el tipo de sistema remoto, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de ftp_systype()

<?php

// conexión ftp
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'usuario', 'contrasenya');

// obtener el tipo de sistema
if ($tipo = ftp_systype($ftp)) {
    echo "Example.com es potenciado por $tipo\n";
} else {
    echo "No fue posible obtener el tipo de sistema";
}

?>

El resultado del ejemplo seria algo similar a:

Example.com es potenciado por UNIX

Anterior | Inicio | Siguiente
ftp_ssl_connect | Subir | Funciones de Gestión de Funciones


Funciones de Gestión de Funciones

Manual de PHP
Anterior Siguiente

XLVII. Funciones de Gestión de Funciones

Introducción

Estas funciones gestionan varias operaciones involucradas con el trabajo con funciones.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
call_user_func_array -- Llamar una función de usuario dada con una matriz de parámetros
call_user_func -- Llamar una función de usuario dada por el primer parámetro
create_function -- Crear una función anónima (estilo-lambda)
func_get_arg -- Devolver un elemento desde la lista de argumentos
func_get_args -- Devuelve una matriz que comprende la lista de argumentos de una función
func_num_args -- Devuelve el número de argumentos pasados a la función
function_exists -- Devolver TRUE si la función dada ha sido definida
get_defined_functions -- Devuelve una matriz de todas las funciones definidas
register_shutdown_function -- Registrar una función para su ejecución al finalizar
register_tick_function -- Registrar una función para su ejecución en cada tic
unregister_tick_function -- Retira el registro de una función siendo ejecutada en cada tic

Anterior | Inicio | Siguiente
ftp_systype | Subir | call_user_func_array


call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array -- Llamar una función de usuario dada con una matriz de parámetros

Descripción

mixed call_user_func_array ( callback funcion, array matriz_param )

Llamar una funcion definida por el usuario con los parámetros en matriz_param.

Lista de parámetros

funcion

La función a ser llamada.

matriz_param

Los parámetros a ser pasados a la función, como una matriz indexada.

Valores retornados

Devuelve el resultado de la función, o FALSE en caso de error.

Ejemplos

Ejemplo 1. Ejemplo de call_user_func_array()

<?php
function depurar($var, $val)
{
    echo "***DEPURANDO\nVARIABLE: $var\nVALOR:";
    if (is_array($val) || is_object($val) || is_resource($val)) {
        print_r($val);
    } else {
        echo "\n$val\n";
    }
    echo "***\n";
}

$c = mysql_connect();
$host = $_SERVER["SERVER_NAME"];

call_user_func_array('depurar', array("host", $host));
call_user_func_array('depurar', array("c", $c));
call_user_func_array('depurar', array("_POST", $_POST));
?>

Ver también

call_user_func()
information about the callback type

Anterior | Inicio | Siguiente
Funciones de Gestión de Funciones | Subir | call_user_func


call_user_func

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

call_user_func -- Llamar una función de usuario dada por el primer parámetro

Descripción

mixed call_user_func ( callback funcion [, mixed parametro [, mixed ...]] )

Llamar una función definida por el usuario dada por el parámetro funcion.

Lista de parámetros

funcion

La función a ser llamada. Los métodos de clases pueden ser invocados estáticamente también usando esta función, pasando array($nombre_clase, $nombre_metodo) a este parámetro.

parametro

Cero o más parámetros a ser pasados a la función.

Nota: Note que los parámetros para call_user_func() no son pasados por referencia.

<?php
function incremento(&$var)
{
    $var++;
}

$a = 0;
call_user_func('incremento', $a);
echo $a; // 0

call_user_func_array('incremento', array(&$a)); // Puede usar esto en su lugar
echo $a; // 1
?>

Valores retornados

Devuelve el resultado de la función, o FALSE en caso de error.

Ejemplos

Ejemplo 1. call_user_func() example

<?php
function peluquero($tipo)
{
    echo "Usted quería un corte $tipo, no hay problema";
}
call_user_func('peluquero', "hongo");
call_user_func('peluquero', "afeitado");
?>

Ejemplo 2. Uso de un método de clase

<?php
class miclase {
    function decir_hola()
    {
        echo "¡Hola!\n";
    }
}

$nombre_clase = "miclase";

call_user_func(array($nombre_clase, 'decir_hola'));
?>

Ver también

call_user_func_array()
is_callable()
information about the callback type

Anterior | Inicio | Siguiente
call_user_func_array | Subir | create_function


create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function -- Crear una función anónima (estilo-lambda)

Descripción

string create_function ( string args, string codigo )

Crea una función anónima con los parámetros pasados, y devuelve un nombre único para ella.

Lista de parámetros

Por lo general estos parámetros serán pasados como cadenas delimitadas por comillas sencillas. La razón para usar cadenas entre comillas sencillas es evitar que los nombres de variables sean interpretados, de otro modo, si usa comillas dobles será necesario escapar los nombres de variables, p.ej. \$una_var.

args

Los argumentos de la función.

codigo

El código de la función.

Valores retornados

Devuelve un nombre de función único como una cadena, o FALSE en caso de error.

Ejemplos

Ejemplo 1. Creación de una función anónima con create_function()

Es posible usar esta función para (por ejemplo) crear una función con información obtenida en tiempo de ejecución:

<?php
$nueva_func = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "Nueva función anónima: $nueva_func\n";
echo $nueva_func(2, M_E) . "\n";
// imprime
// Nueva función anónima: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

O, quizás para tener una función de gestión general que pueda aplicar un conjunto de operaciones a una lista de parámetros:

Ejemplo 2. Creación de una función general de procesamiento con create_function()

<?php
function procesar($var1, $var2, $f_matriz)
{
    foreach ($f_matriz as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// crear un grupo de funciones matemáticas
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$f_matriz = array(
    create_function('$x,$y', 'return "operación trigonométrica: ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "una hipotenusa: ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nUsando la primera matriz de funciones anónimas\n";
echo "parámetros: 2.3445, M_PI\n";
procesar(2.3445, M_PI, $f_matriz);

// ahora crear un grupo de funciones de procesamiento de cadenas
$g_matriz = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "¡** \"$a\" '.
    'y \"$b\"\n ** lucen igual! (mirando los 3 primeros caracteres)";'),
    create_function('$a,$b', '; return "CRCs: " . crc32($a) . " , ".crc32(b);'),
    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nUsando la segunda matriz de funciones anónimas\n";
procesar("Twas brilling and the slithy toves", "Twas the night", $g_matriz);
?>

El resultado del ejemplo seria:

Usando la primera matriz de funciones anónimas
parámetros: 2.3445, M_PI
operación trigonométrica: -1.6291725057799
una hipotenusa: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a/b) = 0.27122299212594

Usando la segunda matriz de funciones anónimas
¡** "Twas the night" y "Twas brilling and the slithy toves"
 ** lucen igual! (mirando los 3 primeros caracteres)
CRCs: -725381282 , 1908338681
similar(a,b) = 11(45.833333333333%)

Pero quizás el uso más común para funciones estilo-lambda (anónimas) es crear llamadas de retorno, por ejemplo cuando se usa array_walk() o usort()

Ejemplo 3. Uso de funciones anónimas como llamadas de retorno

<?php
$av = array("el ", "un ", "ese ", "este ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>

El resultado del ejemplo seria:

Array
(
  [0] => el mango
  [1] => un mango
  [2] => ese mango
  [3] => este mango
)

una matriz de cadenas ordenadas desde la más corta a la más larga

<?php

$sv = array("corta", "mas larga", "una cadena grande", "es una cosa como una cadena");
print_r($sv);

?>

El resultado del ejemplo seria:

Array
(
    [0] => corta
    [1] => mas larga
    [2] => una cadena grande
    [3] => es una cosa como una cadena
)

ordenarla desde la más larga a la más corta

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

El resultado del ejemplo seria:

Array
(
    [0] => es una cosa como una cadena
    [1] => una cadena grande
    [2] => mas larga
    [3] => corta
)

Anterior | Inicio | Siguiente
call_user_func | Subir | func_get_arg


func_get_arg

(PHP 4, PHP 5)

func_get_arg -- Devolver un elemento desde la lista de argumentos

Descripción

mixed func_get_arg ( int num_arg )

Obtiene el argumento especificado desde la lista de argumentos de una función definida por el usuario.

Esta función puede ser usada en conjunto con func_num_args() y func_get_args() para permitir que funciones definidas por el usuario acepten listas de argumentos de longitud variable.

Lista de parámetros

num_arg

El desplazamiento del argumento. Los argumentos de la función son contados comenzando en cero.

Valores retornados

Devuelve el argumento especificado, o FALSE en caso de error.

Errors/Exceptions

Genera una advertencia si es llamada desde afuera de una función definida por el usuario, o si num_arg es mayor que el número de argumentos pasados en realidad.

Ejemplos

Ejemplo 1. Ejemplo de func_get_arg()

<?php
function foo()
{
     $num_args = func_num_args();
     echo "Número de argumentos: $num_args<br />\n";
     if ($num_args >= 2) {
     echo "El segundo argumento es: " . func_get_arg(1) . "<br />\n";
     }
}

foo (1, 2, 3);
?>

Notes

Nota: Because this function depends on the current scope to determine parameter details, it cannot be used as a function parameter. If you must pass this value, assign the results to a variable, and pass the variable.

Nota: Esta función devuelve una copia de los argumentos pasados únicamente, y no considera los argumentos predeterminados (no pasados).

Ver también

func_get_args()
func_num_args()

Anterior | Inicio | Siguiente
create_function | Subir | func_get_args


func_get_args

(PHP 4, PHP 5)

func_get_args -- Devuelve una matriz que comprende la lista de argumentos de una función

Descripción

array func_get_args ( void )

Obtiene una matriz con la lista de argumentos de la función.

Esta función puede ser usada en conjunto con func_get_arg() y func_num_args() para permitir que funciones definidas por el usuario acepten listas de argumentos de longitud variable.

Valores retornados

Devuelve una matriz en la cual cada elemento es una copia del miembro correspondiente de la lista de argumentos de la función definida por el usuario actual.

Errors/Exceptions

Genera una advertencia si es llamada desde afuera de una función definida por el usuario.

Ejemplos

Ejemplo 1. Ejemplo de func_get_args()

<?php
function foo()
{
    $num_args = func_num_args();
    echo "Número de argumentos: $num_args<br />\n";
    if ($num_args >= 2) {
        echo "El segundo argumento es: " . func_get_arg(1) . "<br />\n";
    }
    $lista_args = func_get_args();
    for ($i = 0; $i < $num_args; $i++) {
        echo "El argumento $i es: " . $lista_args[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
?>

Notes

Nota: Because this function depends on the current scope to determine parameter details, it cannot be used as a function parameter. If you must pass this value, assign the results to a variable, and pass the variable.

Nota: Esta función devuelve una copia de los argumentos pasados únicamente, y no toma en cuenta las argumentos predeterminados (no pasados).

Ver también

func_get_arg()
func_num_args()

Anterior | Inicio | Siguiente
func_get_arg | Subir | func_num_args


func_num_args

(PHP 4, PHP 5)

func_num_args -- Devuelve el número de argumentos pasados a la función

Descripción

int func_num_args ( void )

Obtiene el número de argumentos pasados a la función.

Esta función puede ser usada en conjunto con func_get_arg() y func_get_args() para permitir que funciones definidas por el usuario acepten listas de argumentos de longitud variable.

Valores retornados

Devuelve el número de argumentos pasados a la función definida por el usuario actual.

Errors/Exceptions

Genera una advertencia si es llamada desde afuera de una función definida por el usuario.

Ejemplos

Ejemplo 1. Ejemplo de func_num_args()

<?php
function foo()
{
    $num_args = func_num_args();
    echo "Número de argumentos: $num_args\n";
}

foo(1, 2, 3);    // Imprime 'Número de argumentos: 3'
?>

Notes

Nota: Because this function depends on the current scope to determine parameter details, it cannot be used as a function parameter. If you must pass this value, assign the results to a variable, and pass the variable.

Ver también

func_get_arg()
func_get_args()

Anterior | Inicio | Siguiente
func_get_args | Subir | function_exists


function_exists

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

function_exists -- Devolver TRUE si la función dada ha sido definida

Descripción

bool function_exists ( string nombre_funcion )

Chequea la lista de funciones definidas, tanto incorporadas (internas) como definidas por el usuario, en busca de nombre_funcion.

Lista de parámetros

nombre_funcion

El nombre de función, como una cadena.

Valores retornados

Devuelve TRUE si nombre_funcion existe y es una función, FALSE de lo contrario.

Nota: Esta función devolverá FALSE para construcciones del lenguaje, como include_once() y echo().

Ejemplos

Ejemplo 1. Ejemplo de function_exists()

<?php
if (function_exists('imap_open')) {
    echo "Las funciones IMAP están disponibles.<br />\n";
} else {
    echo "Las funciones IMAP no están disponibles.<br />\n";
}
?>

Notes

Nota: En nombre de función puede existir incluso si la función misma es inutilizable debido a la configuración o las opciones de compilación (por ejemplo puede ocurrir con las funciones image).

Ver también

method_exists()
is_callable()
get_defined_functions()

Anterior | Inicio | Siguiente
func_num_args | Subir | get_defined_functions


get_defined_functions

(PHP 4 >= 4.0.4, PHP 5)

get_defined_functions -- Devuelve una matriz de todas las funciones definidas

Descripción

array get_defined_functions ( void )

Obtiene una matriz de todas las funciones definidas.

Valores retornados

Devuelve una matriz multi-dimensional que contiene una lista de todas las funciones definidas, tanto incorporadas (internas) como definidas por el usuario. Las funciones internas pueden conocerse a través de $matriz["internal"], y las definidas por el usuario usando $matriz["user"] (vea el ejemplo a continuación).

Ejemplos

Ejemplo 1. Ejemplo de get_defined_functions()

<?php
function mi_fila($id, $datos)
{
    return "<tr><th>$id</th><td>$datos</td></tr>\n";
}

$matriz = get_defined_functions();

print_r($matriz);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => mi_fila
        )

)

Ver también

function_exists()
get_defined_vars()
get_defined_constants()

Anterior | Inicio | Siguiente
function_exists | Subir | register_shutdown_function


register_shutdown_function

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

register_shutdown_function -- Registrar una función para su ejecución al finalizar

Descripción

void register_shutdown_function ( callback funcion [, mixed parametro [, mixed ...]] )

Registra la función de nombre funcion para ser ejecutada cuando el procesamiento del script se haya completado.

Es posible realizar múltiples llamadas a register_shutdown_function(), y cada función será llamada en el mismo orden en el que son registradas. Si llama exit() al interior de una de las funciones de finalización registradas, el procesamiento se detendrá por completo y ninguna otra función de finalización será llamada.

En PHP 4.0.6 y versiones anteriores, bajo Apache, las funciones de finalización registradas son llamadas después de que la petición se ha completado (incluyendo el envío de todos los búferes de salida), así que es imposible enviar salida al navegador usando echo() o print(), o recuperar los contenidos de cualquiera de los búferes de salida usando ob_get_contents(). A partir de PHP 4.1, las funciones de finalización son llamadas como parte de la petición, así que es posible enviar la salida de ellas. Actualmente no hay forma de procesar los datos con las funciones de búferes de salida en la función de finalización. La función de finalización es llamada después de cerrar todos los búferes de salida abiertos, por lo tanto, por ejemplo, su salida no será comprimida si se habilita zlib.output_compression.

A partir de PHP 4, es posible pasar parámetros a la función de finalización pasando parámetros adicionales a register_shutdown_function().

Lista de parámetros

funcion

parametro

...

Valores retornados

No value is returned.

Notes

Nota: Usualmente las funciones indefinidas causan errores fatales en PHP, pero cuando la funcion llamada con register_shutdown_function() es indefinida, un error de nivel E_WARNING es generado en su lugar. Asimismo, por razones internas de PHP, este error hará referencia a Unknown en la línea #0.

Nota: El directorio de trabajo del script puede cambiarse al interior de la función de finalización bajo ciertos servidores web, p.ej. Apache.

Nota: La función de finalización es llamada durante el cierre del script, así que las cabeceras siempre habrán sido enviadas para entonces.

Ver también

auto_append_file
exit()
La sección sobre manejo de conexiones

Anterior | Inicio | Siguiente
get_defined_functions | Subir | register_tick_function


register_tick_function

(PHP 4 >= 4.0.3, PHP 5)

register_tick_function -- Registrar una función para su ejecución en cada tic

Descripción

bool register_tick_function ( callback funcion [, mixed arg [, mixed ...]] )

Registra la funcion dada para ser ejecutada cuando un tic es llamado.

Lista de parámetros

funcion

El nombre de función como una cadena, o una matriz que consista de un objeto y un método.

arg

...

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de register_tick_function()

<?php
// uso de una función como la llamada de retorno
register_tick_function('mi_funcion', true);

// uso de un objeto->metodo
$objeto = new mi_clase();
register_tick_function(array(&$objeto, 'mi_metodo'), true);
?>

Notes

Aviso

register_tick_function() no debe usarse con módulos de servidores web con hilos. Los tics no funcionan en modo ZTS y pueden causar fallos en su servidor web.

Ver también

declare
unregister_tick_function()

Anterior | Inicio | Siguiente
register_shutdown_function | Subir | unregister_tick_function


unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5)

unregister_tick_function -- Retira el registro de una función siendo ejecutada en cada tic

Descripción

void unregister_tick_function ( string nombre_funcion )

Remueve el registro de la función con nombre nombre_funcion de modo que no siga siendo llamada cuando un tic es llamado.

Lista de parámetros

nombre_funcion

El nombre de función, como una cadena.

Valores retornados

No value is returned.

Ver también

register_tick_function()

Anterior | Inicio | Siguiente
register_tick_function | Subir | GeoIP Functions


Gettext

Manual de PHP
Anterior Siguiente

XLIX. Gettext

Introducción

Las funciones gettext implementan una interfaz de programación de Soporte de Lenguaje Nativo (NLS por sus siglas en Inglés) que puede ser usada para internacionalizar sus aplicaciones PHP. Por favor refiérase a la documentación de gettext en su sistema para una explicación detallada de estas funciones, o consulte los documentos en http://www.gnu.org/software/gettext/manual/gettext.html.

Requisitos

Para usar estas funciones, debe descargar e instalar el paquete GNU gettext desde http://www.gnu.org/software/gettext/gettext.html.

Instalación

Para incluir soporte para GNU gettext en su instalación de PHP, debe agregar la opción --with-gettext[=DIR] donde DIR es el directorio de instalación de gettext, por omisión /usr/local.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
bind_textdomain_codeset -- Especificar la codificación de caracteres con la que serán devueltos los mensajes del catálogo DOMINIO
bindtextdomain -- Define la ruta para un dominio
dcgettext -- Sobrescribe el dominio para una búsqueda única
dcngettext -- Versión plural de dcgettext
dgettext -- Sobrescribir el dominio actual
dngettext -- Versión plural de dgettext
gettext -- Consultar un mensaje en el dominio actual
ngettext -- Versión plural de gettext
textdomain -- Establece el dominio predeterminado

Anterior | Inicio | Siguiente
geoip_region_by_name | Subir | bind_textdomain_codeset


bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5)

bind_textdomain_codeset -- Especificar la codificación de caracteres con la que serán devueltos los mensajes del catálogo DOMINIO

Descripción

string bind_textdomain_codeset ( string dominio, string juego_caracteres )

Con bind_textdomain_codeset(), puede definir la codificación de los mensajes provenientes de dominio, devueltos por gettext() y funciones similares.

Lista de parámetros

dominio

El dominio

juego_caracteres

El juego de caracteres

Valores retornados

Un valor tipo string en caso de éxito.

Anterior | Inicio | Siguiente
Gettext | Subir | bindtextdomain


bindtextdomain

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

bindtextdomain -- Define la ruta para un dominio

Descripción

string bindtextdomain ( string dominio, string directorio )

La función bindtextdomain() define la ruta para un dominio.

Lista de parámetros

dominio

El dominio

directorio

La ruta al directorio

Valores retornados

La ruta completa para el dominio que se está definiendo.

Ejemplos

Ejemplo 1. Ejemplo de bindtextdomain()

<?php

$dominio = 'mi_aplicacion';
echo bindtextdomain($dominio, '/usr/share/mi_aplicacion/locale');

?>

El resultado del ejemplo seria:

/usr/share/mi_aplicacion/locale

Anterior | Inicio | Siguiente
bind_textdomain_codeset | Subir | dcgettext


dcgettext

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

dcgettext -- Sobrescribe el dominio para una búsqueda única

Descripción

string dcgettext ( string dominio, string mensaje, int categoria )

Esta función le permite sobrescribir el dominio actual para una búsqueda única de mensaje.

Lista de parámetros

dominio

El dominio

mensaje

El mensaje

categoria

La categoría

Valores retornados

Un valor tipo string en caso de éxito.

Ver también

gettext()

Anterior | Inicio | Siguiente
bindtextdomain | Subir | dcngettext


dcngettext

(PHP 4 >= 4.2.0, PHP 5)

dcngettext -- Versión plural de dcgettext

Descripción

string dcngettext ( string dominio, string id_mensaje1, string id_mensaje2, int n, int categoria )

Esta función le permite sobrescribir el dominio actual para una consulta única de mensaje en plural.

Lista de parámetros

dominio

El dominio

id_mensaje1

id_mensaje2

n

categoria

Valores retornados

Un valor tipo string en caso de éxito.

Ver también

ngettext()

Anterior | Inicio | Siguiente
dcgettext | Subir | dgettext


dgettext

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

dgettext -- Sobrescribir el dominio actual

Descripción

string dgettext ( string dominio, string mensaje )

La función dgettext() le permite sobrescribir el dominio actual para una consulta de mensaje sencilla.

Lista de parámetros

dominio

El dominio

mensaje

El mensaje

Valores retornados

Un valor tipo string en caso de éxito.

Ver también

gettext()

Anterior | Inicio | Siguiente
dcngettext | Subir | dngettext


dngettext

(PHP 4 >= 4.2.0, PHP 5)

dngettext -- Versión plural de dgettext

Descripción

string dngettext ( string dominio, string id_mensaje1, string id_mensaje2, int n )

La función dngettext() le permite sobrescribir el dominio actual para una consulta única de mensaje en plural.

Lista de parámetros

dominio

El dominio

id_mensaje1

id_mensaje2

n

Valores retornados

Un valor tipo string en caso de éxito.

Ver también

ngettext()

Anterior | Inicio | Siguiente
dgettext | Subir | gettext


gettext

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

gettext -- Consultar un mensaje en el dominio actual

Descripción

string gettext ( string mensaje )

Busca un mensaje en el dominio actual.

Lista de parámetros

mensaje

Valores retornados

Devuelve un valor string traducido si alguno es encontrado en la tabla de traducción, o el mensaje original si no es encontrado.

Ejemplos

Ejemplo 1. Uso de gettext()

<?php
// Definir idioma a Alemán
setlocale(LC_ALL, 'de_DE');

// Especificar la ubicación de las tablas de traducción
bindtextdomain("miAplicacionPHP", "./locale");

// Elegir dominio
textdomain("miAplicacionPHP");

// La traducción busca en ./locale/de_DE/LC_MESSAGES/miAplicacionPHP.mo ahora

// Imprimir un mensaje de prueba
echo gettext("Bienvenido a Mi Aplicación PHP");

// O use el alias _() para gettext()
echo _("Tenga un buen día");
?>

Notes

Nota: Es posible usar el caracter de subrayado '_' como un alias de esta función.

Ver también

setlocale()

Anterior | Inicio | Siguiente
dngettext | Subir | ngettext


ngettext

(PHP 4 >= 4.2.0, PHP 5)

ngettext -- Versión plural de gettext

Descripción

string ngettext ( string id_mensaje1, string id_mensaje2, int n )

La versión plural de gettext(). Algunos idiomas tienen más de una forma para mensajes plurales, dependiendo del conteo.

Lista de parámetros

id_mensaje1

id_mensaje2

n

Valores retornados

Devuelve la forma plural correcta del mensaje identificado por id_mensaje1 y id_mensaje2 para el conteo n.

Ejemplos

Ejemplo 1. Ejemplo de ngettext()

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d ventana", "%d ventanas", 1), 1); // 1 okno
printf(ngettext("%d ventana", "%d ventanas", 2), 2); // 2 okna
printf(ngettext("%d ventana", "%d ventanas", 5), 5); // 5 oken

?>

Anterior | Inicio | Siguiente
gettext | Subir | textdomain


textdomain

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

textdomain -- Establece el dominio predeterminado

Descripción

string textdomain ( string dominio_de_texto )

Esta función establece el dominio para las búsquedas realizadas mediante gettext(), usualmente este dominio es llamado en base al nombre de la aplicación.

Lista de parámetros

dominio_de_texto

El nuevo dominio de mensajes, o NULL para obtener el valor actual sin cambiarlo

Valores retornados

Si tiene éxito, esta función devuelve el dominio de mensajes actual, después de tal vez haberlo cambiado.

Anterior | Inicio | Siguiente
ngettext | Subir | Funciones GMP


Funciones GMP

Manual de PHP
Anterior Siguiente

L. Funciones GMP

Introducción

Estas funciones permiten trabajar con números enteros de cualquier longitud arbitraria empleando la librerí GNUMP.

Estas funciones se añadieron en la versión de PHP 4.0.4.

Nota: La mayoría de funciones GMP aceptan como argumentos números GMP, definidos como resource más adelante. Sin embargo, la mayoría de estas funciones también aceptan argumentos de tipo numérico o cadenas de texto, ya que se pueden convertir fácilmente. Además, si existe una función más rápida que pueda operar con enteros, se empleará esa función en lugar de la otra función más lenta. Este proceso se realiza de forma automática y transparente, por lo que a modo de resumen se puede decir que se pueden emplear números de tipo entero en todas aquellas funciones cuyos parámetros se han definido como números GMP. Vea también la documentación de la función gmp_init().

Aviso

Si se quiere indicar de forma explícita un número entero muy grande, se recomienda hacerlo en forma de cadena. De otra forma, PHP lo interpreta como un entero y podría producirse una pérdida de precisión antes de comenzar a utilizar las funciones GMP.

Nota: Esta extensión está disponible en sistemas Windows desde la versión de PHP 5.1.0.

Requisitos

La librería GMP de puede descargar desde la dirección http://www.swox.com/gmp/. Además, en ese sitio web también está disponible el manual de GMP.

Para poder utilizar estas funciones se requiere al menos la versión 2 de GMP. Algunas funciones pueden requerir además alguna versión más reciente.

Instalación

Para poder utilizar estas funciones, se debe compilar PHP con soporte de GMP mediante la opción --with-gmp.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

GMP_ROUND_ZERO (integer)

GMP_ROUND_PLUSINF (integer)

GMP_ROUND_MINUSINF (integer)

Ejemplos

Ejemplo 1. Cálculo del factorial usando GMP

<?php
function fact($x)
{
    $factorial = 1;
    for ($i=2; $i < $x; $i++) {
        $factorial = gmp_mul($factorial, $i);
    }
    return $factorial;
}

echo gmp_strval(fact(1000)) . "\n";
?>

En el ejemplo se calcula el factorial de número 1000 (un número bastante grande para calcular su factorial) de forma bastante rápida.

Ver también

Se pueden encontrar muchas otras funciones matemáticas en las secciones Funciones matemáticas de precisión arbitraria BCMath y Funciones Matemáticas.

Tabla de contenidos
gmp_abs -- Valor absoluto
gmp_add -- Suma números
gmp_and -- Realiza una operación de AND lógico
gmp_clrbit -- Borra un bit
gmp_cmp -- Compara números
gmp_com -- Calcula el complementario
gmp_div_q -- Divide números
gmp_div_qr -- Divide números y obtiene el cociente y el resto
gmp_div_r -- Resto de la división de números
gmp_div -- Alias of gmp_div_q()
gmp_divexact -- División exacta de números
gmp_fact -- Factorial
gmp_gcd -- Calcula el MCD (máximo común divisor)
gmp_gcdext -- Calcula el MCD y los coeficientes
gmp_hamdist -- Distancia de Hamming
gmp_init -- Crea un número GMP
gmp_intval -- Convierte números GMP a números enteros
gmp_invert -- Invierte según el módulo
gmp_jacobi -- Calcula el símbolo de Jacobi
gmp_legendre -- Calcula el símbolo de Legendre
gmp_mod -- Operación Módulo
gmp_mul -- Multiplica números
gmp_neg -- Cambia el signo de un número
gmp_nextprime -- Find next prime number
gmp_or -- Realiza una operación de OR lógico
gmp_perfect_square -- Comprueba si es un cuadrado perfecto
gmp_popcount -- Calcula la población de un número
gmp_pow -- Eleva un número a una potencia
gmp_powm -- Eleva un número a una potencia según el módulo
gmp_prob_prime -- Comprueba si un número tiene probabilidades de ser un número primo
gmp_random -- Genera un número aleatorio
gmp_scan0 -- Busca un 0
gmp_scan1 -- Busca un 1
gmp_setbit -- Establece el valor de un bit
gmp_sign -- Obtiene el signo del número
gmp_sqrt -- Calcula la raíz cuadrada
gmp_sqrtrem -- Calcula la raíz cuadrada con el resto
gmp_strval -- Convierte un número GMP a una cadena de texto
gmp_sub -- Resta números
gmp_xor -- Realiza una operación de XOR lógico

Anterior | Inicio | Siguiente
textdomain | Subir | gmp_abs


gmp_abs

(PHP 4 >= 4.0.4, PHP 5)

gmp_abs -- Valor absoluto

Descripción

resource gmp_abs ( resource a )

Devuelve el valor absoluto del parámetro a.

Ejemplo 1. Ejemplo de gmp_abs()

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

La salida del anterior programa es:

274982683358
274982683358

Anterior | Inicio | Siguiente
Funciones GMP | Subir | gmp_add


gmp_add

(PHP 4 >= 4.0.4, PHP 5)

gmp_add -- Suma números

Descripción

resource gmp_add ( resource a, resource b )

Suma 2 números GMP. El resultado es un número GMP que representa la suma de los argumentos.

Ejemplo 1. Ejemplo de gmp_add()

<?php
$suma = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($suma) . "\n";
?>

La salida del anterior programa es:

200000000000000

Anterior | Inicio | Siguiente
gmp_abs | Subir | gmp_and


gmp_and

(PHP 4 >= 4.0.4, PHP 5)

gmp_and -- Realiza una operación de AND lógico

Descripción

resource gmp_and ( resource a, resource b )

Calcula el AND lógico de 2 números GMP.

Ejemplo 1. Ejemplo de gmp_and()

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

La salida del anterior programa es:

4
0

Anterior | Inicio | Siguiente
gmp_add | Subir | gmp_clrbit


gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_clrbit -- Borra un bit

Descripción

resource gmp_clrbit ( resource &a, int indice )

Borra (poniéndolo a 0) el bit que ocupa la posición indice dentro de a.

Nota: Al contrario que para la mayoría de funciones GMP, gmp_clrbit() debe ser invocada con un recurso GMP que ya exista (creado por ejemplo con la función gmp_init()), ya que no se crea uno de forma automática.

Ejemplo 1. Ejemplo de gmp_clrbit()

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // los indices comienza en el 0 para el bit menos significativo
echo gmp_strval($a) . "\n";
?>

La salida del anterior programa es:

254

Vea también gmp_setbit().

Anterior | Inicio | Siguiente
gmp_and | Subir | gmp_cmp


gmp_cmp

(PHP 4 >= 4.0.4, PHP 5)

gmp_cmp -- Compara números

Descripción

int gmp_cmp ( resource a, resource b )

Devuelve un valor positivo si a > b, cero si a = b y un valor negativo si a < b.

Ejemplo 1. Ejemplo de gmp_cmp()

<?php
$cmp1 = gmp_cmp("1234", "1000"); // mayor que
$cmp2 = gmp_cmp("1000", "1234"); // menor que
$cmp3 = gmp_cmp("1234", "1234"); // igual a

echo "$cmp1 $cmp2 $cmp3\n";
?>

La salida del anterior programa es:

1 -1 0

Anterior | Inicio | Siguiente
gmp_clrbit | Subir | gmp_com


gmp_com

(PHP 4 >= 4.0.4, PHP 5)

gmp_com -- Calcula el complementario

Descripción

resource gmp_com ( resource a )

Devuelve el complementario a 1 de a.

Ejemplo 1. Ejemplo de gmp_com()

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

La salida del anterior programa es:

-1235

Anterior | Inicio | Siguiente
gmp_cmp | Subir | gmp_div_q


gmp_div_q

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_q -- Divide números

Descripción

resource gmp_div_q ( resource a, resource b [, int redondeo] )

Divide a por b y devuelve el resultado entero. El redondeo del resultado se define mediante el parámetro redondeo, que puede tomar uno de los siguiente valores:

  • GMP_ROUND_ZERO: El resultado se trunca a 0.

  • GMP_ROUND_PLUSINF: El resultado se redondea hacia +infinito.

  • GMP_ROUND_MINUSINF: El resultado se redondea hacia -infinito.

Esta función también se puede llamar con gmp_div().

Ejemplo 1. Ejemplo de gmp_div_q()

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

La salida del anterior programa es:

20
0
1
0
1

Vea también gmp_div_r() y gmp_div_qr()

Anterior | Inicio | Siguiente
gmp_com | Subir | gmp_div_qr


gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_qr -- Divide números y obtiene el cociente y el resto

Descripción

array gmp_div_qr ( resource n, resource d [, int redondeo] )

La función divide n por d y devuelve una matriz en la que el primer elemento es [n/d] (el resultado entero de la división) y el segundo elemento es (n - [n/d] * d) (el resto de la división).

Vea también gmp_div_q() para una descripción del parámetro redondeo.

Ejemplo 1. División de números GMP

<?php
$a = gmp_init("0x41682179fbf5");
$resultado = gmp_div_qr($a, "0xDEFE75");
printf("El resultado es: cociente - %s, resto - %s",
       gmp_strval($resultado[0]), gmp_strval($resultado[1]));
?>

Vea también gmp_div_q() y gmp_div_r().

Anterior | Inicio | Siguiente
gmp_div_q | Subir | gmp_div_r


gmp_div_r

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_r -- Resto de la división de números

Descripción

resource gmp_div_r ( resource n, resource d [, int redondeo] )

Calcula el resto de la división entera de n por d. El resto tiene el signo del parámetro n, siempre que sea distinto de cero.

Ejemplo 1. Ejemplo de gmp_div_r()

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

La salida del anterior programa es:

5

Vea también gmp_div_q() para una descripción del parámetro redondeo.

Vea también gmp_div_q() y gmp_div_qr()

Anterior | Inicio | Siguiente
gmp_div_qr | Subir | gmp_div


gmp_div

(PHP 4 >= 4.0.4, PHP 5)

gmp_div -- Alias of gmp_div_q()

Descripción

This function is an alias of: gmp_div_q().

Anterior | Inicio | Siguiente
gmp_div_r | Subir | gmp_divexact


gmp_divexact

(PHP 4 >= 4.0.4, PHP 5)

gmp_divexact -- División exacta de números

Descripción

resource gmp_divexact ( resource n, resource d )

Divide n por d, usando un algoritmo rápido de "división exacta". La función solamente produce resultados correctos cuando se sabe a priori que d es un factor de n.

Ejemplo 1. Ejemplo de gmp_divexact()

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // resultado inexacto
echo gmp_strval($div2) . "\n";
?>

La salida del anterior programa es:

5
2863311534

Anterior | Inicio | Siguiente
gmp_div | Subir | gmp_fact


gmp_fact

(PHP 4 >= 4.0.4, PHP 5)

gmp_fact -- Factorial

Descripción

resource gmp_fact ( int a )

Calcula el factorial de a (a!).

Ejemplo 1. Ejemplo de gmp_fact()

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

La salida del anterior programa es:

120
30414093201713378043612608166064768844377641568960512000000000000

Anterior | Inicio | Siguiente
gmp_divexact | Subir | gmp_gcd


gmp_gcd

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcd -- Calcula el MCD (máximo común divisor)

Descripción

resource gmp_gcd ( resource a, resource b )

Calcula el divisor comú más grande de a y b. El resultado siempre es positivo, incluso aunque alguno de los parámetros (o los dos) se negativo.

Ejemplo 1. Ejemplo de gmp_gcd()

<?php
$mcd = gmp_gcd("12", "21");
echo gmp_strval($mcd) . "\n";
?>

La salida del anterior programa es:

3

Anterior | Inicio | Siguiente
gmp_fact | Subir | gmp_gcdext


gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcdext -- Calcula el MCD y los coeficientes

Descripción

array gmp_gcdext ( resource a, resource b )

Calcula g, s y t, tales que cumplen que a*s + b*t = g = mcd(a,b), donde mcd es el máximo común divisor. Devuelve una matriz con los elementos g, s y t.

La función se puede emplear para resolver ecuaciones Diofánticas lineales con 2 variables. Este tipo de ecuaciones solamente permiten soluciones enteras y son de la forma: a*x + b*y = c. Para más información, puede visitar la dirección "Diophantine Equation" de MathWorld

Ejemplo 1. Resolución de una ecuación Diofántica lineal

<?php
// Resolver la ecuacion a*s + b*t = g
// donde a = 12, b = 21, g = mcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$comprueba_mcd = (gmp_strval($g) == gmp_strval($r['g']));
$resultado_ecuacion = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$comprueba_resultado = (gmp_strval($g) == gmp_strval($eq_res));

if ($comprueba_mcd && $comprueba_resultado) {
    $fmt = "Solucion: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Error al intentar resolver la ecuacion\n";
}

// Salida:  Solution: 12*2 + 21*-1 = 3
?>

Anterior | Inicio | Siguiente
gmp_gcd | Subir | gmp_hamdist


gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5)

gmp_hamdist -- Distancia de Hamming

Descripción

int gmp_hamdist ( resource a, resource b )

Devuelve la distancia Hamming entre a y b. Los 2 operandos deben ser no negativos.

Ejemplo 1. Ejemplo de gmp_hamdist()

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist es equivalente a: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

La salida del anterior programa es:

6
6

Vea también gmp_popcount() y gmp_xor()

Anterior | Inicio | Siguiente
gmp_gcdext | Subir | gmp_init


gmp_init

(PHP 4 >= 4.0.4, PHP 5)

gmp_init -- Crea un número GMP

Descripción

resource gmp_init ( mixed numero [, int base] )

Crea un número GMP a partir de un número entero o una cadena. La representación del número en la cadena puede ser decimal o hexadecimal. En este último caso, la cadena debe empezar por 0x. El parámetro opcional base está disponible desde la versión de PHP 4.1.0.

Ejemplo 1. Crear un número GMP

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

Nota: No es necesario emplear esta función si en las funciones GMP se van a utilizar números enteros o cadenas de texto en lugar de números GMP. Los argumentos de las funciones se convierten de forma automática a números GMP, si esa conversión es necesaria y posible. La conversión se realiza siguiendo las mismas reglas que las de la función gmp_init().

Anterior | Inicio | Siguiente
gmp_hamdist | Subir | gmp_intval


gmp_intval

(PHP 4 >= 4.0.4, PHP 5)

gmp_intval -- Convierte números GMP a números enteros

Descripción

int gmp_intval ( resource numero_gmp )

Esta función permite convertir un número GMP en un número entero.

Aviso

Esta función solo devuelve un resultado válido si el número "cabe" en el tipo entero de PHP (en realidad, un tipo long con signo). Para mostrar el número GMP por pantalla, se puede emplear la función gmp_strval().

Ejemplo 1. Ejemplo de gmp_intval()

<?php
// muestra un resultado correcto
echo gmp_intval("2147483647") . "\n";

// muestra un resultado erroneo, porque se sobrepasan los limites de los numeros enteros de PHP
echo gmp_intval("2147483648") . "\n";

// muestra un resultado correcto
echo gmp_strval("2147483648") . "\n";
?>

La salida del anterior programa es:

2147483647
2147483647
2147483648

Anterior | Inicio | Siguiente
gmp_init | Subir | gmp_invert


gmp_invert

(PHP 4 >= 4.0.4, PHP 5)

gmp_invert -- Invierte según el módulo

Descripción

resource gmp_invert ( resource a, resource b )

Calcula el inverso de a módulo b. Devuelve FALSE si no existe el inverso según ese módulo.

Ejemplo 1. Ejemplo de gmp_invert()

<?php
echo gmp_invert("5", "10"); // no existe inverso, por lo que devuelve FALSE y no se muestra nada
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

La salida del anterior programa es:

9

Anterior | Inicio | Siguiente
gmp_intval | Subir | gmp_jacobi


gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5)

gmp_jacobi -- Calcula el símbolo de Jacobi

Descripción

int gmp_jacobi ( resource a, resource p )

Calcula el símbolo de Jacobi de a y p. El parámetro p debe ser impar y positivo.

Ejemplo 1. Ejemplo de gmp_jacobi()

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

La salida del anterior programa es:

1
0

Anterior | Inicio | Siguiente
gmp_invert | Subir | gmp_legendre


gmp_legendre

(PHP 4 >= 4.0.4, PHP 5)

gmp_legendre -- Calcula el símbolo de Legendre

Descripción

int gmp_legendre ( resource a, resource p )

Calcula el símbolo de Legendre de a y p. El parámetro p debe ser impar y positivo.

Ejemplo 1. Ejemplo de gmp_legendre()

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

La salida del anterior programa es:

1
0

Anterior | Inicio | Siguiente
gmp_jacobi | Subir | gmp_mod


gmp_mod

(PHP 4 >= 4.0.4, PHP 5)

gmp_mod -- Operación Módulo

Descripción

resource gmp_mod ( resource n, resource d )

Calcula n módulo d. El resultado siempre es no negativo, por lo que se ignora el signo de d.

Ejemplo 1. Ejemplo de gmp_mod()

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

La salida del anterior programa es:

2

Anterior | Inicio | Siguiente
gmp_legendre | Subir | gmp_mul


gmp_mul

(PHP 4 >= 4.0.4, PHP 5)

gmp_mul -- Multiplica números

Descripción

resource gmp_mul ( resource a, resource b )

Multiplica a por b y devuelve el resultado.

Ejemplo 1. Ejemplo de gmp_mul()

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

La salida del anterior programa es:

24691356000

Anterior | Inicio | Siguiente
gmp_mod | Subir | gmp_neg


gmp_neg

(PHP 4 >= 4.0.4, PHP 5)

gmp_neg -- Cambia el signo de un número

Descripción

resource gmp_neg ( resource a )

Devuelve -a.

Ejemplo 1. Ejemplo de gmp_neg()

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

La salida del anterior programa es:

-1
1

Anterior | Inicio | Siguiente
gmp_mul | Subir | gmp_nextprime


gmp_or

(PHP 4 >= 4.0.4, PHP 5)

gmp_or -- Realiza una operación de OR lógico

Descripción

resource gmp_or ( resource a, resource b )

Calcula la operación OR lógico de 2 números GMP.

Ejemplo 1. Ejemplo de gmp_or()

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

La salida del anterior programa es:

fffffff6
fffffff2

Anterior | Inicio | Siguiente
gmp_nextprime | Subir | gmp_perfect_square


gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5)

gmp_perfect_square -- Comprueba si es un cuadrado perfecto

Descripción

bool gmp_perfect_square ( resource a )

Devuelve TRUE si a es un cuadrado perfecto o FALSE en cualquier otro caso.

Ejemplo 1. Ejemplo de gmp_perfect_square()

<?php
// 3 * 3, cuadrado perfecto
var_dump(gmp_perfect_square("9"));

// no es un cuadrado perfecto
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, cuadrado perfecto
var_dump(gmp_perfect_square("1524157875019052100"));
?>

La salida del anterior programa es:

bool(true)
bool(false)
bool(true)

Vea también gmp_sqrt() y gmp_sqrtrem().

Anterior | Inicio | Siguiente
gmp_or | Subir | gmp_popcount


gmp_popcount

(PHP 4 >= 4.0.4, PHP 5)

gmp_popcount -- Calcula la población de un número

Descripción

int gmp_popcount ( resource a )

Devuelve la "población" de a.

Ejemplo 1. Ejemplo de gmp_popcount()

<?php
$pob1 = gmp_init("10000101", 2); // 3 unos
echo gmp_popcount($pob1) . "\n";
$pob2 = gmp_init("11111110", 2); // 7 unos
echo gmp_popcount($pob2) . "\n";
?>

La salida del anterior programa es:

3
7

Anterior | Inicio | Siguiente
gmp_perfect_square | Subir | gmp_pow


gmp_pow

(PHP 4 >= 4.0.4, PHP 5)

gmp_pow -- Eleva un número a una potencia

Descripción

resource gmp_pow ( resource base, int exp )

Eleva la base a la potencia exp. La operación 0^0 resulta en un valor de 1. exp no puede ser negativo.

Ejemplo 1. Ejemplo de gmp_pow()

<?php
$pot1 = gmp_pow("2", 31);
echo gmp_strval($pot1) . "\n";
$pot2 = gmp_pow("0", 0);
echo gmp_strval($pot2) . "\n";
$pot3 = gmp_pow("2", -1); // Exponente negativo que produce un aviso
echo gmp_strval($pot3) . "\n";
?>

La salida del anterior programa es:

2147483648
1

Anterior | Inicio | Siguiente
gmp_popcount | Subir | gmp_powm


gmp_powm

(PHP 4 >= 4.0.4, PHP 5)

gmp_powm -- Eleva un número a una potencia según el módulo

Descripción

resource gmp_powm ( resource base, resource exp, resource mod )

Calcula (base elevado a exp) modulo mod. Si exp es negativo, el resultado no está definido.

Ejemplo 1. Ejemplo de gmp_powm()

<?php
$pot1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pot1) . "\n";
?>

La salida del anterior programa es:

2147483648

Anterior | Inicio | Siguiente
gmp_pow | Subir | gmp_prob_prime


gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_prime -- Comprueba si un número tiene probabilidades de ser un número primo

Descripción

int gmp_prob_prime ( resource a [, int reps] )

Si la función devuelve 0, es absolutamente seguro que a no es un número primo. Si devuelve un 1, a "probablemente" es primo. Si devuelve un 2, es absolutamente seguro que a es un número primo. Los valores razonables de reps varían entre 5 y 10 (siendo 10 el valor por defecto); un valor más alto reduce la probabilidad de que un número no primo se muestre como un número primo "probable".

La función emplea el test de probabilidad de Miller-Rabin.

Ejemplo 1. Ejemplo de gmp_prob_prime()

<?php
// definitivamente no es un primo
echo gmp_prob_prime("6") . "\n";

// probablemente es un primo
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitivamente es un primo
echo gmp_prob_prime("11") . "\n";
?>

La salida del anterior programa es:

0
1
2

Anterior | Inicio | Siguiente
gmp_powm | Subir | gmp_random


gmp_random

(PHP 4 >= 4.0.4, PHP 5)

gmp_random -- Genera un número aleatorio

Descripción

resource gmp_random ( int limite )

Genera un número aleatorio. El número tendrá un valor entre cero y el producto del "limb" por limite. Si limite es negativo, se generan números negativos.

El "limb" es un mecanismo interno de GMP. El número de bits del "limb" no es constante y suele variar entre 16 y 32 bits.

Ejemplo 1. Ejemplo de gmp_random()

<?php
$aleat1 = gmp_random(1); // numero aleatorio entre 0 y ( 1 * bits_de_cada_limb )
$aleat2 = gmp_random(2); // numero aleatorio entre 0 y ( 2 * bits_de_cada_limb )

echo gmp_strval($aleat1) . "\n";
echo gmp_strval($aleat2) . "\n";
?>

La salida del anterior programa es:

1915834968
8642564075890328087

Anterior | Inicio | Siguiente
gmp_prob_prime | Subir | gmp_scan0


gmp_scan0

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan0 -- Busca un 0

Descripción

int gmp_scan0 ( resource a, int comienzo )

Busca en a, comenzando por el bit comienzo y siguiendo hacia los bits más significativos, hasta que se encuentra un bit con valor 0. Devuelve el índice del bit encontrado. Los índices comienzan en el 0.

Ejemplo 1. Ejemplo de gmp_scan0()

<?php
// El bit "0" se encuentra en la posicion 3. El indice comienza en 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// El bit "0" se encuentra en la posicion 7. El indice comienza en 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

La salida del anterior programa es:

3
7

Anterior | Inicio | Siguiente
gmp_random | Subir | gmp_scan1


gmp_scan1

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan1 -- Busca un 1

Descripción

int gmp_scan1 ( resource a, int comienzo )

Busca en a, comenzando por el bit comienzo y siguiendo hacia los bits más significativos, hasta que se encuentra un bit con valor 1. Devuelve el índice del bit encontrado. Si no se encuentra ningún bit con valor 1, se devuelve el valor -1.

Ejemplo 1. Ejemplo de gmp_scan1()

<?php
// El bit "1" se encuentra en la posicion 3. El indice comienza en 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// El bit "0" se encuentra en la posicion 9. El indice comienza en 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

La salida del anterior programa es:

3
9

Anterior | Inicio | Siguiente
gmp_scan0 | Subir | gmp_setbit


gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbit -- Establece el valor de un bit

Descripción

void gmp_setbit ( resource &a, int indice [, bool cero_uno] )

Establece el bit número indice en el parámetro a. cero_uno define si el bit se pone a 1 o a 0. Por defecto, el bit se pone a 1 y el índice comienza en el 0.

Nota: Al contrario que para la mayoría de funciones GMP, gmp_clrbit() debe ser invocada con un recurso GMP que ya exista (creado por ejemplo con la función gmp_init()), ya que no se crea uno de forma automática.

Ejemplo 1. Ejemplo de gmp_setbit()

<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // el indice comienza en 0
echo gmp_strval($a) . "\n";
?>

La salida del anterior programa es:

255

Vea también gmp_clrbit().

Anterior | Inicio | Siguiente
gmp_scan1 | Subir | gmp_sign


gmp_sign

(PHP 4 >= 4.0.4, PHP 5)

gmp_sign -- Obtiene el signo del número

Descripción

int gmp_sign ( resource a )

Devuelve 1 si a es positivo, -1 si a es negativo y 0 si a es cero.

Ejemplo 1. Ejemplo de gmp_sign()

<?php
// positivo
echo gmp_sign("500") . "\n";

// negativo
echo gmp_sign("-500") . "\n";

// cero
echo gmp_sign("0") . "\n";
?>

La salida del anterior programa es:

1
-1
0

Anterior | Inicio | Siguiente
gmp_setbit | Subir | gmp_sqrt


gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrt -- Calcula la raíz cuadrada

Descripción

resource gmp_sqrt ( resource a )

Calcula la raíz cuadrada de a y devuelve la parte entera del resultado.

Ejemplo 1. Ejemplo de gmp_sqrt()

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

La salida del anterior programa es:

3
2
1234567890

Anterior | Inicio | Siguiente
gmp_sign | Subir | gmp_sqrtrem


gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrtrem -- Calcula la raíz cuadrada con el resto

Descripción

array gmp_sqrtrem ( resource a )

Devuelve una matriz en la que el primer elemento es el valor entero de la raíz cuadrada de a (vea también gmp_sqrt()), y el segundo valor es el resto (esto es, la diferencia entre a y el cuadrado del primer elemento de la matriz).

Ejemplo 1. Ejemplo de gmp_sqrtrem()

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

La salida del anterior programa es:

3, 0
2, 3
1024, 0

Anterior | Inicio | Siguiente
gmp_sqrt | Subir | gmp_strval


gmp_strval

(PHP 4 >= 4.0.4, PHP 5)

gmp_strval -- Convierte un número GMP a una cadena de texto

Descripción

string gmp_strval ( resource numero_gmp [, int base] )

Convierte un número GMP a su representación en la base base y en forma de cadena de texto. El valor por defecto de la base es 10. Los valores permitidos en la base son los que se encuentren entre 2 y 36.

Ejemplo 1. Conversión de un número GMP a una cadena de texto

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, base-36: %s", gmp_strval($a), gmp_strval($a,36));
?>

Anterior | Inicio | Siguiente
gmp_sqrtrem | Subir | gmp_sub


gmp_sub

(PHP 4 >= 4.0.4, PHP 5)

gmp_sub -- Resta números

Descripción

resource gmp_sub ( resource a, resource b )

Resta b de a y devuelve el resultado.

Ejemplo 1. Ejemplo de gmp_sub()

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

La salida del anterior programa es:

281470681743360

Anterior | Inicio | Siguiente
gmp_strval | Subir | gmp_xor


gmp_xor

(PHP 4 >= 4.0.4, PHP 5)

gmp_xor -- Realiza una operación de XOR lógico

Descripción

resource gmp_xor ( resource a, resource b )

Calcula la operación XOR lógico de 2 números GMP.

Ejemplo 1. Ejemplo de gmp_xor()

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

La salida del anterior programa es:

1011110111000100

Anterior | Inicio | Siguiente
gmp_sub | Subir | gnupg Functions


HTTP

Manual de PHP
Anterior Siguiente

LIV. HTTP

Introducción

Esta extensión HTTP busca ofrecer un conjunto conveniente y poderoso de funcionalidad para una de las mayores aplicaciones de PHP.

Facilita el manejo de URLs HTTP, fechas, redireccionamientos, cabeceras y mensajes, ofrece medios para la negociación del idioma y juego de caracteres preferido del cliente, así como una manera conveniente de enviar cualquier dato arbitrario con capacidad de manejo de cachés y reestablecimiento de conexión.

Ofrece una poderosa funcionalidad de peticiones, si es compilada con soporte CURL. Las peticiones paralelas están disponibles para PHP 5 y versiones posteriores.

Adicionalmente a la referencia de la API en este manual, es posible encontrar información sobre la instalación y configuración así como las constantes globales predefinidas en las siguientes secciones:

Instalación
Configuración
Constantes Globales

Clases

HttpMessage
HttpQueryString
HttpDeflateStream
HttpInflateStream
HttpRequest
HttpRequestPool
HttpResponse

Funciones

Funciones Incorporadas

Las funciones HTTP incorporadas listadas anteriormente en esta página pueden ser encontradas en la categoría de redes.

Las siguientes funciones no necesitan que el módulo HTTP esté presente:
header(), headers_list(),
headers_sent(), setcookie()
, y setrawcookie().

Caché

http_cache_etag()
http_cache_last_modified()

Codificaciones

http_chunked_decode()
http_deflate()
http_inflate()

Varias

http_build_cookie()
http_date()
http_get_request_body_stream()
http_get_request_body()
http_get_request_headers()
http_match_etag()
http_match_modified()
http_match_request_header()
http_support()

Negociación

http_negotiate_charset()
http_negotiate_content_type()
http_negotiate_language()

Gestores de salida

ob_deflatehandler()
ob_etaghandler()
ob_inflatehandler()

Procesadores

http_parse_cookie()
http_parse_headers()
http_parse_message()
http_parse_params()

Peticiones

http_get()
http_head()
http_post_data()
http_post_fields()
http_put_data()
http_put_file()
http_put_stream()
http_request_body_encode()
http_request_method_exists()
http_request_method_name()
http_request_method_register()
http_request_method_unregister()
http_request()

Respuestas

http_redirect()
http_send_content_disposition()
http_send_content_type()
http_send_data()
http_send_file()
http_send_last_modified()
http_send_status()
http_send_stream()
http_throttle()

URLs

http_build_str()
http_build_url()

Tabla de contenidos
Installation -- Installing and configuring the HTTP extension
Configuration -- http module configuration directives
Constants -- predefined http module constants
HttpMessage -- HTTP Message Class
HttpMessage::__construct -- HttpMessage constructor
HttpMessage::fromString -- Create HttpMessage from string
HttpMessage::toString -- Get string representation
HttpMessage::toMessageTypeObject -- Create HTTP object regarding message type
HttpMessage::guessContentType -- Guess content type
HttpMessage::detach -- Detach HttpMessage
HttpMessage::prepend -- Prepend message(s)
HttpMessage::reverse -- Reverse message chain
HttpMessage::send -- Send message
HttpMessage::getParentMessage -- Get parent message
HttpMessage::getType -- Get message type
HttpMessage::setType -- Set message type
HttpMessage::getHttpVersion -- Get HTTP version
HttpMessage::setHttpVersion -- Set HTTP version
HttpMessage::getHeaders -- Get message headers
HttpMessage::getHeader -- Get header
HttpMessage::addHeaders -- Add headers
HttpMessage::setHeaders -- Set headers
HttpMessage::getBody -- Get message body
HttpMessage::setBody -- Set message body
HttpMessage::getRequestMethod -- Get request method
HttpMessage::setRequestMethod -- Set request method
HttpMessage::getRequestUrl -- Get request URL
HttpMessage::setRequestUrl -- Set request URL
HttpMessage::getResponseCode -- Get response code
HttpMessage::setResponseCode -- Set response code
HttpMessage::getResponseStatus -- Get response status
HttpMessage::setResponseStatus -- Set response status
HttpQueryString -- HTTP Query String Class
HttpQueryString::__construct -- HttpQueryString constructor
HttpQueryString::singleton -- HttpQueryString singleton
HttpQueryString::get -- Get (part of) query string
HttpQueryString::mod -- Modifiy query string copy
HttpQueryString::set -- Set query string params
HttpQueryString::toArray -- Get query string as array
HttpQueryString::toString -- Get query string
HttpQueryString::xlate -- Change query strings charset
HttpDeflateStream -- HTTP Deflate Stream Class
HttpDeflateStream::__construct -- HttpDeflateStream class constructor
HttpDeflateStream::update -- Update deflate stream
HttpDeflateStream::flush -- Flush deflate stream
HttpDeflateStream::finish -- Finalize deflate stream
HttpInflateStream -- HTTP Inflate Stream
HttpInflateStream::__construct -- HttpInflateStream class constructor
HttpInflateStream::update -- Update inflate stream
HttpInflateStream::flush -- Flush inflate stream
HttpInflateStream::finish -- Finalize inflate stream
HttpRequest -- HTTP Request Class
HttpRequest::addCookies -- Add cookies
HttpRequest::addHeaders -- Add headers
HttpRequest::addPostFields -- Add post fields
HttpRequest::addPostFile -- Add post file
HttpRequest::addPutData -- Add put data
HttpRequest::addQueryData -- Add query data
HttpRequest::addRawPostData -- Add raw post data
HttpRequest::addSslOptions -- Add ssl options
HttpRequest::clearHistory -- Clear history
HttpRequest::__construct -- HttpRequest constructor
HttpRequest::enableCookies -- Enable cookies
HttpRequest::getContentType -- Get content type
HttpRequest::getCookies -- Get cookies
HttpRequest::getHeaders -- Get headers
HttpRequest::getHistory -- Get history
HttpRequest::getMethod -- Get method
HttpRequest::getOptions -- Get options
HttpRequest::getPostFields -- Get post fields
HttpRequest::getPostFiles -- Get post files
HttpRequest::getPutData -- Get put data
HttpRequest::getPutFile -- Get put file
HttpRequest::getQueryData -- Get query data
HttpRequest::getRawPostData -- Get raw post data
HttpRequest::getRawRequestMessage -- Get raw request message
HttpRequest::getRawResponseMessage -- Get raw response message
HttpRequest::getRequestMessage -- Get request message
HttpRequest::getResponseBody -- Get response body
HttpRequest::getResponseCode -- Get response code
HttpRequest::getResponseCookies -- Get response cookie(s)
HttpRequest::getResponseData -- Get response data
HttpRequest::getResponseHeader -- Get response header(s)
HttpRequest::getResponseInfo -- Get response info
HttpRequest::getResponseMessage -- Get response message
HttpRequest::getResponseStatus -- Get response status
HttpRequest::getSslOptions -- Get ssl options
HttpRequest::getUrl -- Get url
HttpRequest::resetCookies -- Reset cookies
HttpRequest::send -- Send request
HttpRequest::setContentType -- Set content type
HttpRequest::setCookies -- Set cookies
HttpRequest::setHeaders -- Set headers
HttpRequest::setMethod -- Set method
HttpRequest::setOptions -- Set options
HttpRequest::setPostFields -- Set post fields
HttpRequest::setPostFiles -- Set post files
HttpRequest::setPutData -- Set put data
HttpRequest::setPutFile -- Set put file
HttpRequest::setQueryData -- Set query data
HttpRequest::setRawPostData -- Set raw post data
HttpRequest::setSslOptions -- Set ssl options
HttpRequest::setUrl -- Set URL
HttpRequestPool -- HTTP Request Pool Class
HttpRequestPool::attach -- Attach HttpRequest
HttpRequestPool::__construct -- HttpRequestPool constructor
HttpRequestPool::__destruct -- HttpRequestPool destructor
HttpRequestPool::detach -- Detach HttpRequest
HttpRequestPool::getAttachedRequests -- Get attached requests
HttpRequestPool::getFinishedRequests -- Get finished requests
HttpRequestPool::reset -- Reset request pool
HttpRequestPool::send -- Send all requests
HttpRequestPool::socketPerform -- Perform socket actions
HttpRequestPool::socketSelect -- Perform socket select
HttpResponse -- HTTP Response Class
HttpResponse::capture -- Capture script output
HttpResponse::getBufferSize -- Get buffer size
HttpResponse::getCacheControl -- Get cache control
HttpResponse::getCache -- Get cache
HttpResponse::getContentDisposition -- Get content disposition
HttpResponse::getContentType -- Get content type
HttpResponse::getData -- Get data
HttpResponse::getETag -- Get ETag
HttpResponse::getFile -- Get file
HttpResponse::getGzip -- Get gzip
HttpResponse::getHeader -- Get header
HttpResponse::getLastModified -- Get last modified
HttpResponse::getStream -- Get Stream
HttpResponse::getThrottleDelay -- Get throttle delay
HttpResponse::guessContentType -- Guess content type
HttpResponse::send -- Send response
HttpResponse::setBufferSize -- Set buffer size
HttpResponse::setCacheControl -- Set cache control
HttpResponse::setCache -- Set cache
HttpResponse::setContentDisposition -- Set content disposition
HttpResponse::setContentType -- Set content type
HttpResponse::setData -- Set data
HttpResponse::setETag -- Set ETag
HttpResponse::setFile -- Set file
HttpResponse::setGzip -- Set gzip
HttpResponse::setHeader -- Set header
HttpResponse::setLastModified -- Set last modified
HttpResponse::setStream -- Set stream
HttpResponse::setThrottleDelay -- Set throttle delay
http_cache_etag -- Caching by ETag
http_cache_last_modified -- Caching by last modification
http_chunked_decode -- Decode chunked-encoded data
http_deflate -- Deflate data
http_inflate -- Inflate data
http_get_request_body_stream -- Get request body as stream
http_get_request_body -- Get request body as string
http_get_request_headers -- Get request headers as array
http_date -- Compose HTTP RFC compliant date
http_support -- Check built-in HTTP support
http_match_etag -- Match ETag
http_match_modified -- Match last modification
http_match_request_header -- Match any header
http_build_cookie -- Build cookie string
http_negotiate_charset -- Negotiate clients preferred character set
http_negotiate_content_type -- Negotiate clients preferred content type
http_negotiate_language -- Negotiate clients preferred language
ob_deflatehandler -- Deflate output handler
ob_etaghandler -- ETag output handler
ob_inflatehandler -- Inflate output handler
http_parse_cookie -- Parse HTTP cookie
http_parse_headers -- Parse HTTP headers
http_parse_message -- Parse the HTTP message
http_parse_params -- Parse parameter list
http_get -- Perform GET request
http_head -- Perform HEAD request
http_post_data -- Perform POST request with pre-encoded data
http_post_fields -- Perform POST request with data to be encoded
http_put_data -- Perform PUT request with data
http_put_file -- Perform PUT request with file
http_put_stream -- Perform PUT request with stream
http_request_method_exists -- Check whether request method exists
http_request_method_name -- Get request method name
http_request_method_register -- Register request method
http_request_method_unregister -- Unregister request method
http_request -- Perform custom request
http_request_body_encode -- Encode request body
http_redirect -- Issue HTTP redirect
http_send_content_disposition -- Send Content-Disposition
http_send_content_type -- Send Content-Type
http_send_data -- Send arbitrary data
http_send_file -- Send file
http_send_last_modified -- Send Last-Modified
http_send_status -- Send status
http_send_stream -- Send stream
http_throttle -- HTTP throttling
http_build_str -- Build query string
http_build_url -- Build an URL

Anterior | Inicio | Siguiente
hash | Subir | Installation


header

(PHP 3, PHP 4, PHP 5)

header -- Send a raw HTTP header

Description

void header ( string string [, bool replace [, int http_response_code]] )

header() is used to send a raw HTTP header. See the HTTP/1.1 specification for more information on HTTP headers.

Nota: Since PHP 4.4.2 and PHP 5.1.2 this function prevents more than one header to be sent at once as a protection against header injection attacks.

The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace, but if you pass in FALSE as the second argument you can force multiple headers of the same type. For example:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

The second optional http_response_code force the HTTP response code to the specified value. (This parameter is available in PHP 4.3.0 and higher.)

There are two special-case header calls. The first is a header that starts with the string "HTTP/" (case is not significant), which will be used to figure out the HTTP status code to send. For example, if you have configured Apache to use a PHP script to handle requests for missing files (using the ErrorDocument directive), you may want to make sure that your script generates the proper status code.

<?php
header("HTTP/1.0 404 Not Found");
?>

Nota: The HTTP status header line will always be the first sent to the client, regardless of the actual header() call being the first or not. The status may be overridden by calling header() with a new status line at any time unless the HTTP headers have already been sent.

The second special case is the "Location:" header. Not only does it send this header back to the browser, but it also returns a REDIRECT (302) status code to the browser unless some 3xx status code has already been set.

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

Nota: HTTP/1.1 requires an absolute URI as argument to Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

<?php
/* Redirect to a different page in the current directory that was requested */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Nota: Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.

PHP scripts often generate dynamic content that must not be cached by the client browser or any proxy caches between the server and the client browser. Many proxies and clients can be forced to disable caching with:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

Nota: You may find that your pages aren't cached even if you don't output all of the headers above. There are a number of options that users may be able to set for their browser that change its default caching behavior. By sending the headers above, you should override any settings that may otherwise cause the output of your script to be cached.

Additionally, session_cache_limiter() and the session.cache_limiter configuration setting can be used to automatically generate the correct caching-related headers when sessions are being used.

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
?>

Nota: As of PHP 4, you can use output buffering to get around this problem, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

If you want the user to be prompted to save the data you are sending, such as a generated PDF file, you can use the Content-Disposition header to supply a recommended filename and force the browser to display the save dialog.

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>

Nota: There is a bug in Microsoft Internet Explorer 4.01 that prevents this from working. There is no workaround. There is also a bug in Microsoft Internet Explorer 5.5 that interferes with this, which can be resolved by upgrading to Service Pack 2 or later.

Nota: If safe mode is enabled the uid of the script is added to the realm part of the WWW-Authenticate header if you set this header (used for HTTP Authentication).

See also headers_sent(), setcookie(), and the section on HTTP authentication.

Anterior | Inicio | Siguiente
getservbyport | Subir | headers_list


headers_list

(PHP 5)

headers_list -- Returns a list of response headers sent (or ready to send)

Description

array headers_list ( void )

headers_list() will return a numerically indexed array of headers to be sent to the browser / client. To determine whether or not these headers have been sent yet, use headers_sent().

Ejemplo 1. Examples using headers_list()

<?php

/* setcookie() will add a response header on its own */
setcookie('foo', 'bar');

/* Define a custom response header
   This will be ignored by most clients */
header("X-Sample-Test: foo");

/* Specify plain text content in our response */
header('Content-type: text/plain');

/* What headers are going to be sent? */
var_dump(headers_list());

?>

this will output :

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

See Also:
headers_sent(),
header(), and
setcookie().

Anterior | Inicio | Siguiente
header | Subir | headers_sent


headers_sent

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

headers_sent -- Checks if or where headers have been sent

Description

bool headers_sent ( [string &file [, int &line]] )

headers_sent() will return FALSE if no HTTP headers have already been sent or TRUE otherwise. If the optional file and line parameters are set, headers_sent() will put the PHP source file name and line number where output started in the file and line variables.

You can't add any more header lines using the header() function once the header block has already been sent. Using this function you can at least prevent getting HTTP header related error messages. Another option is to use Output Buffering.

Nota: The optional file and line parameters were added in PHP 4.3.0.

Ejemplo 1. Examples using headers_sent()

<?php

// If no headers are sent, send one
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// You would most likely trigger an error here.
} else {

    echo "Headers already sent in $filename on line $linenum\n" .
          "Cannot redirect, for now please click this <a " .
          "href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>

See also ob_start(), trigger_error(), and header() for a more detailed discussion of the matters involved.

Anterior | Inicio | Siguiente
headers_list | Subir | inet_ntop


setcookie

(PHP 3, PHP 4, PHP 5)

setcookie -- Send a cookie

Description

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )

setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script (this is a protocol restriction). This requires that you place calls to this function prior to any output, including <html> and <head> tags as well as any whitespace. If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.

Nota: As of PHP 4, you can use output buffering to send output prior to the call of this function, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

All the arguments except the name argument are optional. You may also replace an argument with an empty string ("") in order to skip that argument. Because the expire argument is integer, it cannot be skipped with an empty string, use a zero (0) instead. The following table explains each parameter of the setcookie() function, be sure to read the Netscape cookie specification for specifics on how each setcookie() parameter works and RFC 2965 for additional information on how HTTP cookies work.

Tabla 1. setcookie() parameters explained

Parameter | Description | Examples
name | The name of the cookie. | 'cookiename' is called as $_COOKIE['cookiename']
value | The value of the cookie. This value is stored on the clients computer; do not store sensitive information. | Assuming the name is 'cookiename', this value is retrieved through $_COOKIE['cookiename']
expire | The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). | time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).
path | The path on the server in which the cookie will be available on. | If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
domain | The domain that the cookie is available. | To make the cookie available on all subdomains of example.com then you'd set it to '.example.com'. The . is not required but makes it compatible with more browsers. Setting it to www.example.com will make the cookie only available in the www subdomain. Refer to tail matching in the spec for details.
secure | Indicates that the cookie should only be transmitted over a secure HTTPS connection. When set to TRUE, the cookie will only be set if a secure connection exists. The default is FALSE. | TRUE or FALSE
httponly | When TRUE the cookie will be made accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectly help to reduce identity theft through XSS attacks (although it is not supported by all browsers). Added in PHP 5.2.0. | TRUE or FALSE

Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays. Note, superglobals such as $_COOKIE became available in PHP 4.1.0. $HTTP_COOKIE_VARS has existed since PHP 3. Cookie values also exist in $_REQUEST.

Nota: If the PHP directive register_globals is set to on then cookie values will also be made into variables. In our examples below, $TestCookie will exist. It's recommended to use $_COOKIE.

Common Pitfalls:

  • Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.

  • Cookies must be deleted with the same parameters as they were set with. If the value argument is an empty string, or FALSE, and all other arguments match a previous call to setcookie, then the cookie with the specified name will be deleted from the remote client.

  • Because setting a cookie with a value of FALSE will try to delete the cookie, you should not use boolean values. Instead, use 0 for FALSE and 1 for TRUE.

  • Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the users system. Consider explode() to set one cookie with multiple names and values. It is not recommended to use serialize() for this purpose, because it can result in security holes.

In PHP 3, multiple calls to setcookie() in the same script will be performed in reverse order. If you are trying to delete one cookie before inserting another you should put the insert before the delete. As of PHP 4, multiple calls to setcookie() are performed in the order called.

Some examples follow how to send cookies:

Ejemplo 1. setcookie() send example

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Note that the value portion of the cookie will automatically be urlencoded when you send the cookie, and when it is received, it is automatically decoded and assigned to a variable by the same name as the cookie name. If you don't want this, you can use setrawcookie() instead if you are using PHP 5. To see the contents of our test cookie in a script, simply use one of the following examples:

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>

When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser. Examples follow how to delete cookies sent in previous example:

Ejemplo 2. setcookie() delete example

<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

You may also set array cookies by using array notation in the cookie name. This has the effect of setting as many cookies as you have array elements, but when the cookie is received by your script, the values are all placed in an array with the cookie's name:

Ejemplo 3. setcookie() and arrays

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        echo "$name : $value <br />\n";
    }
}
?>

which prints

three : cookiethree
two : cookietwo
one : cookieone

Nota: The following RFC's may also be useful: RFC 2109 and RFC 2695

You may notice the expire parameter takes on a Unix timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS GMT, this is because PHP does this conversion internally.

expire is compared to the client's time which can differ from server's time.

Nota: Microsoft Internet Explorer 4 with Service Pack 1 applied does not correctly deal with cookies that have their path parameter set.

Netscape Communicator 4.05 and Microsoft Internet Explorer 3.x appear to handle cookies incorrectly when the path and time are not set.

See also header(), setrawcookie() and the cookies section.

Anterior | Inicio | Siguiente
pfsockopen | Subir | setrawcookie


setrawcookie

(PHP 5)

setrawcookie -- Send a cookie without urlencoding the cookie value

Description

bool setrawcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )

setrawcookie() is exactly the same as setcookie() except that the cookie value will not be automatically urlencoded when sent to the browser.

Nota: The httponly parameter was added in PHP 5.2.0.

See also header(), setcookie() and the cookies section.

Anterior | Inicio | Siguiente
setcookie | Subir | socket_get_status


hw_Array2Objrec

(PHP 3 >= 3.0.4, PHP 4, PECL)

hw_Array2Objrec -- Convierte atributos de tabla de objeto a registro de objeto

Descripción

string hw_array2objrec ( array tabla_objetos )

Convierte una tabla_objetos en un registro de objeto. Los atributos múltiples como 'Título' en distintos idiomas son tratados correctamente.

Vea también hw_objrec2array().

Anterior | Inicio | Siguiente
Funciones para Hyperwave | Subir | hw_changeobject


hw_changeobject

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_changeobject -- Modifica los atributos de un objeto (obsoleta)

Description

bool hw_changeobject ( int link, int objid, array attributes )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_Array2Objrec | Subir | hw_Children


hw_Children

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Children -- Id de objeto de los hijos

Descripción

array hw_children ( int conexión, int IDobjeto )

Devuelve una tabla de id de objeto. Cada uno de ellos pertenece a un hijo de la colección cuyo ID es IDobjeto. La tabla contiene tanto los documentos como las colecciones hijas.

Anterior | Inicio | Siguiente
hw_changeobject | Subir | hw_ChildrenObj


hw_ChildrenObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_ChildrenObj -- Registros de objeto de los hijos

Descripción

array hw_childrenobj ( int conexión, int IDobjeto )

Devuelve una tabla de registros de objeto. Cada uno de ellos pertenece a un hijo de la colección cuyo ID es IDobjeto. La tabla contiene tanto los documentos como las colecciones hijas.

Anterior | Inicio | Siguiente
hw_Children | Subir | hw_Close


hw_Close

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Close -- Cierra la conexión Hyperwave

Descripción

bool hw_close ( int conexión )

Devuelve FALSE si la conexión no es un índice válido de conexión, y TRUE en caso contrario. Cierra la conexión dada con el servidor de Hyperwave.

Anterior | Inicio | Siguiente
hw_ChildrenObj | Subir | hw_Connect


hw_Connect

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Connect -- Abre una conexión

Descripción

int hw_connect ( string servidor, int puerto [, string usuario, string clave] )

Abre una conexión con un servidor Hyperwave y devuelve un índice de conexión si hay éxito, o FALSE si la conexión no se pudo realizar. Cada argumento debe ser una cadena entrecomillada salvo el número de puerto. Los argumentos de usuario y clave son opcionales y pueden omitirse. En tal caso no se realizará identificación alguna con el servidor. Es similar a identificarse como el usuario 'anonymous'. Esta función devuelve un índice de conexión que se necesita para otras funciones Hyperwave. Puede tener varias conexiones abiertas a la vez. Recuerde que la clave no está encriptada.

Vea también hw_pconnect().

Anterior | Inicio | Siguiente
hw_Close | Subir | hw_connection_info


hw_connection_info

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_connection_info -- Muestra información sobre la conexión con un servidor Hyperwave

Descripción

void hw_connection_info ( int link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_Connect | Subir | hw_cp


hw_cp

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_cp -- Copia objetos

Descripción

int hw_cp ( int conexión, array tabla_id_objeto, int id destino )

Copia los objetos cuyos id se especifican en el segundo parámetro a la colección identificada como id destino.

El valor devuelto es el número de objetos copiados.

Vea también hw_mv().

Anterior | Inicio | Siguiente
hw_connection_info | Subir | hw_Deleteobject


hw_Deleteobject

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Deleteobject -- Borra objetos

Descripción

bool hw_deleteobject ( int conexión, int objeto_a_borrar )

Borra el objeto con el id dado como segundo parámetro. Borrará todas las instancias del mismo.

Devuelve TRUE si no hay error o FALSE en caso contrario.

Vea también hw_mv().

Anterior | Inicio | Siguiente
hw_cp | Subir | hw_DocByAnchor


hw_DocByAnchor

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_DocByAnchor -- Id del objeto al que pertenece un enlace

Descripción

int hw_docbyanchor ( int conexión, int IDenlace )

Devuelve el id de objeto del documento al que pertenece el IDenlace.

Anterior | Inicio | Siguiente
hw_Deleteobject | Subir | hw_DocByAnchorObj


hw_DocByAnchorObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_DocByAnchorObj -- Registro de objeto al que pertenece un enlace

Descripción

string hw_docbyanchorobj ( int conexión, int IDenlace )

Devuelve el registro de objeto del documento al que pertenece el IDenlace.

Anterior | Inicio | Siguiente
hw_DocByAnchor | Subir | hw_Document_Attributes


hw_Document_Attributes

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Document_Attributes -- Registro de objeto de hw_document

Descripción

string hw_document_attributes ( int hw_document )

Devuelve el registro de objeto del documento.

Por retrocompatibilidad, también se puede emplear la función hw_documentattributes(), aunque está obsoleta.

Vea también hw_document_bodytag() y hw_document_size().

Anterior | Inicio | Siguiente
hw_DocByAnchorObj | Subir | hw_Document_BodyTag


hw_Document_BodyTag

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Document_BodyTag -- Body tag of hw_document

Description

string hw_document_bodytag ( int hw_document [, string prefix] )

Returns the BODY tag of the document. If the document is an HTML document the BODY tag should be printed before the document.

See also hw_document_attributes(), and hw_document_size().

For backward compatibility, hw_documentbodytag() is also accepted. This is deprecated, however.

Anterior | Inicio | Siguiente
hw_Document_Attributes | Subir | hw_Document_Content


hw_Document_Content

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Document_Content -- Returns content of hw_document

Description

string hw_document_content ( int hw_document )

Returns the content of the document. If the document is an HTML document the content is everything after the BODY tag. Information from the HEAD and BODY tag is in the stored in the object record.

See also hw_document_attributes(),
hw_document_size(),
and hw_document_setcontent().

Anterior | Inicio | Siguiente
hw_Document_BodyTag | Subir | hw_Document_SetContent


hw_Document_SetContent

(PHP 4, PECL)

hw_Document_SetContent -- Sets/replaces content of hw_document

Description

bool hw_document_setcontent ( int hw_document, string content )

Sets or replaces the content of the document. If the document is an HTML document the content is everything after the BODY tag. Information from the HEAD and BODY tag is in the stored in the object record. If you provide this information in the content of the document too, the Hyperwave server will change the object record accordingly when the document is inserted. Probably not a very good idea. If this functions fails the document will retain its old content.

See also hw_document_attributes(),
hw_document_size(),
and hw_document_content().

Anterior | Inicio | Siguiente
hw_Document_Content | Subir | hw_Document_Size


hw_Document_Size

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Document_Size -- Size of hw_document

Description

int hw_document_size ( int hw_document )

Returns the size in bytes of the document.

See also hw_document_bodytag(), and hw_document_attributes().

For backward compatibility, hw_documentsize() is also accepted. This is deprecated, however.

Anterior | Inicio | Siguiente
hw_Document_SetContent | Subir | hw_dummy


hw_dummy

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_dummy -- Hyperwave dummy function

Description

string hw_dummy ( int link, int id, int msgid )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_Document_Size | Subir | hw_EditText


hw_EditText

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_EditText -- Recupera documento de texto

Descripción

bool hw_edittext ( int conexión, int documento_hw )

Envía el documento de texto al servidor. El registro de objeto del documento no puede ser modificado mientras el documento es editado. Esta función sólo funcionará para objetos puros de texto. No abrirá ninguna conexión especial de datos y por tanto bloquea la conexión de control durante la transferencia.

Vea también hw_pipedocument(),
hw_FreeDocument(),
hw_DocumentBodyTag(),
hw_DocumentSize(),
hw_OutputDocument() y
hw_GetText().

Anterior | Inicio | Siguiente
hw_dummy | Subir | hw_Error


hw_Error

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Error -- Número de error

Descripción

int hw_error ( int conexión )

Devuelve el último número de error. Si el valor devuelto es 0 no ha habido errores. El error está relacionado con el último comando.

Anterior | Inicio | Siguiente
hw_EditText | Subir | hw_ErrorMsg


hw_ErrorMsg

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_ErrorMsg -- Devuelve un mensaje de error

Descripción

string hw_errormsg ( int conexión )

Devuelve una cadena que contiene el último mensaje de error o 'No Error'. Si devuelve FALSE es que la función fracasó. El mensaje está relacionado con el último comando.

Anterior | Inicio | Siguiente
hw_Error | Subir | hw_Free_Document


hw_Free_Document

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Free_Document -- Libera un documento_hw

Descripción

bool hw_free_document ( int documento_hw )

Libera la memoria ocupada por el documento Hyperwave.

Anterior | Inicio | Siguiente
hw_ErrorMsg | Subir | hw_GetAnchors


hw_GetAnchors

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetAnchors -- Id de objeto de los enlaces de un documento

Descripción

array hw_getanchors ( int conexión, int IDobjeto )

Devuelve una tabla de id de objeto con los enlaces del documento cuyo ID es IDobjeto.

Anterior | Inicio | Siguiente
hw_Free_Document | Subir | hw_GetAnchorsObj


hw_GetAnchorsObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetAnchorsObj -- Registros de objeto de los enlaces de un documento

Descripción

array hw_getanchorsobj ( int conexión, int IDobjeto )

Devuelve una tabla de registros de objeto con los enlaces del documento cuyo ID es IDobjeto.

Anterior | Inicio | Siguiente
hw_GetAnchors | Subir | hw_GetAndLock


hw_GetAndLock

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetAndLock -- Devuelve registro de objeto y lo bloquea

Descripción

string hw_getandlock ( int conexión, int IDobjeto )

Devuelve el registro de objeto para el objeto con ID IDobjeto. También bloqueará el objeto, de modo que otros usuarios no podrán acceder al mismo hasta que sea desbloqueado.

Vea también hw_unlock() y hw_getobject().

Anterior | Inicio | Siguiente
hw_GetAnchorsObj | Subir | hw_GetChildColl


hw_GetChildColl

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetChildColl -- Id de objeto de colecciones hijas

Descripción

array hw_getchildcoll ( int conexión, int IDobjeto )

Devuelve una tabla de id de objeto. Cada ID de objeto pertenece a una colección hija de la colección con ID IDobjeto. La función no devolverá documentos hijos.

Vea también hw_getchildren() y hw_getchilddoccoll().

Anterior | Inicio | Siguiente
hw_GetAndLock | Subir | hw_GetChildCollObj


hw_GetChildCollObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetChildCollObj -- Registros de objeto de colecciones hijas

Descripción

array hw_getchildcollobj ( int conexión, int IDobjeto )

Devuelve una tabla de registros de objeto. Cada uno de ellos pertenece a una colección hija de la colección con ID IDobjeto. La función no devolverá documentos hijos.

Vea también hw_childrenobj() y hw_getchilddoccollobj().

Anterior | Inicio | Siguiente
hw_GetChildColl | Subir | hw_GetChildDocColl


hw_GetChildDocColl

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetChildDocColl -- Id de objeto de documentos hijos de una colección

Descripción

array hw_getchilddoccoll ( int conexión, int IDobjeto )

Devuelve una tabla de id de objeto para los documentos hijos de una colección.

Vea también hw_getchildren() y hw_getchildcoll().

Anterior | Inicio | Siguiente
hw_GetChildCollObj | Subir | hw_GetChildDocCollObj


hw_GetChildDocCollObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetChildDocCollObj -- Registros de objeto de documentos hijos de una colección

Descripción

array hw_getchilddoccollobj ( int conexión, int IDobjeto )

Devuelve una tabla de registros de objeto para los documentos hijos de una colección.

Vea también hw_childrenobj() y hw_getchildcollobj().

Anterior | Inicio | Siguiente
hw_GetChildDocColl | Subir | hw_GetObject


hw_GetObject

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetObject -- Registro de objeto

Descripción

mixed hw_getobject ( int conexión, mixed IDobjeto [, string consulta] )

Devuelve el registro de objeto para el objeto cuyo ID es IDobjeto si el segundo parámetro es un entero. Si es una tabla la función devolverá una tabla de registros de objeto. En tal caso, el último parámetro, que es una cadena de consulta, también es evaluado.

La cadena de consulta tiene la sintáxis siguiente:

<expr> ::= "(" <expr> ")" |

"!" <expr> | /* NO */

<expr> "||" <expr> | /* O */

<expr> "&&" <expr> | /* Y */

<atributo> <operador> <valor>

<atributo> ::= /* cualquier atributo (Título, Autor, TipoDocumento ...) */

<operador> ::= "=" | /* igual */

"<" | /* menor que (comparación de cadenas) */

">" | /* mayor que (comparación de cadenas) */

"~" /* expresión regular */

La consulta permite seleccionar elementos de la lista de objetos dada. Al contrario de otras funciones de búsqueda, esta consulta no puede utilizar atributos indizados. El número de registros de objeto devueltos depende de la consulta y de si está permitido el acceso al objeto.

Vea también hw_getandlock() y hw_getobjectbyquery().

Anterior | Inicio | Siguiente
hw_GetChildDocCollObj | Subir | hw_GetObjectByQuery


hw_GetObjectByQuery

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetObjectByQuery -- Buscar objeto

Descripción

array hw_getobjectbyquery ( int conexión, string consulta, int max_resultados )

Busca objetos en todo el servidor y devuelve una tabla de id de objeto. El número máximo de resultados será max_resultados. Si max_resultados vale -1, el número máximo de resultados es ilimitado.

La consulta funcionará sólo con atributos indizados.

Vea también hw_getobjectbyqueryobj().

Anterior | Inicio | Siguiente
hw_GetObject | Subir | hw_GetObjectByQueryColl


hw_GetObjectByQueryColl

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetObjectByQueryColl -- Buscar objeto en colección

Descripción

array hw_getobjectbyquerycoll ( int conexión, int IDobjeto, string consulta, int max_resultados )

Busca objetos en la colección cuyo ID es IDobjeto y devuelve una tabla de ID de objeto. El número máximo de resultados será max_resultados. Si max_resultados vale -1, el número máximo de resultados es ilimitado.

La consulta funcionará sólo con atributos indizados.

Vea también hw_getobjectbyquerycollobj().

Anterior | Inicio | Siguiente
hw_GetObjectByQuery | Subir | hw_GetObjectByQueryCollObj


hw_GetObjectByQueryCollObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetObjectByQueryCollObj -- Buscar objeto en colección

Descripción

array hw_getobjectbyquerycollobj ( int conexión, int IDobjeto, string consulta, int max_resultados )

Busca objetos en la colección cuyo ID es IDobjeto y devuelve una tabla de registros de objeto. El número máximo de resultados será max_resultados. Si max_resultados vale -1, el número máximo de resultados es ilimitado.

La consulta funcionará sólo con atributos indizados.

Vea también hw_getobjectbyquerycoll().

Anterior | Inicio | Siguiente
hw_GetObjectByQueryColl | Subir | hw_GetObjectByQueryObj


hw_GetObjectByQueryObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetObjectByQueryObj -- Buscar objeto

Descripción

array hw_getobjectbyqueryobj ( int conexión, string consulta, int max_resultados )

Busca objetos en todo el servidor y devuelve una tabla de registros de objeto. El número máximo de resultados será max_resultados. Si max_resultados vale -1, el número máximo de resultados es ilimitado.

La consulta funcionará sólo con atributos indizados.

Vea también hw_getobjectbyquery().

Anterior | Inicio | Siguiente
hw_GetObjectByQueryCollObj | Subir | hw_GetParents


hw_GetParents

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetParents -- Id de objeto de los padres

Descripción

array hw_getparents ( int conexión, int IDobjeto )

Devuelve una tabla indizada de id de objeto. Cada una pertenece a un padre del objeto con ID IDobjeto.

Anterior | Inicio | Siguiente
hw_GetObjectByQueryObj | Subir | hw_GetParentsObj


hw_GetParentsObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetParentsObj -- Registros de objeto de los padres

Descripción

array hw_getparentsobj ( int conexión, int IDobjeto )

Devuelve una tabla indizada de registros de objeto junto a una tabla asociativa con información estadística sobre estos. La tabla asociativa es el último elemento de la tabla devuelta. Cada registro de objeto pertenece a un padre del objeto con ID IDobjeto.

Anterior | Inicio | Siguiente
hw_GetParents | Subir | hw_getrellink


hw_getrellink

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_getrellink -- Get link from source to dest relative to rootid

Description

string hw_getrellink ( int link, int rootid, int sourceid, int destid )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_GetParentsObj | Subir | hw_GetRemote


hw_GetRemote

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetRemote -- Obtiene un documento remoto

Descripción

int hw_getremote ( int conexión, int IDobjeto )

Devuelve un documento remoto. Los documentos remotos en la notación de Hyperwave son los obtenidos de una fuente externa. Los documentos remotos típicos son páginas web externas o consultas a bases de datos. Para poder acceder a las fuentes externas a través de documentos remotos, el Hyperwave presenta el HGI (Hyperwave Gateway Interface - Interfaz de Pasarela de Hyperwave) que es similar al CGI. Actualmente, sólo se puede acceder a servidores ftp y http y a algunas bases de datos. Llamar a hw_getremote() devuelve el documento de la fuente externa. Si desea usar esta función debe familiarizarse con los HGI. Debería considerar el usar PHP en lugar del Hyperwave para acceder a fuentes externas. Añadir soporte de bases de datos a través de una pasarela Hyperwave sería más difícil que hacerlo en PHP.

Vea también hw_getremotechildren().

Anterior | Inicio | Siguiente
hw_getrellink | Subir | hw_GetRemoteChildren


hw_GetRemoteChildren

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetRemoteChildren -- Obtiene el hijo del documento remoto

Descripción

mixed hw_getremotechildren ( int conexión, string registro de objeto )

Devuelve el hijo de un documento remoto. Los hijos de documentos remotos son en sí mismos documentos remotos. Esto tiene sentido cuando se afina una consulta de bases de datos y se explica en la Guía de Programación de Hyperwave. Si el número de hijos es 1 la función devolverá el documento en sí mismo formateado con la Interfaz de Pasarela de Hyperwave (HGI). Si el número de hijos es mayor de 1 devolverá una tabla de registros de objeto, con cada uno posible candidato para otra llamada a hw_getremotechildren(). Dichos registros de objeto son virtuales y no existen en el servidor Hyperwave, y por lo tanto no poseen un ID de objeto válido. La apariencia exacta de dicho registro de objeto depende del HGI. Si desea usar esta función deberá estar muy familiarizado con los HGI. También debería considerar el uso del PHP en lugar de Hyperwave para acceder a fuentes externas. Añadir soporte de bases de datos a través de una pasarela de Hyperwave resulta más difícil que hacerlo en PHP.

Vea también hw_getremote().

Anterior | Inicio | Siguiente
hw_GetRemote | Subir | hw_GetSrcByDestObj


hw_GetSrcByDestObj

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetSrcByDestObj -- Devuelve los enlaces que apuntan al objeto

Descripción

array hw_getsrcbydestobj ( int conexión, int IDobjeto )

Devuelve los registros de objeto de todos los enlaces que apuntan al objeto con ID IDobjeto. El objeto puede ser tanto un documento como un enlace de tipo destino.

Vea también hw_getanchors().

Anterior | Inicio | Siguiente
hw_GetRemoteChildren | Subir | hw_GetText


hw_GetText

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_GetText -- Obtiene un documento de texto

Descripción

int hw_gettext ( int conexión, int IDobjeto [, mixed IDraiz/prefijo] )

Devuelve el documento con ID de objeto IDobjeto. Si el documento tiene enlaces que pueden ser insertados, serán insertados ahora. El parámetro opcional IDraiz/prefijo puede ser una cadena o un entero. Si es un entero determina la forma en que los enlaces se insertan en el documento. Por defecto es 0 y los enlaces se crean a partir del nombre del objeto de destino de los mismos. Esto es útil para aplicaciones web. Si un enlace apunta a un objeto con nombre 'pelicula_internet' el enlace HTML será <A HREF="/pelicula_internet">. La posición actual del objeto de destino en la jerarquía de documentos es despreciada. Tendrá que ajustar su navegador web para que reescriba dicho URL a, por ejemplo, '/mi_script.php3/pelicula_internet'. 'mi_script.php3' deberá evaluar $PATH_INFO y recuperar el documento. Todos los enlaces tendrán el prefijo '/mi_script.php3'. Si no desea este efecto puede fijar el parámetro opcional IDraiz/prefijo al prefijo que desee en su lugar. En este caso deberá ser una cadena.

Si el IDraiz/prefijo es un entero distinto de 0, el enlace se construye con todos los nombres de objeto comenzando con el objeto de id IDraiz/prefijo, separado por una barra relativa al objeto actual. Si por ejemplo el documento anterior 'pelicula_internet' está situado en 'a-b-c-pelicula_internet' donde '-' es el separador entre niveles jerárquicos en el servidor Hyperwave y el documento fuente está situado en 'a-b-d-fuente', el enlace HTML resultante sería: <A HREF="../c/pelicula_internet">. Esto es útil cuando desea bajarse el contenido completo del servidor al disco y mapear la jerarquía de documentos en el sistema de archivos.

Esta función sólo trabajará en documentos de texto puros. No se abrirá una conexión de datos especial y por tanto bloqueará la conexión de control durante la transferencia.

Vea también hw_pipedocument(),
hw_freedocument(),
hw_documentbodytag(),
hw_documentsize() y
hw_outputdocument().

Anterior | Inicio | Siguiente
hw_GetSrcByDestObj | Subir | hw_getusername


hw_getusername

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_getusername -- Nombre del usuario actualmente conectado

Descripción

string hw_getusername ( int conexión )

Devuelve el nombre de usuario de la conexión.

Anterior | Inicio | Siguiente
hw_GetText | Subir | hw_Identify


hw_Identify

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Identify -- Identificarse como usuario

Descripción

string hw_identify ( int enlace, string nombre, string clave )

Le identifica como el usuario nombre y clave. La identificación sólo es válida para la sesión actual. No pienso que esta función sea necesaria con mucha frecuancia. En muchos casos será más fácil identificarse al abrir la conexión.

Vea también hw_connect().

Anterior | Inicio | Siguiente
hw_getusername | Subir | hw_incollections


hw_incollections

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_incollections -- Comprueba si los id de objeto están en las colecciones

Descripción

array hw_incollections ( int conexión, array tabla_id_objeto, array tabla_id_colecciones, int colecciones_devueltas )

Comprueba si el conjunto de objetos (documentos o colecciones) especificado por el parámetro tabla_id_objeto es parte de las colecciones enumeradas en tabla_id_colecciones. Cuando el cuarto parámetro colecciones_devueltas es 0, el subconjunto de id de objeto que es parte de las colecciones (es decir, los documentos o colecciones hijos de una o más colecciones de id de colecciones o de sus subcolecciones, recursivamente) es devuelto en forma de tabla. Cuando el cuarto parámetro es 1, sin embargo, el conjunto de colecciones que tienen uno o más objetos de este subconjunto como hijos es devuelto como tabla. Esta opción permite a un cliente, p. ej., remarcar en una visualización gráfica la parte de la jerarquía de colecciones que contiene las coincidencias de una consulta previa.

Anterior | Inicio | Siguiente
hw_Identify | Subir | hw_Info


hw_Info

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Info -- Información sobre conexión

Descripción

string hw_info ( int conexión )

Devuelve información sobre la conexión actual. La cadena devuelta tiene el siguiente formato: <Cadenaservidor>, <Anfitrión>, <Puerto>, <Usuario>, <Puerto del Usuario>, <Intercambio de bytes>

Anterior | Inicio | Siguiente
hw_incollections | Subir | hw_InsColl


hw_InsColl

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_InsColl -- Insertar colección

Descripción

int hw_inscoll ( int conexión, int IDobjeto, array tabla_objetos )

Inserta una nueva colección con los atributos de la tabla_objetos en la colección cuyo ID de objeto es IDobjeto.

Anterior | Inicio | Siguiente
hw_Info | Subir | hw_InsDoc


hw_InsDoc

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_InsDoc -- Insertar documento

Descripción

int hw_insdoc ( resource conexión, int IDpadre, string registro_de_objeto [, string texto] )

Inserta un nuevo documento con los atributos del registro_de_objeto en la colección cuyo ID de objeto es IDpadre. Esta función inserta tanto un registro de objeto sólo como un registro de objeto y el texto puro en ASCII dado en texto si este es especificado. Si desea insertar un documento general de cualquier tipo, utilice en su lugar hw_insertdocument().

Vea también hw_insertdocument() y hw_inscoll().

Anterior | Inicio | Siguiente
hw_InsColl | Subir | hw_insertanchors


hw_insertanchors

(PHP 4 >= 4.0.4, PECL)

hw_insertanchors -- Inserts only anchors into text

Description

bool hw_insertanchors ( int hwdoc, array anchorecs, array dest [, array urlprefixes] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_InsDoc | Subir | hw_InsertDocument


hw_InsertDocument

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_InsertDocument -- Subir cualquier objeto

Descripción

int hw_insertdocument ( int conexión, int id_padre, int documento_hw )

Sube un documento a la colección dada por id_padre. El documento debe ser creado antes con la función hw_NewDocument(). Asegúrese que el registro de objeto del nuevo documento contenga al menos los atributos: Type, DocumentType, Title y Name (así, en inglés). Posiblemente desee fijar también el MimeType. La función devuelve la id de objeto del nuevo documento, o FALSE.

Vea también hw_pipedocument().

Anterior | Inicio | Siguiente
hw_insertanchors | Subir | hw_InsertObject


hw_InsertObject

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_InsertObject -- Inserta un registro de objeto

Descripción

int hw_insertobject ( int conexión, string reg de objeto, string parametro )

Inserta un objeto en el servidor. Este puede consistir en cualquier objeto hyperwave válido. Vea la documentación sobre el HG-CSP si desea información detallada sobre cuáles tienen que ser los parámetros.

Nota: Si se desea insertar un enlace, el atributo Position siempre se fijará a un valor comienzo/final o a 'invisible'. Las posiciones invisibles se necesitan si la anotación no tiene enlace correspondiente en el texto anotado.

Vea también hw_pipedocument(),
hw_insertdocument(),
hw_insdoc() y
hw_inscoll().

Anterior | Inicio | Siguiente
hw_InsertDocument | Subir | hw_mapid


hw_mapid

(PHP 3 >= 3.0.13, PHP 4, PECL)

hw_mapid -- Mapea in id global a un id virtual local

Descripción

int hw_mapid ( int conexión, int id servidor, int id objeto )

Mapea un id de objeto global en un servidor hyperwave, incluso con aquellos a los que no se ha conectado con hw_connect(), sobre un id virtual de objeto. Este id virtual se puede utilizar como cualquier otro id de objeto, p. ej. para obtener el registro de objeto por medio de hw_getobject(). El id de servidor es la primera parte del id global de objeto (GOid) de aquel que es realmene el número IP expresado como entero.

Nota: Para usar esta función deberá activar el indicador F_DISTRIBUTED, que actualmenes sólo se puede fijar en tiempo de compilación desde hg_comm.c. Por defecto está inactivo. Lea el comentario al principio de hg_comm.c

Anterior | Inicio | Siguiente
hw_InsertObject | Subir | hw_Modifyobject


hw_Modifyobject

(PHP 3 >= 3.0.7, PHP 4, PECL)

hw_Modifyobject -- Modifica el registro de objeto

Descripción

bool hw_modifyobject ( int conexión, int objeto_a_cambiar, array eliminar, array añadir [, int modo] )

Este comando permite eliminar, añadir, o modificar atributos individuales de un registro de objeto. El objeto está especificado por el ID de objeto objeto_a_cambiar. La primera tabla, eliminar, es la lista de atributos a eliminar. La segunda tabla, añadir, es la lista de atributos a añadir. Para modificar un atributo, hay que borrar el antiguo y añadir uno nuevo. hw_modifyobject() siempre eliminará los atributos antes de añadir los nuevos excepto si el valor del atributo a eliminar no es una cadena o una tabla.

El último parámetro determina si la modificación se realiza de manera recursiva. 1 quiere decir que sea recursiva. Si alguno de los objetos no se puede modificar, será ignorado sin avisar. Incluso hw_error() podría no indicar un error aunque alguno de los objetos no pueda ser modificado.

Las claves de ambas tablas son los nombres de los atributos. El valor de cada elemento de la tabla puede ser una tabla, una cadena o cualquier otra cosa. Si es una tabla, cada valor de atributo se construye como la clave de cada elemento más dos puntos y el valor de cada elemento. Si es una cadena se toma como valor del atributo. Una cadena vacía producirá la supresión completa del atributo. Si el valor no es ni cadena ni tabla, sino otra cosa, p. ej. un entero, no se realizará operación alguna en el atributo. Esto es necesario se desea añadir un atributo completamente nuevo, no solamente un nuevo valor para un atributo existente. Si la tabla eliminar contuviera una cadena vacía para dicho atributo, este se intentaría suprimir, lo que fallaría porque este no existe. La siguiente adición de un nuevo valor para dicho atributo también fallará. Fijando el valor para dicho atributo p. ej. a 0 hará que ni siquiera se intente eliminar, pero funcionará la adición del mismo.

Si desea cambiar el atributo 'Nombre' con el valor actual 'libros' por el de 'artículos' deberá crear dos tablas y llamar a hw_modifyobject().

Ejemplo 1. Modificando un atributo

<?php
       // $conexion es una conexi&oacute;n con el servidor Hyperwave
       // $idobj es la ID del objeto a modificar
       $tablasupr = array("Nombre" => "libros");
       $tablaanad = array("Nombre" => "art&iacute;culos");
       $hw_modifyobject($conexion, $idobj, $tablasupr, $tablaanad);
?>
Para borrar/añadir un par nombre=valor de/a el registro de objeto, simplemente pase la tabla eliminar/añadir y fije el último/tercer parámetro a tabla vacía. Si el atributo es el primero con dicho nombre que se añade, fije el valor del atributo en la tabla eliminar a un valor entero.

Ejemplo 2. Añadiendo un atributo completamente nuevo

<?php
       // $conexion es una conexi&oacute;n con el servidor Hyperwave
       // $idobj es la ID del objeto a modificar
       $tablasupr = array("Nombre" => 0);
       $tablaanad = array("Nombre" => "art&iacute;culos");
       $hw_modifyobject($conexion, $idobj, $tablasupr, $tablaanad);
?>

Nota: Los atributos plurilingües, p. ej. 'Título', se pueden modificar de dos maneras. O bien proporcionando los valores de los atributos en su forma nativa 'lenguaje':'título', bien proporcionando una tabla con los elementos para cada lenguaje según se describe más arriba. El ejemplo anterior podría quedar entonces:

Ejemplo 3. Modificando el atributo Título

<?php
       $tablasupr = array("T&iacute;tulo" => "es:Libros");
       $tablaanad = array("T&iacute;tulo" => "es:Art&iacute;culos");
       $hw_modifyobject($conexion, $idobj, $tablasupr, $tablaanad);
?>
o

Ejemplo 4. Modificando el atributo Título

<?php
       $tablasupr = array("T&iacute;tulo" => array("es" => "Libros"));
       $tablaanad = array("T&iacute;tulo" => array("es" => "Art&iacute;culos", "ge"=>"Artikel"));
       $hw_modifyobject($conexion, $idobj, $tablasupr, $tablaanad);
?>
Esto elimina el título español 'Libros' y añade el título español 'Artículos' y el título alemán 'Artikel'.

Ejemplo 5. Eliminando atributos

<?php
       $tablasupr = array("T&iacute;tulo" => "");
       $tablaanad = array("T&ntilde;itulo" => "es:Art&iacute;culos");
       $hw_modifyobject($conexion, $idobj, $tablasupr, $tablaanad);
?>

Nota: Esto eliminará todos los atributos con el nombre 'Título' y añadirá un nuevo atributo 'Título'. Esto es útil cuando se desea eliminar atributos de forma recursiva.

Nota: Si necesita eliminar todos los atributos con un cierto nombre tendrá que pasar una cadena vacía como el valor del atributo.

Nota: Sólo los atributos 'Title', 'Description' y 'Keyword' (así, en inglés) manejarán de forma apropiada el prefijo de idioma. Si estos atributos no llevaran prefijo de idioma, se les asignariá el prefijo 'xx'.

Nota: El atributo 'Name' es bastante especial. En algunos casos no puede ser completamente eliminado. Obtendrá un mensaje de error 'Change of base attribute' ('Cambio de atributo base', no está muy claro cuando ocurre). Por tanto, tendrá siempre que añadir un nuevo atributo Name primero y luego eliminar el anterior.

Nota: No debe rodear esta función de llamadas a hw_getandlock() ni a hw_unlock(). hw_modifyobject() ya lo hace internamente.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
hw_mapid | Subir | hw_Mv


hw_Mv

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Mv -- Mueve objetos

Descripción

int hw_mv ( int conexión, array tabla de id de objeto, int id origen, int id destino )

Mueve los objetos cuyas id se especifican en el segundo parámetro desde la colección con id id origen hasta la colección con el id id destino. Si el id de destino es 0, los objetos serán disociados de la colección origen. Si esta fuese la última instancia del objeto, este sería borrado. Si desea borrar todas las instancias de una vez, utilice hw_deleteobject().

El valor devuelto es el número de objetos movidos.

Vea también hw_cp() y hw_deleteobject().

Anterior | Inicio | Siguiente
hw_Modifyobject | Subir | hw_New_Document


hw_New_Document

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_New_Document -- Crear nuevo documento

Descripción

int hw_new_document ( string registro_de_objeto, string datos_documento, int tama_documento )

Devuelve un nuevo documento Hyperwave en el que los datos del documento están fijados a datos_documento y el registro de objeto a registro_de_objeto. La longitud de los datos_documento debe pasarse en tama_documento. Esta función no inserta el documento en el servidor Hyperwave.

Vea también hw_freedocument(),
hw_documentsize(),
hw_documentbodytag(),
hw_outputdocument() y
hw_insertdocument().

Anterior | Inicio | Siguiente
hw_Mv | Subir | hw_Objrec2Array


hw_Objrec2Array

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Objrec2Array -- Convierte atributos de registro de objeto a tabla de objetos

Descripción

array hw_objrec2array ( string registro_de_objeto [, array formato] )

Convierte un registro_de_objeto en una tabla de objetos. Las claves de la tabla resultante son los nombres de los atributos. Los atributos múltiples como 'Título' en distintos idiomas forman su propia tabla. Las claves de esta tabla son las partes a la izquierda de los dos puntos del valor del atributo (esta parte izquierda debe ser de 2 caracteres de longitud). Otros atributos múltiples sin prefijo forman una tabla indizada. Si no se emplea el parámetro opcional, los atributos 'Title', 'Description' y 'Keyword' (así, en inglés) se tratan como atributos de idioma y los atributos 'Group', 'Parent' y 'HtmlAttr' se tratan como atributos múltiples sin prefijo. Si se pasa una tabla que contiene los tipos para cada uno de los atributos, se puede modificar este comportamiento por defecto. La tabla es una matriz asociativa que emplea el nombre de los atributos como clave y su valor debe ser uno de los dos siguientes valores: HW_ATTR_LANG o HW_ATTR_NONE.

Vea también hw_array2objrec().

Anterior | Inicio | Siguiente
hw_New_Document | Subir | hw_Output_Document


hw_Output_Document

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Output_Document -- Prints hw_document

Description

bool hw_output_document ( int hw_document )

Prints the document without the BODY tag.

For backward compatibility, hw_outputdocument() is also accepted. This is deprecated, however.

Anterior | Inicio | Siguiente
hw_Objrec2Array | Subir | hw_pConnect


hw_pConnect

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_pConnect -- Hacer una conexión de base de datos permanente

Descripción

int hw_pconnect ( string servidor, int puerto [, string usuario, string clave] )

Devuelve un índice de conexión si hay éxito, o FALSE si la conexión no puede hacerse. Abre una conexión permanente a un servidor Hyperwave. Cada uno de los argumentos debe ser una cadena entrecomillada excepto el número de puerto. El argumento usuario y la clave son opcionales y pueden omitirse. En tal caso no se realizará ninguna identificación con el servidor. Es similar a la identificación anónima del usuario. Esta función devuelve un índice de conexión que se necesita para otras funciones de Hyperwave. Se pueden tener varias conexiones permanentes abiertas a la vez.

Vea también hw_connect().

Anterior | Inicio | Siguiente
hw_Output_Document | Subir | hw_PipeDocument


hw_PipeDocument

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_PipeDocument -- Recupera cualquier documento

Descripción

int hw_pipedocument ( int conexión, int IDobjeto [, array prefijos_url] )

Devuelve el documento Hyperwave cuyo ID de objeto es IDobjeto. Si el documento tiene enlaces que pueden ser insertados, deberán haberse insertado ya. El documento será transferido a través de una conexión de datos especial que no bloquea la conexión de control.

   Vea también hw_gettext() para saber más sobre
inserción de enlaces, hw_freedocument(),
hw_documentsize(), hw_documentbodytag() y
hw_outputdocument().

Anterior | Inicio | Siguiente
hw_pConnect | Subir | hw_Root


hw_Root

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Root -- ID del objeto raíz

Descripción

int hw_root ( )

Devuelve la ID de objeto de la colección hiper-raíz. Actualmente siempre vale 0. La colección hija de la hiper-raíz es la colección raíz del servidor al que se ha conectado.

Anterior | Inicio | Siguiente
hw_PipeDocument | Subir | hw_setlinkroot


hw_setlinkroot

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_setlinkroot -- Set the id to which links are calculated

Description

int hw_setlinkroot ( int link, int rootid )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_Root | Subir | hw_stat


hw_stat

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_stat -- Returns status string

Description

string hw_stat ( int link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
hw_setlinkroot | Subir | hw_Unlock


hw_Unlock

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Unlock -- Desbloquea objeto

Descripción

bool hw_unlock ( int conexión, int IDobjeto )

Desbloquea un documento para que otros usuarios puedan acceder al mismo de nuevo.

Vea también hw_getandlock().

Anterior | Inicio | Siguiente
hw_stat | Subir | hw_Who


hw_Who

(PHP 3 >= 3.0.3, PHP 4, PECL)

hw_Who -- Lista de los usuarios actualmente conectados

Descripción

array hw_who ( int conexión )

Devuelve una tabla de los usuarios actualmente conectados al servidor Hyperwave. Cada elemento de esta tabla contiene en sí mismo los elementos ID, nombre, sistema, onSinceDate (conectadoDesdeFecha), onSinceTime (conectadoDesdeHora), TotalTime (TiempoTotal) y self (propio). 'self' es 1 si esta línea corresponde al usuario que realizó la petición.

Anterior | Inicio | Siguiente
hw_Unlock | Subir | Hyperwave API Functions


Hyperwave API Functions

Manual de PHP
Anterior Siguiente

LVI. Hyperwave API Functions

Introducción

Hyperwave has been developed at IICM in Graz. It started with the name Hyper-G and changed to Hyperwave when it was commercialised (in 1996).

Hyperwave is not free software. The current version, 5.5, is available at http://www.hyperwave.com/. A time limited version can be ordered for free (30 days).

See also the Hyperwave module.

Hyperwave is an information system similar to a database (HIS, Hyperwave Information Server). Its focus is the storage and management of documents. A document can be any possible piece of data that may as well be stored in file. Each document is accompanied by its object record. The object record contains meta data for the document. The meta data is a list of attributes which can be extended by the user. Certain attributes are always set by the Hyperwave server, other may be modified by the user.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.2.0.

Requisitos

Since 2001 there is a Hyperwave SDK available. It supports Java, JavaScript and C++. This PHP Extension is based on the C++ interface. In order to activate the hwapi support in PHP you will have to install the Hyperwave SDK first.

Instalación

After installing the Hyperwave SDK, configure PHP with --with-hwapi[=DIR].

Integration with Apache

The integration with Apache and possible other servers is already described in the Hyperwave module which has been the first extension to connect a Hyperwave Server.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Hyperwave API configuration options

Name | Default | Changeable | Changelog
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Classes

The API provided by the HW_API extension is fully object oriented. It is very similar to the C++ interface of the Hyperwave SDK. It consist of the following classes.

  • HW_API

  • HW_API_Object

  • HW_API_Attribute

  • HW_API_Error

  • HW_API_Content

  • HW_API_Reason

Some basic classes like HW_API_String, HW_API_String_Array, etc., which exist in the Hyperwave SDK have not been implemented since PHP has powerful replacements for them.

Each class has certain method, whose names are identical to its counterparts in the Hyperwave SDK. Passing arguments to this function differs from all the other PHP extensions but is close to the C++ API of the HW SDK. Instead of passing several parameters they are all put into an associated array and passed as one parameter. The names of the keys are identical to those documented in the HW SDK. The common parameters are listed below. If other parameters are required they will be documented if needed.

  • objectIdentifier The name or id of an object, e.g. "rootcollection", "0x873A8768 0x00000002".

  • parentIdentifier The name or id of an object which is considered to be a parent.

  • object An instance of class HW_API_Object.

  • parameters An instance of class HW_API_Object.

  • version The version of an object.

  • mode An integer value determine the way an operation is executed.

  • attributeSelector Any array of strings, each containing a name of an attribute. This is used if you retrieve the object record and want to include certain attributes.

  • objectQuery A query to select certain object out of a list of objects. This is used to reduce the number of objects which was delivered by a function like hw_api->children() or hw_api->find().

Nota: Methods returning boolean can return TRUE, FALSE or HW_API_Error object.

Tabla de contenidos
hw_api_attribute->key -- Returns key of the attribute
hw_api_attribute->langdepvalue -- Returns value for a given language
hw_api_attribute->value -- Returns value of the attribute
hw_api_attribute->values -- Returns all values of the attribute
hw_api_attribute -- Creates instance of class hw_api_attribute
hw_api->checkin -- Checks in an object
hw_api->checkout -- Checks out an object
hw_api->children -- Returns children of an object
hw_api_content->mimetype -- Returns mimetype
hw_api_content->read -- Read content
hw_api->content -- Returns content of an object
hw_api->copy -- Copies physically
hw_api->dbstat -- Returns statistics about database server
hw_api->dcstat -- Returns statistics about document cache server
hw_api->dstanchors -- Returns a list of all destination anchors
hw_api->dstofsrcanchor -- Returns destination of a source anchor
hw_api_error->count -- Returns number of reasons
hw_api_error->reason -- Returns reason of error
hw_api->find -- Search for objects
hw_api->ftstat -- Returns statistics about fulltext server
hwapi_hgcsp -- Returns object of class hw_api
hw_api->hwstat -- Returns statistics about Hyperwave server
hw_api->identify -- Log into Hyperwave Server
hw_api->info -- Returns information about server configuration
hw_api->insert -- Inserts a new object
hw_api->insertanchor -- Inserts a new object of type anchor
hw_api->insertcollection -- Inserts a new object of type collection
hw_api->insertdocument -- Inserts a new object of type document
hw_api->link -- Creates a link to an object
hw_api->lock -- Locks an object
hw_api->move -- Moves object between collections
hw_api_content -- Create new instance of class hw_api_content
hw_api_object->assign -- Clones object
hw_api_object->attreditable -- Checks whether an attribute is editable
hw_api_object->count -- Returns number of attributes
hw_api_object->insert -- Inserts new attribute
hw_api_object -- Creates a new instance of class hw_api_object
hw_api_object->remove -- Removes attribute
hw_api_object->title -- Returns the title attribute
hw_api_object->value -- Returns value of attribute
hw_api->object -- Retrieve attribute information
hw_api->objectbyanchor -- Returns the object an anchor belongs to
hw_api->parents -- Returns parents of an object
hw_api_reason->description -- Returns description of reason
hw_api_reason->type -- Returns type of reason
hw_api->remove -- Delete an object
hw_api->replace -- Replaces an object
hw_api->setcommittedversion -- Commits version other than last version
hw_api->srcanchors -- Returns a list of all source anchors
hw_api->srcsofdst -- Returns source of a destination object
hw_api->unlock -- Unlocks a locked object
hw_api->user -- Returns the own user object
hw_api->userlist -- Returns a list of all logged in users

Anterior | Inicio | Siguiente
hw_Who | Subir | hw_api_attribute->key


hw_api_attribute->key

(no version information, might be only in CVS)

hw_api_attribute->key -- Returns key of the attribute

Description

string hw_api_attribute->key ( void )

Returns the name of the attribute.

See also hwapi_attribute_value().

Anterior | Inicio | Siguiente
Hyperwave API Functions | Subir | hw_api_attribute->langdepvalue


hw_api_attribute->langdepvalue

(no version information, might be only in CVS)

hw_api_attribute->langdepvalue -- Returns value for a given language

Description

string hw_api_attribute->langdepvalue ( string language )

Returns the value in the given language of the attribute.

See also hwapi_attribute_value().

Anterior | Inicio | Siguiente
hw_api_attribute->key | Subir | hw_api_attribute->value


hw_api_attribute->value

(no version information, might be only in CVS)

hw_api_attribute->value -- Returns value of the attribute

Description

string hw_api_attribute->value ( void )

Returns the value of the attribute.

See also hwapi_attribute_key(), hwapi_attribute_values().

Anterior | Inicio | Siguiente
hw_api_attribute->langdepvalue | Subir | hw_api_attribute->values


hw_api_attribute->values

(no version information, might be only in CVS)

hw_api_attribute->values -- Returns all values of the attribute

Description

array hw_api_attribute->values ( void )

Returns all values of the attribute as an array of strings.

See also hwapi_attribute_value().

Anterior | Inicio | Siguiente
hw_api_attribute->value | Subir | hw_api_attribute


hw_api_attribute

(no version information, might be only in CVS)

hw_api_attribute -- Creates instance of class hw_api_attribute

Description

HW_API_Attribute hw_api_attribute ( [string name [, string value]] )

Creates a new instance of hw_api_attribute with the given name and value.

Anterior | Inicio | Siguiente
hw_api_attribute->values | Subir | hw_api->checkin


hw_api->checkin

(no version information, might be only in CVS)

hw_api->checkin -- Checks in an object

Description

bool hw_api->checkin ( array parameter )

This function checks in an object or a whole hierarchy of objects. The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'comment', 'mode' and 'objectQuery'. 'version' sets the version of the object. It consists of the major and minor version separated by a period. If the version is not set, the minor version is incremented. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL

Checks in and commits the object. The object must be a document.

HW_API_CHECKIN_RECURSIVE

If the object to check in is a collection, all children will be checked in recursively if they are documents. Trying to check in a collection would result in an error.

HW_API_CHECKIN_FORCE_VERSION_CONTROL

Checks in an object even if it is not under version control.

HW_API_CHECKIN_REVERT_IF_NOT_CHANGED

Check if the new version is different from the last version. Unless this is the case the object will be checked in.

HW_API_CHECKIN_KEEP_TIME_MODIFIED

Keeps the time modified from the most recent object.

HW_API_CHECKIN_NO_AUTO_COMMIT

The object is not automatically committed on check-in.

See also hwapi_checkout().

Anterior | Inicio | Siguiente
hw_api_attribute | Subir | hw_api->checkout


hw_api->checkout

(no version information, might be only in CVS)

hw_api->checkout -- Checks out an object

Description

bool hw_api->checkout ( array parameter )

This function checks out an object or a whole hierarchy of objects. The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'mode' and 'objectQuery'. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL

Checks out an object. The object must be a document.

HW_API_CHECKIN_RECURSIVE

If the object to check out is a collection, all children will be checked out recursively if they are documents. Trying to check out a collection would result in an error.

See also hwapi_checkin().

Anterior | Inicio | Siguiente
hw_api->checkin | Subir | hw_api->children


hw_api->children

(no version information, might be only in CVS)

hw_api->children -- Returns children of an object

Description

array hw_api->children ( array parameter )

Retrieves the children of a collection or the attributes of a document. The children can be further filtered by specifying an object query. The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

The return value is an array of objects of type HW_API_Object or HW_API_Error.

See also hwapi_parents().

Anterior | Inicio | Siguiente
hw_api->checkout | Subir | hw_api_content->mimetype


hw_api_content->mimetype

(no version information, might be only in CVS)

hw_api_content->mimetype -- Returns mimetype

Description

string hw_api_content->mimetype ( void )

Returns the mimetype of the content.

Anterior | Inicio | Siguiente
hw_api->children | Subir | hw_api_content->read


hw_api_content->read

(no version information, might be only in CVS)

hw_api_content->read -- Read content

Description

string hw_api_content->read ( string buffer, int len )

Reads len bytes from the content into the given buffer.

Anterior | Inicio | Siguiente
hw_api_content->mimetype | Subir | hw_api->content


hw_api->content

(no version information, might be only in CVS)

hw_api->content -- Returns content of an object

Description

HW_API_Content hw_api->content ( array parameter )

This function returns the content of a document as an object of type hw_api_content. The parameter array contains the required elements 'objectidentifier' and the optional element 'mode'. The mode can be one of the constants HW_API_CONTENT_ALLLINKS, HW_API_CONTENT_REACHABLELINKS or HW_API_CONTENT_PLAIN. HW_API_CONTENT_ALLLINKS means to insert all anchors even if the destination is not reachable. HW_API_CONTENT_REACHABLELINKS tells hw_api_content() to insert only reachable links and HW_API_CONTENT_PLAIN will lead to document without any links.

Anterior | Inicio | Siguiente
hw_api_content->read | Subir | hw_api->copy


hw_api->copy

(no version information, might be only in CVS)

hw_api->copy -- Copies physically

Description

hw_api_object hw_api->copy ( array parameter )

This function will make a physical copy including the content if it exists and returns the new object or an error object. The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. The optional parameter is 'attributeSelector'`

See also hwapi_move(), hwapi_link().

Anterior | Inicio | Siguiente
hw_api->content | Subir | hw_api->dbstat


hw_api->dbstat

(no version information, might be only in CVS)

hw_api->dbstat -- Returns statistics about database server

Description

hw_api_object hw_api->dbstat ( array parameter )

See also hwapi_dcstat(),
         hwapi_hwstat(),
         hwapi_ftstat().

Anterior | Inicio | Siguiente
hw_api->copy | Subir | hw_api->dcstat


hw_api->dcstat

(no version information, might be only in CVS)

hw_api->dcstat -- Returns statistics about document cache server

Description

hw_api_object hw_api->dcstat ( array parameter )

See also hwapi_hwstat(),
         hwapi_dbstat(),
         hwapi_ftstat().

Anterior | Inicio | Siguiente
hw_api->dbstat | Subir | hw_api->dstanchors


hw_api->dstanchors

(no version information, might be only in CVS)

hw_api->dstanchors -- Returns a list of all destination anchors

Description

array hw_api->dstanchors ( array parameter )

Retrieves all destination anchors of an object. The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

See also hwapi_srcanchors().

Anterior | Inicio | Siguiente
hw_api->dcstat | Subir | hw_api->dstofsrcanchor


hw_api->dstofsrcanchor

(no version information, might be only in CVS)

hw_api->dstofsrcanchor -- Returns destination of a source anchor

Description

hw_api_object hw_api->dstofsrcanchor ( array parameter )

Retrieves the destination object pointed by the specified source anchors. The destination object can either be a destination anchor or a whole document. The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

See also hwapi_srcanchors(),
         hwapi_dstanchors(),
         hwapi_objectbyanchor().

Anterior | Inicio | Siguiente
hw_api->dstanchors | Subir | hw_api_error->count


hw_api_error->count

(no version information, might be only in CVS)

hw_api_error->count -- Returns number of reasons

Description

int hw_api_error->count ( void )

Returns the number of error reasons.

See also hwapi_error_reason().

Anterior | Inicio | Siguiente
hw_api->dstofsrcanchor | Subir | hw_api_error->reason


hw_api_error->reason

(no version information, might be only in CVS)

hw_api_error->reason -- Returns reason of error

Description

HW_API_Reason hw_api_error->reason ( void )

Returns the first error reason.

See also hwapi_error_count().

Anterior | Inicio | Siguiente
hw_api_error->count | Subir | hw_api->find


hw_api->find

(no version information, might be only in CVS)

hw_api->find -- Search for objects

Description

array hw_api->find ( array parameter )

This functions searches for objects either by executing a key or/and full text query. The found objects can further be filtered by an optional object query. They are sorted by their importance. The second search operation is relatively slow and its result can be limited to a certain number of hits. This allows to perform an incremental search, each returning just a subset of all found documents, starting at a given index. The parameter array contains the 'keyquery' or/and 'fulltextquery' depending on who you would like to search. Optional parameters are 'objectquery', 'scope', 'languages' and 'attributeselector'. In case of an incremental search the optional parameters 'startIndex', numberOfObjectsToGet' and 'exactMatchUnit' can be passed.

Anterior | Inicio | Siguiente
hw_api_error->reason | Subir | hw_api->ftstat


hw_api->ftstat

(no version information, might be only in CVS)

hw_api->ftstat -- Returns statistics about fulltext server

Description

hw_api_object hw_api->ftstat ( array parameter )

See also hwapi_dcstat(),
         hwapi_dbstat(),
         hwapi_hwstat().

Anterior | Inicio | Siguiente
hw_api->find | Subir | hwapi_hgcsp


hwapi_hgcsp

(no version information, might be only in CVS)

hwapi_hgcsp -- Returns object of class hw_api

Description

HW_API hwapi_hgcsp ( string hostname [, int port] )

Opens a connection to the Hyperwave server on host hostname. The protocol used is HGCSP. If you do not pass a port number, 418 is used.

See also hwapi_hwtp().

Anterior | Inicio | Siguiente
hw_api->ftstat | Subir | hw_api->hwstat


hw_api->hwstat

(no version information, might be only in CVS)

hw_api->hwstat -- Returns statistics about Hyperwave server

Description

hw_api_object hw_api->hwstat ( array parameter )

See also hwapi_dcstat(),
         hwapi_dbstat(),
         hwapi_ftstat().

Anterior | Inicio | Siguiente
hwapi_hgcsp | Subir | hw_api->identify


hw_api->identify

(no version information, might be only in CVS)

hw_api->identify -- Log into Hyperwave Server

Description

bool hw_api->identify ( array parameter )

Logs into the Hyperwave Server. The parameter array must contain the elements 'username' and 'password'.

The return value will be an object of type HW_API_Error if identification failed or TRUE if it was successful.

Anterior | Inicio | Siguiente
hw_api->hwstat | Subir | hw_api->info


hw_api->info

(no version information, might be only in CVS)

hw_api->info -- Returns information about server configuration

Description

array hw_api->info ( array parameter )

See also hwapi_dcstat(),
         hwapi_dbstat(),
         hwapi_ftstat(),
         hwapi_hwstat().

Anterior | Inicio | Siguiente
hw_api->identify | Subir | hw_api->insert


hw_api->insert

(no version information, might be only in CVS)

hw_api->insert -- Inserts a new object

Description

hw_api_object hw_api->insert ( array parameter )

Insert a new object. The object type can be user, group, document or anchor. Depending on the type other object attributes has to be set. The parameter array contains the required elements 'object' and 'content' (if the object is a document) and the optional parameters 'parameters', 'mode' and 'attributeSelector'. The 'object' must contain all attributes of the object. 'parameters' is an object as well holding further attributes like the destination (attribute key is 'Parent'). 'content' is the content of the document. 'mode' can be a combination of the following flags:

HW_API_INSERT_NORMAL

The object in inserted into the server.

HW_API_INSERT_FORCE_VERSION_CONTROL

HW_API_INSERT_AUTOMATIC_CHECKOUT

HW_API_INSERT_PLAIN

HW_API_INSERT_KEEP_TIME_MODIFIED

HW_API_INSERT_DELAY_INDEXING

See also hwapi_replace().

Anterior | Inicio | Siguiente
hw_api->info | Subir | hw_api->insertanchor


hw_api->insertanchor

(no version information, might be only in CVS)

hw_api->insertanchor -- Inserts a new object of type anchor

Description

hw_api_object hw_api->insertanchor ( array parameter )

This function is a shortcut for hwapi_insert(). It inserts an object of type anchor and sets some of the attributes required for an anchor. The parameter array contains the required elements 'object' and 'documentIdentifier' and the optional elements 'destinationIdentifier', 'parameter', 'hint' and 'attributeSelector'. The 'documentIdentifier' specifies the document where the anchor shall be inserted. The target of the anchor is set in 'destinationIdentifier' if it already exists. If the target does not exists the element 'hint' has to be set to the name of object which is supposed to be inserted later. Once it is inserted the anchor target is resolved automatically.

See also hwapi_insertdocument(),
         hwapi_insertcollection(),
         hwapi_insert().

Anterior | Inicio | Siguiente
hw_api->insert | Subir | hw_api->insertcollection


hw_api->insertcollection

(no version information, might be only in CVS)

hw_api->insertcollection -- Inserts a new object of type collection

Description

hw_api_object hw_api->insertcollection ( array parameter )

This function is a shortcut for hwapi_insert(). It inserts an object of type collection and sets some of the attributes required for a collection. The parameter array contains the required elements 'object' and 'parentIdentifier' and the optional elements 'parameter' and 'attributeSelector'. See hwapi_insert() for the meaning of each element.

See also hwapi_insertdocument(),
         hwapi_insertanchor(),
         hwapi_insert().

Anterior | Inicio | Siguiente
hw_api->insertanchor | Subir | hw_api->insertdocument


hw_api->insertdocument

(no version information, might be only in CVS)

hw_api->insertdocument -- Inserts a new object of type document

Description

hw_api_object hw_api->insertdocument ( array parameter )

This function is a shortcut for hwapi_insert(). It inserts an object with content and sets some of the attributes required for a document. The parameter array contains the required elements 'object', 'parentIdentifier' and 'content' and the optional elements 'mode', 'parameter' and 'attributeSelector'. See hwapi_insert() for the meaning of each element.

See also hwapi_insert()
         hwapi_insertanchor(),
         hwapi_insertcollection().

Anterior | Inicio | Siguiente
hw_api->insertcollection | Subir | hw_api->link


hw_api->link

(no version information, might be only in CVS)

hw_api->link -- Creates a link to an object

Description

bool hw_api->link ( array parameter )

Creates a link to an object. Accessing this link is like accessing the object to links points to. The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. 'destinationParentIdentifier' is the target collection.

The function returns TRUE on success or an error object.

See also hwapi_copy().

Anterior | Inicio | Siguiente
hw_api->insertdocument | Subir | hw_api->lock


hw_api->lock

(no version information, might be only in CVS)

hw_api->lock -- Locks an object

Description

bool hw_api->lock ( array parameter )

Locks an object for exclusive editing by the user calling this function. The object can be only unlocked by this user or the system user. The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'. 'mode' determines how an object is locked. HW_API_LOCK_NORMAL means, an object is locked until it is unlocked. HW_API_LOCK_RECURSIVE is only valid for collection and locks all objects within the collection and possible subcollections. HW_API_LOCK_SESSION means, an object is locked only as long as the session is valid.

See also hwapi_unlock().

Anterior | Inicio | Siguiente
hw_api->link | Subir | hw_api->move


hw_api->move

(no version information, might be only in CVS)

hw_api->move -- Moves object between collections

Description

bool hw_api->move ( array parameter )

See also hw_objrec2array().

Anterior | Inicio | Siguiente
hw_api->lock | Subir | hw_api_content


hw_api_content

(no version information, might be only in CVS)

hw_api_content -- Create new instance of class hw_api_content

Description

HW_API_Content hw_api_content ( string content, string mimetype )

Creates a new content object from the string content. The mimetype is set to mimetype.

Anterior | Inicio | Siguiente
hw_api->move | Subir | hw_api_object->assign


hw_api_object->assign

(no version information, might be only in CVS)

hw_api_object->assign -- Clones object

Description

bool hw_api_object->assign ( array parameter )

Clones the attributes of an object.

Anterior | Inicio | Siguiente
hw_api_content | Subir | hw_api_object->attreditable


hw_api_object->attreditable

(no version information, might be only in CVS)

hw_api_object->attreditable -- Checks whether an attribute is editable

Description

bool hw_api_object->attreditable ( array parameter )

Anterior | Inicio | Siguiente
hw_api_object->assign | Subir | hw_api_object->count


hw_api_object->count

(no version information, might be only in CVS)

hw_api_object->count -- Returns number of attributes

Description

int hw_api_object->count ( array parameter )

Anterior | Inicio | Siguiente
hw_api_object->attreditable | Subir | hw_api_object->insert


hw_api_object->insert

(no version information, might be only in CVS)

hw_api_object->insert -- Inserts new attribute

Description

bool hw_api_object->insert ( HW_API_Attribute attribute )

Adds an attribute to the object. Returns TRUE on success and otherwise FALSE.

See also hwapi_object_remove().

Anterior | Inicio | Siguiente
hw_api_object->count | Subir | hw_api_object


hw_api_object

(no version information, might be only in CVS)

hw_api_object -- Creates a new instance of class hw_api_object

Description

hw_api_object hw_api_object ( array parameter )

See also hwapi_lock().

Anterior | Inicio | Siguiente
hw_api_object->insert | Subir | hw_api_object->remove


hw_api_object->remove

(no version information, might be only in CVS)

hw_api_object->remove -- Removes attribute

Description

bool hw_api_object->remove ( string name )

Removes the attribute with the given name. Returns TRUE on success and otherwise FALSE.

See also hwapi_object_insert().

Anterior | Inicio | Siguiente
hw_api_object | Subir | hw_api_object->title


hw_api_object->title

(no version information, might be only in CVS)

hw_api_object->title -- Returns the title attribute

Description

string hw_api_object->title ( array parameter )

Anterior | Inicio | Siguiente
hw_api_object->remove | Subir | hw_api_object->value


hw_api_object->value

(no version information, might be only in CVS)

hw_api_object->value -- Returns value of attribute

Description

string hw_api_object->value ( string name )

Returns the value of the attribute with the given name or FALSE if an error occurred.

Anterior | Inicio | Siguiente
hw_api_object->title | Subir | hw_api->object


hw_api->object

(no version information, might be only in CVS)

hw_api->object -- Retrieve attribute information

Description

hw_api_object hw_api->object ( array parameter )

This function retrieves the attribute information of an object of any version. It will not return the document content. The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'version'.

The returned object is an instance of class HW_API_Object on success or HW_API_Error if an error occurred.

This simple example retrieves an object and checks for errors.

Ejemplo 1. Retrieve an object

<?php
function handle_error($error)
{
  $reason = $error->reason(0);
  echo "Type: <b>";
  switch ($reason->type()) {
    case 0:
      echo "Error";
      break;
    case 1:
      echo "Warning";
      break;
    case 2:
      echo "Message";
      break;
  }
  echo "</b><br />\n";
  echo "Description: " . $reason->description("en") . "<br />\n";
}

function list_attr($obj)
{
  echo "<table>\n";
  $count = $obj->count();
  for ($i=0; $i<$count; $i++) {
    $attr = $obj->attribute($i);
    printf("<tr><td align=\"right\" bgcolor=\"#c0c0c0\"><b>%s</b></td><td bgcolor=\"#F0F0F0\">%s</td></tr>\n",
             $attr->key(), $attr->value());
  }
  echo "</table>\n";
}

$hwapi = hwapi_hgcsp($g_config[HOSTNAME]);
$parms = array("objectIdentifier"=>"rootcollection", "attributeSelector"=>array("Title", "Name", "DocumentType"));
$root = $hwapi->object($parms);
if (get_class($root) == "HW_API_Error") {
  handle_error($root);
  exit;
}
list_attr($root);
?>

See also hwapi_content().

Anterior | Inicio | Siguiente
hw_api_object->value | Subir | hw_api->objectbyanchor


hw_api->objectbyanchor

(no version information, might be only in CVS)

hw_api->objectbyanchor -- Returns the object an anchor belongs to

Description

hw_api_object hw_api->objectbyanchor ( array parameter )

This function retrieves an object the specified anchor belongs to. The parameter array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

See also hwapi_dstofsrcanchor(),
         hwapi_srcanchors(),
         hwapi_dstanchors().

Anterior | Inicio | Siguiente
hw_api->object | Subir | hw_api->parents


hw_api->parents

(no version information, might be only in CVS)

hw_api->parents -- Returns parents of an object

Description

array hw_api->parents ( array parameter )

Retrieves the parents of an object. The parents can be further filtered by specifying an object query. The parameter array contains the required elements 'objectidentifier' and the optional elements 'attributeselector' and 'objectquery'.

The return value is an array of objects of type HW_API_Object or HW_API_Error.

See also hwapi_children().

Anterior | Inicio | Siguiente
hw_api->objectbyanchor | Subir | hw_api_reason->description


hw_api_reason->description

(no version information, might be only in CVS)

hw_api_reason->description -- Returns description of reason

Description

string hw_api_reason->description ( void )

Returns the description of a reason

Anterior | Inicio | Siguiente
hw_api->parents | Subir | hw_api_reason->type


hw_api_reason->type

(no version information, might be only in CVS)

hw_api_reason->type -- Returns type of reason

Description

HW_API_Reason hw_api_reason->type ( void )

Returns the type of a reason.

Anterior | Inicio | Siguiente
hw_api_reason->description | Subir | hw_api->remove


hw_api->remove

(no version information, might be only in CVS)

hw_api->remove -- Delete an object

Description

bool hw_api->remove ( array parameter )

Removes an object from the specified parent. Collections will be removed recursively. You can pass an optional object query to remove only those objects which match the query. An object will be deleted physically if it is the last instance. The parameter array contains the required elements 'objectidentifier' and 'parentidentifier'. If you want to remove a user or group 'parentidentifier' can be skipped. The optional parameter 'mode' determines how the deletion is performed. In normal mode the object will not be removed physically until all instances are removed. In physical mode all instances of the object will be deleted immediately. In removelinks mode all references to and from the objects will be deleted as well. In nonrecursive the deletion is not performed recursive. Removing a collection which is not empty will cause an error.

See also hwapi_move().

Anterior | Inicio | Siguiente
hw_api_reason->type | Subir | hw_api->replace


hw_api->replace

(no version information, might be only in CVS)

hw_api->replace -- Replaces an object

Description

hw_api_object hw_api->replace ( array parameter )

Replaces the attributes and the content of an object The parameter array contains the required elements 'objectIdentifier' and 'object' and the optional parameters 'content', 'parameters', 'mode' and 'attributeSelector'. 'objectIdentifier' contains the object to be replaced. 'object' contains the new object. 'content' contains the new content. 'parameters' contain extra information for HTML documents. HTML_Language is the letter abbreviation of the language of the title. HTML_Base sets the base attribute of the HTML document. 'mode' can be a combination of the following flags:

HW_API_REPLACE_NORMAL

The object on the server is replace with the object passed.

HW_API_REPLACE_FORCE_VERSION_CONTROL

HW_API_REPLACE_AUTOMATIC_CHECKOUT

HW_API_REPLACE_AUTOMATIC_CHECKIN

HW_API_REPLACE_PLAIN

HW_API_REPLACE_REVERT_IF_NOT_CHANGED

HW_API_REPLACE_KEEP_TIME_MODIFIED

See also hwapi_insert().

Anterior | Inicio | Siguiente
hw_api->remove | Subir | hw_api->setcommittedversion


hw_api->setcommittedversion

(no version information, might be only in CVS)

hw_api->setcommittedversion -- Commits version other than last version

Description

hw_api_object hw_api->setcommittedversion ( array parameter )

Commits a version of a document. The committed version is the one which is visible to users with read access. By default the last version is the committed version.

See also hwapi_checkin(),
         hwapi_checkout(),
         hwapi_revert().

Anterior | Inicio | Siguiente
hw_api->replace | Subir | hw_api->srcanchors


hw_api->srcanchors

(no version information, might be only in CVS)

hw_api->srcanchors -- Returns a list of all source anchors

Description

array hw_api->srcanchors ( array parameter )

Retrieves all source anchors of an object. The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

See also hwapi_dstanchors().

Anterior | Inicio | Siguiente
hw_api->setcommittedversion | Subir | hw_api->srcsofdst


hw_api->srcsofdst

(no version information, might be only in CVS)

hw_api->srcsofdst -- Returns source of a destination object

Description

array hw_api->srcsofdst ( array parameter )

Retrieves all the source anchors pointing to the specified destination. The destination object can either be a destination anchor or a whole document. The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector' and 'objectQuery'. The function returns an array of objects or an error.

See also hwapi_dstofsrcanchor().

Anterior | Inicio | Siguiente
hw_api->srcanchors | Subir | hw_api->unlock


hw_api->unlock

(no version information, might be only in CVS)

hw_api->unlock -- Unlocks a locked object

Description

bool hw_api->unlock ( array parameter )

Unlocks a locked object. Only the user who has locked the object and the system user may unlock an object. The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'. The meaning of 'mode' is the same as in function hwapi_lock().

Returns TRUE on success or an object of class HW_API_Error.

See also hwapi_lock().

Anterior | Inicio | Siguiente
hw_api->srcsofdst | Subir | hw_api->user


hw_api->user

(no version information, might be only in CVS)

hw_api->user -- Returns the own user object

Description

hw_api_object hw_api->user ( array parameter )

See also hwapi_userlist().

Anterior | Inicio | Siguiente
hw_api->unlock | Subir | hw_api->userlist


hw_api->userlist

(no version information, might be only in CVS)

hw_api->userlist -- Returns a list of all logged in users

Description

array hw_api->userlist ( array parameter )

See also hwapi_user().

Anterior | Inicio | Siguiente
hw_api->user | Subir | IBM Functions (PDO_IBM)


Funciones iconv

Manual de PHP
Anterior Siguiente

LX. Funciones iconv

Introducción

Este módulo contiene una interfaz con la facilidad de conversión de juegos de caracteres iconv. Con éste módulo, es posible convertir una cadena representada por un juego de caracteres local a una representada por otro juego de caracteres, que puede ser el juego de caracteres Unicode. Los juegos de caracteres soportados dependen de la implementación de iconv en su sistema. Note que la función iconv en algunos sistemas puede que no funcione como lo espera. En tal caso, sería una buena idea instalar la biblioteca libiconv GNU. Es muy probable que consiga unos resultados más consistentes.

A partir de PHP 5.0.0, esta extensión viene con varias funciones utilitarias que le ayudan a escribir scripts multi-lingües. Echemos un vistazo a las siguientes secciones para explorar las nuevas características.

Requisitos

No necesita de nada si el sistema que usa es uno de los sistemas recientes compatibles con POSIX, ya que las bibliotecas C estándar que vienen con ellos ofrecen la facilidad iconv. De otro modo, es necesario instalar la biblioteca libiconv en su sistema.

Instalación

Para usar las funciones de éste módulo, el binario PHP debe ser compilado con la siguiente línea de configuración: --with-iconv[=DIR].

Nota para Usuarios de Windows®: Para habilitar éste módulo en un entorno Windows®, necesita colocar un archivo DLL llamado iconv.dll o iconv-1.3.dll (antes de 4.2.1), el cual hace parte del paquete binario PHP/Win32, en un directorio especificado por la variable de entorno PATH o uno de los directorios de sistema de su instalación de Windows®.

Este módulo es parte de PHP a partir de PHP 5, por lo tanto iconv.dll y php_iconv.dll no se requieren más.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de iconv

Nombre | Predeterminado | Modificable | Cambios
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Aviso

Algunos sistemas (como IBM AIX) usan "ISO8859-1" en lugar de "ISO-8859-1", así que este valor debe usado en las opciones de configuración y en los parámetros de función.

Nota: La opción de configuración iconv.input_encoding actualmente no es usada en absoluto.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Desde PHP 4.3.0, es posible identificar, en tiempo de ejecución, qué implementación de iconv es adoptada por esta extensión.

Tabla 2. Constantes de iconv

Nombre | Tipo | Descripción
ICONV_IMPL | string | El nombre de la implementación
ICONV_VERSION | string | La versión de la implementación

Nota: Escribir scripts que dependan de la implementación con éstas constantes no se recomienda en absoluto.

A partir de PHP 5.0.0, las siguientes constantes se encuentran disponibles también:

Tabla 3. Constantes de iconv disponibles desde PHP 5.0.0

Nombre | Tipo | Descripción
ICONV_MIME_DECODE_STRICT | integer | Una máscara de bits usada para iconv_mime_decode()
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | integer | Una máscara de bits usada para iconv_mime_decode()

Ver también

Vea también las funciones GNU Recode.

Tabla de contenidos
iconv_get_encoding -- Retrieve internal configuration variables of iconv extension
iconv_mime_decode_headers -- Decodes multiple MIME header fields at once
iconv_mime_decode -- Decodes a MIME header field
iconv_mime_encode -- Composes a MIME header field
iconv_set_encoding -- Set current setting for character encoding conversion
iconv_strlen -- Returns the character count of string
iconv_strpos -- Finds position of first occurrence of a needle within a haystack
iconv_strrpos -- Finds the last occurrence of a needle within a haystack
iconv_substr -- Cut out part of a string
iconv -- Convert string to requested character encoding
ob_iconv_handler -- Convert character encoding as output buffer handler

Anterior | Inicio | Siguiente
icap_store_event | Subir | iconv_get_encoding


iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_get_encoding -- Retrieve internal configuration variables of iconv extension

Descripción

mixed iconv_get_encoding ( [string type] )

Retrieve internal configuration variables of iconv extension.

Lista de parámetros

type

The value of the optional type can be:

all
input_encoding
output_encoding
internal_encoding

Valores retornados

Returns the current value of the internal configuration variable if successful, or FALSE on failure.

If type is omitted or set to "all", iconv_get_encoding() returns an array that stores all these variables.

Ejemplos

Ejemplo 1. iconv_get_encoding() example

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

El resultado del ejemplo seria:

Array
(
    [input_encoding] => ISO-8859-1
    [output_encoding] => ISO-8859-1
    [internal_encoding] => UTF-8
)

Ver también

iconv_set_encoding()
ob_iconv_handler()

Anterior | Inicio | Siguiente
Funciones iconv | Subir | iconv_mime_decode_headers


iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers -- Decodes multiple MIME header fields at once

Descripción

array iconv_mime_decode_headers ( string encoded_headers [, int mode [, string charset]] )

Returns an associative array that holds a whole set of MIME header fields specified by encoded_headers on success, or FALSE if an error occurs during the decoding.

Each key of the return value represents an individual field name and the corresponding element represents a field value. If more than one field of the same name are present, iconv_mime_decode_headers() automatically incorporates them into a numerically indexed array in the order of occurrence.

Lista de parámetros

encoded_headers

The encoded headers, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode_headers() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Tabla 1. Bitmasks acceptable to iconv_mime_decode_headers()

Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_charset will be used.

Ejemplos

Ejemplo 1. iconv_mime_decode_headers() example

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

El resultado del ejemplo seria:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Ver también

iconv_mime_decode()
mb_decode_mimeheader()
imap_mime_header_decode()
imap_base64()
imap_qprint()

Anterior | Inicio | Siguiente
iconv_get_encoding | Subir | iconv_mime_decode


iconv_mime_decode

(PHP 5)

iconv_mime_decode -- Decodes a MIME header field

Descripción

string iconv_mime_decode ( string encoded_header [, int mode [, string charset]] )

Decodes a MIME header field.

Lista de parámetros

encoded_header

The encoded header, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Tabla 1. Bitmasks acceptable to iconv_mime_decode()

Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_charset will be used.

Valores retornados

Returns a decoded MIME field on success, or FALSE if an error occurs during the decoding.

Ejemplos

Ejemplo 1. iconv_mime_decode() example

<?php
// This yields "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

Ver también

iconv_mime_decode_headers()
mb_decode_mimeheader()
imap_mime_header_decode()
imap_base64()
imap_qprint()

Anterior | Inicio | Siguiente
iconv_mime_decode_headers | Subir | iconv_mime_encode


iconv_mime_encode

(PHP 5)

iconv_mime_encode -- Composes a MIME header field

Descripción

string iconv_mime_encode ( string field_name, string field_value [, array preferences] )

Composes and returns a string that represents a valid MIME header field, which looks like the following:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
In the above example, "Subject" is the field name and the portion that begins with "=?ISO-8859-1?..." is the field value.

Lista de parámetros

field_name

The field name.

field_value

The field value.

preferences

You can control the behaviour of iconv_mime_encode() by specifying an associative array that contains configuration items to the optional third parameter preferences. The items supported by iconv_mime_encode() are listed below. Note that item names are treated case-sensitive.

Tabla 1. Configuration items supported by iconv_mime_encode()

Item | Type | Description | Default value | Example
scheme | boolean | Specifies the method to encode a field value by. The value of this item may be either "B" or "Q", where "B" stands for base64 encoding scheme and "Q" stands for quoted-printable encoding scheme. | B | B
input-charset | string | Specifies the character set in which the first parameter field_name and the second parameter field_value are presented. If not given, iconv_mime_encode() assumes those parameters are presented to it in the iconv.internal_charset ini setting. | iconv.internal_charset | ISO-8859-1
output-charset | string | Specifies the character set to use to compose the MIME header. If not given, the same value as input-charset will be used. | iconv.internal_charset | UTF-8
line-length | integer | Specifies the maximum length of the header lines. The resulting header is "folded" to a set of multiple lines in case the resulting header field would be longer than the value of this parameter, according to RFC2822 - Internet Message Format. If not given, the length will be limited to 76 characters. | 76 | 996
line-break-chars | string | Specifies the sequence of characters to append to each line as an end-of-line sign when "folding" is performed on a long header field. If not given, this defaults to "\r\n" (CR LF). Note that this parameter is always treated as an ASCII string regardless of the value of input-charset. | \r\n | \n

Valores retornados

Returns an encoded MIME field on success, or FALSE if an error occurs during the encoding.

Ejemplos

Ejemplo 1. iconv_mime_encode() example

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// This yields "Subject: =?UTF-8?Q?Pr=C3=BCfung_Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Ver también

imap_binary()
mb_encode_mimeheader()
imap_8bit()

Anterior | Inicio | Siguiente
iconv_mime_decode | Subir | iconv_set_encoding


iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_set_encoding -- Set current setting for character encoding conversion

Descripción

bool iconv_set_encoding ( string type, string charset )

Changes the value of the internal configuration variable specified by type to charset.

Lista de parámetros

type

The value of type can be any one of those:

input_encoding
output_encoding
internal_encoding

charset

The character set.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. iconv_set_encoding() example

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>

Ver también

iconv_get_encoding()
ob_iconv_handler()

Anterior | Inicio | Siguiente
iconv_mime_encode | Subir | iconv_strlen


iconv_strlen

(PHP 5)

iconv_strlen -- Returns the character count of string

Descripción

int iconv_strlen ( string str [, string charset] )

In contrast to strlen(), iconv_strlen() counts the occurrences of characters in the given byte sequence str on the basis of the specified character set, the result of which is not necessarily identical to the length of the string in byte.

Lista de parámetros

str

The string.

charset

If charset parameter is omitted, str is assumed to be encoded in iconv.internal_charset.

Valores retornados

Returns the character count of str, as an integer.

Ver también

strlen()
mb_strlen()

Anterior | Inicio | Siguiente
iconv_set_encoding | Subir | iconv_strpos


iconv_strpos

(PHP 5)

iconv_strpos -- Finds position of first occurrence of a needle within a haystack

Descripción

int iconv_strpos ( string haystack, string needle [, int offset [, string charset]] )

Finds position of first occurrence of a needle within a haystack.

In contrast to strpos(), the return value of iconv_strpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found. The characters are counted on the basis of the specified character set charset.

Lista de parámetros

haystack

The entire string.

needle

The searched substring.

offset

The optional offset parameter specifies the position from which the search should be performed.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_charset.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

Valores retornados

Returns the numeric position of the first occurrence of needle in haystack.

If needle is not found, iconv_strpos() will return FALSE.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ver también

strpos()
iconv_strrpos()
mb_strpos()

Anterior | Inicio | Siguiente
iconv_strlen | Subir | iconv_strrpos


iconv_strrpos

(PHP 5)

iconv_strrpos -- Finds the last occurrence of a needle within a haystack

Descripción

int iconv_strrpos ( string haystack, string needle [, string charset] )

In contrast to strpos(), the return value of iconv_strrpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found.

Lista de parámetros

haystack

The entire string.

needle

The searched substring.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_charset.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

Valores retornados

Returns the numeric position of the last occurrence of needle in haystack. The characters are counted on the basis of the specified character set charset.

If needle is not found, iconv_strrpos() will return FALSE.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ver también

strrpos()
iconv_strpos()
mb_strrpos()

Anterior | Inicio | Siguiente
iconv_strpos | Subir | iconv_substr


iconv_substr

(PHP 5)

iconv_substr -- Cut out part of a string

Descripción

string iconv_substr ( string str, int offset [, int length [, string charset]] )

Cuts a portion of str specified by the offset and length parameters.

Lista de parámetros

str

The original string.

offset

If offset is non-negative, iconv_substr() cuts the portion out of str beginning at offset'th character, counting from zero.

If offset is negative, iconv_substr() cuts out the portion beginning at the position, offset characters away from the end of str.

length

If length is given and is positive, the return value will contain at most length characters of the portion that begins at offset (depending on the length of string).

If negative length is passed, iconv_substr() cuts the portion out of str from the offset'th character up to the character that is length characters away from the end of the string. In case offset is also negative, the start position is calculated beforehand according to the rule explained above.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_charset.

Note that offset and length parameters are always deemed to represent offsets that are calculated on the basis of the character set determined by charset, whilst the counterpart substr() always takes these for byte offsets.

Valores retornados

Returns the portion of str specified by the offset and length parameters.

If str is shorter than offset characters long, FALSE will be returned.

Ver también

substr()
mb_substr()
mb_strcut()

Anterior | Inicio | Siguiente
iconv_strrpos | Subir | iconv


iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv -- Convert string to requested character encoding

Descripción

string iconv ( string in_charset, string out_charset, string str )

Performs a character set conversion on the string str from in_charset to out_charset.

Lista de parámetros

in_charset

The input charset.

out_charset

The output charset.

If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character.

str

The string to be converted.

Valores retornados

Returns the converted string or FALSE on failure.

Ejemplos

Ejemplo 1. iconv() example

<?php
echo iconv("ISO-8859-1", "UTF-8", "This is a test.");
?>

Anterior | Inicio | Siguiente
iconv_substr | Subir | ob_iconv_handler


ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5)

ob_iconv_handler -- Convert character encoding as output buffer handler

Descripción

string ob_iconv_handler ( string contents, int status )

Converts the string encoded in internal_encoding to output_encoding.

internal_encoding and output_encoding should be defined in the php.ini file or in iconv_set_encoding().

Lista de parámetros

See ob_start() for information about this handler parameters.

Valores retornados

See ob_start() for information about this handler return values.

Ejemplos

Ejemplo 1. ob_iconv_handler() example:

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // start output buffering
?>

Ver también

iconv_get_encoding()
iconv_set_encoding()
output-control functions

Anterior | Inicio | Siguiente
iconv | Subir | Funciones de tratamiento de etiquetas ID3


Funciones para imágenes

Manual de PHP
Anterior Siguiente

LXIII. Funciones para imágenes

Puede usar las funciones para imágenes en PHP para obtener el tamaño de imágenes JPEG, GIF, PNG, SWF, TIFF y JPEG2000, y si tiene instalada la biblioteca GD (disponible en http://www.boutell.com/gd/) también podrá crear y manipular imágenes.

Si tiene PHP compilado con --enable-exif puede trabajar con la información guardada en las cabeceras de las imágenes JPEG y TIFF. Estas funciones no requieren la biblioteca GD.

Los formatos de imágenes que puede manipular dependen de la versión de GD que instale y de cualquier otra biblioteca que GD pueda necesitar para acceder a esos formatos de imagen. Las versiones de GD anteriores a la GD-1.6 soportan imágenes en formato gif y no soportan png, mientras que las versiones superiores a la GD-1.6 soportan el formato png y no el gif.

Antes de poder leer y escribir imágenes en formato jpeg, deberá obtener e instalar jpeg-6b (disponible en ftp://ftp.uu.net/graphics/jpeg/), y después recompilar GD para poder hacer uso de jpeg-6b. También tendrá que compilar PHP con la opción --with-jpeg-dir=/ruta/a/jpeg-6b.

Para añadir el soporte de fuentes Type 1, puede instalar t1lib (disponible en ftp://sunsite.unc.edu/pub/Linux/libs/graphics/), y entonces añadir la opción --with-t1lib[=dir] al recompilar.

Tabla de contenidos
gd_info -- Retrieve information about the currently installed GD library
getimagesize -- Obtener el tamaño de una imagen
image_type_to_extension -- Get file extension for image type
image_type_to_mime_type -- Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
image2wbmp -- Output image to browser or file
imagealphablending -- Set the blending mode for an image
imageantialias -- Should antialias functions be used or not
imagearc -- Dibuja una elipse parcial
imagechar -- Dibuja un carácter horizontalmente
imagecharup -- Dibuja un carácter vertical
imagecolorallocate -- Reserva un color para una imagen
imagecolorallocatealpha -- Allocate a color for an image
imagecolorat -- Obtiende el índice del color de un pixel
imagecolorclosest -- Obtiene el índice del color más cercano al color especificado
imagecolorclosestalpha -- Get the index of the closest color to the specified color + alpha
imagecolorclosesthwb -- Get the index of the color which has the hue, white and blackness nearest to the given color
imagecolordeallocate -- De-allocate a color for an image
imagecolorexact -- Devuelve el índice del color especificado
imagecolorexactalpha -- Get the index of the specified color + alpha
imagecolormatch -- Makes the colors of the palette version of an image more closely match the true color version
imagecolorresolve -- Devuelve el índice del color especificado o su posible alternativa más cercana
imagecolorresolvealpha -- Get the index of the specified color + alpha or its closest possible alternative
imagecolorset -- Establece el color para el índice de la paleta especificado
imagecolorsforindex -- Obtiene los colores de un índice
imagecolorstotal -- Encuentra el número de colores de la paleta de una imagen
imagecolortransparent -- Define un color como transparente
imageconvolution -- Apply a 3x3 convolution matrix, using coefficient and offset
imagecopy -- Copy part of an image
imagecopymerge -- Copy and merge part of an image
imagecopymergegray -- Copy and merge part of an image with gray scale
imagecopyresampled -- Copia y reescala parte de una imagen con remuestreo
imagecopyresized -- Copia y redimensiona parte de una imagen
imagecreate -- Crea una nueva imagen con una paleta de colores
imagecreatefromgd2 -- Create a new image from GD2 file or URL
imagecreatefromgd2part -- Create a new image from a given part of GD2 file or URL
imagecreatefromgd -- Create a new image from GD file or URL
imagecreatefromgif -- Crear una nueva imagen a partir de un archivo o URL
imagecreatefromjpeg -- Crea una imagen nueva desde un archivo o URL
imagecreatefrompng -- Crea una imagen nueva desde un archivo o URL
imagecreatefromstring -- Create a new image from the image stream in the string
imagecreatefromwbmp -- Create a new image from file or URL
imagecreatefromxbm -- Create a new image from file or URL
imagecreatefromxpm -- Create a new image from file or URL
imagecreatetruecolor -- Crea una imagen nueva en color real (true color)
imagedashedline -- Dibuja una línea discontinua
imagedestroy -- Destruye una imagen
imageellipse -- Draw an ellipse
imagefill -- Rellena de color
imagefilledarc -- Draw a partial ellipse and fill it
imagefilledellipse -- Draw a filled ellipse
imagefilledpolygon -- Dibuja un polígono relleno
imagefilledrectangle -- Dibuja un rectángulo relleno
imagefilltoborder -- Relleno de un color especifico
imagefilter -- Applies a filter to an image
imagefontheight -- Devuelve la altura de una fuente
imagefontwidth -- Devuelve la anchura de una fuente
imageftbbox -- Give the bounding box of a text using fonts via freetype2
imagefttext -- Write text to the image using fonts using FreeType 2
imagegammacorrect -- Apply a gamma correction to a GD image
imagegd2 -- Output GD2 image to browser or file
imagegd -- Output GD image to browser or file
imagegif -- Producir la salida de una imagen al navegador o a un archivo
imageinterlace -- Activa o desactiva el entrelazado
imageistruecolor -- Finds whether an image is a truecolor image
imagejpeg -- Output image to browser or file
imagelayereffect -- Set the alpha blending flag to use the bundled libgd layering effects
imageline -- Dibuja una línea
imageloadfont -- Cargar una fuente nueva
imagepalettecopy -- Copy the palette from one image to another
imagepng -- Output a PNG image to either the browser or a file
imagepolygon -- Dibuja un polígono
ImagePSBBox -- Devuelve el borde que rodea un rectángulo de texto usando fuentes PostScript Type1
ImagePSEncodeFont -- Cambia el vector de codificación de caracteres de una fuente
imagepsextendfont -- Extend or condense a font
ImagePSFreeFont -- Libera la memoria usada por un fuente PostScript Type 1
imagepsloadfont -- Cargar una fuente PostScript Tipo 1 desde un archivo
imagepsslantfont -- Slant a font
ImagePSText -- Para dibujar una cadena de texto sobre una imagen usando fuentes PostScript Type1
ImageRectangle -- Dibuja un rectángulo
imagerotate -- Rotate an image with a given angle
imagesavealpha -- Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
imagesetbrush -- Set the brush image for line drawing
ImageSetPixel -- Dibuja un pixel
imagesetstyle -- Set the style for line drawing
imagesetthickness -- Set the thickness for line drawing
imagesettile -- Set the tile image for filling
ImageString -- Dibuja una cadena de texto horizintalmente
ImageStringUp -- Dibuja una cadena de texto verticalmente
ImageSX -- Obtiene la anchura de la imagen
ImageSY -- Obtiene la altura de la imagen
imagetruecolortopalette -- Convert a true color image to a palette image
imagettfbbox -- Entrega la caja circundante de un texto usando fuentes TrueType
imagettftext -- Escribir un texto sobre la imagen usando fuentes TrueType
imagetypes -- Return the image types supported by this PHP build
imagewbmp -- Output image to browser or file
imagexbm -- Output XBM image to browser or file
iptcembed -- Embed binary IPTC data into a JPEG image
iptcparse -- Parse a binary IPTC block into single tags.
jpeg2wbmp -- Convert JPEG image file to WBMP image file
png2wbmp -- Convert PNG image file to WBMP image file

Anterior | Inicio | Siguiente
iis_stop_service | Subir | gd_info


gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_info -- Retrieve information about the currently installed GD library

Descripción

array gd_info ( void )

Gets information about the version and capabilities of the installed GD library.

Valores retornados

Returns an associative array.

Tabla 1. Elements of array returned by gd_info()

Attribute | Meaning
GD Version | string value describing the installed libgd version.
Freetype Support | boolean value. TRUE if Freetype Support is installed.
Freetype Linkage | string value describing the way in which Freetype was linked. Expected values are: 'with freetype', 'with TTF library', and 'with unknown library'. This element will only be defined if Freetype Support evaluated to TRUE.
T1Lib Support | boolean value. TRUE if T1Lib support is included.
GIF Read Support | boolean value. TRUE if support for reading GIF images is included.
GIF Create Support | boolean value. TRUE if support for creating GIF images is included.
JPG Support | boolean value. TRUE if JPG support is included.
PNG Support | boolean value. TRUE if PNG support is included.
WBMP Support | boolean value. TRUE if WBMP support is included.
XBM Support | boolean value. TRUE if XBM support is included.

Ejemplos

Ejemplo 1. Using gd_info()

<?php
var_dump(gd_info());
?>

El resultado del ejemplo seria algo similar a:

array(9) {
  ["GD Version"]=>
  string(24) "bundled (2.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

Ver también

imagepng()
imagejpeg()
imagegif()
imagewbmp()
imagetypes()

Anterior | Inicio | Siguiente
Funciones para imágenes | Subir | getimagesize


getimagesize

(PHP 3, PHP 4, PHP 5)

getimagesize -- Obtener el tamaño de una imagen

Descripción

array getimagesize ( string nombre_archivo [, array &info_imagen] )

La función getimagesize() determinará el tamaño de cualquier archivo de imagen dado y devuelve las dimensiones junto con el tipo de archivo y una cadena de texto de altura/ancho a ser usada en una etiqueta HTML <IMG> corriente y el tipo de contenido HTTP correspondiente.

getimagesize() puede también devolver un poco más de información en el parámetro info_imagen.

Nota: Note que JPC y JP2 son capaces de tener componentes con diferentes profundidades de bits. En este caso, el valor para "bits" es el de la profundidad de bits más alta encontrada. Asimismo, los archivos JP2 pueden contener múltiples secuencias de código JPEG 2000. En este caso, getimagesize() devuelve los valores para la primera secuencia de código que encuentra en la raíz del archivo.

Lista de parámetros

nombre_archivo

info_imagen

Este parámetro opcional le permite extraer algunos datos extendidos del archivo de imagen. Actualmente, devolverá los diferentes marcadores APP de JPG como una matriz asociativa. Algunos programas usan estos marcadores para embeber información de texto en imágenes. Un uso muy común es el embeber información IPTC en el marcador APP13. Puede usar la función iptcparse() para convertir el marcador APP13 binario hacia algo legible.

Valores retornados

Devuelve una matriz con 5 elementos.

Los índices 0 y 1 contienen respectivamente el ancho y la altura de la imagen.

Nota: Puede que algunos formatos no contengan una imagen o que contengan múltiples imágenes. En estos casos, puede que getimagesize() no sea capaz de determinar el tamaño de la imagen apropiadamente. getimagesize() devolverá cero como valor de ancho y altura en tales casos.

El índice 2 es una de las constantes IMAGETYPE_XXX que indica el tipo de imagen.

El índice 3 es una cadena de texto con el valor height="yyy" width="xxx" apropiado que puede ser usado directamente en una etiqueta IMG.

mime es el tipo MIME correspondiente de la imagen. Esta información puede ser usada para despachar imágenes con las cabeceras HTTP Content-type correctas:

Ejemplo 1. getimagesize() y los tipos MIME

<?php
$tam = getimagesize($nombre_archivo);
$da = fopen($nombre_archivo, "rb");
if ($tam && $da) {
  header("Content-type: {$tam['mime']}");
  fpassthru($da);
  exit;
} else {
  // error
}
?>

channels será 3 para imágenes RGB y 4 para imágenes CMYK. bits es el número de bits para cada color. Sin embargo, para algunos tipos de imagen, la presencia de estos valores puede ser un poco confusa. Como un ejemplo, GIF siempre usa 3 canales por píxel, pero el número de bits por píxel no puede ser calculado para un GIF animado con una tabla de colores global.

En caso de fallos, se devuelve FALSE.

Errors/Exceptions

Si es imposible acceder a la imagen en nombre_archivo, o si no es una imagen válida, getimagesize() generará un error de nivel E_WARNING.

Registro de cambios

Versión | Descripción
4.3.2 | Apareció es soporte para JPC, JP2, JPX, JB2, XBM, y WBMP.
4.3.2 | El soporte para JPEG 2000 fue agregado para el parámetro info_imagen.
4.3.0 | bits y channels están presentes para otros tipos de imágenes también.
4.3.0 | Se agregó mime.
4.3.0 | Se agregó el soporte para SWC.
4.2.0 | Se agregó el soporte para TIFF.
4.0.5 | Se agregó el soporte para URL.

Ejemplos

Ejemplo 2. getimagesize (archivo)

<?php
list($ancho, $altura, $tipo, $atr) = getimagesize("img/bandera.jpg");
echo "<img src=\"img/bandera.jpg\" $atr alt=\"ejemplo de getimagesize()\" />";
?>

Ejemplo 3. getimagesize (URL)

<?php
$tam = getimagesize("http://www.example.com/gifs/logo.gif");

// si el nombre de archivo contiene un espacio, codificarlo apropiadamente
$tam = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Ejemplo 4. getimagesize() devolviendo IPTC

<?php
$tam = getimagesize("imagen_prueba.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

Notes

Nota: La función getimagesize() no requiere de la biblioteca de imágenes GD.

Ver también

image_type_to_mime_type()
exif_imagetype()
exif_read_data()
exif_thumbnail()

Anterior | Inicio | Siguiente
gd_info | Subir | image_type_to_extension


image_type_to_extension

(no version information, might be only in CVS)

image_type_to_extension -- Get file extension for image type

Descripción

string image_type_to_extension ( int imagetype [, bool include_dot] )

Returns the extension for the given IMAGETYPE_XXX constant.

Lista de parámetros

imagetype

One of the IMAGETYPE_XXX constant.

include_dot

Wether to prepend a dot to the extension or not. Default to TRUE.

Valores retornados

A string with the extension corresponding to the given image type.

Anterior | Inicio | Siguiente
getimagesize | Subir | image_type_to_mime_type


image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5)

image_type_to_mime_type -- Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

Descripción

string image_type_to_mime_type ( int imagetype )

The image_type_to_mime_type() function will determine the Mime-Type for an IMAGETYPE constant.

Lista de parámetros

imagetype

One of the IMAGETYPE_XXX constants

Valores retornados

The returned values are as follows

Tabla 1. Returned values Constants

imagetype | Returned value
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (intel byte order) | image/tiff
IMAGETYPE_TIFF_MM (motorola byte order) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm

Ejemplos

Ejemplo 1. image_type_to_mime_type (file)

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Notes

Nota: This function does not require the GD image library.

Ver también

getimagesize()
exif_imagetype()
exif_read_data()
exif_thumbnail()

Anterior | Inicio | Siguiente
image_type_to_extension | Subir | image2wbmp


image2wbmp

(PHP 4 >= 4.0.5, PHP 5)

image2wbmp -- Output image to browser or file

Descripción

bool image2wbmp ( resource image [, string filename [, int threshold]] )

image2wbmp() outputs or save a WBMP version of the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

Path to the saved file. If not given, the raw image stream will be outputed directly.

threshold

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. image2wbmp() example

<?php

$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // output the stream directly

?>

Notes

Nota: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Ver también

imagewbmp()

Anterior | Inicio | Siguiente
image_type_to_mime_type | Subir | imagealphablending


imagealphablending

(PHP 4 >= 4.0.6, PHP 5)

imagealphablending -- Set the blending mode for an image

Descripción

bool imagealphablending ( resource image, bool blendmode )

imagealphablending() allows for two different modes of drawing on truecolor images. In blending mode, the alpha channel component of the color supplied to all drawing function, such as imagesetpixel() determines how much of the underlying color should be allowed to shine through. As a result, gd automatically blends the existing color at that point with the drawing color, and stores the result in the image. The resulting pixel is opaque. In non-blending mode, the drawing color is copied literally with its alpha channel information, replacing the destination pixel. Blending mode is not available when drawing on palette images.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

blendmode

Wether to enable the blending mode or not. Default to FALSE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Anterior | Inicio | Siguiente
image2wbmp | Subir | imageantialias


imageantialias

(PHP 4 >= 4.3.2, PHP 5)

imageantialias -- Should antialias functions be used or not

Descripción

bool imageantialias ( resource image, bool on )

Activate the fast drawing antialiased methods for lines and wired polygons. It does not support alpha components. It works using a direct blend operation. It works only with truecolor images.

Thickness and styled are not supported.

Using antialiased primitives with transparent background color can end with some unexpected results. The blend method uses the background color as any other colors. The lack of alpha component support does not allow an alpha based antialiasing method.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

on

Wether to enable antialiasing or not.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Ver también

imagecreatetruecolor()

Anterior | Inicio | Siguiente
imagealphablending | Subir | imagearc


imagearc

(PHP 3, PHP 4, PHP 5)

imagearc -- Dibuja una elipse parcial

Descripción

bool imagearc ( int im, int cx, int cy, int w, int h, int s, int e, int col )

imagearc() dibuja una elipse parcial centrada en cx, cy (la esquina superior izquierda es 0,0) en la imagen que representa im. w y h especifican la anchura y altura respectivamente mientras que los puntos de inicio y final vienen indicados por los parámetros s y e en grados. 0° se corresponde con la posición de las 3 en punto en 1 reloj y el arco se dibuja en el sentido de las agujas del reloj.

Ejemplo 1. Dibujar un círculo con imagearc()

<?php

// crear una imagen de 200*200
$img = imagecreate(200, 200);

// definir los colores
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);

// dibujar un circulo negro
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

// mostrar la imagen en el navegador
header("Content-type: image/png");
imagepng($img);

// liberar la memoria
imagedestroy($img);

?>

Vea también imageellipse(),
imagefilledellipse() y
imagefilledarc().

Anterior | Inicio | Siguiente
imageantialias | Subir | imagechar


imagechar

(PHP 3, PHP 4, PHP 5)

imagechar -- Dibuja un carácter horizontalmente

Descripción

bool imagechar ( int im, int font, int x, int y, string c, int col )

imagechar() dibuja el primer carácter de c en la imagen identificada como id con su esquina superior izquierda en x, y (arriba izquierda es 0,0) con el color col. Si la fuente es 1, 2, 3, 4 o 5 se usa una fuente predefinida (números mayores corresponden con tamaños mayores).

Ejemplo 1. Ejemplo de imagechar()

<?php

$im = imagecreate(100, 100);

$string = 'PHP';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// muestra una letra "P" de color negro en la esquina izquierda superior
imagechar($im, 1, 0, 0, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Vea también imagecharup() y imageloadfont().

Anterior | Inicio | Siguiente
imagearc | Subir | imagecharup


imagecharup

(PHP 3, PHP 4, PHP 5)

imagecharup -- Dibuja un carácter vertical

Descripción

bool imagecharup ( resource im, int font, int x, int y, string c, int col )

imagecharup() dibuja el caracter c verticalmente en la imagen identificada mediante im en las coordenadas x, y (arriba izquierda es 0,0) con el color col. Si la fuente es 1, 2, 3, 4 o 5 se usa una fuente predefinida.

Ejemplo 1. Ejemplo de imagecharup()

<?php

$im = imagecreate(100, 100);

$string = 'Note that the first letter is a N';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// muestra una letra "Z" negra sobre fondo blanco
imagecharup($im, 3, 10, 10, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Vea también imagechar() y imageloadfont().

Anterior | Inicio | Siguiente
imagechar | Subir | imagecolorallocate


imagecolorallocate

(PHP 3, PHP 4, PHP 5)

imagecolorallocate -- Reserva un color para una imagen

Descripción

int imagecolorallocate ( resource im, int red, int green, int blue )

imagecolorallocate() devuelve un identificador del color representado por la mezcla de los componentes RGB dados. El parámetro im es el resultado de la función imagecreate(). red, green and blue son lo valores de los componentes rojo, verde y azul del color seleccionado. Los valores se indican como números enteros entre 0 y 255 o como números hexadecimales entre 0x00 y 0xFF. La función imagecolorallocate() se debe llamar para crear cada uno de los colores que se van a emplear en la imagen.

Nota: La primera llamada a imagecolorallocate() se emplea para seleccionar el color de fondo.

<?php

// establece el color de fondo a rojo
$background = imagecolorallocate($im, 255, 0, 0);

// crea algunos colores
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// empleando valores hexadecimales
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

Devuelve -1 si la función no tiene éxito.

Vea también imagecolorallocatealpha() y imagecolordeallocate().

Anterior | Inicio | Siguiente
imagecharup | Subir | imagecolorallocatealpha


imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5)

imagecolorallocatealpha -- Allocate a color for an image

Descripción

int imagecolorallocatealpha ( resource image, int red, int green, int blue, int alpha )

imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter alpha.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Valores retornados

A color identifier or FALSE if the allocation failed.

Registro de cambios

Versión | Descripción
Prior to 5.1.3 | Returns -1 if the allocation failed.

Ejemplos

Ejemplo 1. Example of using imagecolorallocatealpha()

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// something to get a white background with black border
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x    = 120;
$red_y    = 165;
$blue_x   = 187;
$blue_y   = 125;
$radius   = 150;

// allocate colors with alpha values
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red    = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue   = imagecolorallocatealpha($image, 0, 0, 255, 75);

// drawing 3 overlapped circle
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// don't forget to output a correct header!
header('Content-type: image/png');

// and finally, output the result
imagepng($image);
imagedestroy($image);
?>

El resultado del ejemplo seria algo similar a:

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagecolorallocate()
imagecolordeallocate()

Anterior | Inicio | Siguiente
imagecolorallocate | Subir | imagecolorat


imagecolorat

(PHP 3, PHP 4, PHP 5)

imagecolorat -- Obtiende el índice del color de un pixel

Descripción

int imagecolorat ( resource im, int x, int y )

Devuelve el índice del color del pixel especificado en la posición de la imagen.

Si PHP está compilado con soporte para la librerí GD 2.0 o superior y la imagen es una imagen con color real, la función devuelve el valor RGB del pixel como un número entero. Se pueden usar máscaras lógicas de bits para acceder a los valores de los distintos componentes del color:

Ejemplo 1. Accediendo a los componentes del color RGB

<?php
$im = ImageCreateFromPng("rockym.png");
$rgb = ImageColorAt($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

Vea también imagecolorset() y imagecolorsforindex().

Anterior | Inicio | Siguiente
imagecolorallocatealpha | Subir | imagecolorclosest


imagecolorclosest

(PHP 3, PHP 4, PHP 5)

imagecolorclosest -- Obtiene el índice del color más cercano al color especificado

Descripción

int imagecolorclosest ( resource im, int red, int green, int blue )

Devuelve el índice del color de la paleta de la imagen que sea más "cercano" al valor RGB especificado.

La "distancia" entre el color deseado y cada color de la paleta es calculada como si los valores RGB representasen puntos en un espacio tridimensional.

Si se emplea una imagen creada a partir de un archivo, solamente se resuelven los colores usados en la imagen. Los colores que se encuentran exclusivamente en la paleta de la imagen no se resuelven.

Vea también imagecolorexact().

Anterior | Inicio | Siguiente
imagecolorat | Subir | imagecolorclosestalpha


imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorclosestalpha -- Get the index of the closest color to the specified color + alpha

Descripción

int imagecolorclosestalpha ( resource image, int red, int green, int blue, int alpha )

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value and alpha level.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Valores retornados

Returns the index of the closest color in the palette.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagecolorexactalpha()

Anterior | Inicio | Siguiente
imagecolorclosest | Subir | imagecolorclosesthwb


imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5)

imagecolorclosesthwb -- Get the index of the color which has the hue, white and blackness nearest to the given color

Descripción

int imagecolorclosesthwb ( resource image, int red, int green, int blue )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component

green

Value of green component

blue

Value of blue component

Anterior | Inicio | Siguiente
imagecolorclosestalpha | Subir | imagecolordeallocate


imagecolordeallocate

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

imagecolordeallocate -- De-allocate a color for an image

Descripción

bool imagecolordeallocate ( resource image, int color )

De-allocates a color previously allocated with imagecolorallocate() or imagecolorallocatealpha().

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

color

The color identifier

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Using imagecolordeallocate()

<?php
$white = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $white);
?>

Ver también

imagecolorallocate()
imagecolorallocatealpha()

Anterior | Inicio | Siguiente
imagecolorclosesthwb | Subir | imagecolorexact


imagecolorexact

(PHP 3, PHP 4, PHP 5)

imagecolorexact -- Devuelve el índice del color especificado

Descripción

int imagecolorexact ( resource im, int red, int green, int blue )

Devuelve el índice del color especificado de la paleta de la imagen.

Si el color no existe en la paleta de la imagen, se devuelve el valor -1.

Si se emplea una imagen creada a partir de un archivo, solamente se resuelven los colores usados en la imagen. Los colores que se encuentran exclusivamente en la paleta de la imagen no se resuelven.

Vea también imagecolorclosest().

Anterior | Inicio | Siguiente
imagecolordeallocate | Subir | imagecolorexactalpha


imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorexactalpha -- Get the index of the specified color + alpha

Descripción

int imagecolorexactalpha ( resource image, int red, int green, int blue, int alpha )

Returns the index of the specified color+alpha in the palette of the image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Valores retornados

Returns the index of the specified color+alpha in the palette of the image, or -1 if the color does not exist in the image's palette.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagecolorclosestalpha()

Anterior | Inicio | Siguiente
imagecolorexact | Subir | imagecolormatch


imagecolormatch

(PHP 4 >= 4.3.0, PHP 5)

imagecolormatch -- Makes the colors of the palette version of an image more closely match the true color version

Descripción

bool imagecolormatch ( resource image1, resource image2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image1

A truecolor image link resource

image2

A palette image link resource pointing to an image that has the same size as image1

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagecreatetruecolor()

Anterior | Inicio | Siguiente
imagecolorexactalpha | Subir | imagecolorresolve


imagecolorresolve

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

imagecolorresolve -- Devuelve el índice del color especificado o su posible alternativa más cercana

Descripción

int imagecolorresolve ( resource im, int red, int green, int blue )

Esta función garantiza que se devuelva el índice de color para un color solicitado, ya que devuelve el color exacto o el color alternativo más próximo al color solicitado.

Si se emplea una imagen creada a partir de un archivo, solamente se resuelven los colores usados en la imagen. Los colores que se encuentran exclusivamente en la paleta de la imagen no se resuelven.

Vea también imagecolorclosest().

Anterior | Inicio | Siguiente
imagecolormatch | Subir | imagecolorresolvealpha


imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorresolvealpha -- Get the index of the specified color + alpha or its closest possible alternative

Descripción

int imagecolorresolvealpha ( resource image, int red, int green, int blue, int alpha )

This function is guaranteed to return a color index for a requested color, either the exact color or the closest possible alternative.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Valores retornados

Returns a color index.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagecolorclosestalpha()

Anterior | Inicio | Siguiente
imagecolorresolve | Subir | imagecolorset


imagecolorset

(PHP 3, PHP 4, PHP 5)

imagecolorset -- Establece el color para el índice de la paleta especificado

Descripción

void imagecolorset ( resource im, int index, int red, int green, int blue )

Establece el índice especificado de la paleta con el color introducido. Esto es útil para crear efectos de rellenado en imagenes con paletas sin la sobrecarga de tener que realizar el rellenado.

Vea también imagecolorat().

Anterior | Inicio | Siguiente
imagecolorresolvealpha | Subir | imagecolorsforindex


imagecolorsforindex

(PHP 3, PHP 4, PHP 5)

imagecolorsforindex -- Obtiene los colores de un índice

Descripción

array imagecolorsforindex ( resource im, int index )

Devuelve una matriz asociativa con las claves red, green, blue y alpha que contienen los valores apropiados para el color especificado en el índice.

Ejemplo 1. Ejemplo de imagecolorsforindex()

<?php

// abre una imagen
$im = imagecreatefrompng('nexen.png');

// obtiene un color
$start_x = 40;
$start_y = 50;
$color_index = imagecolorat($im, $start_x, $start_y);

// se obtiene su valor en un formato mas facil de leer
$color_tran = imagecolorsforindex($im, $color_index);

// que color es ?
echo '<pre>';
print_r($color_tran);
echo '</pre>';

?>

La salida del programa sería:

Array
(
    [red] => 226
    [green] => 222
    [blue] => 252
    [alpha] => 0
)

Vea también imagecolorat() y imagecolorexact().

Anterior | Inicio | Siguiente
imagecolorset | Subir | imagecolorstotal


imagecolorstotal

(PHP 3, PHP 4, PHP 5)

imagecolorstotal -- Encuentra el número de colores de la paleta de una imagen

Descripción

int imagecolorstotal ( resource im )

Obtiene el número de colores de la paleta de una imagen.

Vea también imagecolorat() y imagecolorsforindex().

Anterior | Inicio | Siguiente
imagecolorsforindex | Subir | imagecolortransparent


imagecolortransparent

(PHP 3, PHP 4, PHP 5)

imagecolortransparent -- Define un color como transparente

Descripción

int imagecolortransparent ( resource im [, int col] )

imagecolortransparent() establece como color transparente el color indicado por col en la imagen im. im es el identificador de imagen devuelto por la función imagecreate() y col es el identificador de color devuelto por imagecolorallocate().

Nota: El color transparente es una propiedad de la imagen, ya que la transparencia no es una propiedad del color. Cuando se establece un color a transparente, todas las regiones de la imagen que tengan ese color se transformarán a transparentes.

Se devuelve el identificador del color transparente (o el actual, si no se especifica ninguno).

Nota: La transparencia se copia solo con imagecopymerge() y las imagenes de color real, no con imagecopy() o con las imagenes con paleta de color.

Anterior | Inicio | Siguiente
imagecolorstotal | Subir | imageconvolution


imagecopy

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

imagecopy -- Copy part of an image

Descripción

bool imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

Lista de parámetros

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

src_w

Source width

src_h

Source height

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imageconvolution | Subir | imagecopymerge


imagecopymerge

(PHP 4 >= 4.0.1, PHP 5)

imagecopymerge -- Copy and merge part of an image

Descripción

bool imagecopymerge ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

Lista de parámetros

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

src_w

Source width

src_h

Source height

pct

The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagecopy | Subir | imagecopymergegray


imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5)

imagecopymergegray -- Copy and merge part of an image with gray scale

Descripción

bool imagecopymergegray ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct )

imagecopymergegray() copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

This function is identical to imagecopymerge() except that when merging it preserves the hue of the source by converting the destination pixels to gray scale before the copy operation.

Lista de parámetros

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

src_w

Source width

src_h

Source height

pct

The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagecopymerge | Subir | imagecopyresampled


imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5)

imagecopyresampled -- Copia y reescala parte de una imagen con remuestreo

Descripción

int imagecopyresampled ( resource img_dst, resource img_org, int Xdst, int Ydst, int Xorg, int Yorg, int ancho_dst, int alto_dst, int ancho_org, int alto_org )

imagecopyresampled() copia una porción rectangular de una imagen sobre otra, suavizando los valores de los píxeles mediante interpolación, de forma que al reducir el tamaño de una imagen aún mantiene una buena claridad. img_dst es la imagen de destino, img_org es el identificador de la imagen de origen. Si las coordenadas de origen y destino y ancho y alto son diferentes, se encogerá o agrandará el fragmento de imagen según sea necesario. Las coordenadas son relativas a la esquina superior izquierda. Esta función se puede usar para copiar regiones dentro de la misma imagen (si img_dst es la misma que img_org) pero si las regiones se superponen, los resultados serán impredecibles.

Vea también imagecopyresized().

Nota: Esta función fue añadida en PHP 4.0.6 y requiere GD 2.0.1 o superior

Anterior | Inicio | Siguiente
imagecopymergegray | Subir | imagecopyresized


imagecopyresized

(PHP 3, PHP 4, PHP 5)

imagecopyresized -- Copia y redimensiona parte de una imagen

Descripción

bool imagecopyresized ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH )

imagecopyresized() copia una porción rectangular de una imagen hacia otra imagen. dst_im es la imagen de destino, src_im es el identificador de la imagen origen. Si la altura y anchura de las coordenadas de origen y destino difieren se realizará un estrechamiento o un estiramiento apropiado del fragmento de la imagen. Las coordenadas van localizadas sobre la esquina superior izquierda. Esta función se puede usar para copiar regiones dentro de la misma imagen (si dst_im es igual que src_im) pero si las regiones se solapan los resultados seran impredecibles.

Nota: Existe un problema debido a las limitaciones de las imagenes con paleta de colores (255+1 colores). La acción de volver a muestrear o filtrar una imagen, normalmente requiere de más de 255 colores, con los que se usa una aproximación para calcular el nuevo pixel muestreado y su color.

En las imagenes con paleta de color, se trata de obtener el nuevo color, o el color calculado más próximo en caso de error. Sin embargo, este nuevo color no siempre es el que visualmente es mas semejante. De esta forma, se pueden producir resultados extraños como imagenes vacías.

Para solventar este problema, se recomienda usar imagenes de color real como imagen destino, que se pueden obtener por ejemplo mediante la función imagecreatetruecolor().

Ejemplos

Ejemplo 1. Redimensionar una imagen

Este ejemplo muestra una imagen a la mitad de su tamaño real.

<?php
// Variables que indican el archivo de la imagen y el nuevo tamano
$filename = 'test.jpg';
$percent = 0.5;

// Content-type para el navegador
header('Content-type: image/jpeg');

// Se obtienen las nuevas dimensiones
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Cargar la imagen
$thumb = imagecreate($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Redimensionar
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Mostrar la nueva imagen
imagejpeg($thumb);
?>

La imagen se muestra a la mitad de su tamaño original, aunque se puede obtener mejor calidad si se emplea la función imagecopyresampled().

Ver también

imagecopyresampled()

Anterior | Inicio | Siguiente
imagecopyresampled | Subir | imagecreate


imagecreate

(PHP 3, PHP 4, PHP 5)

imagecreate -- Crea una nueva imagen con una paleta de colores

Descripción

resource imagecreate ( int x_size, int y_size )

imagecreate() devuelve un identificador de imagen representando una imagen en blanco de tamaño x_size por y_size.

Se recomienda emplear la función imagecreatetruecolor().

Ejemplo 1. Crear un nuevo recurso de imagen con GD y mostrar la imagen

<?php
header("Content-type: image/png");
$im = @imagecreate(100, 50)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

Vea también imagedestroy() y imagecreatetruecolor().

Anterior | Inicio | Siguiente
imagecopyresized | Subir | imagecreatefromgd2


imagecreatefromgd2

(PHP 4 >= 4.1.0, PHP 5)

imagecreatefromgd2 -- Create a new image from GD2 file or URL

Descripción

resource imagecreatefromgd2 ( string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Lista de parámetros

filename

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Anterior | Inicio | Siguiente
imagecreate | Subir | imagecreatefromgd2part


imagecreatefromgd2part

(PHP 4 >= 4.1.0, PHP 5)

imagecreatefromgd2part -- Create a new image from a given part of GD2 file or URL

Descripción

resource imagecreatefromgd2part ( string filename, int srcX, int srcY, int width, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Lista de parámetros

filename

srcX

srcY

width

height

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Anterior | Inicio | Siguiente
imagecreatefromgd2 | Subir | imagecreatefromgd


imagecreatefromgd

(PHP 4 >= 4.1.0, PHP 5)

imagecreatefromgd -- Create a new image from GD file or URL

Descripción

resource imagecreatefromgd ( string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Lista de parámetros

filename

Notes

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Anterior | Inicio | Siguiente
imagecreatefromgd2part | Subir | imagecreatefromgif


imagecreatefromgif

(PHP 3, PHP 4, PHP 5)

imagecreatefromgif -- Crear una nueva imagen a partir de un archivo o URL

Descripción

resource imagecreatefromgif ( string nombre_archivo )

imagecreatefromgif() devuelve un identificador de imagen que representa la imagen obtenida desde el nombre de archivo dado.

Para facilitar la depuración, el siguiente ejemplo producirá un GIF de error:

Ejemplo 1. Ejemplo para gestionar un error durante la creación

<?php
function LoadGif ($nombre_imagen)
{
    $im = @imagecreatefromgif ($nombre_imagen); /* Intentar la apertura */
    if (!$im) { /* Verificar si ha fallado */
        $im = imagecreatetruecolor (150, 30); /* Crear una imagen en blanco */
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc = imagecolorallocate ($im, 0, 0, 0);
        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
        /* Generar un mensaje de error */
        imagestring ($im, 1, 5, 5, "Error en la carga de $nombre_imagen", $tc);
    }
    return $im;
}
header("Content-Type: image/gif");
$img = LoadGif("imagen.invalida");
imagegif($img);
?>

El resultado del ejemplo seria algo similar a:

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Lista de parámetros

nombre_archivo

Ruta a la imagen GIF

Valores retornados

Devuelve un identificador de recurso de imagen en caso de éxito, FALSE si hay errores.

Notes

Nota: El soporte de GIF fue retirado de la biblioteca GD en la Versión 1.6, y agregado de nuevo en la Versión 2.0.28. Esta función no se encuentra disponible entre tales versiones.

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Anterior | Inicio | Siguiente
imagecreatefromgd | Subir | imagecreatefromjpeg


imagecreatefromjpeg

(PHP 3 >= 3.0.16, PHP 4, PHP 5)

imagecreatefromjpeg -- Crea una imagen nueva desde un archivo o URL

Descripción

resource imagecreatefromjpeg ( string nombre_archivo )

imagecreatefromjpeg() devuelve un identificador de imagen que representa a la imagen obtenida a partir del nombre de archivo indicado.

imagecreatefromjpeg() devuelve una cadena vacía si ha fallado. También escribe un mensaje de error, que desafortunadamente se muestra en el navegador como un enlace roto. Para depurar con mayor comodidad, el ejemplo siguiente producirá un JPEG erróneo:

Ejemplo 1. Ejemplo de cómo manipular un error durante la creación (cortesía de vic@zymsys.com )

function CargarJpeg ($nombreimg) {
    $im = @imagecreatefromjpeg ($nombreimg); /* Intento de apertura */
    if (!$im) { /* Comprobar si ha fallado */
        $im  = imagecreate (150, 30); /* Crear una imagen en blanco */
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc  = imagecolorallocate ($im, 0, 0, 0);
        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
        /* Mostrar un mensaje de error */
        imagestring ($im, 1, 5, 5, "Error cargando $nombreimg", $tc);
    }
    return $im;
}

Anterior | Inicio | Siguiente
imagecreatefromgif | Subir | imagecreatefrompng


imagecreatefrompng

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

imagecreatefrompng -- Crea una imagen nueva desde un archivo o URL

Descripción

resource imagecreatefrompng ( string nombre_archivo )

imagecreatefrompng() devuelve un identificador de imagen que representa a la imagen obtenida a partir del nombre de archivo indicado.

imagecreatefrompng() devuelve una cadena vacía si ha fallado. También escribe un mensaje de error, que desafortunadamente se muestra en el navegador como un enlace roto. Para depurar con mayor comodidad, el ejemplo siguiente producirá un JPEG erróneo:

Ejemplo 1. Ejemplo de cómo manipular un error durante la creación (cortesía de vic@zymsys.com )

function CargarJpeg ($nombreimg) {
    $im = @imagecreatefrompng ($nombreimg); /* Intento de apertura */
    if (!$im) { /* Comprobar si ha fallado */
        $im  = imagecreate (150, 30); /* Crear una imagen en blanco */
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc  = imagecolorallocate ($im, 0, 0, 0);
        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
        /* Mostrar un mensaje de error */
        imagestring ($im, 1, 5, 5, "Error cargando $nombreimg", $tc);
    }
    return $im;
}

Anterior | Inicio | Siguiente
imagecreatefromjpeg | Subir | imagecreatefromstring


imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5)

imagecreatefromstring -- Create a new image from the image stream in the string

Descripción

resource imagecreatefromstring ( string data )

imagecreatefromstring() returns an image identifier representing the image obtained from the given data These types will be automatically detected if your build of PHP supports them: JPEG, PNG, GIF, WBMP, and GD2.

Lista de parámetros

image

A string containing the image data

Valores retornados

An image resource will be returned on success. FALSE is returned if the image type is unsupported, the data is not in a recognised format, or the image is corrupt and cannot be loaded.

Ejemplos

Ejemplo 1. imagecreatefromstring() example

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
}
else {
    echo 'An error occurred.';
}
?>

El resultado del ejemplo seria algo similar a:

Ver también

imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromgif()
imagecreatetruecolor()

Anterior | Inicio | Siguiente
imagecreatefrompng | Subir | imagecreatefromwbmp


imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromwbmp -- Create a new image from file or URL

Descripción

resource imagecreatefromwbmp ( string filename )

imagecreatefromwbmp() returns an image identifier representing the image obtained from the given filename.

imagecreatefromwbmp() returns an empty string on failure. It also outputs an error message, which unfortunately displays as a broken link in a browser. To ease debugging the following example will produce an error WBMP:

Ejemplo 1. Example to handle an error during creation

<?php
function LoadWBMP($imgname)
{
    $im = @imagecreatefromwbmp($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor (20, 20); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 10, 10, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
?>

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Lista de parámetros

filename

Path to the WBMP image

Valores retornados

Returns an image resource identifier on success, FALSE on errors.

Notes

Nota: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Anterior | Inicio | Siguiente
imagecreatefromstring | Subir | imagecreatefromxbm


imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxbm -- Create a new image from file or URL

Descripción

resource imagecreatefromxbm ( string filename )

imagecreatefromxbm() returns an image identifier representing the image obtained from the given filename.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Lista de parámetros

filename

Path to the XBM image

Valores retornados

Returns an image resource identifier on success, FALSE on errors.

Anterior | Inicio | Siguiente
imagecreatefromwbmp | Subir | imagecreatefromxpm


imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxpm -- Create a new image from file or URL

Descripción

resource imagecreatefromxpm ( string filename )

imagecreatefromxpm() returns an image identifier representing the image obtained from the given filename.

Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados

Lista de parámetros

filename

Path to the XPM image

Valores retornados

Returns an image resource identifier on success, FALSE on errors.

Valores retornados

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Anterior | Inicio | Siguiente
imagecreatefromxbm | Subir | imagecreatetruecolor


imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5)

imagecreatetruecolor -- Crea una imagen nueva en color real (true color)

Descripción

resource imagecreatetruecolor ( int anchura, int altura )

imagecreatetruecolor() devuelve un identificador de imagen representando una imagen en blanco de tamaño anchura por altura.

Nota: Esta función fue añadida en PHP 4.0.6 y requiere GD 2.0.1 o superior

Anterior | Inicio | Siguiente
imagecreatefromxpm | Subir | imagedashedline


imagedashedline

(PHP 3, PHP 4, PHP 5)

imagedashedline -- Dibuja una línea discontinua

Descripción

bool imagedashedline ( resource im, int x1, int y1, int x2, int y2, int col )

Esta función está obsoleta. Para conseguir el mismo efecto, emplee las funciones imagesetstyle() y imageline().

Anterior | Inicio | Siguiente
imagecreatetruecolor | Subir | imagedestroy


imagedestroy

(PHP 3, PHP 4, PHP 5)

imagedestroy -- Destruye una imagen

Descripción

bool imagedestroy ( resource im )

imagedestroy() libera la memoria asociada a la imagen im. im es el identificador de imagen devuelto por la función imagecreate().

Anterior | Inicio | Siguiente
imagedashedline | Subir | imageellipse


imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipse -- Draw an ellipse

Descripción

bool imageellipse ( resource image, int cx, int cy, int width, int height, int color )

Draws an ellipse centered at the specified coordinates.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The ellipse width

height

The ellipse height

color

The color of the ellipse. A color identifier created with imagecolorallocate()

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. imageellipse() example

<?php

// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the ellipse
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

El resultado del ejemplo seria algo similar a:

Notes

Nota: This function requires GD 2.0.2 or later.

Ver también

imagefilledellipse()
imagearc()

Anterior | Inicio | Siguiente
imagedestroy | Subir | imagefill


imagefill

(PHP 3, PHP 4, PHP 5)

imagefill -- Rellena de color

Descripción

bool imagefill ( resource im, int x, int y, int col )

imagefill() realiza un relleno empezando en la coordenada x,y (arriba izquierda es 0,0) con el color col en la imagen im.

Anterior | Inicio | Siguiente
imageellipse | Subir | imagefilledarc


imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc -- Draw a partial ellipse and fill it

Descripción

bool imagefilledarc ( resource image, int cx, int cy, int width, int height, int start, int end, int color, int style )

Draws a partial ellipse centered at the specified coordinate in the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The arc width

height

The arc height

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate()

style

A bitwise OR of the following possibilities:

  1. IMG_ARC_PIE

  2. IMG_ARC_CHORD

  3. IMG_ARC_NOFILL

  4. IMG_ARC_EDGED

IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just connects the starting and ending angles with a straight line, while IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used together with IMG_ARC_NOFILL, indicates that the beginning and ending angles should be connected to the center - this is a good way to outline (rather than fill) a 'pie slice'.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Creating a 3D looking pie

<?php

// create image
$image = imagecreatetruecolor(100, 100);

// allocate some solors
$white    = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray     = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red      = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred  = imagecolorallocate($image, 0x90, 0x00, 0x00);

// make the 3D effect
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

El resultado del ejemplo seria algo similar a:

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Anterior | Inicio | Siguiente
imagefill | Subir | imagefilledellipse


imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5)

imagefilledellipse -- Draw a filled ellipse

Descripción

bool imagefilledellipse ( resource image, int cx, int cy, int width, int height, int color )

Draws an ellipse centered at the specified coordinate on the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The arc width

height

The arc height

color

The fill color. A color identifier created with imagecolorallocate()

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. imagefilledellipse() example

<?php

// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the white ellipse
imagefilledellipse($image, 200, 150, 300, 200, $col_ellipse);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

El resultado del ejemplo seria algo similar a:

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imageellipse()
imagefilledarc()

Anterior | Inicio | Siguiente
imagefilledarc | Subir | imagefilledpolygon


imagefilledpolygon

(PHP 3, PHP 4, PHP 5)

imagefilledpolygon -- Dibuja un polígono relleno

Descripción

bool imagefilledpolygon ( resource im, array points, int num_points, int col )

imagefilledpolygon() crea un polígono relleno en la imagen im.

points es una matriz conteniendo los vértices x e y del polígono, por ejemplo: points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc.

num_points es el número total de vértices, que debe ser mayor que 3.

Ejemplo 1. Ejemplo de imagefilledpolygon()

<?php
// Crear la matriz de los verices del poligono
$values = array(
            40,  50,  // Point 1 (x, y)
            20,  240, // Point 2 (x, y)
            60,  60,  // Point 3 (x, y)
            240, 20,  // Point 4 (x, y)
            50,  40,  // Point 5 (x, y)
            10,  10   // Point 6 (x, y)
            );

// crear la imagen
$image = imagecreate(250, 250);

// preparar los colores
$bg   = imagecolorallocate($image, 200, 200, 200);
$blue = imagecolorallocate($image, 0, 0, 255);

// dibujar el poligono
imagefilledpolygon($image, $values, 6, $blue);

// mostrar la imagen
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Anterior | Inicio | Siguiente
imagefilledellipse | Subir | imagefilledrectangle


imagefilledrectangle

(PHP 3, PHP 4, PHP 5)

imagefilledrectangle -- Dibuja un rectángulo relleno

Descripción

bool imagefilledrectangle ( resource im, int x1, int y1, int x2, int y2, int col )

imagefilledrectangle() crea un rectángulo relleno con el color col en la imagen im comenzando con las coordenadas superiores izquierdas x1, y1 y finalizando en las coordenadas inferiores derechas x2, y2. 0,0 es la esquina superior izquierda de la imagen.

Anterior | Inicio | Siguiente
imagefilledpolygon | Subir | imagefilltoborder


imagefilltoborder

(PHP 3, PHP 4, PHP 5)

imagefilltoborder -- Relleno de un color especifico

Descripción

bool imagefilltoborder ( resource im, int x, int y, int border, int col )

imagefilltoborder() realiza un relleno hasta el color del borde que está definido por border. El punto de inicio para el relleno es x, y (arriba izquierda es 0,0) y la región se rellena con el color col.

Anterior | Inicio | Siguiente
imagefilledrectangle | Subir | imagefilter


imagefilter

(PHP 5)

imagefilter -- Applies a filter to an image

Descripción

bool imagefilter ( resource image, int filtertype [, int arg1 [, int arg2 [, int arg3]]] )

imagefilter() applies the given filter filtertype on the image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filtertype

filtertype can be one of the following:

  • IMG_FILTER_NEGATE: Reverses all colors of the image.

  • IMG_FILTER_GRAYSCALE: Converts the image into grayscale.

  • IMG_FILTER_BRIGHTNESS: Changes the brightness of the image. Use arg1 to set the level of brightness.

  • IMG_FILTER_CONTRAST: Changes the contrast of the image. Use arg1 to set the level of contrast.

  • IMG_FILTER_COLORIZE: Like IMG_FILTER_GRAYSCALE, except you can specify the color. Use arg1, arg2 and arg3 in the form of red, blue, green. The range for each color is 0 to 255.

  • IMG_FILTER_EDGEDETECT: Uses edge detection to highlight the edges in the image.

  • IMG_FILTER_EMBOSS: Embosses the image.

  • IMG_FILTER_GAUSSIAN_BLUR: Blurs the image using the Gaussian method.

  • IMG_FILTER_SELECTIVE_BLUR: Blurs the image.

  • IMG_FILTER_MEAN_REMOVAL: Uses mean removal to achieve a "sketchy" effect.

  • IMG_FILTER_SMOOTH: Makes the image smoother. Use arg1 to set the level of smoothness.

arg1

arg2

arg3

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. imagefilter() grayscale example

<?php
$im = imagecreatefrompng('dave.png');
if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
    echo 'Image converted to grayscale.';
    imagepng($im, 'dave.png');
} else {
    echo 'Conversion to grayscale failed.';
}

imagedestroy($im);
?>

Ejemplo 2. imagefilter() brightness example

<?php
$im = imagecreatefrompng('sean.png');
if ($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20)) {
    echo 'Image brightness changed.';
    imagepng($im, 'sean.png');
} else {
    echo 'Image brightness change failed.';
}

imagedestroy($im);
?>

Ejemplo 3. imagefilter() colorize example

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, so 0, 255, 0 is green */
if ($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0)) {
    echo 'Image successfully shaded green.';
    imagepng($im, 'philip.png');
} else {
    echo 'Green shading failed.';
}

imagedestroy($im);
?>

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Ver también

imageconvolution()

Anterior | Inicio | Siguiente
imagefilltoborder | Subir | imagefontheight


imagefontheight

(PHP 3, PHP 4, PHP 5)

imagefontheight -- Devuelve la altura de una fuente

Descripción

int imagefontheight ( int font )

Devuelve la altura en pixels de un carácter en un fuente específica.

Vea también imagefontwidth() y imageloadfont().

Anterior | Inicio | Siguiente
imagefilter | Subir | imagefontwidth


imagefontwidth

(PHP 3, PHP 4, PHP 5)

imagefontwidth -- Devuelve la anchura de una fuente

Descripción

int imagefontwidth ( int font )

Devuelve la anchura en pixels de un carácter en un fuente específica.

Vea también imagefontheight() y imageloadfont().

Anterior | Inicio | Siguiente
imagefontheight | Subir | imageftbbox


imageftbbox

(PHP 4 >= 4.1.0, PHP 5)

imageftbbox -- Give the bounding box of a text using fonts via freetype2

Descripción

array imageftbbox ( float size, float angle, string font_file, string text [, array extrainfo] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

size

angle

font_file

text

extrainfo

Valores retornados

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Nota: This function is only available if PHP is compiled with freetype support (--with-freetype-dir=DIR)

Registro de cambios

Versión | Descripción
4.3.5 | extrainfo was made optional.

Anterior | Inicio | Siguiente
imagefontwidth | Subir | imagefttext


imagefttext

(PHP 4 >= 4.1.0, PHP 5)

imagefttext -- Write text to the image using fonts using FreeType 2

Descripción

array imagefttext ( resource image, float size, float angle, int x, int y, int col, string font_file, string text [, array extrainfo] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

size

angle

x

y

col

font_file

text

extrainfo

Valores retornados

This function returns an array containing the following elements:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | upper right x-coordinate
3 | upper right y-coordinate

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Nota: This function is only available if PHP is compiled with freetype support (--with-freetype-dir=DIR)

Registro de cambios

Versión | Descripción
4.3.5 | extrainfo was made optional.

Anterior | Inicio | Siguiente
imageftbbox | Subir | imagegammacorrect


imagegammacorrect

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

imagegammacorrect -- Apply a gamma correction to a GD image

Descripción

bool imagegammacorrect ( resource image, float inputgamma, float outputgamma )

Applies gamma correction to the given gd image given an input and an output gamma.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

inputgamma

The input gamma

outputgamma

The output gamma

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagefttext | Subir | imagegd2


imagegd2

(PHP 4 >= 4.1.0, PHP 5)

imagegd2 -- Output GD2 image to browser or file

Descripción

bool imagegd2 ( resource image [, string filename [, int chunk_size [, int type]]] )

Outputs a GD2 image to the given filename.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to the saved file. If not set or NULL, the raw image stream will be outputed directly.

chunk_size

type

Either IMG_GD2_RAW or IMG_GD2_COMPRESSED. Default is IMG_GD2_RAW.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Nota: The GD2 format is commonly used to allow fast loading of parts of images. Note that the GD2 format is only usable in GD2-compatible applications.

Registro de cambios

Versión | Descripción
4.3.2 | chunk_size and type were added.

Ver también

imagegd()

Anterior | Inicio | Siguiente
imagegammacorrect | Subir | imagegd


imagegd

(PHP 4 >= 4.1.0, PHP 5)

imagegd -- Output GD image to browser or file

Descripción

bool imagegd ( resource image [, string filename] )

Outputs a GD image to the given filename.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to the saved file. If not set or NULL, the raw image stream will be outputed directly.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: The GD format is commonly used to allow fast loading of parts of images. Note that the GD format is only usable in GD-compatible applications.

Ver también

imagegd2()

Anterior | Inicio | Siguiente
imagegd2 | Subir | imagegif


imagegif

(PHP 3, PHP 4, PHP 5)

imagegif -- Producir la salida de una imagen al navegador o a un archivo

Descripción

bool imagegif ( resource imagen [, string nombre_archivo] )

imagegif() crea el archivo GIF indicado por nombre_archivo desde la imagen imagen. El parámetro imagen es el valor de retorno de la función imagecreate() o imagecreatefrom*.

El formato de la imagen será GIF87a a menos que la imagen haya sido convertida a transparente con imagecolortransparent(), en cuyo caso el formato de la imagen será GIF89a.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

nombre_archivo

La ruta al archivo guardado. Si no es definida, o es pasado el valor NULL, la secuencia pura de la imagen será enviada a la salida directamente.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

Nota: Dado que el soporte GIF fue retirado por completo de la biblioteca GD en la versión 1.6, esta función no se encuentra disponible si está usando tal versión de la biblioteca GD. Se espera que el soporte para esta característica regrese en una versión posterior al relanzamiento del soporte GIF en la biblioteca GD a mediados de 2004. Para más información, consulte el sitio web del Proyecto GD.

El siguiente segmento de código le permite escribir aplicaciones PHP más portables al detectar automáticamente el tipo de soporte GD que se encuentra disponible. Reemplace la secuencia header ("Content-type: image/gif"); imagegif ($im); por la secuencia más flexible:

<?php
if (function_exists("imagegif")) {
    header("Content-type: image/gif");
    imagegif($im);
} elseif (function_exists("imagejpeg")) {
    header("Content-type: image/jpeg");
    imagejpeg($im, "", 0.5);
} elseif (function_exists("imagepng")) {
    header("Content-type: image/png");
    imagepng($im);
} elseif (function_exists("imagewbmp")) {
    header("Content-type: image/vnd.wap.wbmp");
    imagewbmp($im);
} else {
    die("No hay soporte de imágenes en este servidor PHP");
}
?>

Nota: A partir de la versión 3.0.18 y 4.0.2 puede usar la función imagetypes() en lugar de function_exists() para chequear por la presencia de los varios formatos de imagen soportados:

<?php
if (imagetypes() & IMG_GIF) {
    header ("Content-type: image/gif");
    imagegif ($im);
} elseif (imagetypes() & IMG_JPG) {
    /* ... etc. */
}
?>

Ver también

imagepng()
imagewbmp()
imagejpeg()
imagetypes()

Anterior | Inicio | Siguiente
imagegd | Subir | imageinterlace


imageinterlace

(PHP 3, PHP 4, PHP 5)

imageinterlace -- Activa o desactiva el entrelazado

Descripción

int imageinterlace ( resource im [, int interlace] )

imageinterlace() activa o desactiva el bit de entrelazado. Si interlace es 1 la imagen im será entrelazada, y si interlace es 0 el bit de entrelazado se desactiva.

Si se activa el bit de entrelazado y la imagen empleada es de tipo JPEG, la imagen se crea como un JPEG progresivo.

Esta función devuelve si el bit de entralazado de la imagen está activado.

Anterior | Inicio | Siguiente
imagegif | Subir | imageistruecolor


imageistruecolor

(PHP 4 >= 4.3.2, PHP 5)

imageistruecolor -- Finds whether an image is a truecolor image

Descripción

bool imageistruecolor ( resource image )

imageistruecolor() finds whether the image image is a truecolor image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

Valores retornados

Returns TRUE if the image is truecolor, FALSE otherwise.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagecreatetruecolor()

Anterior | Inicio | Siguiente
imageinterlace | Subir | imagejpeg


imagejpeg

(PHP 3 >= 3.0.16, PHP 4, PHP 5)

imagejpeg -- Output image to browser or file

Descripción

bool imagejpeg ( resource image [, string filename [, int quality]] )

imagejpeg() creates a JPEG file from the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to the saved file. If not set or NULL, the raw image stream will be outputed directly.

To skip this argument in order to provide the quality parameter, use NULL.

quality

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: JPEG support is only available if PHP was compiled against GD-1.8 or later.

Nota: If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().

Ver también

imagepng()
imagegif()
imagewbmp()
imageinterlace()
imagetypes()

Anterior | Inicio | Siguiente
imageistruecolor | Subir | imagelayereffect


imagelayereffect

(PHP 4 >= 4.3.0, PHP 5)

imagelayereffect -- Set the alpha blending flag to use the bundled libgd layering effects

Descripción

bool imagelayereffect ( resource image, int effect )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

effect

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Anterior | Inicio | Siguiente
imagejpeg | Subir | imageline


imageline

(PHP 3, PHP 4, PHP 5)

imageline -- Dibuja una línea

Descripción

bool imageline ( resource im, int x1, int y1, int x2, int y2, int col )

imageline() dibuja una línea desde x1, y1 hasta x2, y2 (arriba izquierda es 0,0) en la imagen im con el color col.

Ejemplo 1. Dibujar una línea gruesa

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
    /* esta forma solo funciona bien para las lineas ortogonales
    imagesetthickness($image, $thick);
    return imageline($image, $x1, $y1, $x2, $y2, $color);
    */
    if ($thick == 1) {
        return imageline($image, $x1, $y1, $x2, $y2, $color);
    }
    $t = $thick / 2 - 0.5;
    if ($x1 == $x2 || $y1 == $y2) {
        return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    $a = $t / sqrt(1 + pow($k, 2));
    $points = array(
        round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );
    imagefilledpolygon($image, $points, 4, $color);
    return imagepolygon($image, $points, 4, $color);
}

?>

Vea también imagecreate() y imagecolorallocate().

Anterior | Inicio | Siguiente
imagelayereffect | Subir | imageloadfont


imageloadfont

(PHP 3, PHP 4, PHP 5)

imageloadfont -- Cargar una fuente nueva

Descripción

int imageloadfont ( string archivo )

imageloadfont() carga un bitmap definido por el usuario y devuelve su identificador.

Lista de parámetros

archivo

El formato del archivo de la fuente es binario en la actualidad y dependiente de la arquitectura. Esto quiere decir que usted debería generar los archivos de fuentes en el mismo tipo de CPU que posee la máquina en la que está ejecutando PHP.

Tabla 1. Formato del archivo de fuente

posición de byte | tipo de datos C | descripción
byte 0-3 | int | número de caracteres en la fuente
byte 4-7 | int | valor del primer caracter en la fuente (con frecuencia 32, indicando el espacio)
byte 8-11 | int | ancho de píxel de cada caracter
byte 12-15 | int | altura de píxel de cada caracter
byte 16- | char | matriz con datos de caracteres, un byte por píxel en cada caracter, para un total de (n_caracteres*ancho*altura) bytes.

Valores retornados

El identificador de la fuente, el cual es siempre mayor que 5 para evitar conflictos con fuentes definidas internamente, o FALSE en caso de errores.

Ejemplos

Ejemplo 1. Uso de imageloadfont

<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(50, 20);
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 49, 19, $blanco);
$fuente = imageloadfont("04b.gdf");
imagestring($im, $fuente, 0, 0, "Hola", $negro);
imagepng($im);
?>

Ver también

imagefontwidth()
imagefontheight()

Anterior | Inicio | Siguiente
imageline | Subir | imagepalettecopy


imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5)

imagepalettecopy -- Copy the palette from one image to another

Descripción

void imagepalettecopy ( resource destination, resource source )

imagepalettecopy() copies the palette from the source image to the destination image.

Lista de parámetros

destination

The destination image resource

source

The source image resource

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
imageloadfont | Subir | imagepng


imagepng

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

imagepng -- Output a PNG image to either the browser or a file

Descripción

bool imagepng ( resource image [, string filename [, int quality [, int filters]]] )

Outputs or saves a PNG image from the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to the saved file. If not set or NULL, the raw image stream will be outputed directly.

Nota: NULL is invalid if the quality and filters arguments are not used.

quality

Compression level: from 0 (no compression) to 9.

filters

Allows reducing the PNG file size. It is a bitmask field which may be set to any combination of the PNG_FILTER_XXX constants. PNG_NO_FILTER or PNG_ALL_FILTERS may also be used to respectively disable or activate all filters.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
5.1.3 | Added the filters parameter.
5.1.2 | Added the quality parameter.

Ejemplos

<?php
$im = imagecreatefrompng("test.png");
imagepng($im);
?>

Ver también

imagegif()
imagewbmp()
imagejpeg()
imagetypes()

Anterior | Inicio | Siguiente
imagepalettecopy | Subir | imagepolygon


imagepolygon

(PHP 3, PHP 4, PHP 5)

imagepolygon -- Dibuja un polígono

Descripción

bool imagepolygon ( resource im, array points, int num_points, int col )

imagepolygon() crea un polígono en la imagen im. points es una matriz que contiene los vértices del polígono, de la siguiente forma: points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points es el número total de vértices.

Ejemplo 1. Ejemplo de imagepolygon()

<?php
// crear una imagen vacia
$image = imagecreate(400, 300);

// rellenarla con el color de fondo
$bg = imagecolorallocate($image, 0, 0, 0);

// crear el color para el poligono
$col_poly = imagecolorallocate($image, 255, 255, 255);

// dibujar el poligono
imagepolygon($image,
             array (
                    0, 0,
                    100, 200,
                    300, 200
             ),
             3,
             $col_poly);

// mostrar la imagen
header("Content-type: image/png");
imagepng($image);

?>

Vea también imagecreate() y imagecreatetruecolor().

Anterior | Inicio | Siguiente
imagepng | Subir | ImagePSBBox


ImagePSBBox

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

ImagePSBBox -- Devuelve el borde que rodea un rectángulo de texto usando fuentes PostScript Type1

Descripción

array imagepsbbox ( string text, int font, int size, int space, int width, float angle )

size representa pixels.

space perimte cambiar el valor por defecto de un espacio en una fuentes. Este valor es añadido al valor normal y puede ser negativo.

tightness permite controlar la cantidad de espacio en blanco entre carácteres. Este valor se añade a la anchura normal del carácter y puede ser negativo.

angle viene dado en grados.

Los parámetros space y tightness vienen expresados en unidades de espacio de carácteres, donde una unidad es 1/1000 el borde de una M.

Los parámetros space, tightness y angle son opcionales.

El borde es calculado usando la información disponible de las métricas del carácter, y desafortunadamente tiende a diferir ligeramente de los resultados obtenidos de digitalizar el texto. Si el ángulo es de 0 grados, puede esperar que el texto necesite un pixel más en cada dirección.

Esta función devuelve un array conteniuendo los siguientes elementos:

0 | coordenada x inferior izquierda
1 | coordenada y inferior izquierda
2 | coordenada x superior derecha
3 | coordenada y superior derecha

Vea también imagepstext().

Anterior | Inicio | Siguiente
imagepolygon | Subir | ImagePSEncodeFont


ImagePSEncodeFont

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

ImagePSEncodeFont -- Cambia el vector de codificación de caracteres de una fuente

Descripción

int imagepsencodefont ( string encodingfile )

Carga un vector de codificación de caracteres desde un archivo y cambia el vector de codificación de las fuentes a él. Loads a character encoding vector from from a file and changes the fonts encoding vector to it. En las fuentes PostScript normalmente faltan muchos caracteres por encima de 127, seguramente quiera cambiar esto si emplea u idioma distinto del inglés.El formato exacto de este archivo está descrito en la documentación de T1libs. T1lib viene con dos archivos listos para usar, IsoLatin1.enc y IsoLatin2.enc.

Si se encuentra usando esta función todo el tiempo, una forma mucho mejor de definir la codificación es establecer ps.default_encoding en el archivo de configuración para que apunte al archivo de codificación correcto y todas las fuentes que cargue tendrán de forma automática la codificación correcta.

Anterior | Inicio | Siguiente
ImagePSBBox | Subir | imagepsextendfont


imagepsextendfont

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

imagepsextendfont -- Extend or condense a font

Descripción

bool imagepsextendfont ( int font_index, float extend )

Extend or condense a font (font_index), if the value of the extend parameter is less than one you will be condensing the font.

Lista de parámetros

font_index

extend

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado usando la opcion --with-t1lib[=DIR].

Anterior | Inicio | Siguiente
ImagePSEncodeFont | Subir | ImagePSFreeFont


ImagePSFreeFont

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

ImagePSFreeFont -- Libera la memoria usada por un fuente PostScript Type 1

Descripción

void imagepsfreefont ( int fontindex )

Vea también imagepsloadfont().

Anterior | Inicio | Siguiente
imagepsextendfont | Subir | imagepsloadfont


imagepsloadfont

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

imagepsloadfont -- Cargar una fuente PostScript Tipo 1 desde un archivo

Descripción

resource imagepsloadfont ( string nombre_archivo )

Carga una fuente PostScript Type 1 desde el nombre_archivo dado.

Lista de parámetros

nombre_archivo

Valores retornados

En caso de que todo se efectúe correctamente, un índice de fuente válido será devuelto y puede ser usado para propósitos posteriores. De lo contrario la función devuelve FALSE.

Ejemplos

Ejemplo 1. Ejemplo de imagepsloadfont()

<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(350, 45);
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 349, 44, $blanco);
$fuente = imagepsloadfont("bchbi.pfb"); // o ubique sus archivos .pfb en su máquina
imagepstext($im, "Probando... ¡Funcionó!", $fuente, 32, $blanco, $negro, 32, 32);
imagepsfreefont($fuente);
imagepng($im);
imagedestroy($im);
?>

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado usando la opcion --with-t1lib[=DIR].

Ver también

imagepsfreefont()

Anterior | Inicio | Siguiente
ImagePSFreeFont | Subir | imagepsslantfont


imagepsslantfont

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

imagepsslantfont -- Slant a font

Descripción

bool imagepsslantfont ( resource font_index, float slant )

Slant a given font given.

Lista de parámetros

font_index

slant

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado usando la opcion --with-t1lib[=DIR].

Anterior | Inicio | Siguiente
imagepsloadfont | Subir | ImagePSText


ImagePSText

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

ImagePSText -- Para dibujar una cadena de texto sobre una imagen usando fuentes PostScript Type1

Descripción

array imagepstext ( int image, string text, int font, int size, int foreground, int background, int x, int y [, int space [, int tightness [, float angle [, int antialias_steps]]]] )

size viene expresado en pixels.

foreground es el color en el cual el texto será pintado. background es el color en el que el texto tratará de resaltar con antialiaing. Los pixels con el color background no se pintan, de forma que la imagen de fondo no necesita ser de un color sólido.

Las coordenadas dadas por x, y definirán el origen (o punto de referencia) del primer carácter (la esquina superior izquierda del carácter). Esto es diferente de la función ImageString(), donde x, y definen la esquina superiro derecha del primer carácter. Consulte la documentación de PostScript sobre fuentes y su sistema de medidas si tiene algún problema entendiendo como funcion.

space permite cambiar el valor por defecto de un espacio en la fuente. Esta cantidad es sumada al valor normal y puede ser negativa.

tightness permite controlar la cantidad de espacio en blanco entre caracteres. Esta cantidad es sumada al valor normal y puede ser negativa.

angle viene en grados.

antialias_steps permite controlar el número de colores usados para el antialising del texto. Los valores permitidos son 4 y 16. El valor superior está recomendado para textos con tamaños inferiores a 20, donde el efecto en la calidad del texto es bastante visible. Con tamaños superiores use 4. Hace un menor uso de cálculo.

Parameters space y tightness están expresados en unidades de espacio de caracteres, donde 1 unidad es 1/1000 de una M mayúscula.

Los parámetros space, tightness, angle y antialias son opcionales.

Esta función devuelve una matriz conteniendo los siguientes elementos:

0 | coordenada x inferior izquierda
1 | coordenada y inferior izquierda
2 | coordenada x superior derecha
3 | coordenada y superior derecha

Vea también imagepsbbox().

Anterior | Inicio | Siguiente
imagepsslantfont | Subir | ImageRectangle


ImageRectangle

(PHP 3, PHP 4, PHP 5)

ImageRectangle -- Dibuja un rectángulo

Descripción

int imagerectangle ( int im, int x1, int y1, int x2, int y2, int col )

ImageRectangle crea un rectángulo de color col en la imagen im comenzando en la coordenada superior izquierda x1,y1 y finalizando en la coordenada inferior derecha x2,y2. 0,0 es la esquina superior izquierda de la imagen.

Anterior | Inicio | Siguiente
ImagePSText | Subir | imagerotate


imagerotate

(PHP 4 >= 4.3.0, PHP 5)

imagerotate -- Rotate an image with a given angle

Descripción

resource imagerotate ( resource source_image, float angle, int bgd_color [, int ignore_transparent] )

Rotates the source_image image using the given angle in degrees.

The center of rotation is the center of the image, and the rotated image is scaled down so that the whole rotated image fits in the destination image - the edges are not clipped.

Lista de parámetros

source_image

The source image link

angle

Rotation angle, in degrees.

bgd_color

Specifies the color of the uncovered zone after the rotation

ignore_transparent

If set and non-zero, transparent colors are ignored (otherwise kept).

Valores retornados

Registro de cambios

Versión | Descripción
5.1.0 | ignore_transparent was added.

Ejemplos

Ejemplo 1. Rotate an image 180 degrees

This example rotates an image 180 degrees - upside down.

<?php
// File and rotation
$filename = 'test.jpg';
$degrees = 180;

// Content type
header('Content-type: image/jpeg');

// Load
$source = imagecreatefromjpeg($filename);

// Rotate
$rotate = imagerotate($source, $degrees, 0);

// Output
imagejpeg($rotate);
?>

El resultado del ejemplo seria algo similar a:

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Anterior | Inicio | Siguiente
ImageRectangle | Subir | imagesavealpha


imagesavealpha

(PHP 4 >= 4.3.2, PHP 5)

imagesavealpha -- Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

Descripción

bool imagesavealpha ( resource image, bool saveflag )

imagesavealpha() sets the flag to attempt to save full alpha channel information (as opposed to single-color transparency) when saving PNG images.

You have to unset alphablending (imagealphablending($im, FALSE)), to use it.

Alpha channel is not supported by all browsers, if you have problem with your browser, try to load your script with an alpha channel compliant browser, e.g. latest Mozilla.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

saveflag

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Ver también

imagealphablending()

Anterior | Inicio | Siguiente
imagerotate | Subir | imagesetbrush


imagesetbrush

(PHP 4 >= 4.0.6, PHP 5)

imagesetbrush -- Set the brush image for line drawing

Descripción

bool imagesetbrush ( resource image, resource brush )

imagesetbrush() sets the brush image to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special colors IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

brush

An image resource

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: You need not take special action when you are finished with a brush, but if you destroy the brush image, you must not use the IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED colors until you have set a new brush image!

Anterior | Inicio | Siguiente
imagesavealpha | Subir | ImageSetPixel


ImageSetPixel

(PHP 3, PHP 4, PHP 5)

ImageSetPixel -- Dibuja un pixel

Descripción

int imagesetpixel ( int im, int x, int y, int col )

ImageSetPixel dibuja un pixel x,y (arriba izquierda 0,0) en la imagen im con color col.

Vea también imagecreate() y imagecolorallocate().

Anterior | Inicio | Siguiente
imagesetbrush | Subir | imagesetstyle


imagesetstyle

(PHP 4 >= 4.0.6, PHP 5)

imagesetstyle -- Set the style for line drawing

Descripción

bool imagesetstyle ( resource image, array style )

imagesetstyle() sets the style to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special color IMG_COLOR_STYLED or lines of images with color IMG_COLOR_STYLEDBRUSHED.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

style

An array of pixel colors. You can use the IMG_COLOR_TRANSPARENT constant to add a transparent pixel.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Following example script draws a dashed line from upper left to lower right corner of the canvas:

Ejemplo 1. imagesetstyle() example

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$w   = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);

/* Draw a dashed line, 5 red pixels, 5 white pixels */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Draw a line of happy faces using imagesetbrush() with imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

El resultado del ejemplo seria algo similar a:

Ver también

imagesetbrush()
imageline()

Anterior | Inicio | Siguiente
ImageSetPixel | Subir | imagesetthickness


imagesetthickness

(PHP 4 >= 4.0.6, PHP 5)

imagesetthickness -- Set the thickness for line drawing

Descripción

bool imagesetthickness ( resource image, int thickness )

imagesetthickness() sets the thickness of the lines drawn when drawing rectangles, polygons, ellipses etc. etc. to thickness pixels.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

thickness

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Anterior | Inicio | Siguiente
imagesetstyle | Subir | imagesettile


imagesettile

(PHP 4 >= 4.0.6, PHP 5)

imagesettile -- Set the tile image for filling

Descripción

bool imagesettile ( resource image, resource tile )

imagesettile() sets the tile image to be used by all region filling functions (such as imagefill() and imagefilledpolygon()) when filling with the special color IMG_COLOR_TILED.

A tile is an image used to fill an area with a repeated pattern. Any GD image can be used as a tile, and by setting the transparent color index of the tile image with imagecolortransparent(), a tile allows certain parts of the underlying area to shine through can be created.

Nota: You need not take special action when you are finished with a tile, but if you destroy the tile image, you must not use the IMG_COLOR_TILED color until you have set a new tile image!

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

tile

The image resource to be used as a tile

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagesetthickness | Subir | ImageString


ImageString

(PHP 3, PHP 4, PHP 5)

ImageString -- Dibuja una cadena de texto horizintalmente

Descripción

int imagestring ( int im, int font, int x, int y, string s, int col )

ImageString dibuja la cadena s en la imagen identificada por im en las coordenadas x,y (arriba izquierda es 0,0) en el color col. Si la fuente es 1, 2, 3, 4 o 5, se emplea una fuente interna.

Vea también imageloadfont().

Anterior | Inicio | Siguiente
imagesettile | Subir | ImageStringUp


ImageStringUp

(PHP 3, PHP 4, PHP 5)

ImageStringUp -- Dibuja una cadena de texto verticalmente

Descripción

int imagestringup ( int im, int font, int x, int y, string s, int col )

ImageStringUp dibuja la cadena s verticalmente en la imagen identificada por im en las coordenadas x,y (arriba izquierda es 0,0) en el color col. Si la fuente es 1, 2, 3, 4 o 5, se usa una fuente interna.

Vea también imageloadfont().

Anterior | Inicio | Siguiente
ImageString | Subir | ImageSX


ImageSX

(PHP 3, PHP 4, PHP 5)

ImageSX -- Obtiene la anchura de la imagen

Descripción

int imagesx ( int im )

ImageSX devuelva la anchura de la imagen identificado por im.

Vea también imagecreate() y imagesy().

Anterior | Inicio | Siguiente
ImageStringUp | Subir | ImageSY


ImageSY

(PHP 3, PHP 4, PHP 5)

ImageSY -- Obtiene la altura de la imagen

Descripción

int imagesy ( int im )

ImageSY devuelve la altura de la imagen identificada por im.

Vea también imagecreate() y imagesx().

Anterior | Inicio | Siguiente
ImageSX | Subir | imagetruecolortopalette


imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5)

imagetruecolortopalette -- Convert a true color image to a palette image

Descripción

bool imagetruecolortopalette ( resource image, bool dither, int ncolors )

imagetruecolortopalette() converts a truecolor image to a palette image. The code for this function was originally drawn from the Independent JPEG Group library code, which is excellent. The code has been modified to preserve as much alpha channel information as possible in the resulting palette, in addition to preserving colors as well as possible. This does not work as well as might be hoped. It is usually best to simply produce a truecolor output image instead, which guarantees the highest output quality.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

dither

Indicates if the image should be dithered - if it is TRUE then dithering will be used which will result in a more speckled image but with better color approximation.

ncolors

Sets the maximum number of colors that should be retained in the palette.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion requiere GD 2.0.1 o posterior.

Anterior | Inicio | Siguiente
ImageSY | Subir | imagettfbbox


imagettfbbox

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

imagettfbbox -- Entrega la caja circundante de un texto usando fuentes TrueType

Descripción

array imagettfbbox ( float tamanyo, float angulo, string archivo_fuente, string texto )

Esta función calcula y devuelve la caja circundante en pixeles de un texto TrueType.

Lista de parámetros

tamanyo

El tamaño de fuente en pixeles

angulo

Ángulo en grados en el que se medirá texto

archivo_fuente

El nombre del archivo de fuente TrueType (puede ser una URL). Dependiendo de la versión de la biblioteca GD que PHP usa, puede que intente buscar por archivos que no comiencen con un caracter '/', agregando '.ttf' al nombre de archivo y buscando a través de una ruta de fuentes definida por la biblioteca

texto

La cadena a ser medida

Valores retornados

imagettfbbox() devuelve una matriz con 8 elementos que representan cuatro puntos, formando la caja que rodea la caja del texto:

0 | esquina inferior izquierda, posición X
1 | esquina inferior izquierda, posición Y
2 | esquina inferior derecha, posición X
3 | esquina inferior derecha, posición Y
4 | esquina superior derecha, posición X
5 | esquina superior derecha, posición Y
6 | esquina superior izquierda, posición X
7 | esquina superior izquierda, posición Y

Los puntos son relativos al texto independientemente del angulo, así que "superior izquierdo" quiere decir en la esquina superior a mano izquierda viendo el texto horizontalmente.

Ver también

Nota: Esta función requiere la biblioteca GD y la biblioteca FreeType.

Ver también

imagettftext()

Anterior | Inicio | Siguiente
imagetruecolortopalette | Subir | imagettftext


imagettftext

(PHP 3, PHP 4, PHP 5)

imagettftext -- Escribir un texto sobre la imagen usando fuentes TrueType

Descripción

array imagettftext ( resource imagen, float tamanyo, float angulo, int x, int y, int color, string archivo_fuente, string texto )

Escribe el texto dado en la imagen usando fuentes TrueType.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

tamanyo

El tamaño de la fuente. Dependiendo de su versión de GD, éste puede ser especificado como el tamaño en píxeles (GD1), o el tamaño en puntos (GD2)

angulo

El ángulo en grados, en donde 0 grados significa texto de lectura de izquierda-a-derecha. Valores más altos representan una rotación en sentido contrario al de las manecillas del reloj. Por ejemplo, un valor de 90 resulta en texto de lectura de abajo-hacia-arriba.

x

Las coordenadas dadas por x y y definirán el punto base del primer caracter (a grandes rasgos la esquina inferior izquierda del caracter). Esto a diferencia de imagestring(), en donde x y y definen la esquina superior izquierda del primer caracter. Por ejemplo, "arriba a la izquierda" es 0, 0.

y

La coordenada y. Ésta establece la posición de la línea base de las fuentes, no la parte más baja del caracter.

color

El índice de color. Usar un índice de color negativo tiene el efecto de deshabilitar el anti-alias. Vea imagecolorallocate()

archivo_fuente

La ruta a la fuente TrueType que desea usar.

Dependiendo de la versión de la biblioteca GD que usa PHP, cuando archivo_fuente no comienza con / entonces .ttf se añade al nombre de archivo y la biblioteca intentará buscar ese archivo a lo largo de una ruta de fuentes definida en la biblioteca.

Cuando se usan versiones de la biblioteca GD inferiores a 2.0.18, un caracter de espacio, en lugar de un punto-y-coma, era usado como el 'separador de ruta' para diferentes archivos de fuente. El uso no intencionado de esta característica resulta en el mensaje de advertencia: Warning: Could not find/open font. Para estas versiones afectadas, la única solución es mover la fuente a una ruta que no contenga espacios.

En muchos casos en los que una fuente reside en el mismo directorio que el script que la utiliza, el siguiente truco aliviará los problemas de inclusión.

<?php
// Definir la variable de entorno para GD
putenv('GDFONTPATH=' . realpath('.'));

// Nombre de la fuente a usar (note la falta de la extensión .ttf)
$fuente = 'AlgunaFuente';
?>

texto

La cadena de texto.

Puede incluir referencias numéricas de caracter (de la forma: &#8364;) para acceder a caracteres en una fuente más allá de la posición 127. El formato hexadecimal (como &#xA9;) es soportado a partir de PHP 5.2.0. Es posible pasar cadenas en codificación UTF-8 directamente.

Las entidades con nombre, como &copy;, no son soportadas. Considere usar html_entity_decode() para decodificar tales entidades a cadenas UTF-8 (html_entity_decode() soporta esta aplicación a partir de PHP 5.0.0).

Si un caracter que no es soportado por la fuente es usado en la cadena, un rectángulo vacío reemplazará al caracter.

Valores retornados

Devuelve una matriz con 8 elementos que representan cuatro puntos que forman la caja circundante del texto. El orden de los puntos es inferior izquierdo, inferior derecho, superior derecho y superior izquierdo. Los puntos son relativos al texto independientemente del ángulo, así que "superior izquierdo" quiere decir la esquina del lado superior izquierdo cuando ve el texto horizontalmente.

Ejemplos

Ejemplo 1. Ejemplo de imagettftext()

Este script de ejemplo producirá un PNG blanco de 400x30 pixeles, con las palabras "Probando..." en negro (con sombra gris), en la fuente Arial.

<?php
// Establecer el tipo de contenido
header("Content-type: image/png");

// Crear la imagen
$im = imagecreatetruecolor(400, 30);

// Crear algunos colores
$blanco = imagecolorallocate($im, 255, 255, 255);
$gris   = imagecolorallocate($im, 128, 128, 128);
$negro  = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $blanco);

// El texto a pintar
$texto = 'Probando...';
// Reemplaze la ruta con su propia ruta a la fuente
$fuente = 'arial.ttf';

// Agregar una sombra al texto
imagettftext($im, 20, 0, 11, 21, $gris, $fuente, $texto);

// Agregar el texto
imagettftext($im, 20, 0, 10, 20, $negro, $fuente, $texto);

// Usar imagepng() resulta en texto más claro, en comparación con imagejpeg()
imagepng($im);
imagedestroy($im);
?>

Notes

Nota: Esta función requiere tanto la biblioteca GD como la biblioteca FreeType.

Ver también

imagettfbbox()

Anterior | Inicio | Siguiente
imagettfbbox | Subir | imagetypes


imagetypes

(PHP 3 CVS only, PHP 4 >= 4.0.2, PHP 5)

imagetypes -- Return the image types supported by this PHP build

Descripción

int imagetypes ( void )

Returns the image types supported by the current PHP installation.

Valores retornados

Returns a bit-field corresponding to the image formats supported by the version of GD linked into PHP. The following bits are returned, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.

Ejemplos

Ejemplo 1. Checking for PNG support

<?php
if (imagetypes() & IMG_PNG) {
    echo "PNG Support is enabled";
}
?>

Anterior | Inicio | Siguiente
imagettftext | Subir | imagewbmp


imagewbmp

(PHP 3 >= 3.0.15, PHP 4 >= 4.0.1, PHP 5)

imagewbmp -- Output image to browser or file

Descripción

bool imagewbmp ( resource image [, string filename [, int foreground]] )

imagewbmp() outputs or save a WBMP version of the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to the saved file. If not set or NULL, the raw image stream will be outputed directly.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Ver también

image2wbmp()
imagepng()
imagegif()
imagejpeg()
imagetypes()

Anterior | Inicio | Siguiente
imagetypes | Subir | imagexbm


imagexbm

(PHP 5)

imagexbm -- Output XBM image to browser or file

Descripción

bool imagexbm ( resource image, string filename [, int foreground] )

Outputs or save an XBM version of the given image.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to the saved file. If not set or NULL, the raw image stream will be outputed directly.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Anterior | Inicio | Siguiente
imagewbmp | Subir | iptcembed


iptcembed

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

iptcembed -- Embed binary IPTC data into a JPEG image

Descripción

mixed iptcembed ( string iptcdata, string jpeg_file_name [, int spool] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

iptcdata

jpeg_file_name

spool

Anterior | Inicio | Siguiente
imagexbm | Subir | iptcparse


iptcparse

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

iptcparse -- Parse a binary IPTC block into single tags.

Descripción

array iptcparse ( string iptcblock )

Parses an IPTC block into its single tags.

Lista de parámetros

iptcblock

A binary IPTC block

Valores retornados

Returns an array using the tagmarker as an index and the value as the value. It returns FALSE on error or if no IPTC data was found.

Ver también

getimagesize() for an example

Anterior | Inicio | Siguiente
iptcembed | Subir | jpeg2wbmp


jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5)

jpeg2wbmp -- Convert JPEG image file to WBMP image file

Descripción

bool jpeg2wbmp ( string jpegname, string wbmpname, int dest_height, int dest_width, int threshold )

Converts a JPEG file into a WBMP file.

Lista de parámetros

jpegname

Path to JPEG file

wbmpname

Path to destination WBMP file

dest_height

Destination image height

dest_width

Destination image width

threshold

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Nota: JPEG support is only available if PHP was compiled against GD-1.8 or later.

Ver también

png2wbmp()

Anterior | Inicio | Siguiente
iptcparse | Subir | png2wbmp


png2wbmp

(PHP 4 >= 4.0.5, PHP 5)

png2wbmp -- Convert PNG image file to WBMP image file

Descripción

bool png2wbmp ( string pngname, string wbmpname, int dest_height, int dest_width, int threshold )

Converts a PNG file into a WBMP file.

Lista de parámetros

pngname

Path to PNG file

wbmpname

Path to destination WBMP file

dest_height

Destination image height

dest_width

Destination image width

threshold

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Ver también

jpeg2wbmp()

Anterior | Inicio | Siguiente
jpeg2wbmp | Subir | Image magick Functions


Funciones IMAP, POP3 y NNTP

Manual de PHP
Anterior Siguiente

LXV. Funciones IMAP, POP3 y NNTP

Introducción

Estas funciones le permiten operar con el protocolo IMAP, así como con métodos de acceso a NNTP, POP3 y buzones de correo local.

Tenga en cuenta sin embargo, que algunas funciones IMAP no funcionarán correctamente con el protocolo POP.

Requisitos

Esta extensión requiere que la biblioteca c-client se encuentre instalada. Obtenga la versión más reciente de ftp://ftp.cac.washington.edu/imap/ y compílela.

Es importante que no copie los archivos fuente IMAP directamente al directorio de inclusiones del sistema ya que puede crear conflictos. En su lugar, cree un nuevo directorio al interior del directorio de inclusiones del sistema, tal como /usr/local/imap-2000b/ (la ubicación y nombre dependen de su configuración y versión de IMAP), y al interior de este directorio nuevo cree los directorios adicionales con nombres lib/ e include/. Desde el directorio c-client de su árbol de fuentes IMAP, copie todos los archivos *.h en include/ y todos los *.c en lib/. Adicionalmente, cuando haya compilado IMAP, un archivo llamado c-client.a es creado. Coloque también este archivo en el directorio lib/, pero cambie su nombre a libc-client.a.

Nota: Para compilar la biblioteca c-client con soporte SSL o Kerberos, lea la documentación que viene con el paquete.

Nota: En Mandrake Linux, la biblioteca IMAP (libc-client.a) es compilada sin soporte para Kerberos. Una versión aparte con SSL (client-PHP4.a) es instalada. La biblioteca debe ser recompilada para agregar soporte Kerberos.

Instalación

To get these functions to work, you have to compile PHP with --with-imap[=DIR], where DIR is the c-client install prefix. From our example above, you would use --with-imap=/usr/local/imap-2000b. This location depends on where you created this directory according to the description above. Windows users may include the php_imap.dll DLL in php.ini. IMAP is not supported on systems earlier that Windows 2000. This is because it uses encryption functions in order to enable SSL connections to the mail servers.

Nota: Depending how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/openssl/ and/or --with-kerberos=/path/to/kerberos into the PHP configure line.

Aviso

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ ó Cyrus. Esto es debido a que las dos utilizan el mismo símbolo interno

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

NIL (integer)

OP_DEBUG (integer)

OP_READONLY (integer)

Open mailbox read-only

OP_ANONYMOUS (integer)

Don't use or update a .newsrc for news (NNTP only)

OP_SHORTCACHE (integer)

OP_SILENT (integer)

OP_PROTOTYPE (integer)

OP_HALFOPEN (integer)

For IMAP and NNTP names, open a connection but don't open a mailbox.

OP_EXPUNGE (integer)

OP_SECURE (integer)

CL_EXPUNGE (integer)

silently expunge the mailbox before closing when calling imap_close()

FT_UID (integer)

The parameter is a UID

FT_PEEK (integer)

Do not set the \Seen flag if not already set

FT_NOT (integer)

FT_INTERNAL (integer)

The return string is in internal format, will not canonicalize to CRLF.

FT_PREFETCHTEXT (integer)

ST_UID (integer)

The sequence argument contains UIDs instead of sequence numbers

ST_SILENT (integer)

ST_SET (integer)

CP_UID (integer)

the sequence numbers contain UIDS

CP_MOVE (integer)

Delete the messages from the current mailbox after copying with imap_mail_copy()

SE_UID (integer)

Return UIDs instead of sequence numbers

SE_FREE (integer)

SE_NOPREFETCH (integer)

Don't prefetch searched messages

SO_FREE (integer)

SO_NOSERVER (integer)

SA_MESSAGES (integer)

SA_RECENT (integer)

SA_UNSEEN (integer)

SA_UIDNEXT (integer)

SA_UIDVALIDITY (integer)

SA_ALL (integer)

LATT_NOINFERIORS (integer)

This mailbox has no "children" (there are no mailboxes below this one).

LATT_NOSELECT (integer)

This is only a container, not a mailbox - you cannot open it.

LATT_MARKED (integer)

This mailbox is marked. Only used by UW-IMAPD.

LATT_UNMARKED (integer)

This mailbox is not marked. Only used by UW-IMAPD.

SORTDATE (integer)

Sort criteria for imap_sort(): message Date

SORTARRIVAL (integer)

Sort criteria for imap_sort(): arrival date

SORTFROM (integer)

Sort criteria for imap_sort(): mailbox in first From address

SORTSUBJECT (integer)

Sort criteria for imap_sort(): message subject

SORTTO (integer)

Sort criteria for imap_sort(): mailbox in first To address

SORTCC (integer)

Sort criteria for imap_sort(): mailbox in first cc address

SORTSIZE (integer)

Sort criteria for imap_sort(): size of message in octets

TYPETEXT (integer)

TYPEMULTIPART (integer)

TYPEMESSAGE (integer)

TYPEAPPLICATION (integer)

TYPEAUDIO (integer)

TYPEIMAGE (integer)

TYPEVIDEO (integer)

TYPEOTHER (integer)

ENC7BIT (integer)

ENC8BIT (integer)

ENCBINARY (integer)

ENCBASE64 (integer)

ENCQUOTEDPRINTABLE (integer)

ENCOTHER (integer)

Ver también

Este documento no puede entrar en detalles sobre todos los temas que involucran lan funciones ofrecidas. Puede encontrar más información en la documentación de las fuentes de la biblioteca c-client (docs/internal.txt), y en los siguientes documentos RFC:

  • RFC2821: Protocolo Simple de Transferencia de Correo (SMTP).

  • RFC2822: Estándar para los mensajes de texto en internet ARPA.

  • RFC2060: Protocolo de Acceso de Mensaje de Internet (IMAP) Versión 4rev1.

  • RFC1939: Protocolo Post Office Versión 3 (POP3).

  • RFC977: Protocolo de Transferencia de Noticias en Red (NNTP).

  • RFC2076: Cabeceras de Mensajes de Internet Comunes.

  • RFC2045 , RFC2046 , RFC2047 , RFC2048 & RFC2049: Extensiones de Correo de Internet Multi-propósito (MIME).

Una vista general detallada se encuentra disponible también en los libros Programming Internet Email por David Wood y Managing IMAP por Dianna Mullet y Kevin Mullet.

Tabla de contenidos
imap_8bit -- Convierte una cadena de 8bit a una cadena quoted-printable
imap_alerts -- Esta función devuelve todos los mensajes de alerta IMAP (si hubo) que han ocurrido durante la petición de la pagina o desde que la pila de alertas fue inicializada.
imap_append -- Agrega una cadena de mensaje al buzón especificado
imap_base64 -- Decodifica texto codificado en BASE64
imap_binary -- Convierte una cadena de 8bit a una cadena base64
imap_body -- Lee el cuerpo del mensaje
imap_bodystruct -- Read the structure of a specified body section of a specific message
imap_check -- Comprueba el estado del buzón actual
imap_clearflag_full -- Limpia los flags de los mensajes
imap_close -- Cierra una sesión IMAP
imap_createmailbox -- Crea un buzón nuevo
imap_delete -- Marca un mensaje para ser borrado en el buzón actual
imap_deletemailbox -- Elimina un buzón
imap_errors -- Esta función devuelve todos los errores IMAP (si hubo) que han occurrido durante la petición de la página o desde que la pila de errores se inicializó.
imap_expunge -- Elimina todos los mensajes marcados como borrados
imap_fetch_overview -- Read an overview of the information in the headers of the given message
imap_fetchbody -- Localiza una sección particular en el cuerpo del mensaje
imap_fetchheader -- Devuelve la cabecera de un mensaje
imap_fetchstructure -- Lee la estructuta de un mensaje concreto
imap_get_quota -- Retrieve the quota level settings, and usage statics per mailbox
imap_get_quotaroot -- Retrieve the quota settings per user
imap_getacl -- Gets the ACL for a given mailbox
imap_getmailboxes -- Lee la lista de buzones, devolviendo informacón detallada de cada uno
imap_getsubscribed -- Lista todos los buzones subscritos
imap_header -- Lee la cabecera del mensaje
imap_headerinfo -- Read the header of the message
imap_headers -- Returns headers for all messages in a mailbox
imap_last_error -- Esta función devuelve el último error IMAP (si se produjo) que ocurrió durante la petición de esta página.
imap_list -- Read the list of mailboxes
imap_listmailbox -- Lee la lista de buzones
imap_listscan -- Returns the list of mailboxes that matches the given text
imap_listsubscribed -- Lista todos los buzones subscritos
imap_lsub -- List all the subscribed mailboxes
imap_mail_compose -- Create a MIME message based on given envelope and body sections
imap_mail_copy -- Copia los mensajes especificados a un buzón
imap_mail_move -- Mueve los mensajes especificados a un buzón
imap_mail -- Send an email message
imap_mailboxmsginfo -- Obtiene información acerca del buzón actual
imap_mime_header_decode -- Decode MIME header elements
imap_msgno -- Esta función devuelve el número de secuencia del mensaje para el UID dado.
imap_num_msg -- Informa del número de mensajes en el buzón actual
imap_num_recent -- Informa el número de mensajes recientes en el buzón actual
imap_open -- Abre una sesión IMAP
imap_ping -- Comprueba si la sesión IMAP está aún activa
imap_qprint -- Convierte una cadena quoted-printable a una cadena de 8 bit
imap_renamemailbox -- Renombra un buzón
imap_reopen -- Reabre una sesión IMAP a un nuevo buzón
imap_rfc822_parse_adrlist -- Examina la cadena dirección
imap_rfc822_parse_headers -- Parse mail headers from a string
imap_rfc822_write_address -- Devuleve una dirección de correo correctamente formateada dado el buzón, host, e información personal.
imap_savebody -- Save a specific body section to a file
imap_scanmailbox -- Lee la lista de buzones y toma una cadena para buscar en el texto del buzón
imap_search -- Esta función devuelve un array de mensajes que coinciden con el criterio de busqueda dado.
imap_set_quota -- Sets a quota for a given mailbox
imap_setacl -- Sets the ACL for a giving mailbox
imap_setflag_full -- Activa flags en los mensajes
imap_sort -- Ordena un array de cabeceras de mensajes
imap_status -- Esta función devuelve el información de estado de otro buzón distinto al actual.
imap_subscribe -- Subscribe to a mailbox
imap_thread -- Returns a tree of threaded message
imap_timeout -- Set or fetch imap timeout
imap_uid -- Esta función devuelve el UID del número de secuencia del mensaje dado
imap_undelete -- Desmarca los mensajes que están marcados como borrados
imap_unsubscribe -- Unsubscribe from a mailbox
imap_utf7_decode -- Decodes a modified UTF-7 encoded string
imap_utf7_encode -- Converts ISO-8859-1 string to modified UTF-7 text
imap_utf8 -- Converts MIME-encoded text to UTF-8

Anterior | Inicio | Siguiente
imagick_zoom | Subir | imap_8bit


imap_8bit

(PHP 3, PHP 4, PHP 5)

imap_8bit -- Convierte una cadena de 8bit a una cadena quoted-printable

Descripción

string imap_8bit ( string string )

Convierte una cadena de 8bit a una cadena quoted-printable.

Devuelve una cadena quoted-printable

Anterior | Inicio | Siguiente
Funciones IMAP, POP3 y NNTP | Subir | imap_alerts


imap_alerts

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_alerts -- Esta función devuelve todos los mensajes de alerta IMAP (si hubo) que han ocurrido durante la petición de la pagina o desde que la pila de alertas fue inicializada.

Descripción

array imap_alerts ( void )

Esta función devuelve un array con todos los mensajes de alerta IMAP generados desde la última llamada a imap_alerts(), o el comienzo de la pagina. Cuando se llama a imap_alerts(), la pila de alerta es inicializada. La especificación IMAP requiere que estos mensajes sean pasados al usuario.

Anterior | Inicio | Siguiente
imap_8bit | Subir | imap_append


imap_append

(PHP 3, PHP 4, PHP 5)

imap_append -- Agrega una cadena de mensaje al buzón especificado

Descripción

int imap_append ( int imap_stream, string mbox, string message, string flags )

Devuelve TRUE si no hay error y FALSE en caso contrario.

imap_append() agrega una cadena de mensaje al buzón especificado mbox. Si se especifica el parámetro flags, escribe las opciones o condiciones establecidas en el parámetro flags al buzón.

Cuando conecte con el servidor Cyrus IMAP, debe usar "\r\n" como finalizador de linea en vez de "\n" o la operación fallará.

Anterior | Inicio | Siguiente
imap_alerts | Subir | imap_base64


imap_base64

(PHP 3, PHP 4, PHP 5)

imap_base64 -- Decodifica texto codificado en BASE64

Descripción

string imap_base64 ( string text )

imap_base64() decodifica texto codificado en BASE-64. El mensaje decodificado es devuelto como una cadena.

Anterior | Inicio | Siguiente
imap_append | Subir | imap_binary


imap_binary

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

imap_binary -- Convierte una cadena de 8bit a una cadena base64

Descripción

string imap_binary ( string string )

Convierte una cadena de 8bit a una cadena base64.

Devuleve una cadena base64.

Anterior | Inicio | Siguiente
imap_base64 | Subir | imap_body


imap_body

(PHP 3, PHP 4, PHP 5)

imap_body -- Lee el cuerpo del mensaje

Descripción

string imap_body ( int imap_stream, int msg_number, int flags )

imap_body() devuelve el cuerpo del mensaje, numerado msg_number del buzón actual. Los flags opcionales son una máscara de bit con una o mas de las siguientes:

  • FT_UID - El msgno es un UID

  • FT_PEEK - No activar \Seen flag si no está ya activa

  • FT_INTERNAL - La cadena devuelta está en formato interno, no canoniza a CRLF.

Anterior | Inicio | Siguiente
imap_binary | Subir | imap_bodystruct


imap_bodystruct

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

imap_bodystruct -- Read the structure of a specified body section of a specific message

Descripción

object imap_bodystruct ( resource imap_stream, int msg_number, string section )

Read the structure of a specified body section of a specific message.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

msg_number

The message number

section

The body section to read

Valores retornados

Returns the information in an object with following properties:

  • type -

  • encoding -

  • ifsubtype -

  • subtype -

  • ifdescription -

  • description -

  • ifid -

  • id -

  • lines - number of lines

  • bytes - size of message, in bytes

  • ifdisposition -

  • disposition -

  • ifdparameters -

  • dparameters -

  • ifparameters -

  • parameters -

Anterior | Inicio | Siguiente
imap_body | Subir | imap_check


imap_check

(PHP 3, PHP 4, PHP 5)

imap_check -- Comprueba el estado del buzón actual

Descripción

object imap_check ( int imap_stream )

Devuelve información acerca del buzón actual. Devuelve FALSE si falla.

La función imap_check() comprueba el estado del buzón actual en el servidor y devuelve la información en un objeto con las siguientes propiedades.

Date : fecha del mensaje
Driver : controlador
Mailbox : nombre del buzón
Nmsgs : número de mensajes
Recent : número de mensajes recientes

Anterior | Inicio | Siguiente
imap_bodystruct | Subir | imap_clearflag_full


imap_clearflag_full

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_clearflag_full -- Limpia los flags de los mensajes

Descripción

string imap_clearflag_full ( int stream, string sequence, string flag, string options )

Esta funcion elimina el flag especificado del conjunto de flags activos para los mensajes en la secuencia especificada.

Las opciones son una máscara de bit con uno o más de los siguientes:

ST_UID El argumento sequence contiene UIDs en vez de
números secuenciales

Anterior | Inicio | Siguiente
imap_check | Subir | imap_close


imap_close

(PHP 3, PHP 4, PHP 5)

imap_close -- Cierra una sesión IMAP

Descripción

int imap_close ( int imap_stream, int flags )

Cierra una sesión imap. Toma un parámetro flag opcional, CL_EXPUNGE, el cual purgará el buzón de forma trasparente antes de cerrarla.

Anterior | Inicio | Siguiente
imap_clearflag_full | Subir | imap_createmailbox


imap_createmailbox

(PHP 3, PHP 4, PHP 5)

imap_createmailbox -- Crea un buzón nuevo

Descripción

int imap_createmailbox ( int imap_stream, string mbox )

imap_createmailbox() crea un buzón nuevo especificado por mbox (ver imap_open() para el formato del parámetro mbox).

Devuelve TRUE si no hay error y FALSE en caso contrario.

Ver También imap_renamemailbox() y imap_deletemailbox().

Anterior | Inicio | Siguiente
imap_close | Subir | imap_delete


imap_delete

(PHP 3, PHP 4, PHP 5)

imap_delete -- Marca un mensaje para ser borrado en el buzón actual

Descripción

int imap_delete ( int imap_stream, int msg_number )

Devuelve TRUE.

La función imap_delete() marca el mensaje referenciado por msg_number para su eliminación. El borrado físico de los mensajes es realizado por imap_expunge().

Anterior | Inicio | Siguiente
imap_createmailbox | Subir | imap_deletemailbox


imap_deletemailbox

(PHP 3, PHP 4, PHP 5)

imap_deletemailbox -- Elimina un buzón

Descripción

int imap_deletemailbox ( int imap_stream, string mbox )

imap_deletemailbox() elimina el buzón especificado (ver imap_open() para el formato del mbox).

Devuelve TRUE si no hay error y FALSE en caso contrario.

Ver También imap_createmailbox() y imap_reanmemailbox().

Anterior | Inicio | Siguiente
imap_delete | Subir | imap_errors


imap_errors

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_errors -- Esta función devuelve todos los errores IMAP (si hubo) que han occurrido durante la petición de la página o desde que la pila de errores se inicializó.

Descripción

array imap_errors ( void )

Esta función devuelve un array de todos los mensajes de error IMAP generados desde la última llamada a imap_errors(), o el principio de la página. Cuando se llama a imap_errors(), la pila de errores se inicializa.

ATENCIàN: esta función no esta disponible aún en PHP4.

Anterior | Inicio | Siguiente
imap_deletemailbox | Subir | imap_expunge


imap_expunge

(PHP 3, PHP 4, PHP 5)

imap_expunge -- Elimina todos los mensajes marcados como borrados

Descripción

int imap_expunge ( int imap_stream )

imap_expunge() elimina todos los mensajes marcados por la función imap_delete().

Devuleve TRUE.

Anterior | Inicio | Siguiente
imap_errors | Subir | imap_fetch_overview


imap_fetch_overview

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

imap_fetch_overview -- Read an overview of the information in the headers of the given message

Descripción

array imap_fetch_overview ( resource imap_stream, string sequence [, int options] )

This function fetches mail headers for the given sequence and returns an overview of their contents.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

sequence

A message sequence description. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

options

sequence will contain a sequence of message indices or UIDs, if this parameter is set to FT_UID.

Valores retornados

Returns an array of objects describing one message header each. The object will only define a property if it exists. The possible properties are:

  • subject - the messages subject

  • from - who sent it

  • to - recipient

  • date - when was it sent

  • message_id - Message-ID

  • references - is a reference to this message id

  • in_reply_to - is a reply to this message id

  • size - size in bytes

  • uid - UID the message has in the mailbox

  • msgno - message sequence number in the mailbox

  • recent - this message is flagged as recent

  • flagged - this message is flagged

  • answered - this message is flagged as answered

  • deleted - this message is flagged for deletion

  • seen - this message is flagged as already read

  • draft - this message is flagged as being a draft

Ejemplos

Ejemplo 1. imap_fetch_overview() example

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
     or die("can't connect: " . imap_last_error());

$MC = imap_check($mbox);

// Fetch an overview for all messages in INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result => $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

Ver también

imap_fetchheader()

Anterior | Inicio | Siguiente
imap_expunge | Subir | imap_fetchbody


imap_fetchbody

(PHP 3, PHP 4, PHP 5)

imap_fetchbody -- Localiza una sección particular en el cuerpo del mensaje

Descripción

string imap_fetchbody ( int imap_stream, int msg_number, string part_number, flags flags )

Esta función busca una sección particular en el cuerpo de los mensajes especificados, como una cadena de texto y devuleve esa cadena. La especificación de la sección es una cadena de enteros delimitados por comas,los cuales indexan las partes del cuerpo como indica la especificación IMAP4. Partes del cuerpo no son decodificadas por esta función.

Las opciones para imap_fetchbody () son una máscara de bit con una o más de las siguientes

  • FT_UID - El msgono es un UID

  • FT_PEEK - No activar \Seen flag si no esta ya activa

  • FT_INTERNAL - La cadena devuelta está en formato "interno", sin ningún intento por canonizar CRLF

Anterior | Inicio | Siguiente
imap_fetch_overview | Subir | imap_fetchheader


imap_fetchheader

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_fetchheader -- Devuelve la cabecera de un mensaje

Descripción

string imap_fetchheader ( resource secuencia_imap, int numero_mensaje [, int opciones] )

Esta función produce la recuperación de la cabecera completa, sin filtrar, en formato RFC2822 del mensaje especificado.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

numero_mensaje

El número de mensaje

opciones

Las posibles opciones son:

  • FT_UID - El argumento num_mensaje es un UID

  • FT_INTERNAL - La cadena de retorno está en formato "interno", sin intento alguno de moldear a nuevas líneas tipo CRLF

  • FT_PREFETCHTEXT - El archivo RFC822.TEXT debe ser pre-solicitado al mismo tiempo. Esto evita un RTT extra en una conexión IMAP si se desea un mensaje de texto completo (p.ej. en la operación "guardar a archivo local")

Valores retornados

Devuelve la cabecera del mensaje especificado como una cadena de texto.

Ver también

imap_fetch_overview()

Anterior | Inicio | Siguiente
imap_fetchbody | Subir | imap_fetchstructure


imap_fetchstructure

(PHP 3, PHP 4, PHP 5)

imap_fetchstructure -- Lee la estructuta de un mensaje concreto

Descripción

object imap_fetchstructure ( int imap_stream, int msg_number [, int flags] )

Esta función busca toda la información estructurada en el mensaje especificado. El parámetro opcional flags sólo tiene una opcion, FT_UID, la cual indica a la función que trate el argumento msg_number como un UID. El objeto devuelto incluye el sobre, la fecha interna, el tama¤o, flags y la estructura del cuerpo con un objeto similar por cada mime adjunto al mensaje. La estructura de los objetos devueltos es como sigue:

Tabla 1. Objetos Devueltos para imap_fetchstructure()

type | Tipo primario del cuerpo
encoding | Body transfer encoding
ifsubtype | TRUE si hay una cadena de subtipo
subtype | MIME subtype
ifDescripción | TRUE si hay una cadena de Descripción
Description | Conenido de la cadena de Descripción
ifid | TRUE si hay una cadena de identificación
id | Cadena de Identificación
lines | Número de lineas
bytes | Número de bytes
ifdisposition | TRUE si hay una cadena de configuración
disposition | Cadena de configuración
ifdparameters | TRUE si el array dparameters existe
dparameters [a] | Array de parametro de configuración
ifparameters | TRUE si el array de parámetros existe
parameters [b] | MIME parameters array
parts [c] | Array de objetos describiendo cada parte del mensaje
Notas de tabla: a. dparameters es un array de objetos donde cada objeto tiene un "atributo" y una propiedad "valor". b. parameter es un array de objetos donde cada objetor tiene un "atributo" y una propiedad "valor". c. parts es un array de objetos identico en estructura al objeto del primer nivel, con la limitación de que este no puede contener más objetos 'parts'.

Tabla 2. Tipo primario del cuerpo

0 | texto
1 | multiparte
2 | mensaje
3 | aplicación
4 | audio
5 | imagen
6 | video
7 | otro

Tabla 3. Codificacion para tranferencia

0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTRO

Anterior | Inicio | Siguiente
imap_fetchheader | Subir | imap_get_quota


imap_get_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_get_quota -- Retrieve the quota level settings, and usage statics per mailbox

Descripción

array imap_get_quota ( resource imap_stream, string quota_root )

Retrieve the quota level settings, and usage statics per mailbox.

For a non-admin user version of this function, please see the imap_get_quotaroot() function of PHP.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

quota_root

quota_root should normally be in the form of user.name where name is the mailbox you wish to retrieve information about.

Valores retornados

Returns an array with integer values limit and usage for the given mailbox. The value of limit represents the total amount of space allowed for this mailbox. The usage value represents the mailboxes current level of capacity. Will return FALSE in the case of failure.

As of PHP 4.3, the function more properly reflects the functionality as dictated by the RFC2087. The array return value has changed to support an unlimited number of returned resources (i.e. messages, or sub-folders) with each named resource receiving an individual array key. Each key value then contains an another array with the usage and limit values within it.

For backwards compatibility reasons, the original access methods are still available for use, although it is suggested to update.

Ejemplos

Ejemplo 1. imap_get_quota() example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
}

imap_close($mbox);
?>

Ejemplo 2. imap_get_quota() 4.3 or greater example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

Notes

This function is currently only available to users of the c-client2000 or greater library.

The given imap_stream must be opened as the mail administrator, other wise this function will fail.

Ver también

imap_open()
imap_set_quota()
imap_get_quotaroot()

Anterior | Inicio | Siguiente
imap_fetchstructure | Subir | imap_get_quotaroot


imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5)

imap_get_quotaroot -- Retrieve the quota settings per user

Descripción

array imap_get_quotaroot ( resource imap_stream, string quota_root )

Retrieve the quota settings per user. The limit value represents the total amount of space allowed for this user's total mailbox usage. The usage value represents the user's current total mailbox capacity.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

quota_root

quota_root should normally be in the form of which mailbox (i.e. INBOX).

Valores retornados

Returns an array of integer values pertaining to the specified user mailbox. All values contain a key based upon the resource name, and a corresponding array with the usage and limit values within.

This function will return FALSE in the case of call failure, and an array of information about the connection upon an un-parsable response from the server.

Ejemplos

Ejemplo 1. imap_get_quotaroot() example

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit level is: " .  $message['limit'];

   /* ...  */

}

imap_close($mbox);
?>

Notes

This function is currently only available to users of the c-client2000 or greater library.

The imap_stream should be opened as the user whose mailbox you wish to check.

Ver también

imap_open()
imap_set_quota()
imap_get_quota()

Anterior | Inicio | Siguiente
imap_get_quota | Subir | imap_getacl


imap_getacl

(PHP 5)

imap_getacl -- Gets the ACL for a given mailbox

Descripción

array imap_getacl ( resource imap_stream, string mailbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

mailbox

The mailbox name, see imap_open() for more information

Notes

This function is currently only available to users of the c-client2000 or greater library.

Ver también

imap_setacl()

Anterior | Inicio | Siguiente
imap_get_quotaroot | Subir | imap_getmailboxes


imap_getmailboxes

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_getmailboxes -- Lee la lista de buzones, devolviendo informacón detallada de cada uno

Descripción

array imap_getmailboxes ( int imap_stream, string ref, string pat )

Devuelve un array de objetos coneniendo información del buzón. Cada objeto tiene los atributos name, especificando el nombre completo del buzón; delimiter, que es el delimitador jerárquico para la parte de la jerarquía dónde está este buzón; y attributes. Attributes es una máscara de bits contra la que se puede probar:

  • LATT_NOINFERIORS - Este buzón no tiene "hijos" (No ha buzones por debajo de él)

  • LATT_NOSELECT - Esto es sólo un contenedor, no un buzón - No puede abrirlo.

  • LATT_MARKED - Este buzón está marcado. Unicamente usado por UW-IMAPD.

  • LATT_UNMARKED - Este buzón no está marcado. Unicamente usado por UW-IMAPD.

ref normalmente debería ser solo el servidor IMAP, de la forma: {imap_server:imap_port}, y pattern especifica, dónde en la estructura jerárquica del buzón, para comenzar a buscar. Si quiere todo los buzones, pase el parámetro pattern como una cadena vacía.

Hay dos caracteres especiales que puede pasar como parte del parámetro pattern: '*' and '%'. '*' significa que devuelva todos los buzones. Si pasa el parámetro pattern como '*', obtendrá una lista con la jerarquía completa del buzón. %' significa que devuelva sólo el nivel actual. Pasar '%' en el parámetro pattern devolverá sólo el nivel más alto de los buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón del directorio ~/mail, pero ninguno de los subdirectorios de ese directorio.

Anterior | Inicio | Siguiente
imap_getacl | Subir | imap_getsubscribed


imap_getsubscribed

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_getsubscribed -- Lista todos los buzones subscritos

Descripción

array imap_getsubscribed ( int imap_stream, string ref, string pattern )

Esta función es idéntica a imap_getmailboxes(), excepto que esta sólo devuelve los buzones a los que está subscrito el usuario.

Anterior | Inicio | Siguiente
imap_getmailboxes | Subir | imap_header


imap_header

(PHP 3, PHP 4, PHP 5)

imap_header -- Lee la cabecera del mensaje

Descripción

object imap_header ( int imap_stream, int msg_number [, int fromlength [, int subjectlength [, string defaulthost]]] )

Esta función devuelve un objeto con varios elementos de la cabecera.

remail, date, Date, subject, Subject, in_reply_to, message_id,
newsgroups, followup_to, references

message flags:
Recent - 'R' si es reciente y ha sido leido,
'N' si es reciente y no ha sido leido,
' ' si no es reciente
Unseen - 'U' si no ha sido leido Y no es reciente,
' ' si ha sido leido O no y es reciente
Answered -'A' si ha sido contestado,
' ' si no ha sido contestado
Deleted - 'D' si ha sido borrado,
' ' si no ha sido borrado
Draft - 'X' if draft,
' ' if not draft
Flagged - 'F' si esta if flagged,
' ' if not flagged

OBSERVE que el comportamiento Recent/Unseen es un poco extra¤o. Si quiere conocer
si un mensaje es Unseen, debe comprobarlo asi

Unseen == 'U' || Recent == 'N'

toaddress (la linea to: al completo, hasta 1024 caracteres)

to[] (devuelve un array de objetos a partir de la linea To, conteniendo:)
personal
adl
mailbox
host

fromaddress (la linea from: al completo, hasta 1024 caracteres)

from[] (devuelve un array de objetos a partir de la linea From, conteniendo:)
personal
adl
mailbox
host

ccaddress (la linea cc: al completo, hasta 1024 caracteres)
cc[] (devuelve un array de objetos a partir de la linea Cc:, conteniendo:)
personal
adl
mailbox
host

bccaddress (la linea bcc al completo, hasta 1024 caracteres)
bcc[] (devuelve un array de objetos a partir de la linea Bcc, conteniendo:)
personal
adl
mailbox
host

reply_toaddress (la linea reply_to: al completo, hasta 1024 caracteres)
reply_to[] (devuelve un array de objetos a partir de la linea Reply_to,
conteniendo:)
personal
adl
mailbox
host

senderaddress (la linea sender: al completo, hasta 1024 caracteres)
sender[] (devuelve un array de objetos a partir de la linea sender, conteniendo:)
personal
adl
mailbox
host

return_path (la linea return-path: al completo, hasta 1024 caracteres)
return_path[] (devuelve un array de objetos a partir de la linea return_path,
conteniendo:)
personal
adl
mailbox
host

udate (fecha del mensaje en formato unix)

fetchfrom (la linea from formateada hasta ajustarse a los caracteres
indicados en fromlength)

fetchsubject (la linea subject formateada hasta ajustarse a los caracteres
indicados en subjectlength)

Anterior | Inicio | Siguiente
imap_getsubscribed | Subir | imap_headerinfo


imap_headerinfo

(PHP 3, PHP 4, PHP 5)

imap_headerinfo -- Read the header of the message

Descripción

object imap_headerinfo ( resource imap_stream, int msg_number [, int fromlength [, int subjectlength [, string defaulthost]]] )

Gets information about the given message number by reading its headers.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

msg_number

The message number

fromlength

Number of characters for the fetchfrom property. Must be greater than or equal to zero.

subjectlength

Number of characters for the fetchsubject property Must be greater than or equal to zero.

defaulthost

Valores retornados

Returns the information in an object with following properties:

  • toaddress - full to: line, up to 1024 characters

  • to - an array of objects from the To: line, with the following properties: personal, adl, mailbox, and host

  • fromaddress - full from: line, up to 1024 characters

  • from - an array of objects from the From: line, with the following properties: personal, adl, mailbox, and host

  • ccaddress - full cc: line, up to 1024 characters

  • cc - an array of objects from the Cc: line, with the following properties: personal, adl, mailbox, and host

  • bccaddress - full bcc: line, up to 1024 characters

  • bcc - an array of objects from the Bcc: line, with the following properties: personal, adl, mailbox, and host

  • reply_toaddress - full Reply-To: line, up to 1024 characters

  • reply_to - an array of objects from the Reply-To: line, with the following properties: personal, adl, mailbox, and host

  • senderaddress - full sender: line, up to 1024 characters

  • sender - an array of objects from the Sender: line, with the following properties: personal, adl, mailbox, and host

  • return_pathaddress - full Return-Path: line, up to 1024 characters

  • return_path - an array of objects from the Return-Path: line, with the following properties: personal, adl, mailbox, and host

  • remail -

  • date - The message date as found in its headers

  • Date - Same as date

  • subject - The message subject

  • Subject - Same a subject

  • in_reply_to -

  • message_id -

  • newsgroups -

  • followup_to -

  • references -

  • Recent - R if recent and seen, N if recent and not seen, ' ' if not recent.

  • Unseen - U if not seen AND not recent, ' ' if seen OR not seen and recent

  • Flagged - F if flagged, ' ' if not flagged

  • Answered - A if answered, ' ' if unanswered

  • Deleted - D if deleted, ' ' if not deleted

  • Draft - X if draft, ' ' if not draft

  • Msgno - The message number

  • MailDate -

  • Size - The message size

  • udate - mail message date in Unix time

  • fetchfrom - from line formatted to fit fromlength characters

  • fetchsubject - subject line formatted to fit subjectlength characters

Ver también

imap_fetch_overview()

Anterior | Inicio | Siguiente
imap_header | Subir | imap_headers


imap_headers

(PHP 3, PHP 4, PHP 5)

imap_headers -- Returns headers for all messages in a mailbox

Descripción

array imap_headers ( int imap_stream )

Devuelve un array de cadenas formateadas con informacion de la cabecera. Un elemento por mensaje de correo.

Anterior | Inicio | Siguiente
imap_headerinfo | Subir | imap_last_error


imap_last_error

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_last_error -- Esta función devuelve el último error IMAP (si se produjo) que ocurrió durante la petición de esta página.

Descripción

string imap_last_error ( void )

Esta función devuelve el texto completo del último error IMAP que ocurrió en la pagina actual. La plia de errores The error stack is untouched; llamando despues a la función imap_last_error(), sin que se produzca un error, devolverá el mismo error.

ATENCIàN: esta función no esta disponible aún en PHP4.

Anterior | Inicio | Siguiente
imap_headers | Subir | imap_list


imap_list

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

imap_list -- Read the list of mailboxes

Descripción

array imap_list ( resource imap_stream, string ref, string pattern )

Read the list of mailboxes.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open().

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern: '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

Valores retornados

Returns an array containing the names of the mailboxes.

Ejemplos

Ejemplo 1. imap_list() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Ver también

imap_getmailboxes()
imap_lsub()

Anterior | Inicio | Siguiente
imap_last_error | Subir | imap_listmailbox


imap_listmailbox

(PHP 3, PHP 4, PHP 5)

imap_listmailbox -- Lee la lista de buzones

Descripción

array imap_listmailbox ( int imap_stream, string ref, string pat )

Devuelve un array que contiene los nombres de los buzones.

Anterior | Inicio | Siguiente
imap_list | Subir | imap_listscan


imap_listscan

(no version information, might be only in CVS)

imap_listscan -- Returns the list of mailboxes that matches the given text

Descripción

array imap_listscan ( resource imap_stream, string ref, string pattern, string content )

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

This function is similar to imap_listmailbox(), but it will additionally check for the presence of the string content inside the mailbox data.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern: '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory

content

The searched string

Valores retornados

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

Ver también

imap_listmailbox()
imap_search()

Anterior | Inicio | Siguiente
imap_listmailbox | Subir | imap_listsubscribed


imap_listsubscribed

(PHP 3, PHP 4, PHP 5)

imap_listsubscribed -- Lista todos los buzones subscritos

Descripción

array imap_listsubscribed ( int imap_stream, string ref, string pattern )

Devuelve un array de todos los buzones que usted tiene subscritos. Los parámetros ref y pattern especifican la localización desde donde comenzará a buscar y el patrón que el nombre del buzón debe encontrar.

Anterior | Inicio | Siguiente
imap_listscan | Subir | imap_lsub


imap_lsub

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

imap_lsub -- List all the subscribed mailboxes

Descripción

array imap_lsub ( resource imap_stream, string ref, string pattern )

Gets an array of all the mailboxes that you have subscribed.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern: '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

Valores retornados

Returns an array of all the subscribed mailboxes.

Ver también

imap_list()
imap_getmailboxes()

Anterior | Inicio | Siguiente
imap_listsubscribed | Subir | imap_mail_compose


imap_mail_compose

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

imap_mail_compose -- Create a MIME message based on given envelope and body sections

Descripción

string imap_mail_compose ( array envelope, array body )

Create a MIME message based on the given envelope and body sections.

Lista de parámetros

envelope

An associative array of headers fields

body

An indexed array of bodies

A body is an associative array which can consist of the following keys: "type", "encoding", "subtype", "description" and "contents.data"

Valores retornados

Returns the MIME message.

Ejemplos

Ejemplo 1. imap_mail_compose() example

<?php

$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo nl2br(imap_mail_compose($envelope, $body));

?>

Anterior | Inicio | Siguiente
imap_lsub | Subir | imap_mail_copy


imap_mail_copy

(PHP 3, PHP 4, PHP 5)

imap_mail_copy -- Copia los mensajes especificados a un buzón

Descripción

int imap_mail_copy ( int imap_stream, string msglist, string mbox, int flags )

Devuelve TRUE si no hay error y FALSE en caso contrario.

Copia los mensajes especificados por msglist a un buzón especificado. msglist es un rango no números de mensajes.

Flags es una máscara de bit de uno o más

  • CP_UID - los números de secuencia contienen UIDS

  • CP_MOVE - Elimina los mensajes del buzon actual despues de copiarlos

Anterior | Inicio | Siguiente
imap_mail_compose | Subir | imap_mail_move


imap_mail_move

(PHP 3, PHP 4, PHP 5)

imap_mail_move -- Mueve los mensajes especificados a un buzón

Descripción

int imap_mail_move ( int imap_stream, string msglist, string mbox )

Mueve los mensajes especificados por msglist al buzón especicifado. msglist es un rango no números de mensajes.

Devuelve TRUE si no hay error y FALSE en caso contrario.

Anterior | Inicio | Siguiente
imap_mail_copy | Subir | imap_mail


imap_mail

(PHP 3 >= 3.0.14, PHP 4, PHP 5)

imap_mail -- Send an email message

Descripción

bool imap_mail ( string to, string subject, string message [, string additional_headers [, string cc [, string bcc [, string rpath]]]] )

This function allows sending of emails with correct handling of Cc and Bcc receivers.

The parameters to, cc and bcc are all strings and are all parsed as RFC822 address lists.

Lista de parámetros

to

The receiver

subject

The mail subject

message

The mail body

additional_headers

As string with additional headers to be set on the mail

cc

bcc

The receivers specified in bcc will get the mail, but are excluded from the headers.

rpath

Use this parameter to specify return path upon mail delivery failure. This is useful when using PHP as a mail client for multiple users.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mail()

Anterior | Inicio | Siguiente
imap_mail_move | Subir | imap_mailboxmsginfo


imap_mailboxmsginfo

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

imap_mailboxmsginfo -- Obtiene información acerca del buzón actual

Descripción

object imap_mailboxmsginfo ( int imap_stream )

Devuelve información acerca del buzón actual. Devuelve FALSE en caso de fallo.

La función imap_mailboxmsginfo() comprueba el estado del buzón actual en el servidor y devuelve la información en un objeto con las siguientes propiedades.

Date : fecha del mensaje
Driver : driver
Mailbox : nombre del buzón
Nmsgs : número de mensajes
Recent : número de los mensajes recientes
Unread : número de los mensajes no leidos
Size : tama¤o del buzon

Anterior | Inicio | Siguiente
imap_mail | Subir | imap_mime_header_decode


imap_mime_header_decode

(PHP 3 >= 3.0.17, PHP 4, PHP 5)

imap_mime_header_decode -- Decode MIME header elements

Descripción

array imap_mime_header_decode ( string text )

Decodes MIME message header extensions that are non ASCII text (see RFC2047).

Lista de parámetros

text

The MIME text

Valores retornados

The decoded elements are returned in an array of objects, where each object has two properties, charset and text.

If the element hasn't been encoded, and in other words is in plain US-ASCII, the charset property of that element is set to default.

Ejemplos

Ejemplo 1. imap_mime_header_decode() example

<?php
$text = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elements = imap_mime_header_decode($text);
for ($i=0; $i<count($elements); $i++) {
    echo "Charset: {$elements[$i]->charset}\n";
    echo "Text: {$elements[$i]->text}\n\n";
}
?>

El resultado del ejemplo seria:

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <keld@example.com>

In the above example we would have two elements, whereas the first element had previously been encoded with ISO-8859-1, and the second element would be plain US-ASCII.

Ver también

imap_utf8()

Anterior | Inicio | Siguiente
imap_mailboxmsginfo | Subir | imap_msgno


imap_msgno

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_msgno -- Esta función devuelve el número de secuencia del mensaje para el UID dado.

Descripción

int imap_msgno ( int imap_stream, int uid )

Esta función devuelve el número de secuencia del mensaje para el UID dado. Esta función es la inversa a imap_uid().

Anterior | Inicio | Siguiente
imap_mime_header_decode | Subir | imap_num_msg


imap_num_msg

(PHP 3, PHP 4, PHP 5)

imap_num_msg -- Informa del número de mensajes en el buzón actual

Descripción

int imap_num_msg ( int imap_stream )

Devuelve el número de mensajes en el buzón actual.

Anterior | Inicio | Siguiente
imap_msgno | Subir | imap_num_recent


imap_num_recent

(PHP 3, PHP 4, PHP 5)

imap_num_recent -- Informa el número de mensajes recientes en el buzón actual

Descripción

int imap_num_recent ( int imap_stream )

Devuleve el número de mensajes recientes en el buzón actual.

Anterior | Inicio | Siguiente
imap_num_msg | Subir | imap_open


imap_open

(PHP 3, PHP 4, PHP 5)

imap_open -- Abre una sesión IMAP

Descripción

int imap_open ( string mailbox, string username, string password, int flags )

Devuleve la sesion IMAP si no hay error y FALSE en caso contrario. Esta función también puede ser usada para abrir sesiones con servidores POP3 y NNTP. Para conectarse a un servidor IMAP escuchando por el puerto 143 en una máquina local, haga lo siguiente:

$mbox = imap_open("{localhost:143}INBOX","user_id","password");

Para conectarse a un servidor POP3 escuchando por el puerto 110, use:

$mbox = imap_open("{localhost/pop3:110}INBOX","user_id","password");

Para conectarse a un servidor NNTP escuchando por el puerto 119, use:

$nntp = imap_open("{localhost/nntp:119}comp.test","","");

Para conectarse a un servidor remoto sustituya "localhost", por el nombre o dirección IP del servidor al cual quiere conectarse.

Las opciones son una máscara de bit con una o más de los siguientes:

  • OP_READONLY - Abre el buzón en modo de sólo lectura

  • OP_ANONYMOUS - No usa o actualiza un .newsrc para las noticias

  • OP_HALFOPEN - Para nombres IMAP y NNTP, abre una conexión pero no abre un buzón

  • CL_EXPUNGE - Purga automaticamente el buzón antes de cerrar la sesión

Anterior | Inicio | Siguiente
imap_num_recent | Subir | imap_ping


imap_ping

(PHP 3, PHP 4, PHP 5)

imap_ping -- Comprueba si la sesión IMAP está aún activa

Descripción

int imap_ping ( int imap_stream )

Devuelve TRUE si la sesión está activa, FALSE en caso contrario.

La función imap_ping() pings the stream to see it is still active. Esto puede descubrir que hay correo nuevo; este es el método preferido para hacer una comprobación periodica del buzón, asi como para mantener activa sesiones en servidores que tienen inactivity timeout.

Anterior | Inicio | Siguiente
imap_open | Subir | imap_qprint


imap_qprint

(PHP 3, PHP 4, PHP 5)

imap_qprint -- Convierte una cadena quoted-printable a una cadena de 8 bit

Descripción

string imap_qprint ( string string )

Convierte una cadena quoted-printable a una cadena de 8 bit

Devuelve una cadena de 8 bit (binary)

Anterior | Inicio | Siguiente
imap_ping | Subir | imap_renamemailbox


imap_renamemailbox

(PHP 3, PHP 4, PHP 5)

imap_renamemailbox -- Renombra un buzón

Descripción

int imap_renamemailbox ( int imap_stream, string old_mbox, string new_mbox )

Esta función renombra un buzon (ver imap_open() para el formato del parámetro mbox).

Devuelve TRUE si no hay error y FALSE en caso contrario.

Ver También imap_createmailbox() and imap_deletemailbox().

Anterior | Inicio | Siguiente
imap_qprint | Subir | imap_reopen


imap_reopen

(PHP 3, PHP 4, PHP 5)

imap_reopen -- Reabre una sesión IMAP a un nuevo buzón

Descripción

int imap_reopen ( string imap_stream, string mailbox [, string flags] )

Devuelve TRUE si no hay error y FALSE en caso contrario.

Esta funció reabre la sesión especificada con un nuevo buzón.

Las opciones son máscaras de bit con una o más de las siguientes:

  • OP_READONLY - Abre el buzón en modo de sólo lectura

  • OP_ANONYMOUS - No usa o actualiza .newsrc para noticias

  • OP_HALFOPEN - Para nombres IMAP y NNTP, abre una conexión pero no abre el buzon.

  • CL_EXPUNGE - Expurga automaticamente el buzon antes de cerra la sesión

Anterior | Inicio | Siguiente
imap_renamemailbox | Subir | imap_rfc822_parse_adrlist


imap_rfc822_parse_adrlist

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

imap_rfc822_parse_adrlist -- Examina la cadena dirección

Descripción

string imap_rfc822_parse_adrlist ( string address, string default_host )

Esta función examina la cadena dirección y para cada dirección, devuelve un array de objetos. Los 4 objetos son:

mailbox - el nombre del buzón (username)
host - el nombre del ordenador
personal - el nombre personal
adl - ruta del dominio

Anterior | Inicio | Siguiente
imap_reopen | Subir | imap_rfc822_parse_headers


imap_rfc822_parse_headers

(PHP 4, PHP 5)

imap_rfc822_parse_headers -- Parse mail headers from a string

Descripción

object imap_rfc822_parse_headers ( string headers [, string defaulthost] )

Gets an object of various header elements, similar to imap_header().

Lista de parámetros

headers

The parsed headers data

defaulthost

The default host name

Valores retornados

Returns an object similar to the one returned by imap_header(), except for the flags and other properties that come from the IMAP server.

Ver también

imap_rfc822_parse_adrlist()

Anterior | Inicio | Siguiente
imap_rfc822_parse_adrlist | Subir | imap_rfc822_write_address


imap_rfc822_write_address

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

imap_rfc822_write_address -- Devuleve una dirección de correo correctamente formateada dado el buzón, host, e información personal.

Descripción

string imap_rfc822_write_address ( string mailbox, string host, string personal )

Devuelve una dirección de correo correctamente formateada, dado el buzón, host, e información personal.

Anterior | Inicio | Siguiente
imap_rfc822_parse_headers | Subir | imap_savebody


imap_scanmailbox

(PHP 3, PHP 4, PHP 5)

imap_scanmailbox -- Lee la lista de buzones y toma una cadena para buscar en el texto del buzón

Descripción

array imap_scanmailbox ( int imap_stream, string string )

Devuelve un array que contiene los nombres de los buzones que tienen el parámetro string en el texto del buzón.

Anterior | Inicio | Siguiente
imap_savebody | Subir | imap_search


imap_search

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_search -- Esta función devuelve un array de mensajes que coinciden con el criterio de busqueda dado.

Descripción

array imap_search ( int imap_stream, string criteria, int flags )

Esta función realiza una busqueda en el buzón actualmente abierto indicado por imap_stream. criteria es una cadena, delimitada por espacios, en la cual las siguientes palabras claves son permitidas. Cualquier argumento múltiple (ej. FROM "joey smith") debe estar entre comillas.

  • ALL - devuelve todos los mensajes que coinciden con el resto del criterio

  • ANSWERED - busca mensajes con el flag \\ANSWERED activado

  • BCC "string" - busca mensajes con "cadena" en el campo Bcc:

  • BEFORE "date" - busca mensajes con Date: antes de "date"

  • BODY "string" - busca mensajes con "cadena" en el cuerpo del mensaje

  • CC "string" - busca mensajes con "cadena" en el campo Cc:

  • DELETED - busca mensajes eliminados

  • FLAGGED - busca mensajes con el flag \\FLAGGED (sometimes referred to as Important or Urgent) activado

  • FROM "string" - busca mensajes con "cadena" en el campo From:

  • KEYWORD "string" - busca mensajes con "cadena" como una palabra clave

  • NEW - busca mensajes nuevos

  • OLD - busca mensajes viejos

  • ON "date" - busca mensajes con "date" igual a Date:

  • RECENT - busca mensajes con el flag \\RECENT activado

  • SEEN - busca mensajes que han sido leidos (la opcion \\SEEN activada)

  • SINCE "date" - busca mensajes conwith Date: after "date"

  • SUBJECT "string" - busca mensajes con "string" en el campo Subject:

  • TEXT "string" - busca mensajes con el texto "string"

  • TO "string" - busca mensajes con "string" en el campo To:

  • UNANSWERED - busca mensajes que no han sido respondidos

  • UNDELETED - busca mensajes que no han sido eliminados

  • UNFLAGGED - busca mensajes que no estan flagged

  • UNKEYWORD "string" - busca mensajes que no coinciden con la palabra clave "string"

  • UNSEEN - busca mensajes que no han sido leidos aún

Por ejemplo, para buscar todos los mensajes no contestados enviados por Mamá, usaría: "UNANSWERED FROM mamá". La busqueda parece ser no sensitiva. Esta lista de criterios está tomada del codigo fuente del UW c-client y puede que este incompleta o sea inexacta.

Valores validos para los flags son SE_UID, que provoca que el array devuelto contenga UIDs en vez de los numeros de secuencia de los mensajes

Anterior | Inicio | Siguiente
imap_scanmailbox | Subir | imap_set_quota


imap_set_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_set_quota -- Sets a quota for a given mailbox

Descripción

bool imap_set_quota ( resource imap_stream, string quota_root, int quota_limit )

Sets an upper limit quota on a per mailbox basis.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

quota_root

The mailbox to have a quota set. This should follow the IMAP standard format for a mailbox: user.name.

quota_limit

The maximum size (in KB) for the quota_root

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. imap_set_quota() example

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Error in setting quota\n";
    return;
}

imap_close($mbox);
?>

Notes

This function is currently only available to users of the c-client2000 or greater library.

The given imap_stream must be opened as the mail administrator, other wise this function will fail.

Ver también

imap_open()
imap_get_quota()

Anterior | Inicio | Siguiente
imap_search | Subir | imap_setacl


imap_setacl

(PHP 4 >= 4.1.0, PHP 5)

imap_setacl -- Sets the ACL for a giving mailbox

Descripción

bool imap_setacl ( resource imap_stream, string mailbox, string id, string rights )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

mailbox

The mailbox name, see imap_open() for more information

id

rights

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

This function is currently only available to users of the c-client2000 or greater library.

Ver también

imap_getacl()

Anterior | Inicio | Siguiente
imap_set_quota | Subir | imap_setflag_full


imap_setflag_full

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_setflag_full -- Activa flags en los mensajes

Descripción

string imap_setflag_full ( int stream, string sequence, string flag, string options )

Esta función a¤ade el flag especificado al conjunto de flags activos para los mensajes en la secuencia especificada.

Los flags que puede seleccionar son "\\Seen", "\\Answered", "\\Flagged", "\\Deleted", "\\Draft", y "\\Recent" ( definidos en el RFC2060)

Las opciones son una máscara de bit con uno o más de los siguientes:

ST_UID El argumento sequence contiene UIDs en vez de
números secuenciales

Anterior | Inicio | Siguiente
imap_setacl | Subir | imap_sort


imap_sort

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_sort -- Ordena un array de cabeceras de mensajes

Descripción

string imap_sort ( int stream, int criteria, int reverse, int options )

Devuelve un array de números de mensajes ordenados por los parametros dados

Rev es 1 para una ordenación inversa.

Criteria puede ser uno (y sólo uno) de los siguientes:

SORTDATE Fecha del mensaje
SORTARRIVAL Fecha de llegada
SORTFROM mailbox in first From address
SORTSUBJECT Asunto del mensaje
SORTTO mailbox in first To address
SORTCC mailbox in first cc address
SORTSIZE tama¤o del mensaje en bytes

Las opciones son una máscara de bit con uno o más de los siguientes:

SE_UID Devuelve UIDs en vez de números secuenciales
SE_NOPREFETCH No preselecciona los mensajes buscados.

Anterior | Inicio | Siguiente
imap_setflag_full | Subir | imap_status


imap_status

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

imap_status -- Esta función devuelve el información de estado de otro buzón distinto al actual.

Descripción

object imap_status ( int imap_stream, string mailbox, int options )

Esta función devuelve un objeto que contiene información de estado. Las opciones válidas son:

  • SA_MESSAGES - activa status->messages con el número de mensajes en el buzon

  • SA_RECENT - activa status->recent con el número de mensajes recientes en el buzón

  • SA_UNSEEN - activa status->unseen con el número de mesajes no leidos (nuevos) en el buzón

  • SA_UIDNEXT - activa status->uidnext con el próximo uid a usar en el bizón

  • SA_UIDVALIDITY - activa status->uidvalidity con una constante que cambia cuando los uids del buzon ya no son válidos

  • SA_ALL - activa todos los de arriba

status->flags contienen una máscara de bits la cual puede ser comprobada contra cualquiera de las propiedades de arriba.

Anterior | Inicio | Siguiente
imap_sort | Subir | imap_subscribe


imap_subscribe

(PHP 3, PHP 4, PHP 5)

imap_subscribe -- Subscribe to a mailbox

Descripción

int imap_subscribe ( int imap_stream, string mbox )

Da de alta un nuevo buzón.

Devuleve TRUE si no hay error y FALSE en caso contrario.

Anterior | Inicio | Siguiente
imap_status | Subir | imap_thread


imap_thread

(PHP 4 >= 4.1.0, PHP 5)

imap_thread -- Returns a tree of threaded message

Descripción

array imap_thread ( resource imap_stream [, int options] )

Gets a tree of a threaded message.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

options

Valores retornados

imap_thread() returns an associative array containing a tree of messages threaded by REFERENCES, or FALSE on error.

Every message in the current mailbox will be represented by three entries in the resulting array:

  • $thread["XX.num"] - current message number

  • $thread["XX.next"]

  • $thread["XX.branch"]

Ejemplos

Ejemplo 1. imap_thread() Example

<?php

// Here we're outputting the threads of a newsgroup, in HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>

Anterior | Inicio | Siguiente
imap_subscribe | Subir | imap_timeout


imap_timeout

(PHP 4 >= 4.3.3, PHP 5)

imap_timeout -- Set or fetch imap timeout

Descripción

mixed imap_timeout ( int timeout_type [, int timeout] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
imap_thread | Subir | imap_uid


imap_uid

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_uid -- Esta función devuelve el UID del número de secuencia del mensaje dado

Descripción

int imap_uid ( int imap_stream, int msgno )

Esta función devuelve el UID del número de secuencia del mensaje dado. Esta función es la inversa a imap_msgno().

Anterior | Inicio | Siguiente
imap_timeout | Subir | imap_undelete


imap_undelete

(PHP 3, PHP 4, PHP 5)

imap_undelete -- Desmarca los mensajes que están marcados como borrados

Descripción

int imap_undelete ( int imap_stream, int msg_number )

Esta funcion elimina la marca de borrado de un mensaje especifico, puesta por la función imap_delete().

Devuleve TRUE si no hay error y FALSE en caso contrario.

Anterior | Inicio | Siguiente
imap_uid | Subir | imap_unsubscribe


imap_unsubscribe

(PHP 3, PHP 4, PHP 5)

imap_unsubscribe -- Unsubscribe from a mailbox

Descripción

int imap_unsubscribe ( int imap_stream, string mbox )

Da de baja el buzón especificado.

Devuelve TRUE si no hay error y FALSE en caso contrario.

Anterior | Inicio | Siguiente
imap_undelete | Subir | imap_utf7_decode


imap_utf7_decode

(PHP 3 >= 3.0.15, PHP 4, PHP 5)

imap_utf7_decode -- Decodes a modified UTF-7 encoded string

Descripción

string imap_utf7_decode ( string text )

Decodes modified UTF-7 text into ISO-8859-1 string.

This function is needed to decode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Lista de parámetros

text

A modified UTF-7 encoding string, as defined in RFC 2060, section 5.1.3 (original UTF-7 was defined in RFC1642).

Valores retornados

Returns a string that is encoded in ISO-8859-1 and consists of the same sequence of characters in text, or FALSE if text contains invalid modified UTF-7 sequence or text contains a character that is not part of ISO-8859-1 character set.

Ver también

imap_utf7_encode()

Anterior | Inicio | Siguiente
imap_unsubscribe | Subir | imap_utf7_encode


imap_utf7_encode

(PHP 3 >= 3.0.15, PHP 4, PHP 5)

imap_utf7_encode -- Converts ISO-8859-1 string to modified UTF-7 text

Descripción

string imap_utf7_encode ( string data )

Converts data to modified UTF-7 text.

This is needed to encode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Lista de parámetros

data

An ISO-8859-1 string.

Valores retornados

Returns data encoded with the modified UTF-7 encoding as defined in RFC 2060, section 5.1.3 (original UTF-7 was defined in RFC1642).

Ver también

imap_utf7_decode()

Anterior | Inicio | Siguiente
imap_utf7_decode | Subir | imap_utf8


imap_utf8

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

imap_utf8 -- Converts MIME-encoded text to UTF-8

Descripción

string imap_utf8 ( string mime_encoded_text )

Converts the given mime_encoded_text to UTF-8.

Lista de parámetros

mime_encoded_text

A MIME encoded string. MIME encoding method and the UTF-8 specification are described in RFC2047 and RFC2044 respectively.

Valores retornados

Returns an UTF-8 encoded string.

Ver también

imap_mime_header_decode()

Anterior | Inicio | Siguiente
imap_utf7_encode | Subir | Funciones de Informix


Funciones de Informix

Manual de PHP
Anterior Siguiente

LXVI. Funciones de Informix

Introducción

El controlador de Informix para Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x y IDS 2000 es implementado en "ifx.ec" y "php3_ifx.h" en el directorio de la extensión informix. El soporte para IDS 7.x es razonablemente completo, con soporte para columnas BYTE y TEXT. El soporte para IUS 9.x se encuentra parcialmente terminado: los nuevos tipos de datos se encuentran allí, pero el soporte para SLOB y CLOB aun está en construcción

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.2.1.

Requisitos

Notas de configuración: Necesita alguna versión de ESQL/C para compilar el controlador para Informix de PHP. Las versiones de ESQL/C a partir de 7.2x deben trabajar bien. ESQL/C es ahora parte del SDK de Cliente de Informix.

Asegúrese de que la variable "INFORMIXDIR" haya sido definida, y de que $INFORMIXDIR/bin se encuentre en su PATH antes de ejecutar el script "configure".

Instalación

Para poder utilizar estas funciones, se debe compilar PHP con la opción de compilación --with-informix[=DIR], donde DIR es el directorio base de la instalación de Informix, y cuyo valor no se establece por defecto.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Nota: Make sure that the Informix environment variables INFORMIXDIR and INFORMIXSERVER are available to the PHP ifx driver, and that the INFORMIX bin directory is in the PATH. Check this by running a script that contains a call to phpinfo() before you start testing. The phpinfo() output should list these environment variables. This is true for both CGI php and Apache mod_php. You may have to set these environment variables in your Apache startup script.

The Informix shared libraries should also be available to the loader (check LD_LIBRARY_PATH or ld.so.conf/ldconfig).

Some notes on the use of BLOBs (TEXT and BYTE columns): BLOBs are normally addressed by BLOB identifiers. Select queries return a "blob id" for every BYTE and TEXT column. You can get at the contents with "string_var = ifx_get_blob($blob_id);" if you choose to get the BLOBs in memory (with: "ifx_blobinfile(0);"). If you prefer to receive the content of BLOB columns in a file, use "ifx_blobinfile(1);", and "ifx_get_blob($blob_id);" will get you the filename. Use normal file I/O to get at the blob contents.

For insert/update queries you must create these "blob id's" yourself with "ifx_create_blob();". You then plug the blob id's into an array, and replace the blob columns with a question mark (?) in the query string. For updates/inserts, you are responsible for setting the blob contents with ifx_update_blob().

The behaviour of BLOB columns can be altered by configuration variables that also can be set at runtime:

configuration variable: ifx.textasvarchar

configuration variable: ifx.byteasvarchar

runtime functions:

ifx_textasvarchar(0): use blob id's for select queries with TEXT columns

ifx_byteasvarchar(0): use blob id's for select queries with BYTE columns

ifx_textasvarchar(1): return TEXT columns as if they were VARCHAR columns, so that you don't need to use blob id's for select queries.

ifx_byteasvarchar(1): return BYTE columns as if they were VARCHAR columns, so that you don't need to use blob id's for select queries.

configuration variable: ifx.blobinfile

runtime function:

ifx_blobinfile_mode(0): return BYTE columns in memory, the blob id lets you get at the contents.

ifx_blobinfile_mode(1): return BYTE columns in a file, the blob id lets you get at the file name.

If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE columns in select queries just like normal (but rather long) VARCHAR fields. Since all strings are "counted" in PHP, this remains "binary safe". It is up to you to handle this correctly. The returned data can contain anything, you are responsible for the contents.

If you set ifx_blobinfile to 1, use the file name returned by ifx_get_blob(..) to get at the blob contents. Note that in this case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED BY INFORMIX when fetching the row. Every new row fetched will create new temporary files for every BYTE column.

The location of the temporary files can be influenced by the environment variable "blobdir", default is "." (the current directory). Something like: putenv(blobdir=tmpblob"); will ease the cleaning up of temp files accidentally left behind (their names all start with "blb").

Automatically trimming "char" (SQLCHAR and SQLNCHAR) data: This can be set with the configuration variable

ifx.charasvarchar: if set to 1 trailing spaces will be automatically trimmed, to save you some "chopping".

NULL values: The configuration variable ifx.nullformat (and the runtime function ifx_nullformat()) when set to TRUE will return NULL columns as the string "NULL", when set to FALSE they return the empty string. This allows you to discriminate between NULL columns and empty columns.

Tabla 1. Informix configuration options

Name | Default | Changeable | Changelog
ifx.allow_persistent | "1" | PHP_INI_SYSTEM |
ifx.max_persistent | "-1" | PHP_INI_SYSTEM |
ifx.max_links | "-1" | PHP_INI_SYSTEM |
ifx.default_host | NULL | PHP_INI_SYSTEM |
ifx.default_user | NULL | PHP_INI_SYSTEM |
ifx.default_password | NULL | PHP_INI_SYSTEM |
ifx.blobinfile | "1" | PHP_INI_ALL |
ifx.textasvarchar | "0" | PHP_INI_ALL |
ifx.byteasvarchar | "0" | PHP_INI_ALL |
ifx.charasvarchar | "0" | PHP_INI_ALL |
ifx.nullformat | "0" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

ifx.allow_persistent boolean

Whether to allow persistent Informix connections.

ifx.max_persistent integer

The maximum number of persistent Informix connections per process.

ifx.max_links integer

The maximum number of Informix connections per process, including persistent connections.

ifx.default_host string

The default host to connect to when no host is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in safe mode.

ifx.default_user string

The default user id to use when none is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in safe mode.

ifx.default_password string

The default password to use when none is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in safe mode.

ifx.blobinfile boolean

Set to TRUE if you want to return blob columns in a file, FALSE if you want them in memory. You can override the setting at runtime with ifx_blobinfile_mode().

ifx.textasvarchar boolean

Set to TRUE if you want to return TEXT columns as normal strings in select statements, FALSE if you want to use blob id parameters. You can override the setting at runtime with ifx_textasvarchar().

ifx.byteasvarchar boolean

Set to TRUE if you want to return BYTE columns as normal strings in select queries, FALSE if you want to use blob id parameters. You can override the setting at runtime with ifx_textasvarchar().

ifx.charasvarchar boolean

Set to TRUE if you want to trim trailing spaces from CHAR columns when fetching them.

ifx.nullformat boolean

Set to TRUE if you want to return NULL columns as the literal string "NULL", FALSE if you want them returned as the empty string "". You can override this setting at runtime with ifx_nullformat().

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

IFX_SCROLL (integer)

IFX_HOLD (integer)

IFX_LO_RDONLY (integer)

IFX_LO_WRONLY (integer)

IFX_LO_APPEND (integer)

IFX_LO_RDWR (integer)

IFX_LO_BUFFER (integer)

IFX_LO_NOBUFFER (integer)

Tabla de contenidos
ifx_affected_rows -- Obtiene el número de registros procesados por una consulta
ifx_blobinfile_mode -- Define el modo por defecto para los blob en todas las consultas de selección
ifx_byteasvarchar -- Define el modo por defecto para los campos de tipo byte
ifx_close -- Cierra una conexión con Informix
ifx_connect -- Abrir una conexión con un servidor Informix
ifx_copy_blob -- Duplica el objeto blob dado
ifx_create_blob -- Crea un objeto blob
ifx_create_char -- Crea un objeto char
ifx_do -- Ejecuta una sentencia SQL preparada previamente
ifx_error -- Devuelve el código de error de la última llamada a Informix
ifx_errormsg -- Devuelve el mensaje de error de la última llamada a Informix
ifx_fetch_row -- Obtiene registros como un array (vector) enumerado
ifx_fieldproperties -- Indica las propiedades de los campos de una consulta SQL
ifx_fieldtypes -- Obtiene los campos de una consulta SQL
ifx_free_blob -- Borra el objeto blob
ifx_free_char -- Elimina un objeto char
ifx_free_result -- Libera los recursos de una consulta
ifx_get_blob -- Obtiene el contenido de un objeto blob
ifx_get_char -- Obtiene el contenido de un objeto char
ifx_getsqlca -- Después de una consulta, obtiene el contenido de sqlca.sqlerrd[0..5]
ifx_htmltbl_result -- Muestra todos los registros de una consulta en una tabla HTML
ifx_nullformat -- Define el valor por defecto cuando se leen valores nulos
ifx_num_fields -- Devuelve el número de columnas en una consulta
ifx_num_rows -- Cuenta los registros ya leídos de una consulta
ifx_pconnect -- Abre una conexión permanente con Informix
ifx_prepare -- Preparar una sentencia-SQL para su ejecución
ifx_query -- Enviar una consulta Informix
ifx_textasvarchar -- Define el modo por defecto para los campos de tipo text
ifx_update_blob -- Actualiza el contenido de un objeto blob
ifx_update_char -- Actualiza el contenido de un objeto char
ifxus_close_slob -- Cierra un objeto slob
ifxus_create_slob -- Crea un objeto slob y lo abre
ifxus_free_slob -- Elimina un objeto slob
ifxus_open_slob -- Abre un objeto slob
ifxus_read_slob -- Lee un número de bytes (nbytes) de un objeto slob
ifxus_seek_slob -- Establece la posición de archivo o búsqueda actual
ifxus_tell_slob -- Devuelve la posición de archivo o búsqueda actual
ifxus_write_slob -- Escribe una cadena en un objeto slob

Anterior | Inicio | Siguiente
imap_utf8 | Subir | ifx_affected_rows


ifx_affected_rows

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_affected_rows -- Obtiene el número de registros procesados por una consulta

Descripción

int ifx_affected_rows ( int result_id )

result_id es un identificador válido del resultado de ifx_query() o ifx_prepare().

Devuelve el número de filas procesadas por una consulta representada por un result_id (identificador de resultado).

Para inserciones, actualizaciones y borrados el número es exactamente los registros procesados (sqlerrd[2]). Para las consultas de selección es una estimación (sqlerrd[0]). No confíes en él. El servidor de base de datos no puede devolver el número real de filas que devuelve una consulta de tipo SELECT ya que en ese momento ni ha empezado a obtener las filas del resultado (justo después del "PREPARE" es cuando el optimizador puede determinar ese valor).

Es útil llamarla después de ejecutar ifx_prepare() pues así podemos limitar las consultas a un número razonable de registros.

Ejemplo 1. Número de registros procesados por una consulta

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name, $connid);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Demasiados registros en el resultado (%d)\n<br />", $rowcount);
    die ("Por favor, restringe tu consulta<br />\n");
}
?>

Vea también ifx_num_rows().

Anterior | Inicio | Siguiente
Funciones de Informix | Subir | ifx_blobinfile_mode


ifx_blobinfile_mode

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_blobinfile_mode -- Define el modo por defecto para los blob en todas las consultas de selección

Descripción

void ifx_blobinfile_mode ( int mode )

Define el modo por defecto para los blob en todas las consultas de selección. El modo (mode) "0" quiere decir que guarda en memoria los blobs de tipo BYTE y modo "1" significa guardarlos en un archivo.

Anterior | Inicio | Siguiente
ifx_affected_rows | Subir | ifx_byteasvarchar


ifx_byteasvarchar

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_byteasvarchar -- Define el modo por defecto para los campos de tipo byte

Descripción

void ifx_byteasvarchar ( int mode )

Define el modo por defecto para los campos de tipo byte en todas las consultas de selección. Modo (mode) "0" devolverá un identificador de blob y "1" dará el contenido en un campo de tipo varchar.

Anterior | Inicio | Siguiente
ifx_blobinfile_mode | Subir | ifx_close


ifx_close

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_close -- Cierra una conexión con Informix

Descripción

int ifx_close ( [int link_identifier] )

Devuelve: TRUE siempre.

ifx_close() cierra un enlace a una base de datos Informix que esté asociado con el identificador de enlace (link_identifier). Si el identificador de enlace no es especificado, el último enlace abierto es asumido.

Observa que esto no es necesario habitualmente ya que las conexiones no permanentes son cerradas automáticamente al finalizar la ejecución del programa o script.

ifx_close() no cerrará enlaces persistentes generados por ifx_pconnect().

Ejemplo 1. Cierre de una conexión a Informix

<?php
$conn_id = ifx_connect (mydb@ol_srv, "itsme", "mypassword");
/* ... algunas consultas y codigo ... */
ifx_close($conn_id);
?>

Vea también ifx_connect() y ifx_pconnect().

Anterior | Inicio | Siguiente
ifx_byteasvarchar | Subir | ifx_connect


ifx_connect

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_connect -- Abrir una conexión con un servidor Informix

Descripción

resource ifx_connect ( [string base_de_datos [, string id_usuario [, string contrasenya]]] )

ifx_connect() establece una conexión con un servidor Informix.

En caso de que una segunda llamada sea realizada a ifx_connect() con los mismos argumentos, no se establecerá un enlace nuevo, en su lugar, el identificador del enlace ya abierto será devuelto.

El enlace con el servidor será cerrado tan pronto como la ejecución del script finalice, a menos que éste sea cerrado antes mediante una llamada explícita a ifx_close().

Lista de parámetros

Todos los argumentos son opcionales, y si son omitidos, los valores predeterminados son tomados de valores definidos en php.ini (ifx.default_host para el host (si no está definido, las bibilotecas Informix usarán el valor del entorno INFORMIXSERVER), ifx.default_user para el usuario, ifx.default_password para la contraseña (ninguna si no está definida).

base_de_datos

El nombre de la base de datos, como una cadena.

id_usuario

El nombre de usuario, como una cadena.

contrasenya

La contraseña, como una cadena.

Valores retornados

Devuelve un identificador de conexión en caso de tener éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Conexión con una base de datos Informix

<?php
$id_con = ifx_connect ("mi_bd@ol_srv1", "yo_mismo", "mi_contrasenya");
?>

Ver también

ifx_pconnect()
ifx_close()

Anterior | Inicio | Siguiente
ifx_close | Subir | ifx_copy_blob


ifx_copy_blob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_copy_blob -- Duplica el objeto blob dado

Descripción

int ifx_copy_blob ( int bid )

Duplica el objeto blob dado. bid es el identificador del objeto blob a copiar.

Devuelve FALSE si hubo error, en otro caso el identificador del nuevo objeto blob.

Anterior | Inicio | Siguiente
ifx_connect | Subir | ifx_create_blob


ifx_create_blob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_create_blob -- Crea un objeto blob

Descripción

int ifx_create_blob ( int tipo, int modo, string param )

Crea un objeto blob.

Lista de parámetros

tipo

1 = TEXT, 0 = BYTE

modo

0 = el objeto blob mantiene el contenido en memoria, 1 = el objeto blob mantiene el contenido en un archivo.

param

si mode = 0: apuntador al contenido, si mode = 1: apuntador a la cadena de archivo.

Valores retornados

Devuelve el id de objeto del nuevo BLOB, o FALSE en caso de errores.

Ver también

ifx_copy_blob()
ifx_free_blob()

Anterior | Inicio | Siguiente
ifx_copy_blob | Subir | ifx_create_char


ifx_create_char

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ifx_create_char -- Crea un objeto char

Descripción

int ifx_create_char ( string param )

Crea un objeto char. param será el contenido del char.

Anterior | Inicio | Siguiente
ifx_create_blob | Subir | ifx_do


ifx_do

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_do -- Ejecuta una sentencia SQL preparada previamente

Descripción

int ifx_do ( int result_id )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejecuta una consulta preparada anteriormente o abre un cursor para ella.

No libera result_id si hubo un error.

También define el número real de registros procesados para consultas que no sean de selección y se puede obtener mediante ifx_affected_rows().

Vea también: ifx_prepare() (contiene un ejemplo).

Anterior | Inicio | Siguiente
ifx_create_char | Subir | ifx_error


ifx_error

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_error -- Devuelve el código de error de la última llamada a Informix

Descripción

string ifx_error ( void )

Los códigos de error de Informix (SQLSTATE & SQLCODE) son representados como se especifica a continuación:

x [SQLSTATE = aa bbb SQLCODE=cccc]

donde x = un espacio : no hubo error

E : hubo error

N : no hay más datos

W : aviso

? : no definido

Si el carácter "x" es cualquier otra cosa diferente a un espacio, SQLSTATE y SQLCODE describen el error con mayor detalle.

Vea el manual de Informix para el significado de SQLSTATE y SQLCODE.

Devuelve en una cadena un caracter describiendo el resultado de una sentencia y los valores SQLSTATE y SQLCODE asociados con la última sentencia SQL ejecutada. El formato de la cadena es "(char) [SQLSTATE=(dos dígitos) (tres dígitos) SQLCODE=(un dígito)]". El primer carácter puede ser ' ' (un espacio) (no hubo error), 'W' (la sentencia provocó un aviso), 'E' (la consulta produjo un error) o 'N' (la sentencia no devolvió ningún dato).

Examina también: ifx_errormsg()

Vea también ifx_errormsg()

Anterior | Inicio | Siguiente
ifx_do | Subir | ifx_errormsg


ifx_errormsg

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_errormsg -- Devuelve el mensaje de error de la última llamada a Informix

Descripción

string ifx_errormsg ( [int errorcode] )

Devuelve el mensaje de error asociado con el error más reciente de Informix. Si definismos el parámetro opcional "errorcode" (código de error), nos dará el mensaje de error correspondiente a ese código.

Ejemplo 1. Ejemplo de ifx_errormsg()

printf("%s\n<br />", ifx_errormsg(-201));

Vea también ifx_error().

Anterior | Inicio | Siguiente
ifx_error | Subir | ifx_fetch_row


ifx_fetch_row

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_fetch_row -- Obtiene registros como un array (vector) enumerado

Descripción

array ifx_fetch_row ( int result_id [, mixed position] )

Devuelve un array (vector) correspondiente a la fila leída o FALSE si no hay más registros.

Las columnas blob son devueltas como identificadores de blob enteros (integer) para usarlos con ifx_get_blob() a menos que hayas usado ifx_textasvarchar(1) o ifx_byteasvarchar(1), en cuyo caso los blobs son devueltos como cadenas de texto. Devuelve FALSE si hubo error.

result_id es un identificador válido del resultado de ifx_query() o ifx_prepare() (sólo para consultas de selección).

position es un parámetro opcional para una operación de lectura sobre un cursor de tipo "scroll": "NEXT" (siguiente), "PREVIOUS" (anterior), "CURRENT" (actual), "FIRST" (primero), "LAST" (último) o un número. Si se especifica un número, un registro concreto es leído. Este parámetro opcional es sólo válido para cursores de tipo scroll.

ifx_fetch_row() lee el contenido de un registro de la consulta representada por el identificador de resultado indicado. La fila (registro) es devuelta en un array. Cada columna es guarda en un array, empezando éste desde cero.

Las llamadas posteriores a ifx_fetch_row() devolverán el registro siguiente en el resultado de la consulta, o FALSE si no hay más filas.

Ejemplo 1. Leer registros de Informix

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Demasiados registros en el resultado (%d)\n<br />", $rowcount);
    die ("Por favor, restringe tu consulta<br />\n");
}
if (! ifx_do ($rid)) {
   /* ... error ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
    for(reset($row); $fieldname=key($row); next($row)) {
        $fieldvalue = $row[$fieldname];
        printf ("%s = %s,", $fieldname, $fieldvalue);
    }
    printf("\n<br />");
    $row = ifx_fetch_row ($rid, "NEXT");
}
ifx_free_result ($rid);
?>

Anterior | Inicio | Siguiente
ifx_errormsg | Subir | ifx_fieldproperties


ifx_fieldproperties

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_fieldproperties -- Indica las propiedades de los campos de una consulta SQL

Descripción

array ifx_fieldproperties ( int result_id )

Dada una consulta representada por result_id devuelve un array con los nombres de campo como claves y las propiedades como datos. FALSE es devuelto si hubo error.

Devuelve las propiedades SQL de cada campo como un array. Las propiedades son codificadas así: "SQLTYPE;longitud;precisión;escala;ISNULLABLE" siendo SQLTYPE el tipo de dato definido en Informix como puede ser "SQLVCHAR" etc. e ISNULLABLE (puede ser nulo) igual a "Y" sí o "N" no.

Ejemplo 1. Propiedades de los campos de una consulta SQL

<?php
$properties = ifx_fieldtypes ($resultid);
if (! isset($properties)) {
  /* ... error ... */
}
foreach ($properties as $fname => $val) {
    echo "$fname:\t propiedad = $val\n";
}
?>

Anterior | Inicio | Siguiente
ifx_fetch_row | Subir | ifx_fieldtypes


ifx_fieldtypes

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_fieldtypes -- Obtiene los campos de una consulta SQL

Descripción

array ifx_fieldtypes ( int result_id )

Dada una consulta representada por result_id devuelve un array con los nombres de campo como llaves y los tipos como datos. Si no tuvo éxito devuelve FALSE.

Ejemplo 1. Nombres y tipos de campos de una consulta SQL

<?php
$types = ifx_fieldtypes ($resultid);
if (! isset ($types)) {
  /* ... error ... */
}
foreach ($types as $fname => $val) {
    echo "$fname:\t tipo = $val\n";
}
?>

Anterior | Inicio | Siguiente
ifx_fieldproperties | Subir | ifx_free_blob


ifx_free_blob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_free_blob -- Borra el objeto blob

Descripción

int ifx_free_blob ( int bid )

Elimina el objeto blob representado por el identificador bid. Devuelve FALSE si se produjo error, en otro caso TRUE.

Anterior | Inicio | Siguiente
ifx_fieldtypes | Subir | ifx_free_char


ifx_free_char

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ifx_free_char -- Elimina un objeto char

Descripción

int ifx_free_char ( int bid )

Borra el objeto char representado por el identificador del char bid. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ifx_free_blob | Subir | ifx_free_result


ifx_free_result

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_free_result -- Libera los recursos de una consulta

Descripción

int ifx_free_result ( int result_id )

Libera los recursos representados por el identificador result_id de una consulta. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ifx_free_char | Subir | ifx_get_blob


ifx_get_blob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_get_blob -- Obtiene el contenido de un objeto blob

Descripción

int ifx_get_blob ( int bid )

Devuelve el contenido de un objeto blob representado por su identificador bid.

Anterior | Inicio | Siguiente
ifx_free_result | Subir | ifx_get_char


ifx_get_char

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ifx_get_char -- Obtiene el contenido de un objeto char

Descripción

int ifx_get_char ( int bid )

Devuelve el contenido de un objeto char representado por su identificador bid.

Anterior | Inicio | Siguiente
ifx_get_blob | Subir | ifx_getsqlca


ifx_getsqlca

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ifx_getsqlca -- Después de una consulta, obtiene el contenido de sqlca.sqlerrd[0..5]

Descripción

array ifx_getsqlca ( int result_id )

result_id es un identificador válido del resultado de ifx_query() o ifx_prepare().

Devuelve una seudo fila (array asociativo) con los valores de sqlca.sqlerrd[0] a sqlca.sqlerrd[5] de una consulta ejecutada, representada ésta con un identificador de resultado result_id.

Para inserciones, actualizaciones y borrados los valores devueltos son aquellos definidos por el servidor después de que la consulta sea ejecutada. Esto da acceso al número de registros procesados y al valor de una columna de tipo serial en una consulta de inserción. Para consultas de selección, los valores son guardados cuando se prepara la sentencia. También permite conocer el número estimado de registros procesados. El uso de esta función evita el sobrecoste de ejecutar la consulta "select dbinfo('sqlca.sqlerrdx')", como obtener los valores guardados por el conector para Informix en el momento apropiado.

Ejemplo 1. Obtener los valores sqlca.sqlerrd[x]

<?php
/* suponiendo que la primera columna de la tabla 'sometable' es de tipo serial */
$qid = ifx_query("insert into sometable values(0, '2nd column', 'another column' ", $connid);
if (! $qid) {
    /* ... error ... */
}
$sqlca = ifx_getsqlca ($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "El valor de serie de la fila insertada es: " . $serial_value<br />n";

Anterior | Inicio | Siguiente
ifx_get_char | Subir | ifx_htmltbl_result


ifx_htmltbl_result

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_htmltbl_result -- Muestra todos los registros de una consulta en una tabla HTML

Descripción

int ifx_htmltbl_result ( int result_id [, string html_table_options] )

Devuelve el número de registros leídos o FALSE si hubo error.

Muestra todas las filas de la consulta result_id dentro de una tabla html. El argumento segundo, opcional, es una cadena de parámetros del tag <table>

Ejemplo 1. Mostrar resultado como una tabla HTML

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
   /* ... error ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Demasiados registros en el resultado (%d)\n<br />", $rowcount);
    die ("Por favor, restringe tu consulta<br />\n");
}
if (! ifx_do($rid) {
  /* ... error ... */
}

ifx_htmltbl_result ($rid, "border=\"2\"");

ifx_free_result($rid);
?>

Anterior | Inicio | Siguiente
ifx_getsqlca | Subir | ifx_nullformat


ifx_nullformat

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_nullformat -- Define el valor por defecto cuando se leen valores nulos

Descripción

void ifx_nullformat ( int mode )

Define el valor por defecto cuando se leen valores nulos. Modo (mode) "0" devuelve "", y modo "1" devuelve "NULL".

Anterior | Inicio | Siguiente
ifx_htmltbl_result | Subir | ifx_num_fields


ifx_num_fields

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_num_fields -- Devuelve el número de columnas en una consulta

Descripción

int ifx_num_fields ( int result_id )

Dada una consulta representada por result_id devuelve el número de columnas o FALSE si se produjo un error.

Después de preparar o ejecutar una consulta, una llamada a esta función te da el número de columnas en la consulta.

Anterior | Inicio | Siguiente
ifx_nullformat | Subir | ifx_num_rows


ifx_num_rows

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_num_rows -- Cuenta los registros ya leídos de una consulta

Descripción

int ifx_num_rows ( int result_id )

Da el número de registros ya leídos de una consulta representada por un result_id después de llamar a ifx_query() o ifx_do().

Anterior | Inicio | Siguiente
ifx_num_fields | Subir | ifx_pconnect


ifx_pconnect

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_pconnect -- Abre una conexión permanente con Informix

Descripción

int ifx_pconnect ( [string database [, string userid [, string password]]] )

Devuelve un identificador positivo de enlace persistente si hubo conexión, o FALSE si se produjo un error.

ifx_pconnect() actúa muy parecido a ifx_connect() con dos principales diferencias.

Esta función se comporta exactamente igual que ifx_connect() cuando PHP no es ejecutado como un módulo de Apache. La primera diferencia es cuando se conecta, la función intentará encontrar un enlace (persistente) que exista con el mismo servidor, usuario y contraseña. Si es hallado, el identificador del enlace será devuelto en vez de abrir una nueva conexión.

Segundo, la conexión al servidor no se cerrará cuando la ejecución del guión (script) finalice. En vez de esto, la conexión permanecerá abierta para usos futuros (ifx_close() no cerrará el enlace creado por ifx_pconnect()).

Este tipo de enlace es, por tanto, llamado 'persistente'

Vea también ifx_connect().

Anterior | Inicio | Siguiente
ifx_num_rows | Subir | ifx_prepare


ifx_prepare

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_prepare -- Preparar una sentencia-SQL para su ejecución

Descripción

resource ifx_prepare ( string consulta, resource id_enlace [, int tipo_cursor, mixed matriz_id_blob] )

Prepara una consulta para su uso posterior con ifx_do().

Para consultas "tipo-select" un cursor es declarado y abierto. Las consultas no-select son de "ejecución inmediata".

Para cualquiera de los tipos de consulta, el número (estimado o real) de filas afectadas es almacenado para su recuperación por ifx_affected_rows().

Si los contenidos de la columna TEXT (o BYTE) lo permiten, es posible usar también ifx_textasvarchar(1) y ifx_byteasvarchar(1). Esto le permite tratar columnas TEXT (o BYTE) como si fueran columnas VARCHAR ordinarias (pero largas) para las consultas select, y no debe preocuparse por id's blob.

Con ifx_textasvarchar(0) o ifx_byteasvarchar(0) (la situación predeterminada), las consultas select devolverán columnas BLOB como id's blob (valor entero). Puede obtener el valor del blob como una cadena o un archivo con las funciones blob (vea más adelante).

Lista de parámetros

consulta

La cadena de consulta.

id_enlace

El identificador de enlace.

tipo_cursor

Este parámetro opcional le permite hacer de éste un cursor scroll y/o hold. Es una máscara de bits y puede contener el valor IFX_SCROLL, IFX_HOLD, o ambos unidos con el operador lógico OR.

matriz_id_blob

Si tiene columnas BLOB (BYTE o TEXT) en la consulta, puede agregar un parámetro matriz_id_blob que contenga los "ids blob" correspondientes, y debería reemplazar esas columnas con un "?" en el texto de la consulta.

Valores retornados

Devuelve un identificador de resultado válido para su uso con ifx_do(), o FALSE en caso de errores.

Ver también

ifx_do()

Anterior | Inicio | Siguiente
ifx_pconnect | Subir | ifx_query


ifx_query

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_query -- Enviar una consulta Informix

Descripción

resource ifx_query ( string consulta, resource id_enlace [, int tipo_cursor [, mixed matriz_id_blob]] )

Envía una consulta a la base de datos actualmente activo en el servidor asociado con el identificador de enlace especificado.

Para consultas "tipo-select" un cursor es declarado y abierto. Las consulta no-select son de "ejecución inmediata".

Para cualquier tipo de consulta, el número (estimado o real) de filas afectadas es almacenado para su consulta mediante ifx_affected_rows().

Si el contenido de la columna TEXT (o BYTE) lo permite, es posible usar también ifx_textasvarchar(1) y ifx_byteasvarchar(1). Esto le permite tratar columnas TEXT (o BYTE) como si fueran columnas normales (pero largas) de tipo VARCHAR para consultas select, y no necesita complicarse con id's de blob.

Con ifx_textasvarchar(0) o ifx_byteasvarchar(0) (la situación predeterminada), las consultas select devolverán columnas BLOB como id's blob (valores enteros). Puede obtener el valor del blob como una cadena o archivo con las funciones blob (vea más adelante).

Lista de parámetros

consulta

La cadena de consulta.

id_enlace

El identificador de enlace.

tipo_cursor

Este parámetro opcional le permite hacer de éste un cursor scroll y/o hold. Es una máscara de bits y puede contener el valor IFX_SCROLL, IFX_HOLD, o ambos unidos con el operador lógico OR. Si este parámetro es omitido, el cursor es un cursor secuencial corriente.

matriz_id_blob

Si tiene columnas BLOB (BYTE o TEXT) en la consulta, puede agregar un parámetro matriz_id_blob que contenga los "ids blob" correspondientes, y debería reemplazar esas columnas con un "?" en el texto de la consulta.

Valores retornados

Devuelve un identificador de resultado Informix válido en caso de éxito, o FALSE en caso de errores.

Ejemplos

Ejemplo 1. Mostrar todas las filas de la tabla "ordenes" como una tabla HTML

<?php
ifx_textasvarchar(1);      // usar "modo de texto" para blobs
$id_res = ifx_query("select * from ordenes", $id_con);
if (! $id_res) {
    printf("No se pueden seleccionar órdenes: %s\n<br />%s<br />\n", ifx_error());
    ifx_errormsg();
    die;
}
ifx_htmltbl_result($id_res, "border=\"1\"");
ifx_free_result($id_res);
?>

Ejemplo 2. Insertar algunos valores en la tabla "catalogo"

<?php

// crear id's blob para una columna byte y text
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");

// almacenar id's blob en una matriz id_blob
$matriz_id_blob[] = $textid;
$matriz_id_blob[] = $byteid;

// ejecutar consulta
$consulta = "insert into catalogo (num_bodega, cod_manu, " .
         "descr_cat,imagen_cat) values(1,'HRO',?,?)";
$id_res = ifx_query($consulta, $id_con, $matriz_id_blob);
if (! $id_res) {
    /* ... error ... */
}

// liberar el id de resultado
ifx_free_result($id_res);
?>

Ver también

ifx_connect()

Anterior | Inicio | Siguiente
ifx_prepare | Subir | ifx_textasvarchar


ifx_textasvarchar

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_textasvarchar -- Define el modo por defecto para los campos de tipo text

Descripción

void ifx_textasvarchar ( int mode )

Define el modo por defecto para los campos de tipo text en todas las consultas de selección. Modo (mode) "0" devolverá un identificador de blob y "1" dará el contenido en un campo de tipo varchar.

Anterior | Inicio | Siguiente
ifx_query | Subir | ifx_update_blob


ifx_update_blob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifx_update_blob -- Actualiza el contenido de un objeto blob

Descripción

bool ifx_update_blob ( int bid, string content )

Actualiza el contenido de un objeto blob representado por su identificador bid. content es una cadena con el nuevo contenido. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ifx_textasvarchar | Subir | ifx_update_char


ifx_update_char

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ifx_update_char -- Actualiza el contenido de un objeto char

Descripción

int ifx_update_char ( int bid, string content )

Actualiza el contenido de un objeto char representado por su identificador bid. content es una cadena con la información nueva. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ifx_update_blob | Subir | ifxus_close_slob


ifxus_close_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_close_slob -- Cierra un objeto slob

Descripción

int ifxus_close_slob ( int bid )

Cierra un objeto slob representado por su identificador de slob bid. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ifx_update_char | Subir | ifxus_create_slob


ifxus_create_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_create_slob -- Crea un objeto slob y lo abre

Descripción

int ifxus_create_slob ( int mode )

Crea un objeto slob y lo abre. Modos: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER o una combinación de ellos. También puedes usar nombres de constantes IFX_LO_RDONLY, IFX_LO_WRONLY, etc. Devuelve FALSE si hubo error, en otro caso el identificador del nuevo objeto slob.

Anterior | Inicio | Siguiente
ifxus_close_slob | Subir | ifxus_free_slob


ifxus_free_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_free_slob -- Elimina un objeto slob

Descripción

int ifxus_free_slob ( int bid )

Borra un objeto slob. bid es el identificador del objeto slob. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ifxus_create_slob | Subir | ifxus_open_slob


ifxus_open_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_open_slob -- Abre un objeto slob

Descripción

int ifxus_open_slob ( int bid, int mode )

Abre un objeto slob. bid será un identificador de slob que válido. Modos: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER o una combinación de ellos. Devuelve FALSE si hubo error, en otro caso el identificador del nuevo objeto slob.

Anterior | Inicio | Siguiente
ifxus_free_slob | Subir | ifxus_read_slob


ifxus_read_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_read_slob -- Lee un número de bytes (nbytes) de un objeto slob

Descripción

int ifxus_read_slob ( int bid, int nbytes )

Lee un número de bytes (nbytes) de un objeto slob. bid es un identificador de slob válido y nbytes es el número de bytes a leer. Devuelve FALSE si hubo error, y la cadena si tuvo éxito.

Anterior | Inicio | Siguiente
ifxus_open_slob | Subir | ifxus_seek_slob


ifxus_seek_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_seek_slob -- Establece la posición de archivo o búsqueda actual

Descripción

int ifxus_seek_slob ( int id_b, int modo, int desplazamiento )

Establece la posición de archivo o búsqueda actual de un objeto slob abierto.

Lista de parámetros

id_b

El id de un slob existente.

modo

0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END.

desplazamiento

Un valor de desplazamiento en bytes.

Valores retornados

Devuelve la posición de búsqueda como un entero, o FALSE en caso de errores.

Ver también

ifxus_tell_slob()

Anterior | Inicio | Siguiente
ifxus_read_slob | Subir | ifxus_tell_slob


ifxus_tell_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_tell_slob -- Devuelve la posición de archivo o búsqueda actual

Descripción

int ifxus_tell_slob ( int id_b )

Devuelve la posición de archivo o búsqueda actual de un objeto slob abierto

Lista de parámetros

id_b

El id de un slob existente.

Valores retornados

Devuelve la posición de búsqueda como un entero, o FALSE en caso de errores.

Ver también

ifxus_seek_slob()

Anterior | Inicio | Siguiente
ifxus_seek_slob | Subir | ifxus_write_slob


ifxus_write_slob

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ifxus_write_slob -- Escribe una cadena en un objeto slob

Descripción

int ifxus_write_slob ( int bid, string content )

Escribe una cadena en un objeto slob. bid es un identificador de slob válido y content el contenido a escribir. Devuelve FALSE si hubo error, sino el número de bytes escritos.

Anterior | Inicio | Siguiente
ifxus_tell_slob | Subir | Informix Functions (PDO_INFORMIX)


Funciones InterBase

Manual de PHP
Anterior Siguiente

XLII. Funciones InterBase

Tabla de contenidos
ibase_add_user -- Add a user to a security database (only for IB6 or later)
ibase_affected_rows -- Return the number of rows that were affected by the previous query
ibase_backup -- Initiates a backup task in the service manager and returns immediately
ibase_blob_add -- Add data into a newly created blob
ibase_blob_cancel -- Cancel creating blob
ibase_blob_close -- Close blob
ibase_blob_create -- Create a new blob for adding data
ibase_blob_echo -- Output blob contents to browser
ibase_blob_get -- Get len bytes data from open blob
ibase_blob_import -- Create blob, copy file in it, and close it
ibase_blob_info -- Return blob length and other useful info
ibase_blob_open -- Open blob for retrieving data parts
ibase_close --
ibase_commit_ret -- Commit a transaction without closing it
ibase_commit -- Commit a transaction
ibase_connect --
ibase_db_info -- Request statistics about a database
ibase_delete_user -- Delete a user from a security database (only for IB6 or later)
ibase_drop_db -- Drops a database
ibase_errcode -- Return an error code
ibase_errmsg -- Return error messages
ibase_execute --
ibase_fetch_assoc -- Fetch a result row from a query as an associative array
ibase_fetch_object -- Get an object from a InterBase database
ibase_fetch_row --
ibase_field_info -- Get information about a field
ibase_free_event_handler -- Cancels a registered event handler
ibase_free_query --
ibase_free_result --
ibase_gen_id -- Increments the named generator and returns its new value
ibase_maintain_db -- Execute a maintenance command on the database server
ibase_modify_user -- Modify a user to a security database (only for IB6 or later)
ibase_name_result -- Assigns a name to a result set
ibase_num_fields -- Get the number of fields in a result set
ibase_num_params -- Return the number of parameters in a prepared query
ibase_param_info -- Return information about a parameter in a prepared query
ibase_pconnect --
ibase_prepare --
ibase_query --
ibase_restore -- Initiates a restore task in the service manager and returns immediately
ibase_rollback_ret -- Roll back a transaction without closing it
ibase_rollback -- Roll back a transaction
ibase_server_info -- Request information about a database server
ibase_service_attach -- Connect to the service manager
ibase_service_detach -- Disconnect from the service manager
ibase_set_event_handler -- Register a callback function to be called when events are posted
ibase_timefmt --
ibase_trans -- Begin a transaction
ibase_wait_event -- Wait for an event to be posted by the database

Anterior | Inicio | Siguiente
filter_var | Subir | ibase_add_user


ibase_add_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_add_user -- Add a user to a security database (only for IB6 or later)

Description

bool ibase_add_user ( resource service_handle, string user_name, string password [, string first_name [, string middle_name [, string last_name]]] )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

See also ibase_modify_user() and ibase_delete_user().

Anterior | Inicio | Siguiente
Funciones InterBase | Subir | ibase_affected_rows


ibase_affected_rows

(PHP 5)

ibase_affected_rows -- Return the number of rows that were affected by the previous query

Description

int ibase_affected_rows ( [resource link_identifier] )

This function returns the number of rows that were affected by the previous query (INSERT, UPDATE or DELETE) that was executed from within the transaction context specified by link_identifier. If link_identifier is a connection resource, its default transaction is used.

See also ibase_query() and ibase_execute().

Anterior | Inicio | Siguiente
ibase_add_user | Subir | ibase_backup


ibase_backup

(PHP 5)

ibase_backup -- Initiates a backup task in the service manager and returns immediately

Description

mixed ibase_backup ( resource service_handle, string source_db, string dest_file [, int options [, bool verbose]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_affected_rows | Subir | ibase_blob_add


ibase_blob_add

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_add -- Add data into a newly created blob

Description

void ibase_blob_add ( resource blob_handle, string data )

ibase_blob_add() adds data into a blob created with ibase_blob_create(). Returns NULL on success or FALSE on failure.

See also
ibase_blob_cancel(),
ibase_blob_close(),
ibase_blob_create() and
ibase_blob_import().

Anterior | Inicio | Siguiente
ibase_backup | Subir | ibase_blob_cancel


ibase_blob_cancel

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_cancel -- Cancel creating blob

Description

bool ibase_blob_cancel ( resource blob_handle )

This function will discard a BLOB created by ibase_create_blob() if it has not yet been closed by ibase_blob_close(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also
ibase_blob_close(),
ibase_blob_create() and
ibase_blob_import().

Anterior | Inicio | Siguiente
ibase_blob_add | Subir | ibase_blob_close


ibase_blob_close

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_close -- Close blob

Description

mixed ibase_blob_close ( resource blob_handle )

This function closes a BLOB that has either been opened for reading by ibase_open_blob() or has been opened for writing by ibase_create_blob(). If the BLOB was being read, this function returns TRUE on success, if the BLOB was being written to, this function returns a string containing the BLOB id that has been assigned to it by the database. On failure, this function returns FALSE.

See also ibase_blob_cancel() and ibase_blob_open().

Anterior | Inicio | Siguiente
ibase_blob_cancel | Subir | ibase_blob_create


ibase_blob_create

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_create -- Create a new blob for adding data

Description

resource ibase_blob_create ( [resource link_identifier] )

ibase_blob_create() creates a new BLOB for filling with data. It returns a BLOB handle for later use with ibase_blob_add() or FALSE on failure.

See also
ibase_blob_add(),
ibase_blob_cancel(),
ibase_blob_close() and
ibase_blob_import().

Anterior | Inicio | Siguiente
ibase_blob_close | Subir | ibase_blob_echo


ibase_blob_echo

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_echo -- Output blob contents to browser

Description

bool ibase_blob_echo ( resource link_identifier, string blob_id )

bool ibase_blob_echo ( string blob_id )

This function opens a BLOB for reading and sends its contents directly to standard output (the browser, in most cases). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also
ibase_blob_open(),
ibase_blob_close() and
ibase_blob_get().

Anterior | Inicio | Siguiente
ibase_blob_create | Subir | ibase_blob_get


ibase_blob_get

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_get -- Get len bytes data from open blob

Description

string ibase_blob_get ( resource blob_handle, int len )

This function returns at most len bytes from a BLOB that has been opened for reading by ibase_blob_open(). Returns FALSE on failure.

<?php
    $sql       = "SELECT blob_value FROM table";
    $result    = ibase_query($sql);
    $data      = ibase_fetch_object($result);
    $blob_data = ibase_blob_info($data->BLOB_VALUE);
    $blob_hndl = ibase_blob_open($data->BLOB_VALUE);
    echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>

Whilst this example doesn't do much more than a 'ibase_blob_echo($data->BLOB_VALUE)' would do, it does show you how to get information into a $variable to manipulate as you please.

Nota: It is not possible to read from a BLOB that has been opened for writing by ibase_blob_create().

See also
ibase_blob_open(),
ibase_blob_close() and
ibase_blob_echo().

Anterior | Inicio | Siguiente
ibase_blob_echo | Subir | ibase_blob_import


ibase_blob_import

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_import -- Create blob, copy file in it, and close it

Description

string ibase_blob_import ( resource link_identifier, resource file_handle )

string ibase_blob_import ( resource file_handle )

This function creates a BLOB, reads an entire file into it, closes it and returns the assigned BLOB id. The file handle is a handle returned by fopen(). Returns FALSE on failure.

Ejemplo 1. ibase_blob_import() example

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // import failed
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // record insertion failed
        }
    }
} else {
    // unable to open the data file
}
?>

See also
ibase_blob_add(),
ibase_blob_cancel(),
ibase_blob_close() and
ibase_blob_create().

Anterior | Inicio | Siguiente
ibase_blob_get | Subir | ibase_blob_info


ibase_blob_info

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_info -- Return blob length and other useful info

Description

array ibase_blob_info ( resource link_identifier, string blob_id )

array ibase_blob_info ( string blob_id )

Returns an array containing information about a BLOB. The information returned consists of the length of the BLOB, the number of segments it contains, the size of the largest segment, and whether it is a stream BLOB or a segmented BLOB.

Anterior | Inicio | Siguiente
ibase_blob_import | Subir | ibase_blob_open


ibase_blob_open

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_blob_open -- Open blob for retrieving data parts

Description

resource ibase_blob_open ( resource link_identifier, string blob_id )

resource ibase_blob_open ( string blob_id )

ibase_blob_open() opens an existing BLOB for reading. It returns a BLOB handle for later use with ibase_blob_get() or FALSE on failure.

See also
ibase_blob_close(),
ibase_blob_echo() and
ibase_blob_get().

Anterior | Inicio | Siguiente
ibase_blob_info | Subir | ibase_close


ibase_close

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_close --

Descripcion

ibase_close ( )

Anterior | Inicio | Siguiente
ibase_blob_open | Subir | ibase_commit_ret


ibase_commit_ret

(PHP 5)

ibase_commit_ret -- Commit a transaction without closing it

Description

bool ibase_commit_ret ( [resource link_or_trans_identifier] )

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed. The transaction context will be retained, so statements executed from within this transaction will not be invalidated. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ibase_close | Subir | ibase_commit


ibase_commit

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_commit -- Commit a transaction

Description

bool ibase_commit ( [resource link_or_trans_identifier] )

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ibase_commit_ret | Subir | ibase_connect


ibase_connect

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_connect --

Descripcion

ibase_connect ( )

Anterior | Inicio | Siguiente
ibase_commit | Subir | ibase_db_info


ibase_db_info

(PHP 5)

ibase_db_info -- Request statistics about a database

Description

string ibase_db_info ( resource service_handle, string db, int action [, int argument] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_connect | Subir | ibase_delete_user


ibase_delete_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_delete_user -- Delete a user from a security database (only for IB6 or later)

Description

bool ibase_delete_user ( resource service_handle, string user_name )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

See also ibase_add_user() and ibase_modify_user().

Anterior | Inicio | Siguiente
ibase_db_info | Subir | ibase_drop_db


ibase_drop_db

(PHP 5)

ibase_drop_db -- Drops a database

Description

bool ibase_drop_db ( [resource connection] )

This functions drops a database that was opened by either ibase_connect() or ibase_pconnect(). The database is closed and deleted from the server. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also ibase_connect() and ibase_pconnect().

Anterior | Inicio | Siguiente
ibase_delete_user | Subir | ibase_errcode


ibase_errcode

(PHP 5)

ibase_errcode -- Return an error code

Description

int ibase_errcode ( void )

Returns the error code that resulted from the most recent InterBase function call. Returns FALSE if no error occurred.

See also ibase_errmsg().

Anterior | Inicio | Siguiente
ibase_drop_db | Subir | ibase_errmsg


ibase_errmsg

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_errmsg -- Return error messages

Description

string ibase_errmsg ( void )

Returns the error message that resulted from the most recent InterBase function call. Returns FALSE if no error occurred.

See also ibase_errcode().

Anterior | Inicio | Siguiente
ibase_errcode | Subir | ibase_execute


ibase_execute

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_execute --

Descripcion

ibase_execute ( )

Anterior | Inicio | Siguiente
ibase_errmsg | Subir | ibase_fetch_assoc


ibase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

ibase_fetch_assoc -- Fetch a result row from a query as an associative array

Description

array ibase_fetch_assoc ( resource result [, int fetch_flag] )

ibase_fetch_assoc() returns an associative array that corresponds to the fetched row. Subsequent calls will return the next row in the result set, or FALSE if there are no more rows.

ibase_fetch_assoc() fetches one row of data from the result. If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using ibase_fetch_row() or use alias names in your query.

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

See also ibase_fetch_row() and ibase_fetch_object().

Anterior | Inicio | Siguiente
ibase_execute | Subir | ibase_fetch_object


ibase_fetch_object

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_fetch_object -- Get an object from a InterBase database

Description

object ibase_fetch_object ( resource result_id [, int fetch_flag] )

Fetches a row as a pseudo-object from a result_id obtained either by ibase_query() or ibase_execute().

<?php
    $dbh = ibase_connect($host, $username, $password);
    $stmt = 'SELECT * FROM tblname';
    $sth = ibase_query($dbh, $stmt);
    while ($row = ibase_fetch_object($sth)) {
        echo $row->email . "\n";
    }
    ibase_close($dbh);
?>

Subsequent calls to ibase_fetch_object() return the next row in the result set, or FALSE if there are no more rows.

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

See also ibase_fetch_row() and ibase_fetch_assoc().

Anterior | Inicio | Siguiente
ibase_fetch_assoc | Subir | ibase_fetch_row


ibase_fetch_row

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_fetch_row --

Descripcion

ibase_fetch_row ( )

Anterior | Inicio | Siguiente
ibase_fetch_object | Subir | ibase_field_info


ibase_field_info

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_field_info -- Get information about a field

Description

array ibase_field_info ( resource result, int field_number )

Returns an array with information about a field after a select query has been run. The array is in the form of name, alias, relation, length, type.

<?php
    $rs = ibase_query("SELECT * FROM tablename");
    $coln = ibase_num_fields($rs);
    for ($i = 0; $i < $coln; $i++) {
        $col_info = ibase_field_info($rs, $i);
        echo "name: ". $col_info['name']. "\n";
        echo "alias: ". $col_info['alias']. "\n";
        echo "relation: ". $col_info['relation']. "\n";
        echo "length: ". $col_info['length']. "\n";
        echo "type: ". $col_info['type']. "\n";
    }
?>

See also: ibase_num_fields().

Anterior | Inicio | Siguiente
ibase_fetch_row | Subir | ibase_free_event_handler


ibase_free_event_handler

(PHP 5)

ibase_free_event_handler -- Cancels a registered event handler

Description

bool ibase_free_event_handler ( resource event )

This function causes the registered event handler specified by event to be cancelled. The callback function will no longer be called for the events it was registered to handle. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also ibase_set_event_handler().

Anterior | Inicio | Siguiente
ibase_field_info | Subir | ibase_free_query


ibase_free_query

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_free_query --

Descripcion

ibase_free_query ( )

Anterior | Inicio | Siguiente
ibase_free_event_handler | Subir | ibase_free_result


ibase_free_result

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_free_result --

Descripcion

ibase_free_result ( )

Anterior | Inicio | Siguiente
ibase_free_query | Subir | ibase_gen_id


ibase_gen_id

(PHP 5)

ibase_gen_id -- Increments the named generator and returns its new value

Description

mixed ibase_gen_id ( string generator [, int increment [, resource link_identifier]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Returns new generator value as integer, or as string if the value is too big.

Anterior | Inicio | Siguiente
ibase_free_result | Subir | ibase_maintain_db


ibase_maintain_db

(PHP 5)

ibase_maintain_db -- Execute a maintenance command on the database server

Description

bool ibase_maintain_db ( resource service_handle, string db, int action [, int argument] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_gen_id | Subir | ibase_modify_user


ibase_modify_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_modify_user -- Modify a user to a security database (only for IB6 or later)

Description

bool ibase_modify_user ( resource service_handle, string user_name, string password [, string first_name [, string middle_name [, string last_name]]] )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

See also ibase_add_user() and ibase_delete_user().

Anterior | Inicio | Siguiente
ibase_maintain_db | Subir | ibase_name_result


ibase_name_result

(PHP 5)

ibase_name_result -- Assigns a name to a result set

Description

bool ibase_name_result ( resource result, string name )

This function assigns a name to a result set. This name can be used later in UPDATE|DELETE ... WHERE CURRENT OF name statements. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

<?php
 $result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
    ibase_name_result($result, "my_cursor");

    $updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

    for ($i = 0; ibase_fetch_row($result); ++$i) {
        ibase_execute($updateqry, $i);
    }
?>

See also ibase_prepare() and ibase_execute().

Anterior | Inicio | Siguiente
ibase_modify_user | Subir | ibase_num_fields


ibase_num_fields

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_num_fields -- Get the number of fields in a result set

Description

int ibase_num_fields ( resource result_id )

Returns an integer containing the number of fields in a result set.

<?php
    $rs = ibase_query("SELECT * FROM tablename");
    $coln = ibase_num_fields($rs);
    for ($i = 0; $i < $coln; $i++) {
        $col_info = ibase_field_info($rs, $i);
        echo "name: " . $col_info['name'] . "\n";
        echo "alias: " . $col_info['alias'] . "\n";
        echo "relation: " . $col_info['relation'] . "\n";
        echo "length: " . $col_info['length'] . "\n";
        echo "type: " . $col_info['type'] . "\n";
    }
?>

See also: ibase_field_info().

Anterior | Inicio | Siguiente
ibase_name_result | Subir | ibase_num_params


ibase_num_params

(PHP 5)

ibase_num_params -- Return the number of parameters in a prepared query

Description

int ibase_num_params ( resource query )

This function returns the number of parameters in the prepared query specified by query. This is the number of binding arguments that must be present when calling ibase_execute().

See also ibase_prepare() and ibase_param_info().

Anterior | Inicio | Siguiente
ibase_num_fields | Subir | ibase_param_info


ibase_param_info

(PHP 5)

ibase_param_info -- Return information about a parameter in a prepared query

Description

array ibase_param_info ( resource query, int param_number )

Returns an array with information about a parameter after a query has been prepared. The array is in the form of name, alias, relation, length, type.

See also ibase_field_info() and ibase_num_params().

Anterior | Inicio | Siguiente
ibase_num_params | Subir | ibase_pconnect


ibase_pconnect

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_pconnect --

Descripcion

ibase_pconnect ( )

Anterior | Inicio | Siguiente
ibase_param_info | Subir | ibase_prepare


ibase_prepare

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_prepare --

Descripcion

ibase_prepare ( )

Anterior | Inicio | Siguiente
ibase_pconnect | Subir | ibase_query


ibase_query

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ibase_query --

Descripcion

ibase_query ( )

Anterior | Inicio | Siguiente
ibase_prepare | Subir | ibase_restore


ibase_restore

(PHP 5)

ibase_restore -- Initiates a restore task in the service manager and returns immediately

Description

mixed ibase_restore ( resource service_handle, string source_file, string dest_db [, int options [, bool verbose]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_query | Subir | ibase_rollback_ret


ibase_rollback_ret

(PHP 5)

ibase_rollback_ret -- Roll back a transaction without closing it

Description

bool ibase_rollback_ret ( [resource link_or_trans_identifier] )

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back. The transaction context will be retained, so statements executed from within this transaction will not be invalidated. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ibase_restore | Subir | ibase_rollback


ibase_rollback

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_rollback -- Roll back a transaction

Description

bool ibase_rollback ( [resource link_or_trans_identifier] )

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ibase_rollback_ret | Subir | ibase_server_info


ibase_server_info

(PHP 5)

ibase_server_info -- Request information about a database server

Description

string ibase_server_info ( resource service_handle, int action )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_rollback | Subir | ibase_service_attach


ibase_service_attach

(PHP 5)

ibase_service_attach -- Connect to the service manager

Description

resource ibase_service_attach ( string host, string dba_username, string dba_password )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_server_info | Subir | ibase_service_detach


ibase_service_detach

(PHP 5)

ibase_service_detach -- Disconnect from the service manager

Description

bool ibase_service_detach ( resource service_handle )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ibase_service_attach | Subir | ibase_set_event_handler


ibase_set_event_handler

(PHP 5)

ibase_set_event_handler -- Register a callback function to be called when events are posted

Description

resource ibase_set_event_handler ( callback event_handler, string event_name1 [, string event_name2 [, string ...]] )

resource ibase_set_event_handler ( resource connection, callback event_handler, string event_name1 [, string event_name2 [, string ...]] )

This function registers a PHP user function as event handler for the specified events. The callback is called with the event name and the link resource as arguments whenever one of the specified events is posted by the database. The callback must return FALSE if the event handler should be canceled. Any other return value is ignored. This function accepts up to 15 event arguments.

<?php

function event_handler($event_name, $link)
{
    if ($event_name=="NEW ORDER") {
        // process new order
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name=="DB_SHUTDOWN") {
        // free event handler
        return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

The return value is an event resource. This resource can be used to free the event handler using ibase_free_event_handler().

See also ibase_free_event_handler() and ibase_wait_event().

Anterior | Inicio | Siguiente
ibase_service_detach | Subir | ibase_timefmt


ibase_timefmt

(PHP 3 >= 3.0.6, PHP 4)

ibase_timefmt --

Descripcion

ibase_timefmt ( )

Anterior | Inicio | Siguiente
ibase_set_event_handler | Subir | ibase_trans


ibase_trans

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ibase_trans -- Begin a transaction

Description

resource ibase_trans ( [int trans_args [, resource link_identifier]] )

Begins a transaction.

trans_args can be a combination of IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT and IBASE_NOWAIT.

Nota: The behaviour of this function has been changed in PHP 5.0.0. The first call to ibase_trans() will not return the default transaction of a connection. All transactions started by ibase_trans() will be rolled back at the end of the script if they were not committed or rolled back by either ibase_commit() or ibase_rollback().

Nota: In PHP 5.0.0. and up, this function will accept multiple trans_args and link_identifier arguments. This allows transactions over multiple database connections, which are committed using a 2-phase commit algorithm. This means you can rely on the updates to either succeed in every database, or fail in every database. It does NOT mean you can use tables from different databases in the same query!

If you use transactions over multiple databases, you will have to specify both the link_id and transaction_id in calls to ibase_query() and ibase_prepare().

Anterior | Inicio | Siguiente
ibase_timefmt | Subir | ibase_wait_event


ibase_wait_event

(PHP 5)

ibase_wait_event -- Wait for an event to be posted by the database

Description

string ibase_wait_event ( string event_name1 [, string event_name2 [, string ...]] )

string ibase_wait_event ( resource connection, string event_name1 [, string event_name2 [, string ...]] )

This function suspends execution of the script until one of the specified events is posted by the database. The name of the event that was posted is returned. This function accepts up to 15 event arguments.

See also ibase_set_event_handler() and ibase_free_event_handler().

Anterior | Inicio | Siguiente
ibase_trans | Subir | Firebird/Interbase Functions (PDO_FIREBIRD)


Funciones de tratamiento de etiquetas ID3

Manual de PHP
Anterior Siguiente

LXI. Funciones de tratamiento de etiquetas ID3

Introducción

Las funciones incluidas dentro de este grupo, permiten leer y manipular etiquetas ID3. Las etiquetas ID3 son las que emplean los archivos en formato MP3 para almacenar los metadatos como el título de la canción, el artista, el album, el género musical, el año de creación de la canción, el número de pista, etc.

Desde la versión 0.2 también es posible extraer información de etiquetas ID3 versión v2.2+.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

id3 es parte de PECL y por tanto se puede instalar desde el instalador de PEAR. Para compilar PHP con soporte de id3, se debe descargar el código fuente, colocarlo en el directorio php-src/ext/id3 y compilar PHP con la opción --enable-id3.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

La mayoría de las funciones del módulo id3 permiten obtener o establecer la versión empleada por las etiquetas. Para especificar de forma explícita la versión, se debe emplear una de las siguientes constantes.

ID3_V1_0 (integer)

ID3_V1_0 se emplea cuando se trabaja con etiquetas ID3 V1.0. Los campos que pueden contener estas etiquetas son: título, artista/autor, album género musical, año de creación y un comentario.

ID3_V1_1 (integer)

ID3_V1_1 se emplea cuando se trabaja con etiquetas ID3 V1.1. Además de los campos definidos para la versió V1.0, estas etiquetas pueden contener el n6uacute;mero de la canción.

ID3_V2_1 (integer)

ID3_V2_1 se emplea cuando se trabaja con etiquetas ID3 V2.1.

ID3_V2_2 (integer)

ID3_V2_2 se emplea cuando se trabaja con etiquetas ID3 V2.2.

ID3_V2_3 (integer)

ID3_V2_3 se emplea cuando se trabaja con etiquetas ID3 V2.3.

ID3_V2_4 (integer)

ID3_V2_4 se emplea cuando se trabaja con etiquetas ID3 V2.4.

ID3_BEST (integer)

ID3_BEST se emplea cuando se deja que las funciones id3 determinen qué versión de las etiquetas debería emplearse.

Tabla de contenidos
id3_get_frame_long_name -- Obtiene el nombre completo de una trama ID3v2
id3_get_frame_short_name -- Obtiene el nombre corto de una trama ID3v2
id3_get_genre_id -- Obtiene el identificador de un género musical
id3_get_genre_list -- Obtiene la lista de todos los géneros musicales definidos
id3_get_genre_name -- Obtiene el nombre de un género musical a partir de su identificador
id3_get_tag -- Obtiene toda la información contenida en la etiqueta ID3
id3_get_version -- Obtiene la versión de la etiqueta ID3
id3_remove_tag -- Borrar una etiqueta ID3
id3_set_tag -- Modifica la información contenida en la etiqueta ID3

Anterior | Inicio | Siguiente
ob_iconv_handler | Subir | id3_get_frame_long_name


id3_get_genre_id

(PECL)

id3_get_genre_id -- Obtiene el identificador de un género musical

Descripción

int id3_get_genre_id ( string genero )

id3_get_genre_id() devuelve el identificador de un género musical. Si el género especificado no se encuentra en la lista de géneros, la función id3_get_genre_id() devuelve el valor FALSE

Las etiquetas ID3 almacenan el género como un número entero con valor entre 0 y 147.

Ejemplo 1. Ejemplo de id3_get_genre_id()

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

La salida del programa será:

20

Vea también id3_get_genre_list() y id3_get_genre_name().

Anterior | Inicio | Siguiente
id3_get_frame_short_name | Subir | id3_get_genre_list


id3_get_genre_list

(PECL)

id3_get_genre_list -- Obtiene la lista de todos los géneros musicales definidos

Descripción

array id3_get_genre_list ( void )

id3_get_genre_list() devuelve un array que contiene todos los géneros musicales definidos para las etiquetas ID3. La lista fue originalmente creada por Eric Kemp y ampliada posteriormente por WinAmp.

Esta función se emplea normalmente para mostrar al usuario una lista completa de géneros de los que puede elegir uno. Al actualizar la información de una etiqueta ID3, siempre se debe indicar el campo de género musical como un entero con valor entre 0 y 147.

Ejemplo 1. Ejemplo de id3_get_genre_list()

<?php
$generos = id3_get_genre_list();
print_r($generos);
?>

La salida del programa será:

Array
(
    [0] => Blues
    [1] => Classic Rock
    [2] => Country
    [3] => Dance
    [4] => Disco
    [5] => Funk
    [6] => Grunge
    [7] => Hip-Hop
    [8] => Jazz
    [9] => Metal
    [10] => New Age
    [11] => Oldies
    [12] => Other
    [13] => Pop
    [14] => R&B
    [15] => Rap
    [16] => Reggae
    [17] => Rock
    [18] => Techno
    [19] => Industrial
    [20] => Alternative
    [21] => Ska
    [22] => Death Metal
    [23] => Pranks
    [24] => Soundtrack
    [25] => Euro-Techno
    [26] => Ambient
    [27] => Trip-Hop
    [28] => Vocal
    [29] => Jazz+Funk
    [30] => Fusion
    [31] => Trance
    [32] => Classical
    [33] => Instrumental
    [34] => Acid
    [35] => House
    [36] => Game
    [37] => Sound Clip
    [38] => Gospel
    [39] => Noise
    [40] => Alternative Rock
    [41] => Bass
    [42] => Soul
    [43] => Punk
    [44] => Space
    [45] => Meditative
    [46] => Instrumental Pop
    [47] => Instrumental Rock
    [48] => Ethnic
    [49] => Gothic
    [50] => Darkwave
    [51] => Techno-Industrial
    [52] => Electronic
    [53] => Pop-Folk
    [54] => Eurodance
    [55] => Dream
    [56] => Southern Rock
    [57] => Comedy
    [58] => Cult
    [59] => Gangsta
    [60] => Top 40
    [61] => Christian Rap
    [62] => Pop/Funk
    [63] => Jungle
    [64] => Native US
    [65] => Cabaret
    [66] => New Wave
    [67] => Psychadelic
    [68] => Rave
    [69] => Showtunes
    [70] => Trailer
    [71] => Lo-Fi
    [72] => Tribal
    [73] => Acid Punk
    [74] => Acid Jazz
    [75] => Polka
    [76] => Retro
    [77] => Musical
    [78] => Rock & Roll
    [79] => Hard Rock
    [80] => Folk
    [81] => Folk-Rock
    [82] => National Folk
    [83] => Swing
    [84] => Fast Fusion
    [85] => Bebob
    [86] => Latin
    [87] => Revival
    [88] => Celtic
    [89] => Bluegrass
    [90] => Avantgarde
    [91] => Gothic Rock
    [92] => Progressive Rock
    [93] => Psychedelic Rock
    [94] => Symphonic Rock
    [95] => Slow Rock
    [96] => Big Band
    [97] => Chorus
    [98] => Easy Listening
    [99] => Acoustic
    [100] => Humour
    [101] => Speech
    [102] => Chanson
    [103] => Opera
    [104] => Chamber Music
    [105] => Sonata
    [106] => Symphony
    [107] => Booty Bass
    [108] => Primus
    [109] => Porn Groove
    [110] => Satire
    [111] => Slow Jam
    [112] => Club
    [113] => Tango
    [114] => Samba
    [115] => Folklore
    [116] => Ballad
    [117] => Power Ballad
    [118] => Rhytmic Soul
    [119] => Freestyle
    [120] => Duet
    [121] => Punk Rock
    [122] => Drum Solo
    [123] => Acapella
    [124] => Euro-House
    [125] => Dance Hall
    [126] => Goa
    [127] => Drum & Bass
    [128] => Club-House
    [129] => Hardcore
    [130] => Terror
    [131] => Indie
    [132] => BritPop
    [133] => Negerpunk
    [134] => Polsk Punk
    [135] => Beat
    [136] => Christian Gangsta
    [137] => Heavy Metal
    [138] => Black Metal
    [139] => Crossover
    [140] => Contemporary C
    [141] => Christian Rock
    [142] => Merengue
    [143] => Salsa
    [144] => Thrash Metal
    [145] => Anime
    [146] => JPop
    [147] => SynthPop
)

Vea también id3_get_genre_name() y id3_get_genre_id().

Anterior | Inicio | Siguiente
id3_get_genre_id | Subir | id3_get_genre_name


id3_get_genre_name

(PECL)

id3_get_genre_name -- Obtiene el nombre de un género musical a partir de su identificador

Descripción

string id3_get_genre_name ( int id_genero )

id3_get_genre_name() devuelve el nombre del género musical cuyo identificador es id_genero.

Las etiquetas ID3 almacenan el género como un número entero con valor entre 0 y 147.

Ejemplo 1. Ejemplo de id3_get_genre_name()

<?php
$genero = id3_get_genre_name(20);
echo $genero;
?>

La salida del programa será:

Alternative

Vea también id3_get_genre_list() y id3_get_genre_id().

Anterior | Inicio | Siguiente
id3_get_genre_list | Subir | id3_get_tag


id3_get_tag

(PECL)

id3_get_tag -- Obtiene toda la información contenida en la etiqueta ID3

Descripción

array id3_get_tag ( string nombre_archivo [, int version] )

id3_get_tag() se emplea para obtener toda la información almacenada en la etiqueta id3 del archivo indicado mediante el parámetro nombre_archivo.

Nota: Además del nombre de un archivo, también se puede indicar el nombre de un recurso de tipo stream.

El parámetro opcional version permite indicar la versión de la etiqueta desde la que se obtiene la información, ya que los archivos MP3 pueden contener de forma simultanea etiquetas tanto versión 1.x como versión 2.x.

Ejemplo 1. Ejemplo de id3_get_tag()

<?php
$tag = id3_get_tag( "ruta/al/ejemplo.mp3" );
print_r($tag);
?>

La salida del programa será similar a la siguiente:

Array
(
    [title] => DN-38416
    [artist] => Re:\Legion
    [album] => Reflections
    [year] => 2004
    [genre] => 19
)

La clave genre contiene un número entre 0 y 147. Empleando la función id3_get_genre_name() se puede convertir ese número en una cadena de texto con el género musical del archivo.

A partir de la verón 0.2, id3_get_tag() soporta etiquetas ID3 versión 2.2, 2.3 y 2.4. Para obtener la información de esas etiquetas, se debe pasar como segundo parámetro uno de los siguientes valores: ID3_V2_2, ID3_V2_3 o ID3_V2_4.

Ejemplo 2. Ejemplo de id3_get_tag()

<?php
$tag = id3_get_tag( "ruta/al/ejemplo2.mp3", ID3_V2_3 );
print_r($tag);
?>

La salida del programa será similar a la siguiente:

Array
(
    [copyright] => Dirty Mac
    [originalArtist] => Dirty Mac
    [composer] => Marcus Götze
    [artist] => Dirty Mac
    [title] => Little Big Man
    [album] => Demo-Tape
    [track] => 5/12
    [genre] => (17)Rock
    [year] => 2001
)

Las etiquetas ID3 v2.x pueden contener mucha más información sobre el archivo MP3 que las etiquetas ID3 v1.x.

Vea también id3_set_tag(), id3_remove_tag() y id3_get_version().

Anterior | Inicio | Siguiente
id3_get_genre_name | Subir | id3_get_version


id3_get_version

(PECL)

id3_get_version -- Obtiene la versión de la etiqueta ID3

Descripción

int id3_get_version ( string nombre_archivo )

id3_get_version() obtiene la versión de la etiqueta ID3 del archivo (o versiones si existe más de una etiqueta). Como el valor que se obtiene puede ser tanto una etiqueta ID3 v1.x, ID3 v2.x como una combinación de ambas, se debe comparar de forma binaria el valor devuelto con las constantes predefinidas (ID3_V1_0, ID3_V1_1 y ID3_V2).

Nota: Además del nombre de un archivo, también se puede indicar el nombre de un recurso de tipo stream.

Ejemplo 1. Ejemplo de id3_get_version()

<?php
$version = id3_get_version( "ruta/al/ejemplo.mp3" );
if ($version & ID3_V1_0) {
    echo "Contiene una etiqueta version 1.x\n";
}
if ($version & ID3_V1_1) {
    echo "Contiene una etiqueta version 1.1\n";
}
if ($version & ID3_V2) {
    echo "Contiene una etiqueta version 2.x\n";
}
?>

La salida del programa será similar a la siguiente:

Contiene una etiqueta version 1.x tag
Contiene una etiqueta version 1.1

Si un archivo contiene una etiqueta ID3 versión v1.1, siempre contiene adem´s una etiqueta versión 1.0, ya que la versión 1.1 es simplemente una extensión de la versión 1.0.

Vea también id3_get_tag(), id3_set_tag() y id3_remove_tag().

Anterior | Inicio | Siguiente
id3_get_tag | Subir | id3_remove_tag


id3_remove_tag

(PECL)

id3_remove_tag -- Borrar una etiqueta ID3

Descripción

bool id3_remove_tag ( string nombre_archivo [, int version] )

id3_remove_tag() se emplea para eliminar la informació almacenada en una etiqueta ID3. Si el archivo original no contenía ninguna etiqueta, la funció devuelve un valor de FALSE y el archivo permanece inalterado.

Nota: Además del nombre de un archivo, también se puede indicar el nombre de un recurso de tipo stream.

El parámetro opcional version permite indicar la versión de la etiqueta que se va a utilizar, ya que los archivos MP3 pueden contener de forma simultanea etiquetas tanto versión 1.x como versión 2.x.

Ejemplo 1. Ejemplo de id3_remove_tag()

<?php
$result = id3_remove_tag( "ruta/al/ejemplo.mp3", ID3_V1_0 );
if ($result === true) {
    echo "La etiqueta ha sido borrada correctamente\n";
}
?>

Si el archivo nombre_archivo tiene permiso de escritura y el archivo contiene una etiqueta versión 1.0, la salida del programa será la siguiente:

La etiqueta ha sido borrada correctamente

Nota: Actualmente, la función id3_remove_tag() solamente soporta las versiones 1.0 y 1.1. Además, si se borra una etiqueta ID3 versión v1.0 y el archivo contenía también una etiqueta versión 1.1, la etiqueta versión 1.1 también se borra ya que simplementese trata de una extensión de la versión 1.0.

Vea también id3_get_tag(), id3_set_tag() y id3_get_version().

Anterior | Inicio | Siguiente
id3_get_version | Subir | id3_set_tag


id3_set_tag

(PECL)

id3_set_tag -- Modifica la información contenida en la etiqueta ID3

Descripción

bool id3_set_tag ( string nombre_archivo, array etiqueta [, int version] )

id3_set_tag() se emplea para modificar la información almacenada en una etiqueta ID3. Si el archivo no tiene ninguna etiqueta asociada, se le añade como nueva etiqueta.

Nota: Además del nombre de un archivo, también se puede indicar el nombre de un recurso de tipo stream.

El parámetro opcional version permite indicar la versión de la etiqueta que se va a utilizar, ya que los archivos MP3 pueden contener de forma simultanea etiquetas tanto versión 1.x como versión 2.x.

Ejemplo 1. Ejemplo de id3_set_tag()

<?php
$data = array(
              "title" => "Re:Start",
              "artist" => "Re:\Legion",
              "comment" => "A nice track"
             );
$result = id3_set_tag( "ruta/al/ejemplo.mp3", $data, ID3_V1_0 );
if ($result === true) {
    echo "La etiqueta ha sido modificada correctamente\n";
}
?>

Si el archivo nombre_archivo tiene permiso de escritura, la salida del programa será la siguiente:

La etiqueta ha sido modificada correctamente

Nota: Actualmente, la función id3_set_tag() solamente soporta las versiones 1.0 y 1.1.

El array asociativo empleado puede contener las siguientes claves:

Tabla 1. Claves del array asociativo

Clave | Valores posibles | Disponible en la versión
title | cadena con un máximo de 30 caracteres | v1.0, v1.1
artist | cadena con un máximo de 30 caracteres | v1.0, v1.1
album | cadena con un máximo de 30 caracteres | v1.0, v1.1
year | 4 digitos | v1.0, v1.1
genre | entero con un valor entre 0 y 147 | v1.0, v1.1
comment | cadena con un máximo de 30 caracteres (28 en v1.1) | v1.0, v1.1
track | entero con un valor entre 0 y 255 | v1.1

Vea también id3_get_tag(), id3_remove_tag() y id3_get_version().

Anterior | Inicio | Siguiente
id3_remove_tag | Subir | IIS Administration Functions


Ingres II functions

Manual de PHP
Anterior Siguiente

LXVIII. Ingres II functions

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

These functions allow you to access Ingres II database servers.

In order to have these functions available, you must compile php with Ingres support by using the --with-ingres option. You need the Open API library and header files included with Ingres II. If the II_SYSTEM environment variable isn't correctly set you may have to use --with-ingres=DIR to specify your Ingres installation directory.

When using this extension with Apache, if Apache does not start and complains with "PHP Fatal error: Unable to start ingres_ii module in Unknown on line 0" then make sure the environement variable II_SYSTEM is correctly set. Adding "export II_SYSTEM="/home/ingres/II" in the script that starts Apache, just before launching httpd, should be fine.

Nota: If you already used PHP extensions to access other database servers, note that Ingres doesn't allow concurrent queries and/or transaction over one connection, thus you won't find any result or transaction handle in this extension. The result of a query must be treated before sending another query, and a transaction must be commited or rolled back before opening another transaction (which is automaticaly done when sending the first query).

Tabla de contenidos
ingres_autocommit -- Switch autocommit on or off.
ingres_close -- Close an Ingres II database connection
ingres_commit -- Commit a transaction.
ingres_connect -- Open a connection to an Ingres II database.
ingres_cursor -- Gets a cursor name for a given link resource
ingres_errno -- Gets the last ingres error number generated
ingres_error -- Gets a meaningful error message for the last error generated
ingres_errsqlstate -- Gets the last SQLSTATE error code generated
ingres_fetch_array -- Fetch a row of result into an array.
ingres_fetch_object -- Fetch a row of result into an object.
ingres_fetch_row -- Fetch a row of result into an enumerated array.
ingres_field_length -- Get the length of a field.
ingres_field_name -- Get the name of a field in a query result.
ingres_field_nullable -- Test if a field is nullable.
ingres_field_precision -- Get the precision of a field.
ingres_field_scale -- Get the scale of a field.
ingres_field_type -- Get the type of a field in a query result.
ingres_num_fields -- Get the number of fields returned by the last query
ingres_num_rows -- Get the number of rows affected or returned by the last query
ingres_pconnect -- Open a persistent connection to an Ingres II database.
ingres_query -- Send a SQL query to Ingres II
ingres_rollback -- Roll back a transaction.

Anterior | Inicio | Siguiente
PDO_INFORMIX DSN | Subir | ingres_autocommit


ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_autocommit -- Switch autocommit on or off.

Description

bool ingres_autocommit ( [resource link] )

ingres_autocommit() is called before opening a transaction (before the first call to ingres_query() or just after a call to ingres_rollback() or ingres_autocommit()) to switch the "autocommit" mode of the server on or off (when the script begins the autocommit mode is off).

When the autocommit mode is on, every query is automaticaly commited by the server, as if ingres_commit() was called after every call to ingres_query().

See also
ingres_query(),
ingres_rollback() and
ingres_commit().

Anterior | Inicio | Siguiente
Ingres II functions | Subir | ingres_close


ingres_close

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_close -- Close an Ingres II database connection

Description

bool ingres_close ( [resource link] )

Returns TRUE on success, or FALSE on failure.

ingres_close() closes the connection to the Ingres server that's associated with the specified link. If the link parameter isn't specified, the last opened link is used.

ingres_close() isn't usually necessary, as it won't close persistent connections and all non-persistent connections are automatically closed at the end of the script.

See also ingres_connect(), and ingres_pconnect().

Anterior | Inicio | Siguiente
ingres_autocommit | Subir | ingres_commit


ingres_commit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_commit -- Commit a transaction.

Description

bool ingres_commit ( [resource link] )

ingres_commit() commits the currently open transaction, making all changes made to the database permanent.

This closes the transaction. A new one can be open by sending a query with ingres_query().

You can also have the server commit automaticaly after every query by calling ingres_autocommit() before opening the transaction.

See also
ingres_query(),
ingres_rollback() and
ingres_autocommit().

Anterior | Inicio | Siguiente
ingres_close | Subir | ingres_connect


ingres_connect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_connect -- Open a connection to an Ingres II database.

Description

resource ingres_connect ( [string database [, string username [, string password]]] )

Returns a Ingres II link resource on success, or FALSE on failure.

ingres_connect() opens a connection with the Ingres database designated by database, which follows the syntax [node_id::]dbname[/svr_class].

If some parameters are missing, ingres_connect() uses the values in php.ini for ingres.default_database, ingres.default_user and ingres.default_password.

The connection is closed when the script ends or when ingres_close() is called on this link.

All the other ingres functions use the last opened link as a default, so you need to store the returned value only if you use more than one link at a time.

Ejemplo 1. ingres_connect() example

<?php
    $link = ingres_connect ("mydb", "user", "pass")
        or die ("Could not connect");
    print ("Connected successfully");
    ingres_close ($link);
?>

Ejemplo 2. ingres_connect() example using default link

<?php
    ingres_connect ("mydb", "user", "pass")
        or die ("Could not connect");
    print ("Connected successfully");
    ingres_close ();
?>

See also ingres_pconnect(), and ingres_close().

Anterior | Inicio | Siguiente
ingres_commit | Subir | ingres_cursor


ingres_fetch_array

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_fetch_array -- Fetch a row of result into an array.

Description

array ingres_fetch_array ( [int result_type [, resource link]] )

ingres_fetch_array() Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

This function is an extended version of ingres_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use the numeric index of the column or make an alias for the column.

ingres_query(select t1.f1 as foo t2.f1 as bar from t1, t2);
$result = ingres_fetch_array();
$foo = $result["foo"];
$bar = $result["bar"];

result_type can be II_NUM for enumerated array, II_ASSOC for associative array, or II_BOTH (default).

Speed-wise, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

Ejemplo 1. ingres_fetch_array() example

<?php
ingres_connect ($database, $user, $password);

ingres_query ("select * from table");
while ($row = ingres_fetch_array()) {
    echo $row["user_id"];  # using associative array
    echo $row["fullname"];
    echo $row[1];          # using enumerated array
    echo $row[2];
}
?>

See also
ingres_query(),
ingres_num_fields(),
ingres_field_name(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_errsqlstate | Subir | ingres_fetch_object


ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_fetch_object -- Fetch a row of result into an object.

Description

object ingres_fetch_object ( [int result_type [, resource link]] )

ingres_fetch_object() Returns an object that corresponds to the fetched row, or FALSE if there are no more rows.

This function is similar to ingres_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

The optional argument result_type is a constant and can take the following values: II_ASSOC, II_NUM, and II_BOTH.

Speed-wise, the function is identical to ingres_fetch_array(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

Ejemplo 1. ingres_fetch_object() example

<?php
ingres_connect ($database, $user, $password);
ingres_query ("select * from table");
while ($row = ingres_fetch_object()) {
    echo $row->user_id;
    echo $row->fullname;
}
?>

See also
ingres_query(),
ingres_num_fields(),
ingres_field_name(),
ingres_fetch_array() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_fetch_array | Subir | ingres_fetch_row


ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_fetch_row -- Fetch a row of result into an enumerated array.

Description

array ingres_fetch_row ( [resource link] )

ingres_fetch_row() returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 1.

Subsequent call to ingres_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Ejemplo 1. ingres_fetch_row() example

<?php
ingres_connect ($database, $user, $password);

ingres_query ("select * from table");
while ($row = ingres_fetch_row()) {
    echo $row[1];
    echo $row[2];
}
?>

See also
ingres_num_fields(),
ingres_query(),
ingres_fetch_array() and
ingres_fetch_object().

Anterior | Inicio | Siguiente
ingres_fetch_object | Subir | ingres_field_length


ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_field_length -- Get the length of a field.

Description

int ingres_field_length ( int index [, resource link] )

ingres_field_length() returns the length of a field. This is the number of bytes used by the server to store the field. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_fetch_row | Subir | ingres_field_name


ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_field_name -- Get the name of a field in a query result.

Description

string ingres_field_name ( int index [, resource link] )

ingres_field_name() returns the name of a field in a query result, or FALSE on failure.

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_field_length | Subir | ingres_field_nullable


ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_field_nullable -- Test if a field is nullable.

Description

bool ingres_field_nullable ( int index [, resource link] )

ingres_field_nullable() returns TRUE if the field can be set to the NULL value and FALSE if it can't.

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_field_name | Subir | ingres_field_precision


ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_field_precision -- Get the precision of a field.

Description

int ingres_field_precision ( int index [, resource link] )

ingres_field_precision() returns the precision of a field. This value is used only for decimal, float and money SQL data types. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_field_nullable | Subir | ingres_field_scale


ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_field_scale -- Get the scale of a field.

Description

int ingres_field_scale ( int index [, resource link] )

ingres_field_scale() returns the scale of a field. This value is used only for the decimal SQL data type. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_field_precision | Subir | ingres_field_type


ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_field_type -- Get the type of a field in a query result.

Description

string ingres_field_type ( int index [, resource link] )

ingres_field_type() returns the type of a field in a query result, or FALSE on failure. Examples of types returned are "IIAPI_BYTE_TYPE", "IIAPI_CHA_TYPE", "IIAPI_DTE_TYPE", "IIAPI_FLT_TYPE", "IIAPI_INT_TYPE", "IIAPI_VCH_TYPE". Some of these types can map to more than one SQL type depending on the length of the field (see ingres_field_length()). For example "IIAPI_FLT_TYPE" can be a float4 or a float8. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_field_scale | Subir | ingres_num_fields


ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_num_fields -- Get the number of fields returned by the last query

Description

int ingres_num_fields ( [resource link] )

ingres_num_fields() returns the number of fields in the results returned by the Ingres server after a call to ingres_query()

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_field_type | Subir | ingres_num_rows


ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_num_rows -- Get the number of rows affected or returned by the last query

Description

int ingres_num_rows ( [resource link] )

For delete, insert or update queries, ingres_num_rows() returns the number of rows affected by the query. For other queries, ingres_num_rows() returns the number of rows in the query's result.

Nota: This function is mainly meant to get the number of rows modified in the database. If this function is called before using ingres_fetch_array(), ingres_fetch_object() or ingres_fetch_row() the server will delete the result's data and the script won't be able to get them.

You should instead retrieve the result's data using one of these fetch functions in a loop until it returns FALSE, indicating that no more results are available.

See also
ingres_query(),
ingres_fetch_array(),
ingres_fetch_object() and
ingres_fetch_row().

Anterior | Inicio | Siguiente
ingres_num_fields | Subir | ingres_pconnect


ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_pconnect -- Open a persistent connection to an Ingres II database.

Description

resource ingres_pconnect ( [string database [, string username [, string password]]] )

Returns a Ingres II link resource on success, or FALSE on failure.

See ingres_connect() for parameters details and examples. There are only 2 differences between ingres_pconnect() and ingres_connect() : First, when connecting, the function will first try to find a (persistent) link that's already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection. Second, the connection to the Ingres server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ingres_close() will not close links established by ingres_pconnect()). This type of link is therefore called 'persistent'.

See also ingres_connect(), and ingres_close().

Anterior | Inicio | Siguiente
ingres_num_rows | Subir | ingres_query


ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_query -- Send a SQL query to Ingres II

Description

bool ingres_query ( string query [, resource link] )

Returns TRUE on success, or FALSE on failure.

ingres_query() sends the given query to the Ingres server. This query must be a valid SQL query (see the Ingres SQL reference guide)

The query becomes part of the currently open transaction. If there is no open transaction, ingres_query() opens a new transaction. To close the transaction, you can either call ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediatly commited.

Some types of SQL queries can't be sent with this function :

  • close (see ingres_close()).

  • commit (see ingres_commit()).

  • connect (see ingres_connect()).

  • disconnect (see ingres_close()).

  • get dbevent

  • prepare to commit

  • rollback (see ingres_rollback()).

  • savepoint

  • set autocommit (see ingres_autocommit()).

  • all cursor related queries are unsupported

Ejemplo 1. ingres_query() example

<?php
ingres_connect ($database, $user, $password);

ingres_query ("select * from table");
while ($row = ingres_fetch_row()) {
    echo $row[1];
    echo $row[2];
}
?>

See also
ingres_fetch_array(),
ingres_fetch_object(),
ingres_fetch_row(),
ingres_commit(),
ingres_rollback() and
ingres_autocommit().

Anterior | Inicio | Siguiente
ingres_pconnect | Subir | ingres_rollback


ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.4)

ingres_rollback -- Roll back a transaction.

Description

bool ingres_rollback ( [resource link] )

ingres_rollback() rolls back the currently open transaction, actualy canceling all changes made to the database during the transaction.

This closes the transaction. A new one can be open by sending a query with ingres_query().

See also
ingres_query(),
ingres_commit() and
ingres_autocommit().

Anterior | Inicio | Siguiente
ingres_query | Subir | IRC Gateway Functions


IRC Gateway Functions

Manual de PHP
Anterior Siguiente

LXIX. IRC Gateway Functions

Introducción

With IRCG you can rapidly stream XML data to thousands of concurrently connected users. This can be used to build powerful, extensible interactive platforms such as online games and webchats. IRCG also features support for a non-streaming mode where a helper application reformats incoming data and supplies static file snippets in special formats such as cHTML (i-mode) or WML (WAP). These static files are then delivered by the high-performance web server.

Up to v4, IRCG runs under these platforms:

  • AIX

  • FreeBSD

  • HP-UX

  • Irix

  • Linux

  • Solaris

  • Tru64

  • Windows

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Instalación

Detailed installation instructions can be found at http://www.schumann.cx/ircg/. We urge you to use the provided installation script.

It is not recommended, but you can try enable IRCG support yourself. Provide the path to the ircg-config script, --with-ircg-config=path/to/irc-config and in addition add --with-ircg to your configure line.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
ircg_channel_mode -- Set channel mode flags for user
ircg_disconnect -- Close connection to server
ircg_eval_ecmascript_params -- Decodes a list of JS-encoded parameters
ircg_fetch_error_msg -- Returns the error from previous IRCG operation
ircg_get_username -- Get username for connection
ircg_html_encode -- Encodes HTML preserving output
ircg_ignore_add -- Add a user to your ignore list on a server
ircg_ignore_del -- Remove a user from your ignore list on a server
ircg_invite -- Invites nickname to channel
ircg_is_conn_alive -- Check connection status
ircg_join -- Join a channel on a connected server
ircg_kick -- Kick a user out of a channel on server
ircg_list -- List topic/user count of channel(s)
ircg_lookup_format_messages -- Check for the existence of a format message set
ircg_lusers -- IRC network statistics
ircg_msg -- Send message to channel or user on server
ircg_names -- Query visible usernames
ircg_nick -- Change nickname on server
ircg_nickname_escape -- Encode special characters in nickname to be IRC-compliant
ircg_nickname_unescape -- Decodes encoded nickname
ircg_notice -- Send a notice to a user on server
ircg_oper -- Elevates privileges to IRC OPER
ircg_part -- Leave a channel on server
ircg_pconnect -- Connect to an IRC server
ircg_register_format_messages -- Register a format message set
ircg_set_current -- Set current connection for output
ircg_set_file -- Set logfile for connection
ircg_set_on_die -- Set action to be executed when connection dies
ircg_topic -- Set topic for channel on server
ircg_who -- Queries server for WHO information
ircg_whois -- Query server for user information

Anterior | Inicio | Siguiente
ingres_rollback | Subir | ircg_channel_mode


ircg_channel_mode

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_channel_mode -- Set channel mode flags for user

Description

bool ircg_channel_mode ( resource connection, string channel, string mode_spec, string nick )

Set channel mode flags for channel on server connected to by connection. Mode flags are passed in mode_spec and are applied to the user specified by nick.

Mode flags are set or cleared by specifying a mode character and prepending it with a plus or minus character, respectively. E.g. operator mode is granted by '+o' and revoked by '-o', as passed as mode_spec.

Anterior | Inicio | Siguiente
IRC Gateway Functions | Subir | ircg_disconnect


ircg_disconnect

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.4)

ircg_disconnect -- Close connection to server

Description

bool ircg_disconnect ( resource connection, string reason )

ircg_disconnect() will close a connection to a server previously established with ircg_pconnect().

See also: ircg_pconnect().

Anterior | Inicio | Siguiente
ircg_channel_mode | Subir | ircg_eval_ecmascript_params


ircg_eval_ecmascript_params

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.4)

ircg_eval_ecmascript_params -- Decodes a list of JS-encoded parameters

Description

array ircg_eval_ecmascript_params ( string params )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

From the ircg_eval_ecmascript_params source file:
   /*
    * State 0: Looking for ' or digit
    * State 1: Assembling parameter inside '..'
    * State 2: After escape sign: Copies single char verbatim, go to 1
    * State 3: Assembling numeric para, no quotation
    * State 4: Looking for ",", skipping whitespace
    */

See also ircg_lookup_format_messages().

Anterior | Inicio | Siguiente
ircg_disconnect | Subir | ircg_fetch_error_msg


ircg_fetch_error_msg

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.4)

ircg_fetch_error_msg -- Returns the error from previous IRCG operation

Description

array ircg_fetch_error_msg ( resource connection )

ircg_fetch_error_msg() returns the error from a failed connection.

Nota: Error code is stored in first array element, error text in second. The error code is equivalent to IRC reply codes as defined by RFC 2812.

Ejemplo 1. ircg_fetch_error_msg() example

<?php
if (!ircg_join ($id, "#php")) {
    $error = ircg_fetch_error_msg($id);
    echo "Can't join channel #php. Error code:
          $error[0] Description: $error[1]";
}
?>

Anterior | Inicio | Siguiente
ircg_eval_ecmascript_params | Subir | ircg_get_username


ircg_get_username

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.4)

ircg_get_username -- Get username for connection

Description

string ircg_get_username ( resource connection )

Function ircg_get_username() returns the username for the specified connection connection. Returns FALSE if connection died or is not valid.

Anterior | Inicio | Siguiente
ircg_fetch_error_msg | Subir | ircg_html_encode


ircg_html_encode

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_html_encode -- Encodes HTML preserving output

Description

string ircg_html_encode ( string html_string [, bool auto_links [, bool conv_br]] )

Encodes a HTML string html_string for output. This exposes the interface which the IRCG extension uses internally to reformat data coming from an IRC link. The function causes IRC color/font codes to be encoded in HTML and escapes certain entities.

Anterior | Inicio | Siguiente
ircg_get_username | Subir | ircg_ignore_add


ircg_ignore_add

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_ignore_add -- Add a user to your ignore list on a server

Description

void ircg_ignore_add ( resource connection, string nick )

This function adds user nick to the ignore list of connection connection. Afterwards, IRCG will suppress all messages from this user through the associated connection.

See also: ircg_ignore_del().

Anterior | Inicio | Siguiente
ircg_html_encode | Subir | ircg_ignore_del


ircg_ignore_del

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_ignore_del -- Remove a user from your ignore list on a server

Description

bool ircg_ignore_del ( resource connection, string nick )

This function removes user nick from the IRCG ignore list associated with connection.

See also: ircg_ignore_add().

Anterior | Inicio | Siguiente
ircg_ignore_add | Subir | ircg_invite


ircg_invite

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

ircg_invite -- Invites nickname to channel

Description

bool ircg_invite ( resource connection, string channel, string nickname )

ircg_invite() will send an invitation to the user nickname, prompting him to join channel. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ircg_ignore_del | Subir | ircg_is_conn_alive


ircg_is_conn_alive

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_is_conn_alive -- Check connection status

Description

bool ircg_is_conn_alive ( resource connection )

ircg_is_conn_alive() returns TRUE if connection is still alive and working or FALSE, if the connection has died for some reason.

Anterior | Inicio | Siguiente
ircg_invite | Subir | ircg_join


ircg_join

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.4)

ircg_join -- Join a channel on a connected server

Description

bool ircg_join ( resource connection, string channel [, string key] )

Join the channel channel on the server connected to by connection. IRCG will optionally pass the room key key.

Anterior | Inicio | Siguiente
ircg_is_conn_alive | Subir | ircg_kick


ircg_kick

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_kick -- Kick a user out of a channel on server

Description

bool ircg_kick ( resource connection, string channel, string nick, string reason )

Kick user nick from channel on server connected to by connection. reason should give a short message describing why this action was performed.

Anterior | Inicio | Siguiente
ircg_join | Subir | ircg_list


ircg_list

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

ircg_list -- List topic/user count of channel(s)

Description

bool ircg_list ( resource connection, string channel )

ircg_list() will request a list of users in the channel. The answer is sent to the output defined by ircg_set_file() or ircg_set_current(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. ircg_list() example

<?php

// connect to server
$id = ircg_pconnect($nickname, $ip, $port);

// set to output to a file
ircg_set_file($id, 'irc_output.html');

// try to join a channel
if (!ircg_join($id, $channel)) {
    echo "Cannot /join $channel<br />";
}

// send list command
ircg_list($id, $channel);

// wait for output to arrive
sleep(5);

// disconnect
ircg_disconnect($id,'Bye World');

// output everything
readfile('irc_output.html');

?>

This example will output something similar to:

...
Channel #channel has n users and the topic is 'Topic'
End of LIST
...

See also: ircg_set_file(),
ircg_set_current(), and
ircg_who().

Anterior | Inicio | Siguiente
ircg_kick | Subir | ircg_lookup_format_messages


ircg_lookup_format_messages

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_lookup_format_messages -- Check for the existence of a format message set

Description

bool ircg_lookup_format_messages ( string name )

Check for the existence of the format message set name. Sets may be registered with ircg_register_format_messages(), a default set named ircg is always available. Returns TRUE, if the set exists and FALSE otherwise.

See also: ircg_register_format_messages()

Anterior | Inicio | Siguiente
ircg_list | Subir | ircg_lusers


ircg_lusers

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

ircg_lusers -- IRC network statistics

Description

bool ircg_lusers ( resource connection )

ircg_lusers() will request a statistical breakdown of users on the network connected to on connection. The answer is sent to the output defined by ircg_set_file() or ircg_set_current(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also: ircg_set_file(), and ircg_set_current().

Anterior | Inicio | Siguiente
ircg_lookup_format_messages | Subir | ircg_msg


ircg_msg

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.4)

ircg_msg -- Send message to channel or user on server

Description

bool ircg_msg ( resource connection, string recipient, string message [, bool suppress] )

ircg_msg() will send the message to a channel or user on the server connected to by connection. A recipient starting with # or & will send the message to a channel, anything else will be interpreted as a username.

Setting the optional parameter suppress to a TRUE value will suppress output of your message to your own connection. This so-called loopback is necessary, because the IRC server does not echo PRIVMSG commands back to us.

Anterior | Inicio | Siguiente
ircg_lusers | Subir | ircg_names


ircg_names

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

ircg_names -- Query visible usernames

Description

bool ircg_names ( int connection, string channel [, string target] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

See also ircg_get_username() and ircg_lusers().

Anterior | Inicio | Siguiente
ircg_msg | Subir | ircg_nick


ircg_nick

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_nick -- Change nickname on server

Description

bool ircg_nick ( resource connection, string nick )

Change your nickname on the given connection to the one given in nick, if possible.

Will return TRUE on success and FALSE on failure.

Anterior | Inicio | Siguiente
ircg_names | Subir | ircg_nickname_escape


ircg_nickname_escape

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

ircg_nickname_escape -- Encode special characters in nickname to be IRC-compliant

Description

string ircg_nickname_escape ( string nick )

Function ircg_nickname_escape() returns an encoded nickname specified by nick which is IRC-compliant.

See also: ircg_nickname_unescape()

Anterior | Inicio | Siguiente
ircg_nick | Subir | ircg_nickname_unescape


ircg_nickname_unescape

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

ircg_nickname_unescape -- Decodes encoded nickname

Description

string ircg_nickname_unescape ( string nick )

Function ircg_nickname_unescape() returns a decoded nickname, which is specified in nick.

See also: ircg_nickname_escape()

Anterior | Inicio | Siguiente
ircg_nickname_escape | Subir | ircg_notice


ircg_notice

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_notice -- Send a notice to a user on server

Description

bool ircg_notice ( resource connection, string nick, string message )

This function will send the message text to the user nick on the server connected to by connection. IRC servers and other software will not automatically generate replies to NOTICEs in contrast to other message types.

Anterior | Inicio | Siguiente
ircg_nickname_unescape | Subir | ircg_oper


ircg_oper

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

ircg_oper -- Elevates privileges to IRC OPER

Description

bool ircg_oper ( resource connection, string name, string password )

ircg_oper() will authenticate the logged in user on connection as an IRC operator. name and password must match a registered IRC operator account. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ircg_notice | Subir | ircg_part


ircg_part

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.4)

ircg_part -- Leave a channel on server

Description

bool ircg_part ( resource connection, string channel )

Leave the channel channel on the server connected to by connection.

Anterior | Inicio | Siguiente
ircg_oper | Subir | ircg_pconnect


ircg_pconnect

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.4)

ircg_pconnect -- Connect to an IRC server

Description

resource ircg_pconnect ( string username [, string server_ip [, int server_port [, string msg_format [, array ctcp_messages [, array user_settings [, bool bailout_on_trivial]]]]]] )

ircg_pconnect() will try to establish a connection to an IRC server and return a connection resource handle for further use.

The only mandatory parameter is username, this will set your initial nickname on the server. server_ip and server_port are optional and default to 127.0.0.1 and 6667.

Nota: For now parameter server_ip will not do any hostname lookups and will only accept IP addresses in numerical form. DNS lookups are expensive and should be done in the context of IRCG.

You can customize the output of IRC messages and events by selecting a format message set previously created with ircg_register_format_messages() by specifying the set's name in msg_format.

If you want to handle CTCP messages such as ACTION (/me), you need to define a mapping from CTCP type (e.g. ACTION) to a custom format string. Do this by passing an associative array as ctcp_messages. The keys of the array are the CTCP type and the respective value is the format message.

You can define "ident", "password", and "realname" tokens which are sent to the IRC server by setting these in an associative array. Pass that array as user_settings.

See also: ircg_disconnect(),
ircg_is_conn_alive(),
ircg_register_format_messages().

Anterior | Inicio | Siguiente
ircg_part | Subir | ircg_register_format_messages


ircg_register_format_messages

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_register_format_messages -- Register a format message set

Description

bool ircg_register_format_messages ( string name, array messages )

With ircg_register_format_messages() you can customize the way your IRC output looks like or which script functions are invoked on the client side.

  • Plain channel message

  • Private message received

  • Private message sent

  • Some user leaves channel

  • Some user enters channel

  • Some user was kicked from the channel

  • Topic has been changed

  • Error

  • Fatal error

  • Join list end(?)

  • Self part(?)

  • Some user changes his nick

  • Some user quits his connection

  • Mass join begin

  • Mass join element

  • Mass join end

  • Whois user

  • Whois server

  • Whois idle

  • Whois channel

  • Whois end

  • Voice status change on user

  • Operator status change on user

  • Banlist

  • Banlist end

  • %f - from

  • %t - to

  • %c - channel

  • %r - plain message

  • %m - encoded message

  • %j - js encoded message

  • 1 - mod encode

  • 2 - nickname decode

See also: ircg_lookup_format_messages().

Anterior | Inicio | Siguiente
ircg_pconnect | Subir | ircg_set_current


ircg_set_current

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.4)

ircg_set_current -- Set current connection for output

Description

bool ircg_set_current ( resource connection )

Select the current HTTP connection for output in this execution context. Every output sent from the server connected to by connection will be copied to standard output while using default formatting or a format message set specified by ircg_register_format_messages().

See also: ircg_register_format_messages().

Anterior | Inicio | Siguiente
ircg_register_format_messages | Subir | ircg_set_file


ircg_set_file

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

ircg_set_file -- Set logfile for connection

Description

bool ircg_set_file ( resource connection, string path )

Function ircg_set_file() specifies a logfile path in which all output from connection connection will be logged. Returns TRUE on success, otherwise FALSE.

Anterior | Inicio | Siguiente
ircg_set_current | Subir | ircg_set_on_die


ircg_set_on_die

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

ircg_set_on_die -- Set action to be executed when connection dies

Description

bool ircg_set_on_die ( resource connection, string host, int port, string data )

In case of the termination of connection connection IRCG will connect to host at port (Note: host must be an IPv4 address, IRCG does not resolve host-names due to blocking issues), send data to the new host connection and will wait until the remote part closes connection. This can be used to trigger a PHP script for example.

This feature requires IRCG 3.

Anterior | Inicio | Siguiente
ircg_set_file | Subir | ircg_topic


ircg_topic

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_topic -- Set topic for channel on server

Description

bool ircg_topic ( resource connection, string channel, string new_topic )

Change the topic for channel channel on the server connected to by connection to new_topic.

Anterior | Inicio | Siguiente
ircg_set_on_die | Subir | ircg_who


ircg_who

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

ircg_who -- Queries server for WHO information

Description

bool ircg_who ( resource connection, string mask [, bool ops_only] )

ircg_who() will request a list of users whose nickname is matching mask on connected network connection. The optional parameter ops_only will shrink the list to server operators only.

The answer is sent to the output defined by ircg_set_file() or ircg_set_current(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also: ircg_set_file(), and ircg_set_current().

Anterior | Inicio | Siguiente
ircg_topic | Subir | ircg_whois


ircg_whois

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

ircg_whois -- Query server for user information

Description

bool ircg_whois ( resource connection, string nick )

Sends a query to the connected server connection to ask for information about the specified user nick.

Anterior | Inicio | Siguiente
ircg_who | Subir | Integración de Java y PHP


Integración de Java y PHP

Manual de PHP
Anterior Siguiente

LXX. Integración de Java y PHP

Introducción

Existen dos formas diferentes de integrar PHP y Java: en primer lugar, se puede integrar PHP dentro de un entorno de ejecución de servlets de Java, que en estos momentos es una solución más estable y más eficiente. La segunda opción es la de integrar Java dentro de PHP. La primera forma de integración se realiza a traves de un módulo SAPI que actua como interfaz del servidor de servlets. La segunda forma se realiza mediante esta extensión de Java.

Esta extensión de Java proporciona de forma sencilla los medios necesarios para crear e invocar métodos sobre objetos de Java desde PHP. La JVM se crea utilizando JNI y todo se ejecuta en un unico proceso.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Requisitos

Para utilizar esta extensión es necesario disponer de una máquina virtual Java (JVM) instalada en el sistema.

Instalación

Esta extension PECL no esta ligada a PHP.

En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. Para incluir el soporte de Java en PHP, es necesario añadir el parámetro --with-java[=DIR] a las opciones de configuración de PHP, donde DIR apunta al directorio base de instalación del JDK. Esta extensión solamente puede ser construida como un módulo compartido. En el archivo php-src/ext/java/README se incluye mas información sobre como construir esta extensión.

Los usuarios de Windows deben activar la opción php_java.dll en el fichero php.ini para poder utilizar estas funciones. En PHP 4, esta DLL se encuentra en el directorio extensions/ que existe en los binarios de PHP para Windows. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Nota: Para poder trabajar con este módulo en un entorno Windows con una versión de PHP <= 4.0.6, se debe hacer accesible el archivo jvm.dll desde el PATH del sistema. Para versiones de PHP > 4.0.6 no es necesario realizar esta operación.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuració de Java

Nombre | Valor por defecto | Donde se cambia | Registro de cambios
java.class.path | NULL | PHP_INI_ALL |
java.home | NULL | PHP_INI_ALL |
java.library.path | NULL | PHP_INI_ALL |
java.library | JAVALIB | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Ejemplo de Java

<?php
  // se obtiene la instancia de la clase de Java java.lang.System desde PHP
  $system = new Java('java.lang.System');

  // ejemplo de acceso a las propiedades de Java
  print 'Version de Java='.$system->getProperty('java.version').' <br>';
  print 'Desarrollador de la JVM=' .$system->getProperty('java.vendor').' <br>';
  print 'Sistema Operativo='.$system->getProperty('os.name').' '.
              $system->getProperty('os.version').' on '.
              $system->getProperty('os.arch').' <br>';

  // ejemplo de java.util.Date
  $formatter = new Java('java.text.SimpleDateFormat',
                        "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

  print $formatter->format(new Java('java.util.Date'));
?>

Ejemplo 2. Ejemplo de AWT

<?php
  // Este ejemplo solo puede ser ejecutado como CGI.

  $frame  = new Java('java.awt.Frame', 'PHP');
  $button = new Java('java.awt.Button', 'Hola Mundo de Java!');

  $frame->add('North', $button);
  $frame->validate();
  $frame->pack();
  $frame->visible = True;

  $thread = new Java('java.lang.Thread');
  $thread->sleep(10000);

  $frame->dispose();
?>
Notas:

  • new Java() crea una nueva instancia de una clase solamente si existe un constructor adecuado. Si no se le pasan parámetros, debe existir un constructor por defecto adecuado, como por ejemplo en el caso de java.lang.System que permite el acceso a la mayoría de sus funcionalidade a través de metodos estáticos.

  • Al acceder a los miembros de una instancia, en primer lugar se buscarán las propiedades del bean y en segundo lugar los miembros publicos. En otras palabras, print $date.time se intentará resolver en primer lugar como $date.getTime() y posteriormente como $date.time.

  • Tanto los miembros estáticos como los miembros de una instancia de un objeto pueden ser accedidos utilizando la misma sintaxis. Ademas, si el objeto es de tipo java.lang.Class, entonces se puede acceder a los miembros estaticos de la clase (tanto los atributos como los metodos).

  • Las excepciones que se lanzan durante la ejecución se transforman en avisos de tipo "warning" de PHP y en resultados de tipo NULL. Los avisos de tipo "warning" se pueden eliminar añadiendo el prefijo "@" a la llamada del metodo. Las siguientes funciones de la API se pueden utilizar para obtener y borrar el ultimo error surgido:

    • java_last_exception_get()

    • java_last_exception_clear()

  • La resolución de la sobrecarga es uno de los problemas mas dificiles de resolver dadas las grandes diferencias entre PHP y Java en el tema del "tipado" de las variables. Esta extensión utiliza un metodo simple pero muy efectivo para determinar cual es la mejor decisión a tomar cuando se produce la sobrecarga.

    Ademas, los nombres de los métodos en PHP no distinguen entre mayusculas y minusculas, por lo que se aumenta elnúmero de posibilidades para elegir en las situaciones de sobrecarga.

    Una vez seleccionado el método, los parámetros se transforman si es necesario, incluso con la posibilidad de perder datos (por ejemplo, los números de tipo "double" se transforman en tipo boolean) (Nota del traductor: esta conversion parece totalmente absurda, asi que puede tratarse de un fallo de la documentación de la version original).

  • En PHP, las variables de tipo "array" y "hashtable" pueden ser utilizadas de forma indistinta. En PHP, las hashtables solo pueden incluir en las claves variables de tipo integer o string. Ademas, en Java los arrays cuyas variables son de algun tipo primitivo, no pueden contener huecos. Por ultimo, se debe recordar que este tipo de variables se pasan por valor, por lo que pueden llegar a consumir una cantidad apreciable de memoria y de tiempo.

SAPI de los servlets Java

Basandose en el mismo mecanismo que la extension de Java de PHP, la SAPI de los servlets Java permite ejecutar PHP como un servlet de Java. La ventaja más significativa de esta forma de actuar es que se aprovechan las características de "pooling" y de reutilización de recursos implementadas por la mayoría de servidores que permiten ejecutar servlets. El archivo php4/sapi/README contiene las instrucciones necesarias para compilar el modulo SAPI para los servlets Java. Notas:

  • Aunque, en principio, este código podría ser ejecutado en cualquier servidor que permita la ejecución de servlets, solo se ha probado en el servidor Jakarta/Tomcat desarrollado por la fundación Apache. Por ese motivo, cualquier información sobre la forma de ejecutarlo en otros servidores, los errores encontrados, las soluciones planteadas, etc...sera una información muy apreciada y que animamos a que los desarrolladores envien a los responsables del desarrollo del proyecto PHP.

  • Se pueden producir conflictos entre PHP y SAPI con respecto al directorio de trabajo. Mientras PHP se está ejecutando, el servidor de servlets no podrá cargar ninguna clase que se encuentre en el CLASSPATH si su ruta se especifica de forma relativa y tampoco podrá encontrar el directorio de trabajo utilizado para las tareas de administración y compilación de JSP.

Tabla de contenidos
java_last_exception_clear -- Borra la última excepción de Java
java_last_exception_get -- Obtiene la última excepción de Java

Anterior | Inicio | Siguiente
ircg_whois | Subir | java_last_exception_clear


java_last_exception_clear

(PHP 4 >= 4.0.2, PECL)

java_last_exception_clear -- Borra la última excepción de Java

Descripción

void java_last_exception_clear ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver la función java_last_exception_get() para obtener un ejemplo completo del uso de esta función.

Anterior | Inicio | Siguiente
Integración de Java y PHP | Subir | java_last_exception_get


java_last_exception_get

(PHP 4 >= 4.0.2, PECL)

java_last_exception_get -- Obtiene la última excepción de Java

Descripción

object java_last_exception_get ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

El siguiente ejemplo muestra el manejo de las excepciones de Java dentro de PHP:

Ejemplo 1. Manejando las excepciones de Java

<?php
$stack = new Java('java.util.Stack');
$stack->push(1);

// Lo siguiente deberia ejecutarse correctamente
$result = $stack->pop();
$ex = java_last_exception_get();
if (!$ex) {
  echo "$result\n";
}

// Lo siguiente deberia fallar (se suprime el error con el simbolo @)
$result = @$stack->pop();
$ex = java_last_exception_get();
if ($ex) {
  echo $ex->toString();
}

// Borrado de la ultima excepcion
java_last_exception_clear();
?>

Anterior | Inicio | Siguiente
java_last_exception_clear | Subir | JSON Functions


Funciones LDAP

Manual de PHP
Anterior Siguiente

LXXIII. Funciones LDAP

Introducción

LDAP es el protocolo simple de acceso a directorios (Lightweight Directory Access Protocol), un protocolo usado para acceder a "Servidores de Directorio". El directorio es una clase especial de base de datos que contiene información estructurada en forma de árbol.

El concepto es similar a la estructura de directorios de los discos duros, pero en este caso, el directorio raiz es "El Mundo" y los subdirectorios de primer nivel son los "países". Niveles inferiores de la estructura de directorio contienen entradas para compañías, organizaciones o lugares, y en niveles aún más inferiores se encuentran las entradas para la gente, y en algunos casos equipos informáticos y documentos.

Para referirse a un archivo en un subdirectorio del disco duro se usa algo como:

/usr/local/misapps/docs

Las barras marcan cada división en la referencia al archivo, y la secuencia es leida de izquierda a derecha.

El equivalente a la referencia a un archivo en LDAP es el "distinguished name" (nombre distinguible), abreviado como "dn". Un ejemplo de dn podría ser.

cn=Pedro Pérez,ou=Contabilidad,o=Mi Compañía,c=ES

Las comas marcan cada división en la referencia, y la secuencia se lee de derecha a izquierda. Este dn se leería como:

country = ES
organization = Mi Compañía
organizationalUnit = Contabilidad
commonName = Pedro Pérez

De la misma manera que no hay reglas estrictas sobre como organizar la estructura de directorios de un disco duro, un administrador de un servidor de directorio puede establecer cualquier estructura que sea útil para sus propósitos. Sin embargo hay algunos acuerdos tácitos que siempre deben seguirse. La conclusión es que no se pueden escribir programas para acceder a un directorio si no se conoce algo de su estructura, igual que no se puede usar una base de datos sin algún conocimiento sobre lo que está disponible en ella.

Información sobre LDAP se puede encontrar en:

  • Mozilla

  • Proyecto OpenLDAP

Netscape SDK tiene una Guia de programación muy buena en HTML.

Requisitos

Se necesita obtener y compilar las bibliotecas LDAP cliente de la dirección de OpenLDAP o de Bind9.net para poder compilar PHP con soporte LDAP.

Instalación

Para incluir el soporte de LDAP en PHP, es necesario añadir el parámetro --with-ldap[=DIR] a las opciones de configuración de la compilación de PHP, donde DIR apunta al directorio base de instalación de LDAP. Para incluir soporte de SASL, también se debe añadir la siguiente opción de compilación --with-ldap-sasl[=DIR], y además el archivo sasl.h debe existir en el sistema.

Nota para los usuarios de Windows: Para habilitar este módulo en entornos Windows, se deben copiar varios archivos de la carpeta DLL del directorio PHP/Win32 a la carpeta SYSTEM del sistema (que normalmente se encuentra en C:\WINNT\SYSTEM32 o C:\WINDOWS\SYSTEM). Para las versiones de PHP <= 4.2.0 se tiene que copiar el archivo libsasl.dll, para las versiones de PHP >= 4.3.0 se deben copiar los archivos libeay32.dll y ssleay32.dll.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de LDAP

Nombre | Valor por defecto | Donde se cambia | Registro de cambios
ldap.max_links | "-1" | PHP_INI_SYSTEM |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

LDAP_DEREF_NEVER (integer)

LDAP_DEREF_SEARCHING (integer)

LDAP_DEREF_FINDING (integer)

LDAP_DEREF_ALWAYS (integer)

LDAP_OPT_DEREF (integer)

LDAP_OPT_SIZELIMIT (integer)

LDAP_OPT_TIMELIMIT (integer)

LDAP_OPT_PROTOCOL_VERSION (integer)

LDAP_OPT_ERROR_NUMBER (integer)

LDAP_OPT_REFERRALS (integer)

LDAP_OPT_RESTART (integer)

LDAP_OPT_HOST_NAME (integer)

LDAP_OPT_ERROR_STRING (integer)

LDAP_OPT_MATCHED_DN (integer)

LDAP_OPT_SERVER_CONTROLS (integer)

LDAP_OPT_CLIENT_CONTROLS (integer)

LDAP_OPT_DEBUG_LEVEL (integer)

GSLC_SSL_NO_AUTH (integer)

GSLC_SSL_ONEWAY_AUTH (integer)

GSLC_SSL_TWOWAY_AUTH (integer)

Ejemplos

Recuperar informacion para todas las entradas donde el apellido empiece por "P" de un servidor de directorio, mostrando un listado con el nombre y dirección de correo electrónico.

Ejemplo 1. Ejemplo de búsqueda LDAP

<?php
// La secuencia básica para trabajar con LDAP es conectar, autentificarse,
// buscar, interpretar el resultado de la búsqueda y cerrar la conexión.

echo "<h3>Prueba de consulta LDAP</h3>";
echo "Conectando ...";
$ds=ldap_connect("localhost");  // Debe ser un servidor LDAP valido!
echo "El resultado de la conexion es ".$ds."<br />";

if ($ds) {
    echo "Autentificandose  ...";
    $r=ldap_bind($ds);     // Autentificacion anonima, habitual de los
                           // accesos de solo lectura
    echo "El resultado de la autentificacion es ".$r."<br />";

    echo "Buscando (sn=P*) ...";
    // Busqueda de entradas por apellidos
    $sr=ldap_search($ds,"o=Mi Compania, c=ES", "sn=P*");
    echo "El resultado de la busqueda es ".$sr."<br />";

    echo "El numero de entradas devueltas es ".ldap_count_entries($ds,$sr)."<br />";

    echo "Recuperando entradas ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Se han encontrado ".$info["count"]." entradas:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn es: ". $info[$i]["dn"] ."<br />";
        echo "La primera entrada cn es: ". $info[$i]["cn"][0] ."<br />";
        echo "La primera entrada email es: ". $info[$i]["mail"][0] ."<br /><hr />";
    }

    echo "Cerrando conexion";
    ldap_close($ds);

} else {
    echo "<h4>No ha sido posible conectarse al servidor LDAP</h4>";
}
?>

Usando las funciones LDAP de PHP

Antes de usar las funciones LDAP deben conocerse los siguientes datos...

  • El nombre o dirección del servidor de directorio que se va a usar

  • El "dn base" del servidor (la parte del directorio global que maneja ese servidor, que puede ser por ejemplo "o=Mi Compañía,c=ES")

  • Si es necesaria contraseña para acceder al servidor (muchos servidores ofrecen acceso de lectura para usuarios anónimos pero requieren una contraseña para cualquier otro acceso)

La secuencia típica de llamadas a funciones LDAP que realizan las aplicaciones suele seguir el siguiente patrón:

ldap_connect() // establecer la conexión con el servidor
|
ldap_bind() // acceso anónimo o autentificado
|
Hacer búsquedas o actualizaciones en el directorio
y mostrar los resultados
|
ldap_close() // cerrar la conexión

Tabla de contenidos
ldap_8859_to_t61 -- Transforma caracteres en formato 8859 a caracteres en formato t61
ldap_add -- Añade entradas a un directorio LDAP
ldap_bind -- Autenticación en un directorio LDAP
ldap_close -- Alias of ldap_unbind()
ldap_compare -- Compara un valor indicado con el valor de un atributo especificado mediante su DN
ldap_connect -- Conecta con un servidor LDAP
ldap_count_entries -- Cuenta el número de entradas de una búsqueda
ldap_delete -- Borra una entrada de un directorio
ldap_dn2ufn -- Convierte un DN a un formato más legible
ldap_err2str -- Convertir el número de error LDAP a un mensaje de error tipo cadena
ldap_errno -- Devuelve el número de error LDAP del último comando LDAP
ldap_error -- Devuelve el mensaje de error LDAP del último comando LDAP
ldap_explode_dn -- Divide un DN en las partes que lo componen
ldap_first_attribute -- Devuelte el primer atributo
ldap_first_entry -- Devuelve el identificador del primer resultado
ldap_first_reference -- Devuelve la primera referencia
ldap_free_result -- Libera la memoria que almacena los resultados
ldap_get_attributes -- Obtiene los atributos de una entrada de un resultado de búsqueda
ldap_get_dn -- Obtiene el DN de una entrada de un resultado
ldap_get_entries -- Obtiene todas las entradas de un resultado
ldap_get_option -- Obtiene el valor de la opción indicada
ldap_get_values_len -- Obtiene todos los valores binarios de un atributo de una entrada de un resultado
ldap_get_values -- Obtiene todos los valores de una entrada de un resultado
ldap_list -- Búsqueda de nivel único
ldap_mod_add -- Añade valores a los atributos
ldap_mod_del -- Borra valores de atributos
ldap_mod_replace -- Reemplaza valores de atributos
ldap_modify -- Modifica una entrada LDAP
ldap_next_attribute -- Obtiene el siguiente atributo de una entrada de un resultado
ldap_next_entry -- Obtiene la siguiente entrada de un resultado
ldap_next_reference -- Obtiene la siguiente referencia
ldap_parse_reference -- Obtiene información de la entrada de referencia
ldap_parse_result -- Obtiene información de un resultado
ldap_read -- Lee una entrada
ldap_rename -- Modifica el nombre de una entrada
ldap_sasl_bind -- Autenticarse en un directorio LDAP empleando SASL
ldap_search -- Busca en un arbol LDAP
ldap_set_option -- Establece el valor de la opción indicada
ldap_set_rebind_proc -- Indica la funció de callback a utilizar en caso de tener que volver a realizar la autenticación con el servidor.
ldap_sort -- Ordena las entradas de un resultado de búsqueda LDAP
ldap_start_tls -- Inicia TLS
ldap_t61_to_8859 -- Transforma caracteres en formato t61 a caracteres en formato 8859
ldap_unbind -- Desconectarse de un directorio LDAP

Anterior | Inicio | Siguiente
kadm5_modify_principal | Subir | ldap_8859_to_t61


ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5)

ldap_8859_to_t61 -- Transforma caracteres en formato 8859 a caracteres en formato t61

Descripción

string ldap_8859_to_t61 ( string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
Funciones LDAP | Subir | ldap_add


ldap_add

(PHP 3, PHP 4, PHP 5)

ldap_add -- Añade entradas a un directorio LDAP

Descripción

bool ldap_add ( resource identificador_de_conexion, string dn, array entrada )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

La función ldap_add() se usa para añadir entradas o registros a un directorio LDAP. El DN ("distinguished name", nombre distinguible, la referencia de cualquier entrada LDAP) es especificado por dn. El array entrada especifica la información que quiere añadirse. Los valores del array son indexados por sus propios atributos. En caso de valores múltiples para un mismo atributo, son indexados usando enteros empezando con 0.

<?php
$entrada["atributo1"] = "valor";
$entrada["atributo2"][0] = "valor1";
$entrada["atributo2"][1] = "valor2";
?>

Ejemplo 1. Ejemplo completo con autenticación

<?php
$ds=ldap_connect("localhost");  // Asumimos que el servidor LDAP esta en el
                                // servidor local

if ($ds) {
    // autenticarse con el dn apropiado para tener permisos de modificacion
    $r=ldap_bind($ds,"cn=root, o=Mi Compania, c=ES", "secreto");

    // preparar los datos
    $info["cn"]="Pedro Perez";
    $info["sn"]="Pedro";
    $info["mail"]="pedro.p@example.com";
    $info["objectclass"]="person";

    // anadir la informacion al directorio
    $r=ldap_add($ds, "cn=Pedro Perez, o=Mi Compania, c=ES", $info);

    ldap_close($ds);
} else {
    echo "No ha sido posible conectarse al servidor LDAP";
}
?>

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
ldap_8859_to_t61 | Subir | ldap_bind


ldap_bind

(PHP 3, PHP 4, PHP 5)

ldap_bind -- Autenticación en un directorio LDAP

Descripción

bool ldap_bind ( resource identificador_de_conexion [, string rdn_del_usuario [, string contraseña]] )

Se conecta a un directorio LDAP con el RDN especificado y su contraseña. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

ldap_bind() se conecta al directorio con un determinado usuario. Los parámetros rdn_de_usuario y contraseña son opcionales. Si no se especifican, se intenta realizar un acceso anónimo.

Anterior | Inicio | Siguiente
ldap_add | Subir | ldap_close


ldap_close

(PHP 3, PHP 4, PHP 5)

ldap_close -- Alias of ldap_unbind()

Descripción

This function is an alias of: ldap_unbind().

Anterior | Inicio | Siguiente
ldap_bind | Subir | ldap_compare


ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare -- Compara un valor indicado con el valor de un atributo especificado mediante su DN

Descripción

mixed ldap_compare ( resource identificador_de_conexion, string dn, string atributo, string valor )

Devuelve TRUE si value coincide con el valor del atributo atributo en el directorio. Si no coinciden, devuelve FALSE. Si se ha producido un error, devuelve -1.

ldap_compare() se emplea para comparar el parámetro valor con el valor que tiene el atributo attribute de la entrada de direcotrio especificada mediante el parámetro dn.

El siguiente ejemplo muestra como realizar la comprobación de si la contraseña proporcionada coincide con la almacenada en la entrada DN especificada.

Ejemplo 1. Ejemplo completo de comprobación de contraseña

<?php

$ds=ldap_connect("localhost");  // Asumimos que el servidor LDAP esta en el
                                // servidor local

if ($ds) {

    // autenticacion
    if (ldap_bind($ds)) {

        // preparar los datos
        $dn = "cn=Pedro Perez, ou=Mi Unidad, o=Mi Compania, c=ES";
        $valor = "contrasena_secreta";
        $atributo = "password";

        // comparar los valores
        $r=ldap_compare($ds, $dn, $atributo, $valor);

        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Contrasena correcta.";
        } elseif ($r === false) {
            echo "La contrasena proporcionada es incorrecta.";
        }

    } else {
        echo "No ha sido posible conectarse al servidor LDAP.";
    }

    ldap_close($ds);

} else {
    echo "No ha sido posible conectarse al servidor LDAP.";
}
?>

Aviso

ldap_compare() no permite la comparación de valores binarios.

Nota: La función se incluyó en la versión 4.0.2.

Anterior | Inicio | Siguiente
ldap_close | Subir | ldap_connect


ldap_connect

(PHP 3, PHP 4, PHP 5)

ldap_connect -- Conecta con un servidor LDAP

Descripción

resource ldap_connect ( [string nombre_host [, int puerto]] )

Devuelve un identificador de conexión positivo en caso de éxito, ó falso si ocurre algún error. Cuando se emplea un servidor OpenLDAP versión 2.x.x, la función ldap_connect() siempre devuelve una variable de tipo resource ya que en realidad no se realiza la conexión, sino que se inicializan los parámetros de conexión. La conexión real se produce cuando se realiza la llamada a la siguiente función ldap_* funcs, que normalmente es la función ldap_bind().

ldap_connect() establece una conexión con el servidor LDAP especificado en nombre_host y puerto. Ambos argumentos son opcionales. Si no se especifican, se devuelve el identificador de la conexión LDAP actualmente abierta. Si sólo es especificado nombre_host el puerto tomado por defecto es el 389.

Si se emplea un servidor OpenLDAP versión 2.x.x, se puede especificar una URL en vez de un nombre de host. Para utilizar LDAP con SSL, se tiene que compilar OpenLDAP con soporte SLL, configurar PHP para que utilice SSL y usar como nombre de host "ldaps://hostname/". El parámetro puerto no se tiene en cuenta cuando se utilizan URLs.

Nota: El soporte de URLs y de SLL se incluyó en la versión 4.0.4.

Ejemplo 1. Ejemplo de conxión a un servidor LDAP.

<?php

// variables LDAP
$servidor_ldap = "ldap.example.com";  // el servidor LDAP al que se quiere conectar
$puerto_ldap   = 389;                 // el puerto al que se conectara

// Estableciendo la conexion con el servidor LDAP
$conexion_ldap = ldap_connect($servidor_ldap, $puerto_ldap)
          or die("No ha sido posible conectarse al servidor $servidor_ldap");

?>

Ejemplo 2. Ejemplo de conxión a un servidor LDAP seguro.

<?php

// Debe tenerse en cuenta que el sistema que quiere conectarse al servidor
// debe coincidir con el equipo al que se genero el certificado seguro

$servidor_ldap = "ldaps://ldap.example.com/";

// Estableciendo la conexion con el servidor LDAP seguro
$conexion_ldap = ldap_connect($servidor_ldap)
          or die("No ha sido posible conectarse al servidor {$servidor_ldap}");

?>

Vea también ldap_bind().

Anterior | Inicio | Siguiente
ldap_compare | Subir | ldap_count_entries


ldap_count_entries

(PHP 3, PHP 4, PHP 5)

ldap_count_entries -- Cuenta el número de entradas de una búsqueda

Descripción

int ldap_count_entries ( resource identificador_de_conexion, resource identificador_de_resultado )

Devuelve el número de entradas del resultado o FALSE si ha ocurrido algún error.

ldap_count_entries() devuelve el número de entradas almacenadas en el resultado de operaciones de búsqueda previas. identificador_de_resultado identifica el resultado ldap interno al que se hace referencia.

Anterior | Inicio | Siguiente
ldap_connect | Subir | ldap_delete


ldap_delete

(PHP 3, PHP 4, PHP 5)

ldap_delete -- Borra una entrada de un directorio

Descripción

bool ldap_delete ( resource identificador_de_conexion, string dn )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

La función ldap_delete() borra la entrada del directorio LDAP especificada por el parámetro dn.

Anterior | Inicio | Siguiente
ldap_count_entries | Subir | ldap_dn2ufn


ldap_dn2ufn

(PHP 3, PHP 4, PHP 5)

ldap_dn2ufn -- Convierte un DN a un formato más legible

Descripción

string ldap_dn2ufn ( string dn )

La función ldap_dn2ufn() se emplea para convertir el formato del DN a un formato más legible por el usuario.

Anterior | Inicio | Siguiente
ldap_delete | Subir | ldap_err2str


ldap_err2str

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ldap_err2str -- Convertir el número de error LDAP a un mensaje de error tipo cadena

Descripción

string ldap_err2str ( int errno )

Devuelve el mensaje tipo cadena del error explicando el número de error errno. Aunque los números errno de LDAP están estandarizados, bibliotecas diferentes devuelven mensajes de error textuales diferentes o incluso localizados. Nunca revise el texto de un mensaje de error específico, siempre use un número de error para efectos de chequeo.

Lista de parámetros

errno

El número de error.

Valores retornados

Devuelve el mensaje de error, como una cadena.

Ejemplos

Ejemplo 1. Enumeración de todos los mensajes de error LDAP

<?php
  for ($i=0; $i<100; $i++) {
    printf("Error $i: %s<br />\n", ldap_err2str($i));
  }
?>

Ver también

ldap_errno()
ldap_error()

Anterior | Inicio | Siguiente
ldap_dn2ufn | Subir | ldap_errno


ldap_errno

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

ldap_errno -- Devuelve el número de error LDAP del último comando LDAP

Descripción

int ldap_errno ( resource id_enlace )

Devuelve el número de error estandarizado devuelto por el último comando LDAP. Este número puede ser convertido en un mensaje de error textual usando ldap_err2str().

Lista de parámetros

id_enlace

Un identificador de enlace LDAP, devuelto por ldap_connect().

Valores retornados

Devuelve el número de error LDAP del último comando LDAP para este enlace.

Ejemplos

A menos que decremente lo suficiente su nivel de advertencia en php.ini o anteponga a los comandos LDAP el símbolo @ (arroba) para suprimir la salida de advertencias, los errores generados serán mostrados también en su salida HTML.

Ejemplo 1. Generación y captura de un error

<?php
// Este ejemplo contiene un error, el cual atraparemos.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);

// error de sintaxis en la expresión de filtro (errno 87),
// debe ser "objectclass=*" para que funcione.
$res =  @ldap_search($ld, "o=Miorg, c=DE", "objectclass");

if (!$res) {
    echo "LDAP-Errno: " . ldap_errno($ld) . "<br />\n";
    echo "LDAP-Error: " . ldap_error($ld) . "<br />\n";
    die("¡Argh!<br />\n");
}

$info = ldap_get_entries($ld, $res);
echo $info["count"] . " entradas coincidentes.<br />\n";
?>

Ver también

ldap_err2str()
ldap_error()

Anterior | Inicio | Siguiente
ldap_err2str | Subir | ldap_error


ldap_error

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

ldap_error -- Devuelve el mensaje de error LDAP del último comando LDAP

Descripción

string ldap_error ( resource id_enlace )

Devuelve la cadena del mensaje de error que explica el error generado por el último comando LDAP para el id_enlace dado. Aunque los números de error LDAP son estándar, diferentes bibliotecas devuelven mensajes de error textuales diferentes o incluso localizados. Nunca se debe verificar la existencia de un mensaje de texto de error específico, en su lugar use siempre un número de error para los chequeos.

A menos que decremente lo suficiente su nivel de advertencia en php.ini o anteponga a los comandos LDAP el símbolo @ (arroba) para suprimir la salida de advertencias, los errores generados serán mostrados también en su salida HTML.

Lista de parámetros

link_identifier

Un identificador de enlace LDAP, devuelto por ldap_connect().

Valores retornados

Devuelve la cadena del mensaje de error.

Ver también

ldap_err2str()
ldap_errno()

Anterior | Inicio | Siguiente
ldap_errno | Subir | ldap_explode_dn


ldap_explode_dn

(PHP 3, PHP 4, PHP 5)

ldap_explode_dn -- Divide un DN en las partes que lo componen

Descripción

array ldap_explode_dn ( string dn, int con_atributos )

La función ldap_explode_dn() se emplea para dividir un DN devuelto por ldap_get_dn() en las partes que lo componen. Cada parte es conocida como Relative Distinguished Name (Nombre Distinguible Relativo) abreviado como RDN. ldap_explode_dn() devuelve un array con todos esos componentes. El parámetro con_atributos sirve para especificar si los RDN se devuelven sólo como valores o con sus atributos también (es decir, en un formato atributo=valor). Si el valor de with_attrib es 0, se obtienen los atributos y valores. Si su valor es 1, solamente se obtienen los valores.

Anterior | Inicio | Siguiente
ldap_error | Subir | ldap_first_attribute


ldap_first_attribute

(PHP 3, PHP 4, PHP 5)

ldap_first_attribute -- Devuelte el primer atributo

Descripción

string ldap_first_attribute ( resource identificador_de_conexion, resource identificador_de_entrada_en_resultado, int &identificador_ber )

Devuelve el primer atributo en la entrada o FALSE si ocurre algún error.

De manera similar a lo que sucede al leer entradas, los atributos también son leidos de uno en uno a partir de una entrada en particular del directorio. ldap_first_attribute() devuelve el primer atributo en la entrada a la que apunta el identificador_de_entrada_en_resultado El resto de los atributos se obtienen llamando a la función ldap_next_attribute() sucesivamente. El parámetro indetificador_ber es el identificador del puntero interno a memoria. Se pasa por referencia. El mismo indetificador_ber se pasa a la función ldap_next_attribute(), que modifica dicho puntero.

Vea también ldap_get_attributes()

Anterior | Inicio | Siguiente
ldap_explode_dn | Subir | ldap_first_entry


ldap_first_entry

(PHP 3, PHP 4, PHP 5)

ldap_first_entry -- Devuelve el identificador del primer resultado

Descripción

resource ldap_first_entry ( resource identificador_de_conexion, resource identificador_de_resultado )

Devuelve el identificador de la primera entrada del resultado ó FALSE en caso de error.

Las entradas en un resultado LDAP se leen secuencialmente usando las funciones ldap_first_entry() y ldap_next_entry(). ldap_first_entry() devuelve el identificador de la primera entrada del resultado. Este identificador se pasa a la función lap_next_entry() pata obtener las siguientes entradas del resultado.

Vea también ldap_get_entries().

Anterior | Inicio | Siguiente
ldap_first_attribute | Subir | ldap_first_reference


ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_first_reference -- Devuelve la primera referencia

Descripción

resource ldap_first_reference ( resource link, resource resultado )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_first_entry | Subir | ldap_free_result


ldap_free_result

(PHP 3, PHP 4, PHP 5)

ldap_free_result -- Libera la memoria que almacena los resultados

Descripción

bool ldap_free_result ( resource identificador_de_resultado )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

ldap_free_result() libera la memoria reservada internamente para almacenar el resultado de búsquedas LDAP asociada al identificador identificador_de_resultado. Por otra parte, la memoria de resultados se libera automáticamente al finalizar la ejecución del script.

Normalmente la memoria reservada para resultados LDAP se libera al finalizar del script. Sin embargo, si el script realiza numerosas búsquedas que devuelvan conjuntos de resultados grandes, se puede utilizar la función ldap_free_result() para disminuir el uso de memoria del script durante su ejecución.

Anterior | Inicio | Siguiente
ldap_first_reference | Subir | ldap_get_attributes


ldap_get_attributes

(PHP 3, PHP 4, PHP 5)

ldap_get_attributes -- Obtiene los atributos de una entrada de un resultado de búsqueda

Descripción

array ldap_get_attributes ( resource identificador_de_conexion, resource identificador_de_entrada_de_resultado )

Devuelve toda la información de la entrada en un array multidimensional o FALSE en caso de error.

La función ldap_get_attributes() se emplea para simplificar la lectura de atributos y valores de una entrada de un resultado de búsqueda. El valor devuelto es un array multidimensional con todos los atributos y sus valores.

Si se dispone de una entrada específica del directorio se puede obtener la información que contiene dicha entrada haciendo uso de esta función. Se suele emplear esta función para aplicaciones que navegan por las entradas del directorio y/o cuando no se conoce la estructura de las entradas del directorio. La mayoría de aplicaciones sin embargo, buscan un atributo específico, como la dirección de email o los apellidos y no se ocupan del resto de atributos contenidos en la entrada.

valor_devuelto["count"] = numero de atributos en la entrada
valor_devuelto[0] = primer atributo
valor_devuelto[n] = enesimo atributo

valor_devuelto["atributo"]["count"] = numero de valores del atributo
valor_devuelto["atributo"][0] = primer valor del atributo
valor_devuelto["atributo"][i] = iesimo valor del atributo

Ejemplo 1. Mostrar la lista de atributos contenida en una entrada específica de un directorio

<?php
// $ds es un identificador de conexion al directorio

// $sr es un resultado de busqueda valido de una llamada
// anterior a una de las funciones de busqueda en directorios
// LDAP.

$entrada = ldap_first_entry($ds, $sr);

$atributos = ldap_get_attributes($ds, $entrada);

echo $atributos["count"]." atributos contenidos en esta entrada:<p>";

for ($i=0; $i < $atributos["count"]; $i++) {
    echo $atributos[$i]."<br />";
}
?>

Vea también ldap_first_attribute() y ldap_next_attribute()

Anterior | Inicio | Siguiente
ldap_free_result | Subir | ldap_get_dn


ldap_get_dn

(PHP 3, PHP 4, PHP 5)

ldap_get_dn -- Obtiene el DN de una entrada de un resultado

Descripción

string ldap_get_dn ( resource identificador_de_conexion, resource identificador_de_entrada_de_resultado )

Devuelve el DN de la entrada del resultado o FALSE en caso de error.

La función ldap_get_dn() se utiliza para obtener el DN de una entrada de un resultado de búsqueda.

Anterior | Inicio | Siguiente
ldap_get_attributes | Subir | ldap_get_entries


ldap_get_entries

(PHP 3, PHP 4, PHP 5)

ldap_get_entries -- Obtiene todas las entradas de un resultado

Descripción

array ldap_get_entries ( resource identificador_de_conexion, resource indentificador_de_resultado )

Devuelve toda la información de un resultado de búsqueda en un array multidimensional o FALSE en caso de error.

La función ldap_get_entries() se emplea para simplificar la lectura de múltiples entradas de un resultado y después leer sus atributos y valores. Toda la información de la entrada es devuelta en forma de array multidimensional con tan solo realizar una llamada a esta función . La estructura del array es como se muestra más adelante.

Los indices de atributos son convertidos a minúsculas. (Los atributos de servidores de directorios son indiferentes a las mayusculas/minusculas, no asi las claves de los arrays asociativos)

valor_devuelto["count"] = numero de entradas del resultado
valor_devuelto[0] : contiene los detalles de la primera entrada

valor_devuelto[i]["dn"] =  DN de la entrada iesima del resultado

valor_devuelto[i]["count"] = numero de atributos de la entrada iesima
valor_devuelto[i][j] = jesimo atributo de la iesima entrada del resultado

valor_devuelto[i]["atributo"]["count"] = numero de valores para "atributo"
    en la entrada iesima
valor_devuelto[i]["atributo"][j] = jesimo valor de "atributo" en la entrada
    iesima

Vea también ldap_first_entry() y ldap_next_entry()

Anterior | Inicio | Siguiente
ldap_get_dn | Subir | ldap_get_option


ldap_get_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_get_option -- Obtiene el valor de la opción indicada

Descripción

bool ldap_get_option ( resource identificador_de_conexion, int opcion, mixed &valor_retorno )

Establece el valor de valor_retorno al valor que contiene la opción indicada. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

El parámetro opcion puede tener uno de los siguientes valores: LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, LDAP_OPT_MATCHED_DN. La descripción de los valores puede encontrarse en draft-ietf-ldapext-ldap-c-api-xx.txt

Nota: Esta función solamente está disponible si se utiliza un servidor OpenLDAP 2.x.x o el Netscape Directory SDK x.x, y se incluyó en la versión de PHP 4.0.4

Ejemplo 1. Comprobación de la versión del protocolo

<?php
// $ds es un identificador de conexion al directorio
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Se esta utilizand la version $version\n";
} else {
    echo "No se ha podido determinar la version del protocolo\n";
}
?>

Vea también ldap_set_option().

Anterior | Inicio | Siguiente
ldap_get_entries | Subir | ldap_get_values_len


ldap_get_values_len

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ldap_get_values_len -- Obtiene todos los valores binarios de un atributo de una entrada de un resultado

Descripción

array ldap_get_values_len ( resource indentificador_de_conexion, resource indentificador_de_entrada_de_resultado, string atributo )

Devuelve un array de valores del atributo o FALSE en caso de error.

La función ldap_get_values_len() se emplea para obtener todos los valores de un atributo de una entrada de un resultado de búsqueda. La entrada se especifica por el parámetro indentificador_de_entrada_de_resultado. El número de valores se puede obtener haciendo una llamada a la función count() sobre el array devuelto. Los valores individuales se almacenan en el array con índices enteros. El primer índice es 0.

Esta función se utiliza de la misma forma que ldap_get_values() salvo que maneja datos binarios y no cadenas de caracteres.

Nota: Esta función se incluyó en la versión de PHP 4.0.

Anterior | Inicio | Siguiente
ldap_get_option | Subir | ldap_get_values


ldap_get_values

(PHP 3, PHP 4, PHP 5)

ldap_get_values -- Obtiene todos los valores de una entrada de un resultado

Descripción

array ldap_get_values ( resource identificador_de_conexion, resource identificador_de_entrada_de_resultado, string atributo )

Devuelve un array de valores del atributo o FALSE en caso de error.

La función ldap_get_values() se emplea para obtener todos los valores de un atributo de una entrada de un resultado. La entrada del resultado es especificada por el parámetro identificador_de_entrada_de_resultado. El número de valores se puede obtener haciendo una llamada a la función count() sobre el array devuelto. Los valores individuales se almacenan en el array con índices enteros. El primer índice es 0.

Esta función necesita un identificador_de_entrada_de_resultado, por lo que previamente se deben realizar llamadas a las funciones de búsqueda LDAP y una llamada a la función que obtiene una entrada particular del resultado.

La aplicación debe ser o bien programada específicamente para buscar ciertos atributos (como apellidos o email) o bien utilizar la función ldap_get_attributes() para averiguar que atributos existen para una entrada dada, antes de llamar a ldap_get_values().

LDAP permite mas de un valor para cada atributo, por lo que se puede, por ejemplo, almacenar varias direcciones de email para una persona en el directorio y nombrar a ese atributo como "mail".

valor_devuelto["count"] = numero de valores del atributo
valor_devuelto[0] = primer valor del atributo
valor_devuelto[i] = iesimo valor del atributo

Ejemplo 1. Listar todos los valores del atributo "mail" de una entrada de un directorio

<?php
// $ds es un identificador de conexion al directorio

// $sr es un resultado de busqueda valido de una llamada
// anterior a una de las funciones de b&usqueda en directorios
// LDAP.

// $entrada es un identificador de entrada valido de una llamada
// anterior a una de las funciones que devuelven una entrada de
// directorio

$valores = ldap_get_values($ds, $entrada,"mail");

echo $valores["count"]." direcciones de email para esta entrada.<br />";

for ($i=0; $i &lt; $valores["count"]; $i++) {
    echo $valores[$i]."<br />";
}
?>

Anterior | Inicio | Siguiente
ldap_get_values_len | Subir | ldap_list


ldap_list

(PHP 3, PHP 4, PHP 5)

ldap_list -- Búsqueda de nivel único

Descripción

resource ldap_list ( resource id_enlace, string dn_base, string filtro [, array atributos [, int solo_atribs [, int limite_tamanyo [, int limite_tiempo [, int deref]]]]] )

Realiza la búsqueda para un filtro especificado en el directorio, con el ámbito LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL quiere decir que la búsqueda sólo debe devolver información que se encuentre en el nivel inmediatamente inferior al dn_base especificado en la llamada. (Equivalente a escribir "ls" y obtener un listado de archivos y carpetas en el directorio de trabajo actual.)

Lista de parámetros

id_enlace

Un identificador de enlace LDAP, devuelto por ldap_connect().

dn_base

El DN base para el directorio.

filtro

atributos

Una matriz con los atributos requeridos, p.ej. array("mail", "sn", "cn"). Note que "dn" siempre es devuelto independientemente de cuáles atributes son requeridos.

Usar este parámetro es mucho más eficiente que la acción predeterminada (la cual es devolver todos los atributos y sus valores asociados). El uso de este parámetro debe por lo tanto considerarse una práctica recomendable.

solo_atribs

Debe ser definido a 1 si solo se desean tipos de atributo. Si es definido como 0, se recuperan tipos de atributo y valores de atributo, lo cual es el comportamiento predeterminado.

limite_tamanyo

Le permite limitar el número de entradas a recuperar. Definir este valor como 0 quiere decir sin límite.

Nota: Este parámetro NO puede sobrescribir el límite de tamaño predefinido en el lado del servidor. Sin embargo, es posible definirlo como un valor más bajo.

Algunos servidores de directorios estarán configurados para devolver no más de un número predefinido de entradas. Si esto ocurre, el servidor indicará que solo ha devuelto un conjunto parcial de resultados. Esto ocurre también si usa este parámetro para limitar el número de entradas recuperadas.

limite_tiempo

Define el número de segundos a esperar en la búsqueda. Definir este valor como 0 quiere decir sin límite.

Nota: Este parámetro NO puede sobrescribir el límite de tiempo predefinido en el lado del servidor. Sin embargo, es posible definirlo como un valor más bajo.

deref

Especifica el modo en que deben manejarse los alias durante la búsqueda. Puede ser uno de los siguientes valores:

  • LDAP_DEREF_NEVER - (predeterminado) los alias nunca son dereferenciados.

  • LDAP_DEREF_SEARCHING - los alias deben ser dereferenciados durante la búsqueda pero no cuando se ubica el objeto base de la búsqueda.

  • LDAP_DEREF_FINDING - los alias deben ser dereferenciados cuando se ubica el objeto base, pero no durante la búsqueda.

  • LDAP_DEREF_ALWAYS - los alias deben ser dereferenciados siempre.

Valores retornados

Devuelve un identificador de resultado de búsqueda, o FALSE en caso de error.

Registro de cambios

Versión | Descripción
4.0.5 | Se agregó el soporte para búsquedas paralelas. Vea ldap_search() para más detalles.
4.0.2 | Los parámetros solo_atribs, limite_tamanyo, limite_tiempo y deref fueron agregados.

Ejemplos

Ejemplo 1. Producir una lista de todas los unidades organizacionales de una organización

// $ds es un identificador de enlace válido para un servidor de directorios

$dn_base = "o=Mi Compañía, c=ES";
$solo_estos = array("ou");

$sr=ldap_list($ds, $dn_base, "ou=*", $solo_estos);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i<$info["count"]; $i++) {
    echo $info[$i]["ou"][0] ;
}

Ver también

ldap_search()

Anterior | Inicio | Siguiente
ldap_get_values | Subir | ldap_mod_add


ldap_mod_add

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ldap_mod_add -- Añade valores a los atributos

Descripción

int ldap_mod_add ( resource identificador_de_conexion, string dn, array entrada )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Esta función permite añadir uno o varios atributos al dn especificado. Realiza la modificación al nivel de atributos, en vez de hacerlo al nivel de objetos. Las modificaciones a nivel de objeto son realizadas por la función ldap_add().

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
ldap_list | Subir | ldap_mod_del


ldap_mod_del

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ldap_mod_del -- Borra valores de atributos

Descripción

bool ldap_mod_del ( resource identificador_de_conexion, string dn, array entrada )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Esta función elimina uno o más atributos del dn especificado. Realiza la modificación a nivel de atributos, en vez de hacerlo a nivel de objetos. Las modificaciones a nivel de objeto son proporcionadas por la función ldap_delete().

Anterior | Inicio | Siguiente
ldap_mod_add | Subir | ldap_mod_replace


ldap_mod_replace

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ldap_mod_replace -- Reemplaza valores de atributos

Descripción

bool ldap_mod_replace ( resource identificador_de_conexion, string dn, array entrada )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Esta función reemplaza atributos del dn especificado. Realiza la modificación a nivel de atributos, en vez de hacerlo a nivel de objetos. Las modificaciones a nivel de objeto son realizadas por la función ldap_modify().

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
ldap_mod_del | Subir | ldap_modify


ldap_modify

(PHP 3, PHP 4, PHP 5)

ldap_modify -- Modifica una entrada LDAP

Descripción

bool ldap_modify ( resource identificador_de_conexion, string dn, array entrada )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

La función ldap_modify() se emplea para modificar entradas existentes en un directorio LDAP. La estructura de la entrada es igual a la utilizada en la función ldap_add().

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
ldap_mod_replace | Subir | ldap_next_attribute


ldap_next_attribute

(PHP 3, PHP 4, PHP 5)

ldap_next_attribute -- Obtiene el siguiente atributo de una entrada de un resultado

Descripción

string ldap_next_attribute ( resource identificador_de_conexion, resource identificador_de_entrada_de_resultado, resource &identificador_ber )

Devuelve el siguiente atributo de una entrada de un resultado o FALSE si se produce un error.

La función ldap_next_attribute() se emplea para recuperar los atributos de una entrada. El estado interno del puntero se mantiene con el parámetro identificador_ber, que se pasa por referencia a la función. La primera llamada a ldap_next_attribute() se realiza con el parámetro identificador_de_entrada_de_resultado devuelto por la función ldap_first_attribute().

Vea también ldap_get_attributes()

Anterior | Inicio | Siguiente
ldap_modify | Subir | ldap_next_entry


ldap_next_entry

(PHP 3, PHP 4, PHP 5)

ldap_next_entry -- Obtiene la siguiente entrada de un resultado

Descripción

resource ldap_next_entry ( resource identificador_de_conexion, resource identificador_de_entrada_de_resultado )

Devuelve el identificador de la siguiente entrada del resultado. Las entradas deben haber sido leidas previamente con la función ldap_first_entry(). Si no hay más entradas en el resultado, la función devuelve FALSE.

La función ldap_next_entry() se emplea para obtener las entradas almacenadas en un resultado. Si se realizan llamadas sucesivas a la función ldap_next_entry(), se devuelven las entradas una a una hasta que ya no queden más entradas. La primera llamada a ldap_next_entry() se realiza después de llamar a ldap_first_entry(), siendo el parámetro identificador_de_entrada_de_resultado el valor devuelto por la función ldap_first_entry().

Vea también ldap_get_entries()

Anterior | Inicio | Siguiente
ldap_next_attribute | Subir | ldap_next_reference


ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_next_reference -- Obtiene la siguiente referencia

Descripción

resource ldap_next_reference ( resource link, resource entry )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_next_entry | Subir | ldap_parse_reference


ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_reference -- Obtiene información de la entrada de referencia

Description

bool ldap_parse_reference ( resource link, resource entry, array &referrals )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_next_reference | Subir | ldap_parse_result


ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_result -- Obtiene información de un resultado

Descripción

bool ldap_parse_result ( resource link, resource result, int &errcode [, string &matcheddn [, string &errmsg [, array &referrals]]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_parse_reference | Subir | ldap_read


ldap_read

(PHP 3, PHP 4, PHP 5)

ldap_read -- Lee una entrada

Descripción

resource ldap_read ( resource identificador_de_conexion, string dn_base, string filtro [, array atributos [, int solo_atributos [, int tamano_limite [, int tiempo_limite [, int deref]]]]] )

Devuelve un identificador de resultado de búsqueda o FALSE en caso de error.

ldap_read() realiza la búsqueda según el filtro especificado en el parámetro filtro con alcance LDAP_SCOPE_BASE, por lo que es equivalente a leer una entrada del directorio.

No se permiten filtros vacios. Si se quiere obtener toda la información de la entrada, se debe usar un filtro del tipo "objectClass=*". Si conoce que tipos de entradas son usadas en el servidor de directorio, es conveniente emplear el filtro apropiado, como por ejemplo "objectClass=inetOrgPerson".

La función admite hasta 5 parámetros opcionales. Consulte las notas de la función ldap_search().

Nota: Los parámetros opcionales se añadieron en la versión de PHP 4.0.2: solo_atributos, tamano_limite, tiempo_limite, deref.

A partir de la versión de PHP 4.0.5 también es posible realizar búsquedas paralelas. Vea la función ldap_search() para ver más detalles.

Anterior | Inicio | Siguiente
ldap_parse_result | Subir | ldap_rename


ldap_rename

(PHP 4 >= 4.0.5, PHP 5)

ldap_rename -- Modifica el nombre de una entrada

Descripción

bool ldap_rename ( resource identificador_de_conexion, string dn, string rdn_nuevo, string padre_nuevo, bool borrar_anterior_rdn )

La función permite modificar la entrada especificada en el parámetro dn. El nuevo RDN se especifica en el parámetro rdn_nuevo y la nueva entrada padre (o superior) se especifica en el parámetro padre_nuevo. Si el parámetro borrar_anterior_rdn es TRUE, los anteriores RDN se eliminan, en otro caso los anteriores RDN se mantienen como valores no-distinguidos de la entrada. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Actualmente esta función solamente funciona con la versión LDAPv3. Se debe usar la función ldap_set_option() antes de conectarse a LDAPv3. Esta función solamente está disponible cuando se emplea un servidor OpenLDAP 2.x.x o el Netscape Directory SDK x.x, y se incluyó en la versión de PHP 4.0.5.

Anterior | Inicio | Siguiente
ldap_read | Subir | ldap_sasl_bind


ldap_sasl_bind

(PHP 5)

ldap_sasl_bind -- Autenticarse en un directorio LDAP empleando SASL

Descripción

bool ldap_sasl_bind ( resource link [, string binddn [, string password [, string sasl_mech [, string sasl_realm [, string sasl_authz_id [, string props]]]]]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Requisito: ldap_sasl_bind() requiere el soporte de SASL (sasl.h). Se debe emplear la opción --with-ldap-sasl cuando se configura PHP, ya que de otro modo la función no estar´ definida.

Anterior | Inicio | Siguiente
ldap_rename | Subir | ldap_search


ldap_search

(PHP 3, PHP 4, PHP 5)

ldap_search -- Busca en un arbol LDAP

Descripción

resource ldap_search ( resource identificador_de_conexion, string dn_base, string filtro [, array atributos [, int solo_atributos [, int tamano_limite [, int tiempo_limite [, int deref]]]]] )

Devuelve un identificador de resultado de búsqueda o FALSE en caso de error.

ldap_search() realiza la búsqueda según el filtro especificado con alcance LDAP_SCOPE_SUBTREE. Esto es equivalente a buscar en el directorio entero. dn_base especifica el DN base para el directorio.

Existe un cuarto parámetro opcional que puede ser añadido para restringir los atributos y valores devueltos por el servidor a sólo los requeridos. Es mucho más eficiente que la acción por defecto (que devolverá todos los atributos y sus valores asociados). El uso del cuarto parámetro debe ser por tanto considerado una práctica recomendable.

El cuerto parámetro es un array estándar de PHP con los atributos requeridos, por ejemplo array("mail","sn","cn"). Nota: "dn" siempre es devuelto independientemente de que tipos de atributos sean solicitados.

También hay que tener en cuenta que algunos servidores de directorio están configurados para devolver un cierto número de entradas como máximo. Si esto ocurre, el servidor indicará que solo devuelve un conjunto parcial de los resultados. Esto también se produce si el sexto parámetro tamano_limite se emplea para limitar el número de entradas devueltas.

El quinto parámetro solo_atributos se puede poner a 1 si solo se quieren obtener los tipos de los atributos. Si se le da un valor de 0, se obtienen los tipos de los atributos y sus valores, que es el comportamiento por defecto.

El sexto parámetro tamano_limite permite limitar el número de entradas devueltas. Si se le da un valor de 0, no se establece ningún límite. NOTA: Este parámetro no prevalece sobre los límites establecidos por el servidor, aunque si que permite establecerlo a un valor inferior.

El séptimo parámetro tiempo_limite establece el número de segundos que se dedica a realizar la búsqueda. Si se le da un valor de 0, no se establece ningún límite. NOTA: Este parámetro no prevalece sobre los límites establecidos por el servidor, aunque si que permite establecerlo a un valor inferior.

El octavo parámetro deref especifica como se tratan los alias durante la búsqueda. Su valor debe ser uno de los siguientes:

  • LDAP_DEREF_NEVER - (valor por defecto) los alias nunca se dereferencian.

  • LDAP_DEREF_SEARCHING - los alias se deben dereferenciar durante las búsquedas pero no cuando se busca el objeto base de la búsqueda.

  • LDAP_DEREF_FINDING - los alias se deben dereferenciar cuando se busca el objeto base de la búsqueda pero no durante la búsqueda.

  • LDAP_DEREF_ALWAYS - los alias se deben dereferenciar siempre.

Nota: Los siguientes parámetros opcionales se añadieron en la versión de PHP 4.0.2: solo_atributos, tamano_limite, tiempo_limite, deref.

El filtro de búsqueda puede ser simple o avanzado, para lo que se utilizan operadores booleanos con el formato descrito en la documentación de LDAP (acceda a Netscape Directory SDK para obtener la información completa sobre los filtros).

El siguiente ejemplo recupera la unidad organizativa (ou), apellidos nombre común y dirección de email para todas las personas de "Mi Compañía", donde los apellidos o el nombre común contienen la subcadena $persona. Este ejemplo usa un filtro booleano para indicar al servidor que busque la información en más de un atributo.

Ejemplo 1. Búsqueda LDAP

<?php
// $ds es un identificador de conexion valido

// $persona es todo o parte del nombre de una persona, por ejemplo "Pe"

$dn = "o=Mi Compania, c=ES";
$filtro="(|(sn=$persona*)(givenname=$persona*))";
$solonecesito = array( "ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filtro, $solonecesito);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entradas devueltas\n";
?>

A partir de la versión de PHP 4.0.5 es posible realizar búsquedas en paralelo. Para ello, se debe usar un array de identificadores de conexiones en lugar del habitual identificador de conexión simple. Si no se van a emplear los mismos DN base y los mismos filtros para todas las búsquedas, es posible indicar arrays para los DN base y los filtros. Estos arrays deben tener el mismo tamaño que el empleado para indicar el array de identificadores de conexiones. Al hacer búsquedas paralelas, se devuelve un array de resultados de búsqueda, excepto si se produce un error, en cuyo caso el valor devuelto es FALSE. Este comportamiento es muy parecido al habitual, salvo que antes siempre se devolvía un identificador de resultado cuando se hacía una búsqueda. Por tanto, pueden darse casos extraños en los que una búsqueda normal devuelva FALSE y la búsqueda paralela devuelva un identificador.

Anterior | Inicio | Siguiente
ldap_sasl_bind | Subir | ldap_set_option


ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option -- Establece el valor de la opción indicada

Descripción

bool ldap_set_option ( resource identificador_de_conexion, int opcion, mixed nuevo_valor )

Establece el valor de la opción especificada al valor del parámetro nuevo_valor. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. en caso de error.

El parámetro opcion puede contener uno de los siguientes valores: LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, LDAP_OPT_MATCHED_DN, LDAP_OPT_SERVER_CONTROLS, LDAP_OPT_CLIENT_CONTROLS. Para obtener una descripción de cada uno de ellos consulte la siguiente dirección draft-ietf-ldapext-ldap-c-api-xx.txt.

Las opciones LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION y LDAP_OPT_ERROR_NUMBER tienen valores numericos enteros, LDAP_OPT_REFERRALS y LDAP_OPT_RESTART deben contener valores booleanos, y las opciones LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING y LDAP_OPT_MATCHED_DN deben ser cadenas de texto. El primer ejemplo muestra la forma de emplearlos. Las opciones LDAP_OPT_SERVER_CONTROLS y LDAP_OPT_CLIENT_CONTROLS requieren una lista de controles, por lo que su valor debe ser un array de controles. Los controles están formados por un oid que identifica el control, un parámetro valor opcional, y un último parámetro que indica si el cotrol es crítico. En PHP, los controles se construyen mediante un array asociativo que contenga un elemento con la clave oid y su valor como cadena de texto, y otros 2 parámetros opcionales. Estos 2 parámetros se indican como un elemento de clave value y valor una cadena de texto y un elemento con clave iscritical y un valor booleano. El valor por defecto de iscritical es FALSE. Vea también el segundo ejemplo que se muestra a continuación.

Nota: Esta función solamente está disponible si se utilizan servidores OpenLDAP 2.x.x o Netscape Directory SDK x.x, y se incluyó en la versión de PHP 4.0.4.

Ejemplo 1. Establecer la versión del protocolo

<?php
// $ds es un identificador de conexion valido
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Se esta empleando LDAPv3";
} else {
    echo "No se ha podido establecer el protocolo a LDAP version 3";
}
?>

Ejemplo 2. Establecer controles de servidor

<?php
// $ds es un identificador de conexion valido
// control sin valor
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical tiene un valor FALSE por defecto
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// establecer los 2 controles a la vez
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2)))
    echo "No se han podido establecer los controles de servidor";
?>

Vea también ldap_get_option().

Anterior | Inicio | Siguiente
ldap_search | Subir | ldap_set_rebind_proc


ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5)

ldap_set_rebind_proc -- Indica la funció de callback a utilizar en caso de tener que volver a realizar la autenticación con el servidor.

Descripción

bool ldap_set_rebind_proc ( resource link, callback callback )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_set_option | Subir | ldap_sort


ldap_sort

(PHP 4 >= 4.2.0, PHP 5)

ldap_sort -- Ordena las entradas de un resultado de búsqueda LDAP

Descripción

bool ldap_sort ( resource link, resource result, string sortfilter )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_set_rebind_proc | Subir | ldap_start_tls


ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5)

ldap_start_tls -- Inicia TLS

Descripción

bool ldap_start_tls ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_sort | Subir | ldap_t61_to_8859


ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5)

ldap_t61_to_8859 -- Transforma caracteres en formato t61 a caracteres en formato 8859

Descripción

string ldap_t61_to_8859 ( string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ldap_start_tls | Subir | ldap_unbind


ldap_unbind

(PHP 3, PHP 4, PHP 5)

ldap_unbind -- Desconectarse de un directorio LDAP

Descripción

bool ldap_unbind ( resource identificador_de_conexion )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

La función ldap_unbind() permite desconectarse de un servidor LDAP.

Anterior | Inicio | Siguiente
ldap_t61_to_8859 | Subir | libxml Functions


LZF Functions

Manual de PHP
Anterior Siguiente

LXXVI. LZF Functions

Introducción

LZF is a very fast compression algorithm, ideal for saving space with only slight speed cost. It can be optimized for speed or space at the time of compilation.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/lzf.

In order to use these functions you must compile PHP with lzf support by using the --with-lzf[=DIR] configure option. You may also pass --enable-lzf-better-compression to optimize LZF for space rather then speed.

Windows users will enable php_lzf.dll inside of php.ini in order to use these functions. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Tabla de contenidos
lzf_compress -- LZF compression
lzf_decompress -- LZF decompression
lzf_optimized_for -- Determines what LZF extension was optimized for

Anterior | Inicio | Siguiente
notes_version | Subir | lzf_compress


lzf_compress

(PECL)

lzf_compress -- LZF compression

Descripción

string lzf_compress ( string data )

lzf_compress() compresses the given data.

Lista de parámetros

data

The string to compress.

Valores retornados

Returns the compressed data or FALSE if an error occurred.

Ver también

lzf_decompress()

Anterior | Inicio | Siguiente
LZF Functions | Subir | lzf_decompress


lzf_decompress

(PECL)

lzf_decompress -- LZF decompression

Descripción

string lzf_decompress ( string data )

lzf_compress() decompresses the given data.

Lista de parámetros

data

The compressed string.

Valores retornados

Returns the decompressed data or FALSE if an error occurred.

Ver también

lzf_compress()

Anterior | Inicio | Siguiente
lzf_compress | Subir | lzf_optimized_for


lzf_optimized_for

(PECL)

lzf_optimized_for -- Determines what LZF extension was optimized for

Descripción

int lzf_optimized_for ( void )

Determines for what the LZF extension was optimised.

Valores retornados

Returns 1 if LZF was optimized for speed, 0 for compression.

Anterior | Inicio | Siguiente
lzf_decompress | Subir | Funciones de Correo


Funciones de Correo

Manual de PHP
Anterior Siguiente

LXXVII. Funciones de Correo

Introducción

La función mail() le permite enviar correo.

Requisitos

Para que las funciones de Correo se encuentren disponibles, PHP debe tener acceso al binario sendmail en su sistema durante tiempo de compilación. Si usa otro programa de correo, como qmail o postfix, asugúrese de usar las envolturas sendmail apropiadas que vienen con tales sistemas de correo. PHP buscará sendmail primero en su PATH, y luego en los siguientes sitios: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Es bastante recomendable contar con el programa sendmail disponible en su PATH. Asimismo, el usuario que compile PHP debe tener permiso para acceder al binario sendmail.

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de correo

Nombre | Predeterminado | Modificable | Cambios
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | NULL | PHP_INI_SYSTEM |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

SMTP string

Usado bajo Windows únicamente: el nombre de host o dirección IP del servidor SMTP que debería usar PHP para el envío de correo con la función mail().

smtp_port int

Usado bajo Windows únicamente: Número del puerto para conectarse al servidor especificado en el parámetro SMTP cuando se envíe correo con mail(); su valor predeterminado es 25. Se encuentra disponible solo a partir de PHP 4.3.0.

sendmail_from string

Qué dirección de correo "From:" debe ser usada en el correo enviado desde PHP bajo Windows. Esta directiva establece también la cabecera "Return-Path:".

sendmail_path string

En dónde puede encontrarse el programa sendmail, usualmente /usr/sbin/sendmail o /usr/lib/sendmail. configure realiza un honesto intento por ubicar este valor para usted y definir un valor predeterminado, pero si falla, puede definirlo aquí.

Los sistema que no usan sendmail deben definir esta directiva al reemplazo de sendmail que ofrecen sus sistemas de correo, si existe. Por ejemplo, los usuarios de Qmail pueden definir este valor normalmente a /var/qmail/bin/sendmail o /var/qmail/bin/qmail-inject.

qmail-inject no requiere ninguna opción para procesar el correo correctamente.

Esta directiva funciona también bajo Windows. Si está definida, smtp, smtp_port y sendmail_from son ignoradas y se ejecuta el comando especificado.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
ezmlm_hash -- Calcular el valor hash que necesita EZMLM
mail -- Enviar correo

Anterior | Inicio | Siguiente
lzf_optimized_for | Subir | ezmlm_hash


ezmlm_hash

(PHP 3 >= 3.0.17, PHP 4 >= 4.0.2, PHP 5)

ezmlm_hash -- Calcular el valor hash que necesita EZMLM

Descripción

int ezmlm_hash ( string dir )

ezmlm_hash() calcula el valor de hash que se necesita cuando se administran listas de correo EZMLM en una base de datos MySQL.

Lista de parámetros

dir

La dirección de correo electrónico usada para calcular el valor hash.

Valores retornados

El resumen criptográfico (hash) de dir.

Ejemplos

Ejemplo 1. Cálculo de hash y suscripción de un usuario

<?php

$usuario  = "joecool@example.com";
$hash     = ezmlm_hash($usuario);
$consulta = sprintf("INSERT INTO ejemplo VALUES (%s, '%s')", $hash, $usuario);
$db->query($consulta); // usando la interfaz de bd PHPLIB

?>

Anterior | Inicio | Siguiente
Funciones de Correo | Subir | mail


mail

(PHP 3, PHP 4, PHP 5)

mail -- Enviar correo

Descripción

bool mail ( string para, string asunto, string mensaje [, string cabeceras_adicionales [, string parametros_adicionales]] )

Envía un correo electrónico.

Lista de parámetros

para

Recipiente, o recipientes del correo.

El formato de esta cadena debe ser compatible con el documento RFC 2822. Algunos ejemplos son:

usuario@example.com
usuario@example.com, otrousuario@example.com
Usuario <usuario@example.com>
Usuario <usuario@example.com>, Otro Usuario <otrousuario@example.com>

asunto

Asunto del correo electrónico a ser enviado.

Atención

Éste no debe contener caracteres de salto de línea, o es posible que el correo no sea enviado apropiadamente.

mensaje

Mensaje a ser enviado.

Cada línea debe ser sepadarada con un caracter LF (\n). Las líneas no deberían exceder los 70 caracteres.

Atención

(Sólo en Windows) Cuando PHP sostiene comunicación con el servidor SMTP directamente, si un punto es encontrado al comienzo de la línea, éste es removido. Para contrarestar este comportamiento, reemplace estas ocurrencias con dos puntos.

<?php
$texto = str_replace("\n.", "\n..", $texto);
?>

cabeceras_adicionales (opcional)

Cadena a ser insertada al final de la cabecera de correo electrónico.

Por lo general, este parámetro es usado para agregar cabeceras extra (From, Cc y Bcc). Múltiples cabeceras extra deben ser separadan con una secuencia CRLF (\r\n).

Nota: Cuando envíe correo, el mensaje debe contener una cabecera From. Ésta puede definirse con el parámetro cabeceras_adicionales, o puede definirse un valor predeterminado en php.ini.

No hacer esto resultará en un mensaje de error similar a Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. La cabecera From define también Return-Path bajo Windows.

Nota: Si los mensajes no son recibidos, intente usar un caracter LF (\n) solamente. Algunos agentes de transferencia de correo de pobre calidad en Unix reemplazan LF por CRLF automáticamente (lo cual conlleva a caracteres CR dobles si se usa CRLF). Esto debe ser usado como último recurso, ya que no es compatible con la especificación en RFC 2822.

parametros_adicionales (opcional)

El parámetro parametros_adicionales puede ser usado para pasar un parámetro extra al programa configurado para ser usado cuando se envíe correo mediante la opción de configuración sendmail_path. Por ejemplo, este parámetro puede usarse para definir la dirección de sobre del origen cuando se usa sendmail con la opción -f.

El usuario bajo el que corre su servidor web debe ser agregado como un usuario confiable en la configuración de sendmail para prevenir que se agregue una cabecera 'X-Warning' a los mensajes cuando el origen de sobre (-f) sea definido usando este método. Para usuarios de sendmail, este archivo es /etc/mail/trusted-users.

Valores retornados

Devuelve TRUE si el correo fue aceptado satisfactoriamente para su envío, o FALSE de lo contrario.

Es importante notar que solo porque el correo sea aceptado para su envio NO quiere decir que el correo realmente vaya a llegar a su destino planeado.

Registro de cambios

Versión | Descripción
4.3.0 (Sólo en Windows) | Todas las cabeceras personalizadas (como From, Cc, Bcc y Date) son soportadas, y no son sensibles a mayúsculas y minúsculas). (Dado que las cabeceras personalizadas no son interpretadas por el MTA en primer lugar, sino interpretadas por PHP, PHP < 4.3 sólo soportaba el elemento de cabecera Cc y era sensible a mayúsculas y minúsculas).
4.2.3 | El parámetro parametros_adicionales es deshabilitado en modo seguro y la función mail() producirá un mensaje de advertencia y devolverá FALSE cuando sea usado.
4.0.5 | El parámetro parametros_adicionales fue agregado.

Ejemplos

Ejemplo 1. Envío de correo.

Uso de mail() para enviar un correo simple:

<?php
// El mensaje
$mensaje = "Línea 1\nLínea 2\nLínea 3";

// En caso de que cualquier línea tenga más de 70 caracteres, habría
// que usar wordwrap()
$mensaje = wordwrap($mensaje, 70);

// Enviar
mail('cafeinado@example.com', 'Mi Asunto', $mensaje);
?>

Ejemplo 2. Envío de correo con cabeceras extra.

La adición de cabeceras básicas, que le indican al MUA las direcciones From y Reply-To:

<?php
$para      = 'nadie@example.com';
$asunto    = 'el asunto';
$mensaje   = 'hola';
$cabeceras = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($para, $asunto, $mensaje, $cabeceras);
?>

Ejemplo 3. Envío de correo con un parámetro de línea de comandos adicional.

El parámetro parametros_adicionales puede ser usado para pasar un parámetro adicional al programa configurado para usarse cuando se envía correo con sendmail_path.

<?php
mail('nadie@example.com', 'el asunto', 'el mensaje', null,
   '-fwebmaster@example.com');
?>

Ejemplo 4. Envío de correo electrónico HTML

También es posible enviar correo electrónico en formato HTML con mail().

<?php
// múltiples recipientes
$para  = 'aidan@example.com' . ', '; // note la coma
$para .= 'wez@example.com';

// asunto
$asunto = 'Recordatorios de Cumpleaños para Agosto';

// mensaje
$mensaje = '
<html>
<head>
  <title>Recordatorios de Cumpleaños para Agosto</title>
</head>
<body>
  <p>¡Aquí están los cumpleaños que vienen en Agosto!</p>
  <table>
    <tr>
      <th>Persona</th><th>Día</th><th>Mes</th><th>Año</th>
    </tr>
    <tr>
      <td>Juan</td><td>3</td><td>Agosto</td><td>1970</td>
    </tr>
    <tr>
      <td>Sandra</td><td>17</td><td>Agosto</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// Para enviar correo HTML, la cabecera Content-type debe definirse
$cabeceras  = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Cabeceras adicionales
$cabeceras .= 'To: María <maria@example.com>, Kelly <kelly@example.com>' . "\r\n";
$cabeceras .= 'From: Recordatorio de Cumpleaños <recordatorio@example.com>' . "\r\n";
$cabeceras .= 'Cc: archivo@example.com' . "\r\n";
$cabeceras .= 'Bcc: chequeo@example.com' . "\r\n";

// Enviarlo
mail($para, $asunto, $mensaje, $cabeceras);
?>

Nota: Si desea enviar HTML u otros correos complejos, es recomendable usar el paquete PEAR PEAR::Mail_Mime.

Notes

Nota: La implementación en Windows de mail() difiere en varias formas de la implementación en Unix. Primero, no usa un binario local para componer mensajes, en su lugar opera directamente sobre sockets, lo que quiere decir que se requiere de un MTA que escuche sobre un socket de red (el cual puede estar en el host local o en una máquina remota).

Segundo, las cabeceras personalizadas como From:, Cc:, Bcc: y Date: no son interpretadas por el MTA en primera instancia, son interpretadas por PHP.

Por lo anterior, el parámetro para no debería ser una dirección en la forma "Algo <alguien@example.com>". Puede que el comando de correo no interprete apropiadamente ésto cuando se comunique con el MTA.

Nota: Es posible enviar correo electrónico con archivos adjuntos y tipos especiales de contenido (p.ej. HTML) usando esta función. Esto se consigue mediante el uso de codificación MIME - para más información, vea este artículo de Zend o las Clases Mime PEAR.

Nota: Cabe anotar que la función mail() no es recomendable para el envío de correo electrónico en volumen por medio de un ciclo. Esta función abre y cierra un socket SMTP para cada correo, por lo que no resulta muy eficiente.

Para el envío de grandes cantidades de correo electrónico, vea los paquetes PEAR::Mail y PEAR::Mail_Queue.

Nota: Los siguientes documentos RFC pueden resultar útiles: RFC 1896, RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049, y RFC 2822.

Ver también

imap_mail()
PEAR::Mail
PEAR::Mail_Mime

Anterior | Inicio | Siguiente
ezmlm_hash | Subir | Funciones Mailparse


Funciones Mailparse

Manual de PHP
Anterior Siguiente

LXXVIII. Funciones Mailparse

Introducción

Mailparse es una extensión para procesar y trabajar con mensajes de correo electrónico. Puede trabajar con mensajes compatibles con RFC 822 y RFC 2045 (MIME).

Mailparse es basado en secuencias, lo que quiere decir que no mantiene copias en memoria de los archivos que procesa - de modo que es bastante eficiente en recursos cuando se trabaja con mensajes grandes.

Nota: Mailparse requiere la extensión mbstring.

This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 4.2.0.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/mailparse.

Para usar éstas funciones, es necesario compilar PHP con soporte mailparse mediante el uso de la opción de configuración --enable-mailparse.

Los usuarios de windows deben habilitar php_mailparse.dll al interior de php.ini para usar éstas funciones. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Mailparse configuration options

Name | Default | Changeable | Changelog
mailparse.def_charset | "us-ascii" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

MAILPARSE_EXTRACT_OUTPUT (integer)

MAILPARSE_EXTRACT_STREAM (integer)

MAILPARSE_EXTRACT_RETURN (integer)

Tabla de contenidos
mailparse_determine_best_xfer_encoding -- Obtiene la mejor forma de codificar
mailparse_msg_create -- Devuelve un gestor que puede ser usado para procesar un mensaje
mailparse_msg_extract_part_file -- Extrae/decodifica una sección de mensaje, operando sobre la codificación de transferencia
mailparse_msg_extract_part -- Extrae/decodifica una sección de mensaje
mailparse_msg_extract_whole_part_file -- Extracts a message section including headers without decoding the transfer encoding
mailparse_msg_free -- Libera un gestor ubicado por mailparse_msg_create()
mailparse_msg_get_part_data -- Devuelve una matriz asociativa de información sobre el mensaje
mailparse_msg_get_part -- Devuelve un gestor sobre una sección dada en un mensaje mime
mailparse_msg_get_structure -- Devuelve una matriz de nombres de sección mime en el mensaje dado
mailparse_msg_parse_file -- Procesar un archivo y devolver un recurso que represente la estructura
mailparse_msg_parse -- Procesar datos incrementalmente sobre un búfer
mailparse_rfc822_parse_addresses -- Procesar direcciones y devolver una matriz asociativa que contenga los datos
mailparse_stream_encode -- Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino
mailparse_uudecode_all -- Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu

Anterior | Inicio | Siguiente
mail | Subir | mailparse_determine_best_xfer_encoding


mailparse_determine_best_xfer_encoding

(4.1.0 - 4.1.2 only, PECL)

mailparse_determine_best_xfer_encoding -- Obtiene la mejor forma de codificar

Descripción

string mailparse_determine_best_xfer_encoding ( resource aa )

Encuentra la mejor forma de codificar el contenido leído del apuntador de archivo dado.

Lista de parámetros

aa

Un apuntador de archivo válido, que reciba operaciones de búsqueda.

Valores retornados

Devuelve una de las codificaciones de caracteres soportadas por el módulo mbstring.

Ejemplos

Ejemplo 1. Ejemplo de mailparse_determine_best_xfer_encoding()

<?php

$aa = fopen('alguncorreo.eml', 'r');
echo 'Mejor codificación: ' . mailparse_determine_best_xfer_encoding($aa);

?>

El resultado del ejemplo seria algo similar a:

Mejor codificación: 7bit

Anterior | Inicio | Siguiente
Funciones Mailparse | Subir | mailparse_msg_create


mailparse_msg_create

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_create -- Devuelve un gestor que puede ser usado para procesar un mensaje

Descripción

resource mailparse_msg_create ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_determine_best_xfer_encoding | Subir | mailparse_msg_extract_part_file


mailparse_msg_extract_part_file

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_extract_part_file -- Extrae/decodifica una sección de mensaje, operando sobre la codificación de transferencia

Descripción

string mailparse_msg_extract_part_file ( resource rfc2045, string nombre_archivo [, callback llamada_retorno] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_create | Subir | mailparse_msg_extract_part


mailparse_msg_extract_part

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_extract_part -- Extrae/decodifica una sección de mensaje

Descripción

void mailparse_msg_extract_part ( resource rfc2045, string cuerpo_mensaje [, callback llamada_retorno] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Si la llamada de retorno no se especifica, los contenidos serán enviados a "stdout".

Anterior | Inicio | Siguiente
mailparse_msg_extract_part_file | Subir | mailparse_msg_extract_whole_part_file


mailparse_msg_free

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_free -- Libera un gestor ubicado por mailparse_msg_create()

Descripción

bool mailparse_msg_free ( resource rfc2045buf )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_extract_whole_part_file | Subir | mailparse_msg_get_part_data


mailparse_msg_get_part_data

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_get_part_data -- Devuelve una matriz asociativa de información sobre el mensaje

Descripción

array mailparse_msg_get_part_data ( resource rfc2045 )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_free | Subir | mailparse_msg_get_part


mailparse_msg_get_part

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_get_part -- Devuelve un gestor sobre una sección dada en un mensaje mime

Descripción

resource mailparse_msg_get_part ( resource rfc2045, string seccion_mime )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_get_part_data | Subir | mailparse_msg_get_structure


mailparse_msg_get_structure

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_get_structure -- Devuelve una matriz de nombres de sección mime en el mensaje dado

Descripción

array mailparse_msg_get_structure ( resource rfc2045 )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_get_part | Subir | mailparse_msg_parse_file


mailparse_msg_parse_file

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_parse_file -- Procesar un archivo y devolver un recurso que represente la estructura

Descripción

resource mailparse_msg_parse_file ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_get_structure | Subir | mailparse_msg_parse


mailparse_msg_parse

(4.1.0 - 4.1.2 only, PECL)

mailparse_msg_parse -- Procesar datos incrementalmente sobre un búfer

Descripción

bool mailparse_msg_parse ( resource rfc2045buf, string datos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_parse_file | Subir | mailparse_rfc822_parse_addresses


mailparse_rfc822_parse_addresses

(4.1.0 - 4.1.2 only, PECL)

mailparse_rfc822_parse_addresses -- Procesar direcciones y devolver una matriz asociativa que contenga los datos

Descripción

array mailparse_rfc822_parse_addresses ( string direcciones )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_msg_parse | Subir | mailparse_stream_encode


mailparse_stream_encode

(4.1.0 - 4.1.2 only, PECL)

mailparse_stream_encode -- Secuencia datos desde un apuntador de archivo, codifica y escribe a fp_destino

Descripción

bool mailparse_stream_encode ( resource fp_fuente, resource fp_destino, string codificacion )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mailparse_rfc822_parse_addresses | Subir | mailparse_uudecode_all


mailparse_uudecode_all

(PECL)

mailparse_uudecode_all -- Procesa los datos desde un apuntador a archivo y extrae cada archivo embebido con codificación uu

Descripción

array mailparse_uudecode_all ( resource fp )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Devuelve una matriz que lista la información del archivo.

Anterior | Inicio | Siguiente
mailparse_stream_encode | Subir | Funciones matemáticas


Funciones matemáticas

Manual de PHP
Anterior Siguiente

LXXIX. Funciones matemáticas

Introducción

Estas funciones matemáticas solo manipulan valores dentro del rango de los tipos integer y float en su equipo (en la actualidad, estos tipos corresponden con los tipos long y double de C). Si necesita manejar números más grandes, eche un vistazo a las funciones matemáticas de precisión arbitraria.

Vea también la página del manual sobre operadores aritméticos.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Las constantes listadas aqui están siempre disponibles a través del "núcleo PHP".

Tabla 1. Constantes matemáticas

Constante | Valor | Descripción
M_PI | 3.14159265358979323846 | Pi
M_E | 2.7182818284590452354 | e
M_LOG2E | 1.4426950408889634074 | log_2 e
M_LOG10E | 0.43429448190325182765 | log_10 e
M_LN2 | 0.69314718055994530942 | log_e 2
M_LN10 | 2.30258509299404568402 | log_e 10
M_PI_2 | 1.57079632679489661923 | pi/2
M_PI_4 | 0.78539816339744830962 | pi/4
M_1_PI | 0.31830988618379067154 | 1/pi
M_2_PI | 0.63661977236758134308 | 2/pi
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) [5.2.0]
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi)
M_SQRT2 | 1.41421356237309504880 | sqrt(2)
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [5.2.0]
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2)
M_LNPI | 1.14472988584940017414 | log_e(pi) [5.2.0]
M_EULER | 0.57721566490153286061 | Constante de Euler [5.2.0]
Solamente M_PI está disponible en versiones de PHP anteriores a PHP 4.0.0, ésta inclusive. Todas las otras constantes están disponibles a partir de PHP 4.0.0. Las constantes con la etiqueta [5.2.0] fueron añadidas en PHP 5.2.0.

Tabla de contenidos
abs -- Valor absoluto
acos -- Arco coseno
acosh -- Coseno hiperbólico inverso
asin -- Arco seno
asinh -- Seno hiperbólico inverso
atan2 -- Arco tangente de dos variables
atan -- Arco tangente
atanh -- Tangente hiperbólica inversa
base_convert -- Convertir un número entre bases arbitrarias
bindec -- Binario a decimal
ceil -- Redondear fracciones hacia arriba
cos -- Coseno
cosh -- Coseno hiperbólico
decbin -- Decimal a binario
dechex -- Decimal a hexadecimal
decoct -- Decimal a octal
deg2rad -- Convierte el número en grados a su equivalente en radianes
exp -- Calcula el exponente de e
expm1 -- Devuelve exp(number) - 1, computado de una forma que es precisa incluso cuando el valor del número es cercano a cero
floor -- Redondear fracciones hacia abajo
fmod -- Devuelve el residuo de punto flotante (módulo) de la división de los argumentos
getrandmax -- Mostrar el mayor valor aleatorio posible
hexdec -- Hexadecimal a decimal
hypot -- Calcula la longitud de la hipotenusa de un triángulo de ángulo-recto
is_finite -- Encuentra si un valor es un número finito legal
is_infinite -- Encuentra si un valor es infinito
is_nan -- Encuentra si un valor no es un número
lcg_value -- Generador lineal congruente combinado
log10 -- Logaritmo en base-10
log1p -- Devuelve log(1 + numero), computado en una forma que es precisa incluso cuando el valor del número es cercano a cero
log -- Logaritmo natural
max -- Encontrar el valor más alto
min -- Encontrar el valor más bajo
mt_getrandmax -- Mostrar el mayor valor aleatorio posible
mt_rand -- Generar un mejor valor aleatorio
mt_srand -- Alimentar la semilla del generador de números aleotarios mejorado
octdec -- Octal a decimal
pi -- Obtener valor de pi
pow -- Expresión exponencial
rad2deg -- Convierte el número en radianes a su equivalente en grados
rand -- Generar un entero aleatorio
round -- Redondea un flotante
sin -- Seno
sinh -- Seno hiperbólico
sqrt -- Raíz cuadrada
srand -- Alimentar la semilla del generador de números aleatorios
tan -- Tangente
tanh -- Tangente hiperbólica

Anterior | Inicio | Siguiente
mailparse_uudecode_all | Subir | abs


abs

(PHP 3, PHP 4, PHP 5)

abs -- Valor absoluto

Descripción

number abs ( mixed numero )

Devuelve el valor absoluto de numero. Si el argumento numero es de tipo float, el valor de retorno es también float, de otro modo es integer (ya que float tiene por lo general un rango de valores mayor que integer).

Ejemplo 1. Ejemplo de abs()

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)
?>

Anterior | Inicio | Siguiente
Funciones matemáticas | Subir | acos


acos

(PHP 3, PHP 4, PHP 5)

acos -- Arco coseno

Descripción

float acos ( float arg )

Devuelve el arco coseno de arg en radianes. acos() es la función complementaria de cos(), lo que quiere decir que a==cos(acos(a)) para cada valor de a que esté en el rango de acos().

Vea también: acosh(), asin(), y atan().

Anterior | Inicio | Siguiente
abs | Subir | acosh


acosh

(PHP 4 >= 4.1.0, PHP 5)

acosh -- Coseno hiperbólico inverso

Descripción

float acosh ( float arg )

Devuelve el coseno hiperbólico inverso de arg, esto es, el valor de cuyo coseno hiperbólico es arg.

Nota: Esta función no está implementada en plataformas Windows.

Vea también:
acos(),
asinh(), y
atanh().

Anterior | Inicio | Siguiente
acos | Subir | asin


asin

(PHP 3, PHP 4, PHP 5)

asin -- Arco seno

Descripción

float asin ( float arg )

Devuelve el arco seno de arg en radianes. asin() es la función complementaria de sin(), lo que quiere decir que a==sin(asin(a)) para cada valor de a en el rango de asin().

Vea también: asinh(), acos(), y atan().

Anterior | Inicio | Siguiente
acosh | Subir | asinh


asinh

(PHP 4 >= 4.1.0, PHP 5)

asinh -- Seno hiperbólico inverso

Descripción

float asinh ( float arg )

Devuelve el seno hiperbólico inverso de arg, esto es, el valor de cuyo seno hiperbólico es arg.

Nota: Esta función no está implementada en plataformas Windows.

Vea también:
asin(),
acosh(), y
atanh().

Anterior | Inicio | Siguiente
asin | Subir | atan2


atan2

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

atan2 -- Arco tangente de dos variables

Descripción

float atan2 ( float y, float x )

Esta función calcula el arco tangente de las dos variables x y y. Es similar a calcular el arco tangente de y / x, excepto que los signos de ambos argumentos son usados para determinar el cuadrante del resultado.

La función devuelve el resultado en radianes, que se encuentra entre -PI y PI (inclusive).

Vea también acos() y atan().

Anterior | Inicio | Siguiente
asinh | Subir | atan


atan

(PHP 3, PHP 4, PHP 5)

atan -- Arco tangente

Descripción

float atan ( float arg )

Devuelve el arco tangente de arg en radianes. atan() es la función complementaria de tan(), lo que quiere decir que a==tan(atan(a)) para cada valor de a en el rango de atan().

Vea también: atanh(), asin(), y acos().

Anterior | Inicio | Siguiente
atan2 | Subir | atanh


atanh

(PHP 4 >= 4.1.0, PHP 5)

atanh -- Tangente hiperbólica inversa

Descripción

float atanh ( float arg )

Devuelve la tangente hiperbólica inversa de arg, esto es, el valor de cuya tangente hiperbólica es arg.

Nota: Esta función no está implementada en plataformas Windows.

Vea también:
atan(),
asinh(), y
acosh().

Anterior | Inicio | Siguiente
atan | Subir | base_convert


base_convert

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

base_convert -- Convertir un número entre bases arbitrarias

Descripción

string base_convert ( string numero, int desde_base, int a_base )

Devuelve una cadena que contiene el numero dado representado en base a_base. La base en la cual es dado el valor numero es especificado en desde_base. Tanto desde_base como a_base tienen que ser valores entre 2 y 36, inclusive. Los dígitos en números con una base mayor que 10 serán representados con las letras a-z, en donde a significa 10, b significa 11 y z significa 35.

Ejemplo 1. Ejemplo de base_convert()

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

Imprime:

101000110111001100110100

Aviso

base_convert() puede perder precisión en números grandes debido a las propiedades relacionadas al tipo interno "doble" o "flotante" usado. Por favor consulte la sección sobre Números de punto flotante en el manual para más información específica sobre las limitaciones.

Vea también: intval().

Anterior | Inicio | Siguiente
atanh | Subir | bindec


bindec

(PHP 3, PHP 4, PHP 5)

bindec -- Binario a decimal

Descripción

number bindec ( string cadena_binaria )

Devuelve el equivalente decimal del número binario representado por el argumento cadena_binaria.

bindec() convierte un número binario a un valor integer. El número más grande que puede convertirse es 31 bits de 1's o 2147483647 en decimal. A partir de PHP 4.1.0, esta función puede convertir números grandes también. En ese caso devuelve un valor float.

Ejemplo 1. Ejemplo de bindec()

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

El resultado del ejemplo seria:

51
51
7

Vea también decbin(),
octdec(), hexdec() y
base_convert().

Anterior | Inicio | Siguiente
base_convert | Subir | ceil


ceil

(PHP 3, PHP 4, PHP 5)

ceil -- Redondear fracciones hacia arriba

Descripción

float ceil ( float valor )

Devuelve el siguiente valor entero mayor, redondeando valor si es necesario. El valor de retorno de ceil() sigue siendo de tipo float ya que el rango de valores de float es usualmente mayor que el del tipo integer.

Ejemplo 1. Ejemplo de ceil()

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Vea también floor() y round().

Anterior | Inicio | Siguiente
bindec | Subir | cos


cos

(PHP 3, PHP 4, PHP 5)

cos -- Coseno

Descripción

float cos ( float arg )

cos() devuelve el coseno del parámetro arg. El parámetro arg está en radianes.

Ejemplo 1. Ejemplo de cos()

<?php

echo cos(M_PI); // -1

?>

Vea también: acos(),
sin(), tan(), y
deg2rad().

Anterior | Inicio | Siguiente
ceil | Subir | cosh


cosh

(PHP 4 >= 4.1.0, PHP 5)

cosh -- Coseno hiperbólico

Descripción

float cosh ( float arg )

Devuelve el coseno hiperbólico de arg, definido como (exp(arg) + exp(-arg))/2.

Vea también:
cos(),
acosh(),
sin(), y
tan().

Anterior | Inicio | Siguiente
cos | Subir | decbin


decbin

(PHP 3, PHP 4, PHP 5)

decbin -- Decimal a binario

Descripción

string decbin ( int numero )

Devuelve una cadena que contiene una representación binaria del argumento numero dado. El mayor número que puede convertirse es 4294967295 en decimal, que resulta en una cadena de 32 1's.

Ejemplo 1. Ejemplo de decbin()

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

El resultado del ejemplo seria:

1100
11010

Vea también bindec(),
decoct(), dechex() y
base_convert().

Anterior | Inicio | Siguiente
cosh | Subir | dechex


dechex

(PHP 3, PHP 4, PHP 5)

dechex -- Decimal a hexadecimal

Descripción

string dechex ( int numero )

Devuelve una cadena que contiene una representación hexadecimal del argumento numero dado. El mayor número que puede convertirse es 4294967295 en decimal, que resulta en "ffffffff".

Ejemplo 1. Ejemplo de dechex()

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

El resultado del ejemplo seria:

a
2f

Vea también hexdec(),
decbin(), decoct() y
base_convert().

Anterior | Inicio | Siguiente
decbin | Subir | decoct


decoct

(PHP 3, PHP 4, PHP 5)

decoct -- Decimal a octal

Descripción

string decoct ( int numero )

Devuelve una cadena que contiene una representación octal del argumento numero dado. El mayor número que puede convertirse es 4294967295 en decimal, que resulta en "37777777777".

Ejemplo 1. Ejemplo de decoct()

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

El resultado del ejemplo seria:

17
410

Vea también octdec(),
decbin(), dechex() y
base_convert().

Anterior | Inicio | Siguiente
dechex | Subir | deg2rad


deg2rad

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

deg2rad -- Convierte el número en grados a su equivalente en radianes

Descripción

float deg2rad ( float numero )

Esta función convierte a numero desde grados a su equivalente en radianes.

Ejemplo 1. Ejemplo de deg2rad()

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Vea también rad2deg().

Anterior | Inicio | Siguiente
decoct | Subir | exp


exp

(PHP 3, PHP 4, PHP 5)

exp -- Calcula el exponente de e

Descripción

float exp ( float arg )

Devuelve e elevado a la potencia de arg.

Nota: 'e' es la base del sistema natural de logaritmos, o aproximadamente 2.718282.

Ejemplo 1. Ejemplo de exp()

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

El resultado del ejemplo seria:

1.6275E+005
298.87

Vea también log() y pow().

Anterior | Inicio | Siguiente
deg2rad | Subir | expm1


expm1

(PHP 4 >= 4.1.0, PHP 5)

expm1 -- Devuelve exp(number) - 1, computado de una forma que es precisa incluso cuando el valor del número es cercano a cero

Descripción

float expm1 ( float numero )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

expm1() devuelve el equivalente de 'exp(numero) - 1' en una forma que es precisa incluso si el valor de numero es cercano a cero, una situación en la que 'exp (numero) - 1' sería inexacto debido a la resta de dos números que son muy cercanos entre sí.

Nota: Esta función no está implementada en plataformas Windows.

Vea también log1p() y exp().

Anterior | Inicio | Siguiente
exp | Subir | floor


floor

(PHP 3, PHP 4, PHP 5)

floor -- Redondear fracciones hacia abajo

Descripción

float floor ( float valor )

Devuelve el siguiente valor entero más bajo, redondeando valor si es necesario. El valor de retorno de floor() es aun de tipo float ya que el rango de valores de float es, por lo general, mayor que el de integer.

Ejemplo 1. Ejemplo de floor()

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Vea también ceil() y round().

Anterior | Inicio | Siguiente
expm1 | Subir | fmod


fmod

(PHP 4 >= 4.2.0, PHP 5)

fmod -- Devuelve el residuo de punto flotante (módulo) de la división de los argumentos

Descripción

float fmod ( float x, float y )

Devuelve el residuo de punto flotante de dividir el dividendo (x) por el divisor (y). El residuo (r) es definido como: x = i * y + r, para algún entero i. Si y es diferente de cero, r tiene el mismo signo que x y una magnitud menor que la magnitud de y.

Ejemplo 1. Uso de fmod()

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r es igual a 0.5, ya que 4 * 1.3 + 0.5 = 5.7
?>

Anterior | Inicio | Siguiente
floor | Subir | getrandmax


getrandmax

(PHP 3, PHP 4, PHP 5)

getrandmax -- Mostrar el mayor valor aleatorio posible

Descripción

int getrandmax ( void )

Devuelve el valor máximo que puede ser devuelto por una llamada a rand().

Vea también rand(), srand() y mt_getrandmax().

Anterior | Inicio | Siguiente
fmod | Subir | hexdec


hexdec

(PHP 3, PHP 4, PHP 5)

hexdec -- Hexadecimal a decimal

Descripción

number hexdec ( string cadena_hex )

Devuelve el equivalente decimal del número hexadecimal representado por el argumento cadena_hex. hexdec() convierte una cadena hexadecimal a un número decimal. El mayor número que puede convertirse es 7fffffff o 2147483647 en decimal. A partir de PHP 4.1.0, esta función puede convertir también números más grandes. Devuelve float en ese caso.

hexdec() ignora cualquier caracter no-hexadecimal que encuentre.

Ejemplo 1. Ejemplo de hexdec()

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// ambos imprimen "int(238)"

var_dump(hexdec("that")); // imprime "int(10)"
var_dump(hexdec("a0")); // imprime "int(160)"
?>

Vea también dechex(),
bindec(), octdec() y
base_convert().

Anterior | Inicio | Siguiente
getrandmax | Subir | hypot


hypot

(PHP 4 >= 4.1.0, PHP 5)

hypot -- Calcula la longitud de la hipotenusa de un triángulo de ángulo-recto

Descripción

float hypot ( float x, float y )

hypot() devuelve la longitud de la hipotenusa de un triángulo de ángulo recto con lados de longitud x y y, o la distancio del punto (x, y) a partir del origen. Esto es equivalente a sqrt(x*x + y*y).

Anterior | Inicio | Siguiente
hexdec | Subir | is_finite


is_finite

(PHP 4 >= 4.2.0, PHP 5)

is_finite -- Encuentra si un valor es un número finito legal

Descripción

bool is_finite ( float val )

Devuelve TRUE si val es un número finito legal entre el rango permitido para un flotante PHP en esta plataforma.

Vea también is_infinite() y is_nan().

Anterior | Inicio | Siguiente
hypot | Subir | is_infinite


is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infinite -- Encuentra si un valor es infinito

Descripción

bool is_infinite ( float val )

Devuelve TRUE si val es infinito (positivo o negativo), como el resultado de log(0) o cualquier valor demasiado grande para caber en un flotante en esta plataforma.

Vea también is_finite() y is_nan().

Anterior | Inicio | Siguiente
is_finite | Subir | is_nan


is_nan

(PHP 4 >= 4.2.0, PHP 5)

is_nan -- Encuentra si un valor no es un número

Descripción

bool is_nan ( float val )

Devuelve TRUE si val no es un número ('not a number'), como el resultado de acos(1.01).

Vea también is_finite() y is_infinite().

Anterior | Inicio | Siguiente
is_infinite | Subir | lcg_value


lcg_value

(PHP 4, PHP 5)

lcg_value -- Generador lineal congruente combinado

Descripción

float lcg_value ( void )

lcg_value() devuelve un número pseudo-aleatorio en el rango (0, 1). La función combina dos generadores congruentes con periodos de 2^31 - 85 y 2^31 - 249. El periodo de esta función es igual al producto de ambos primos.

Anterior | Inicio | Siguiente
is_nan | Subir | log10


log10

(PHP 3, PHP 4, PHP 5)

log10 -- Logaritmo en base-10

Descripción

float log10 ( float arg )

Devuelve el logaritmo en base 10 de arg.

Vea También: log()

Anterior | Inicio | Siguiente
lcg_value | Subir | log1p


log1p

(PHP 4 >= 4.1.0, PHP 5)

log1p -- Devuelve log(1 + numero), computado en una forma que es precisa incluso cuando el valor del número es cercano a cero

Descripción

float log1p ( float numero )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

log1p() devuelve log(1 + numero), computado de forma tal que el resultado es preciso incluso cuando el valor de numero es cercano a cero.

Nota: Esta función no está implementada en plataformas Windows.

Vea también expm1() y log().

Anterior | Inicio | Siguiente
log10 | Subir | log


log

(PHP 3, PHP 4, PHP 5)

log -- Logaritmo natural

Descripción

float log ( float arg [, float base] )

Si se especifica el parámetro opcional base, log() devuelve logbase arg, de otro modo log() devuelve el logaritmo natural de arg.

Nota: El parámetro base está disponible desde PHP 4.3.0.

Como siempre, es posible calcular el logaritmo en base b de un número n, pero usando la identidad matemática: logb(n) = log(n)/log(b), en donde log es el logaritmo neperiano (o natural).

Vea también exp().

Anterior | Inicio | Siguiente
log1p | Subir | max


max

(PHP 3, PHP 4, PHP 5)

max -- Encontrar el valor más alto

Descripción

mixed max ( number arg1, number arg2 [, number ...] )

mixed max ( array numeros )

max() devuelve el valor más alto numéricamente de los parámetros.

Si el primer y único parámetro es una matriz, max() devuelve el valor más alto en esa matriz. Si el primer parámetro es un entero, una cadena o un flotante, necesita por lo menos dos parámetros y max() devuelve el mayor de estos valores. Es posible comparar un número ilimitado de valores.

Nota: PHP evaluará un valor string no-numérico como 0, pero aun devuelve la cadena si ésta es vista como el valor numérico más alto. Si varios argumentos evalúan a 0, max() devolverá un 0 numérico si es dado, o de lo contrario devolverá el valor de cadena más alto alfabéticamente.

Ejemplo 1. Ejemplos de uso de max()

<?php
echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

echo max(0, 'hola');     // 0
echo max('hola', 0);     // hola
echo max(-1, 'hola');    // hola

// Con multiples matrices, max compara de izquierda a derecha
// asi que en nuestro ejemplo: 2 == 2, pero 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)

// Si se entregan una matriz y una no-matriz, la matriz siempre es
// devuelta, ya que es vista como el mayor valor
$val = max('cadena', array(2, 5, 7), 42);   // array(2, 5, 7)
?>

Vea también min() y count().

Anterior | Inicio | Siguiente
log | Subir | min


min

(PHP 3, PHP 4, PHP 5)

min -- Encontrar el valor más bajo

Descripción

mixed min ( number arg1, number arg2 [, number ...] )

mixed min ( array numeros )

min() devuelve el valor más bajo numéricamente de los parámetros.

Si el primer y único parámetro es una matriz, min() devuelve el valor más bajo en esa matriz. Si el primer parámetro es un entero, una cadena o un flotante, necesita por lo menos dos parámetros y min() devuelve el menor de estos valores. Es posible comparar un número ilimitado de valores.

Nota: PHP evaluará un valor string no-numérico como 0, pero aun devuelve la cadena si ésta es vista como el valor numérico más bajo. Si varios argumentos evalúan a 0, min() devolverá el valor de cadena alfanumérica más bajo si se da alguna cadena, o de lo contrario se devuelve un 0 numérico.

Ejemplo 1. Ejemplos de uso de min()

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

echo min(0, 'hola');     // 0
echo min('hola', 0);     // hola
echo min('hola', -1);    // -1

// Con varias matrices, min las compara de izquierda a derecha
// asi que en nuestro ejemplo: 2 == 2, pero 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// Si se pasan una matriz y una no-matriz, la matriz nunca
// es devuelta ya que se considera el valor mayor
$val = min('cadena', array(2, 5, 7), 42);   // cadena
?>

Vea también max() y count().

Anterior | Inicio | Siguiente
max | Subir | mt_getrandmax


mt_getrandmax

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mt_getrandmax -- Mostrar el mayor valor aleatorio posible

Descripción

int mt_getrandmax ( void )

Devuelve el valor máximo que puede ser devuelto por una llamada a mt_rand().

Vea también: mt_rand(), mt_srand(), y getrandmax().

Anterior | Inicio | Siguiente
min | Subir | mt_rand


mt_rand

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mt_rand -- Generar un mejor valor aleatorio

Descripción

int mt_rand ( [int min, int max] )

Muchos generadores de números aleatorios de bibliotecas de C antiguas tienen características dudosas o desconocidas y son lentos. Por omisión, PHP usa el generador de números aleatorios de libc con la función rand(). La función mt_rand() es un reemplazo completo de esta función. Usa un generador de números aleatorios con características conocidas, haciendo uso del Mersenne Twister, mecanismo que produce números aleatorios cuatro veces más rápido que el resultado promedio de rand() de libc.

Si es llamada sin los argumentos opcionales min y max, mt_rand() devuelve un valor pseudo-aleatorio entre 0 y RAND_MAX. Si quiere un número aleatorio entre 5 y 15 (inclusive), por ejemplo, use mt_rand (5, 15).

Ejemplo 1. Ejemplo de mt_rand()

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

El resultado del ejemplo seria algo similar a:

1604716014
1478613278
6

Nota: A partir de PHP 4.2.0, no es necesario inicializar el generador de números aleatorios con srand() ó mt_srand(), ya que esto se hace ahora automáticamente.

Nota: En versiones anteriores a 3.0.7 el significado de max era rango. Para obtener los mismos resultados en estas versiones, el ejemplo corto sería mt_rand (5, 11) para obtener un número aleatorio entre 5 y 15.

Vea también: mt_srand(), mt_getrandmax(), y rand().

Anterior | Inicio | Siguiente
mt_getrandmax | Subir | mt_srand


mt_srand

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mt_srand -- Alimentar la semilla del generador de números aleotarios mejorado

Descripción

void mt_srand ( [int semilla] )

Alimenta la semilla del generador de números aleatorios con semilla. A partir de PHP 4.2.0, la semilla es opcional y su valor predeterminado es uno aleatorio.

Ejemplo 1. Ejemplo de mt_srand()

<?php
// alimentar la semilla con microsegundos
function crear_semilla()
{
    list($useg, $seg) = explode(' ', microtime());
    return (float) $seg + ((float) $useg * 100000);
}
mt_srand(crear_semilla());
$valor_aleatorio = mt_rand();
?>

Nota: A partir de PHP 4.2.0, no es necesario inicializar el generador de números aleatorios con srand() ó mt_srand(), ya que esto se hace ahora automáticamente.

Vea también: mt_rand(), mt_getrandmax(), y srand().

Anterior | Inicio | Siguiente
mt_rand | Subir | octdec


octdec

(PHP 3, PHP 4, PHP 5)

octdec -- Octal a decimal

Descripción

number octdec ( string cadena_octal )

Devuelve el valor decimal equivalente al número octal representado por el argumento cadena_octal. El mayor número que puede ser convertido es 17777777777 o 2147483647 en decimal. A partir de PHP 4.1.0, esta función puede convertir también números más grandes. Devuelve un valor float en ese caso.

Ejemplo 1. Ejemplo de octdec()

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

El resultado del ejemplo seria:

63
45

Vea también: decoct(),
bindec(), hexdec(), y
base_convert().

Anterior | Inicio | Siguiente
mt_srand | Subir | pi


pi

(PHP 3, PHP 4, PHP 5)

pi -- Obtener valor de pi

Descripción

float pi ( void )

Devuelve una aproximación de pi. El valor float devuelto tiene una precisión basada en la directiva precision en php.ini, cuyo valor predeterminado es 14. Asimismo, es posible usar la constantio M_PI, la cual produce el mismo resultado que pi().

Ejemplo 1. Ejemplo de pi()

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

Anterior | Inicio | Siguiente
octdec | Subir | pow


pow

(PHP 3, PHP 4, PHP 5)

pow -- Expresión exponencial

Descripción

number pow ( number base, number exp )

Devuelve el valor base elevado a la potencia exp. Si es posible, esta función devolverá un valor integer.

Si la potencia no puede ser computada, se producirá una advertencia, y pow() devolverá FALSE. A partir de PHP 4.2.0 pow() no produce advertencia alguna.

Nota: PHP no puede manejar valores de base negativos.

Ejemplo 1. Algunos ejemplos de pow()

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1

echo pow(-1, 5.5); // error

?>

Aviso

En PHP 4.0.6 y anteriores, pow() siempre devolvía un valor float, y no producía advertencias.

Vea también: exp(),
sqrt(), bcpow(), y
gmp_pow(),

Anterior | Inicio | Siguiente
pi | Subir | rad2deg


rad2deg

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

rad2deg -- Convierte el número en radianes a su equivalente en grados

Descripción

float rad2deg ( float numero )

Esta función convierte a numero desde radianes a grados.

Ejemplo 1. Ejemplo de rad2deg()

<?php

echo rad2deg(M_PI_4); // 45

?>

Vea también deg2rad().

Anterior | Inicio | Siguiente
pow | Subir | rand


rand

(PHP 3, PHP 4, PHP 5)

rand -- Generar un entero aleatorio

Descripción

int rand ( [int min, int max] )

Si es llamada sin los argumentos opcionales min, max, rand() devuelve un entero pseudo-aleatorio entre 0 y RAND_MAX. Si desea un número aleatorio entre 5 y 15 (inclusive), por ejemplo, use rand (5, 15).

Ejemplo 1. Un ejemplo de rand()

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

El resultado del ejemplo seria algo similar a:

7771
22264
11

Nota: En algunas plataformas (como Windows) RAND_MAX es solamente 32768. Si requiere un rango mayor que 32768, especificar min and max le permitirá crear un rango mayor que RAND_MAX, o considere usar mt_rand() en su lugar.

Nota: A partir de PHP 4.2.0, no es necesario inicializar el generador de números aleatorios con srand() ó mt_srand(), ya que esto se hace ahora automáticamente.

Nota: En versiones anteriores a 3.0.7 el significado de max era rango. Para obtener los mismos resultados en estas versiones, el ejemplo corto debía ser rand (5, 11) para obtener un número aleatorio entre 5 y 15.

Vea también: srand(), getrandmax(), y mt_rand().

Anterior | Inicio | Siguiente
rad2deg | Subir | round


round

(PHP 3, PHP 4, PHP 5)

round -- Redondea un flotante

Descripción

float round ( float val [, int precision] )

Devuelve el valor de val redondeado a la precision especificada (número de dígitos después del punto decimal). precision puede ser también un valor negativo o cero (el valor predeterminado).

Ejemplo 1. Ejemplos de round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

Nota: PHP no maneja cadenas como "12,300.2" correctamente de forma predeterminada. Vea conversión desde cadenas.

Nota: El parámetro precision fue introducido en PHP 4.

Vea también: ceil(), floor(), y number_format().

Anterior | Inicio | Siguiente
rand | Subir | sin


sin

(PHP 3, PHP 4, PHP 5)

sin -- Seno

Descripción

float sin ( float arg )

sin() devuelve el seno del parámetro arg. El parámetro arg se encuentra en radianes.

Ejemplo 1. Ejemplo de sin()

<?php

// La precision depende de su directiva de precision
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Vea también: asin(),
cos(), tan(), y
deg2rad().

Anterior | Inicio | Siguiente
round | Subir | sinh


sinh

(PHP 4 >= 4.1.0, PHP 5)

sinh -- Seno hiperbólico

Descripción

float sinh ( float arg )

Devuelve el seno hiperbólico de arg, definido como (exp(arg) - exp(-arg))/2.

Vea también:
sin(),
asinh(),
cos(), y
tan().

Anterior | Inicio | Siguiente
sin | Subir | sqrt


sqrt

(PHP 3, PHP 4, PHP 5)

sqrt -- Raíz cuadrada

Descripción

float sqrt ( float arg )

Devuelve la raíz cuadrada de arg.

Ejemplo 1. Ejemplo de sqrt()

<?php
// La precision depende de su directiva de precision
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Vea también pow().

Anterior | Inicio | Siguiente
sinh | Subir | srand


srand

(PHP 3, PHP 4, PHP 5)

srand -- Alimentar la semilla del generador de números aleatorios

Descripción

void srand ( [int semilla] )

Alimenta la semilla del generador de números aleatorios con semilla. A partir de PHP 4.2.0, la semilla se ha vuelto opcional y su valor por omisión es uno aleatorio.

Ejemplo 1. Ejemplo de srand()

<?php
// semilla con microsegundos
function crear_semilla()
{
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}
srand(crear_semilla());
$val_aleatorio = rand();
?>

Nota: A partir de PHP 4.2.0, no es necesario inicializar el generador de números aleatorios con srand() ó mt_srand(), ya que esto se hace ahora automáticamente.

Vea también: rand(), getrandmax(), y mt_srand().

Anterior | Inicio | Siguiente
sqrt | Subir | tan


tan

(PHP 3, PHP 4, PHP 5)

tan -- Tangente

Descripción

float tan ( float arg )

tan() devuelve la tangente del parámetro arg. El parámetro arg se encuentra en radianes.

Ejemplo 1. Ejemplo de tan()

<?php

echo tan(M_PI_4); // 1

?>

Vea también: atan(),
sin(), cos(), y
deg2rad().

Anterior | Inicio | Siguiente
srand | Subir | tanh


tanh

(PHP 4 >= 4.1.0, PHP 5)

tanh -- Tangente hiperbólica

Descripción

float tanh ( float arg )

Devuelve la tangente hiporbólica de arg, definida como sinh(arg)/cosh(arg).

Vea también:
tan(),
atanh(),
sin(), y
cos().

Anterior | Inicio | Siguiente
tan | Subir | MaxDB PHP Extension


Multibyte String Functions

Manual de PHP
Anterior Siguiente

XCIV. Multibyte String Functions

Introducción

While there are many languages in which every necessary character can be represented by a one-to-one mapping to an 8-bit value, there are also several languages which require so many characters for written communication that they cannot be contained within the range a mere byte can code (A byte is made up of eight bits. Each bit can contain only two distinct values, one or zero. Because of this, a byte can only represent 256 unique values (two to the power of eight)). Multibyte character encoding schemes were developed to express more than 256 characters in the regular bytewise coding system.

When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions since two or more consecutive bytes may represent a single character in such encoding schemes. Otherwise, if you apply a non-multibyte-aware string function to the string, it probably fails to detect the beginning or ending of the multibyte character and ends up with a corrupted garbage string that most likely loses its original meaning.

mbstring provides multibyte specific string functions that help you deal with multibyte encodings in PHP. In addition to that, mbstring handles character encoding conversion between the possible encoding pairs. mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience (listed below).

PHP Character Encoding Requirements

Encodings of the following types are safely used with PHP.

  • A singlebyte encoding,

    • which has ASCII-compatible (ISO646 compatible) mappings for the characters in range of 00h to 7fh.

  • A multibyte encoding,

    • which has ASCII-compatible mappings for the characters in range of 00h to 7fh.

    • which don't use ISO2022 escape sequences.

    • which don't use a value from 00h to 7fh in any of the compounded bytes that represents a single character.

These are examples of character encodings that are unlikely to work with PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Although PHP scripts written in any of those encodings might not work, especially in the case where encoded strings appear as identifiers or literals in the script, you can almost avoid using these encodings by setting up the mbstring's transparent encoding filter function for incoming HTTP queries.

Nota: It's highly discouraged to use SJIS, BIG5, CP936, CP949 and GB18030 for the internal encoding unless you are familiar with the parser, the scanner and the character encoding.

Nota: If you are connecting to a database with PHP, it is recommended that you use the same character encoding for both the database and the internal encoding for ease of use and better performance.

If you are using PostgreSQL, the character encoding used in the database and the one used in PHP may differ as it supports automatic character set conversion between the backend and the frontend.

Instalación

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install section for details.

The following configure options are related to the mbstring module.

  • --enable-mbstring: Enable mbstring functions. This option is required to use mbstring functions.

    libmbfl is necesarry for mbstring. libmbfl is bundled with mbstring. If libmbfl is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library.

    As of PHP 4.3.0, mbstring extension provides enhanced support for Simplified Chinese, Traditional Chinese, Korean, and Russian in addition to Japanese.

    For PHP 4.3.3 or before,
To enable that feature, you will have to supply either one of the
following options to the LANG parameter
of --enable-mbstring=LANG;
--enable-mbstring=cn for Simplified Chinese support,
--enable-mbstring=tw for Traditional Chinese support,
--enable-mbstring=kr for Korean support,
--enable-mbstring=ru for Russian support, and
--enable-mbstring=ja for Japanese support (default).
 To enable all supported encoding, use --enable-mbstring=all.

    Nota: As of PHP 4.3.4, all supported encoding by libmbfl is enabled with --enable-mbstring.

  • --enable-mbstr-enc-trans : Enable HTTP input character encoding conversion using mbstring conversion engine. If this feature is enabled, HTTP input character encoding may be converted to mbstring.internal_encoding automatically.

    Nota: As of PHP 4.3.0, the option --enable-mbstr-enc-trans was eliminated and replaced with the runtime setting mbstring.encoding_translation. HTTP input character encoding conversion is enabled when this is set to On (the default is Off).

  • --disable-mbregex: Disable regular expression functions with multibyte character support.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. mbstring configuration options

Name | Default | Changeable | Changelog
mbstring.language | "neutral" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_input | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.script_encoding | NULL | PHP_INI_ALL | Available since PHP 4.3.0.
mbstring.substitute_character | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.func_overload | "0" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.2.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available since PHP 5.1.2.
For the definition of the PHP_INI_* constants, please refer to ini_set().

A continuación se presenta una corta explicación de las directivas de configuración.

mbstring.language string

The default national language setting (NLS) used in mbstring. Note that this option automagically defines mbstring.internal_encoding and mbstring.internal_encoding should be placed after mbstring.language in php.ini

mbstring.encoding_translation boolean

Enables the transparent character encoding filter for the incoming HTTP queries, which performs detection and conversion of the input encoding to the internal character encoding.

mbstring.internal_encoding string

Defines the default internal character encoding.

mbstring.http_input string

Defines the default HTTP input character encoding.

mbstring.http_output string

Defines the default HTTP output character encoding.

mbstring.detect_order string

Defines default character code detection order. See also mb_detect_order().

mbstring.substitute_character string

Defines character to substitute for invalid character encoding.

mbstring.func_overload string

Overloads a set of single byte functions by the mbstring counterparts. See Function overloading for more information.

mbstring.strict_detection boolean

Enables the strict encoding detection.

According to the HTML 4.01 specification, Web browsers are allowed to encode a form being submitted with a character encoding different from the one used for the page. See mb_http_input() to detect character encoding used by browsers.

Although popular browsers are capable of giving a reasonably accurate guess to the character encoding of a given HTML document, it would be better to set the charset parameter in the Content-Type HTTP header to the appropriate value by header() or default_charset ini setting.

Ejemplo 1. php.ini setting examples

; Set default language
mbstring.language        = Neutral; Set default language to Neutral(UTF-8) (default)
mbstring.language        = English; Set default language to English
mbstring.language        = Japanese; Set default language to Japanese

;; Set default internal encoding
;; Note: Make sure to use character encoding works with PHP
mbstring.internal_encoding    = UTF-8  ; Set internal encoding to UTF-8

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set default HTTP input character encoding
;; Note: Script cannot change http_input setting.
mbstring.http_input           = pass    ; No conversion.
mbstring.http_input           = auto    ; Set HTTP input to auto
                                ; "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS"
mbstring.http_input           = SJIS    ; Set HTTP2 input to  SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Specify order

;; Set default HTTP output character encoding
mbstring.http_output          = pass    ; No conversion
mbstring.http_output          = UTF-8   ; Set HTTP output encoding to UTF-8

;; Set default character encoding detection order
mbstring.detect_order         = auto    ; Set detect order to auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order

;; Set default substitute character
mbstring.substitute_character = 12307   ; Specify Unicode value
mbstring.substitute_character = none    ; Do not print character
mbstring.substitute_character = long    ; Long Example: U+3000,JIS+7E7E

Ejemplo 2. php.ini setting for EUC-JP users

;; Disable Output Buffering
output_buffering      = Off

;; Set HTTP header charset
default_charset       = EUC-JP

;; Set default language to Japanese
mbstring.language = Japanese

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set HTTP input encoding conversion to auto
mbstring.http_input   = auto

;; Convert HTTP output to EUC-JP
mbstring.http_output  = EUC-JP

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Ejemplo 3. php.ini setting for SJIS users

;; Enable Output Buffering
output_buffering     = On

;; Set mb_output_handler to enable output conversion
output_handler       = mb_output_handler

;; Set HTTP header charset
default_charset      = Shift_JIS

;; Set default language to Japanese
mbstring.language = Japanese

;; Set http input encoding conversion to auto
mbstring.http_input  = auto

;; Convert to SJIS
mbstring.http_output = SJIS

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

MB_OVERLOAD_MAIL (integer)

MB_OVERLOAD_STRING (integer)

MB_OVERLOAD_REGEX (integer)

HTTP Input and Output

HTTP input/output character encoding conversion may convert binary data also. Users are supposed to control character encoding conversion if binary data is used for HTTP input/output.

Nota: In PHP 4.3.2 or earlier versions, there was a limitation in this functionality that mbstring does not perform character encoding conversion in POST data if the enctype attribute in the form element is set to multipart/form-data. So you have to convert the incoming data by yourself in this case if necessary.

Beginning with PHP 4.3.3, if enctype for HTML form is set to multipart/form-data and mbstring.encoding_translation is set to On in php.ini the POST'ed variables and the names of uploaded files will be converted to the internal character encoding as well. However, the conversion isn't applied to the query keys.

  • HTTP Input

    There is no way to control HTTP input character conversion from a PHP script. To disable HTTP input character conversion, it has to be done in php.ini.

    Ejemplo 4. Disable HTTP input conversion in php.ini

    ;; Disable HTTP Input conversion
    mbstring.http_input = pass
    ;; Disable HTTP Input conversion (PHP 4.3.0 or higher)
    mbstring.encoding_translation = Off

    When using PHP as an Apache module, it is possible to override those settings in each Virtual Host directive in httpd.conf or per directory with .htaccess. Refer to the Configuration section and Apache Manual for details.

  • HTTP Output

    There are several ways to enable output character encoding conversion. One is using php.ini, another is using ob_start() with mb_output_handler() as the ob_start callback function.

    Nota: PHP3-i18n users should note that mbstring's output conversion differs from PHP3-i18n. Character encoding is converted using an output buffer.

Ejemplo 5. php.ini setting example

;; Enable output character encoding conversion for all PHP pages

;; Enable Output Buffering
output_buffering    = On

;; Set mb_output_handler to enable output conversion
output_handler      = mb_output_handler

Ejemplo 6. Script example

<?php

// Enable output character encoding conversion only for this page

// Set HTTP output character encoding to SJIS
mb_http_output('SJIS');

// Start buffering and specify "mb_output_handler" as
// callback function
ob_start('mb_output_handler');

?>

Supported Character Encodings

Currently the following character encodings are supported by the mbstring module. Any of those Character encodings can be specified in the encoding parameter of mbstring functions.

The following character encodings are supported in this PHP extension:

  • UCS-4

  • UCS-4BE

  • UCS-4LE

  • UCS-2

  • UCS-2BE

  • UCS-2LE

  • UTF-32

  • UTF-32BE

  • UTF-32LE

  • UTF-16

  • UTF-16BE

  • UTF-16LE

  • UTF-7

  • UTF7-IMAP

  • UTF-8

  • ASCII

  • EUC-JP

  • SJIS

  • eucJP-win

  • SJIS-win

  • ISO-2022-JP

  • JIS

  • ISO-8859-1

  • ISO-8859-2

  • ISO-8859-3

  • ISO-8859-4

  • ISO-8859-5

  • ISO-8859-6

  • ISO-8859-7

  • ISO-8859-8

  • ISO-8859-9

  • ISO-8859-10

  • ISO-8859-13

  • ISO-8859-14

  • ISO-8859-15

  • byte2be

  • byte2le

  • byte4be

  • byte4le

  • BASE64

  • HTML-ENTITIES

  • 7bit

  • 8bit

  • EUC-CN

  • CP936

  • HZ

  • EUC-TW

  • CP950

  • BIG-5

  • EUC-KR

  • UHC (CP949)

  • ISO-2022-KR

  • Windows-1251 (CP1251)

  • Windows-1252 (CP1252)

  • CP866 (IBM866)

  • KOI8-R

Any php.ini entry which accepts an encoding name can also use the values "auto" and "pass". mbstring functions which accept an encoding name can also use the value "auto".

If "pass" is set, no character encoding conversion is performed.

If "auto" is set, it is expanded to the list of encodings defined per the NLS. For instance, if the NLS is set to Japanese, the value is assumed to be "ASCII,JIS,UTF-8,EUC-JP,SJIS".

See also mb_detect_order()

Function Overloading Feature

You might often find it difficult to get an existing PHP application to work in a given multibyte environment. This happens because most PHP applications out there are written with the standard string functions such as substr(), which are known to not properly handle multibyte-encoded strings.

mbstring supports a 'function overloading' feature which enables you to add multibyte awareness to such an application without code modification by overloading multibyte counterparts on the standard string functions. For example, mb_substr() is called instead of substr() if function overloading is enabled. This feature makes it easy to port applications that only support single-byte encodings to a multibyte environment in many cases.

To use function overloading, set mbstring.func_overload in php.ini to a positive value that represents a combination of bitmasks specifying the categories of functions to be overloaded. It should be set to 1 to overload the mail() function. 2 for string functions, 4 for regular expression functions. For example, if it is set to 7, mail, strings and regular expression functions will be overloaded. The list of overloaded functions are shown below.

Tabla 2. Functions to be overloaded

value of mbstring.func_overload | original function | overloaded function
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

Nota: It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to undefined behaviour.

Basics of Japanese multi-byte encodings

Japanese characters can only be represented by multibyte encodings, and multiple encoding standards are used depending on platform and text purpose. To make matters worse, these encoding standards differ slightly from one another. In order to create a web application which would be usable in a Japanese environment, a developer has to keep these complexities in mind to ensure that the proper character encodings are used.

  • Storage for a character can be up to six bytes

  • Most Japanese multibyte characters appear twice as wide as single-byte characters. These characters are called "zen-kaku" in Japanese, which means "full width". Other, narrower, characters are called "han-kaku", which means "half width". The graphical properties of the characters, however, depends upon the type faces used to display them.

  • Some character encodings use shift(escape) sequences defined in ISO-2022 to switch the code map of the specific code area (00h to 7fh).

  • ISO-2022-JP should be used in SMTP/NNTP, and headers and entities should be reencoded as per RFC requirements. Although those are not requisites, it's still a good idea because several popular user agents cannot recognize any other encoding methods.

  • Web pages created for mobile phone services such as i-mode, Vodafone live!, or EZweb are supposed to use Shift_JIS.

References

Multibyte character encoding schemes and their related issues are fairly complicated, and are beyond the scope of this documentation. Please refer to the following URLs and other resources for further information regarding these topics.

  • Unicode materials

    http://www.unicode.org/

  • Japanese/Korean/Chinese character information

    http://examples.oreilly.com/cjkvinfo/doc/cjk.inf

Summaries of supported encodings

Summaries of supported encodings

Name in the IANA character set registry: ISO-10646-UCS-4

Underlying character set: ISO 10646

Description: The Universal Character Set with 31-bit code space, standardized as UCS-4 by ISO/IEC 10646. It is kept synchronized with the latest version of the Unicode code map.

Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.

Name in the IANA character set registry: ISO-10646-UCS-4

Underlying character set: UCS-4

Description: See above.

Additional note: In contrast to UCS-4, strings are always assumed to be in big endian form.

Name in the IANA character set registry: ISO-10646-UCS-4

Underlying character set: UCS-4

Description: See above.

Additional note: In contrast to UCS-4, strings are always assumed to be in little endian form.

Name in the IANA character set registry: ISO-10646-UCS-2

Underlying character set: UCS-2

Description: The Universal Character Set with 16-bit code space, standardized as UCS-2 by ISO/IEC 10646. It is kept synchronized with the latest version of the unicode code map.

Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.

Name in the IANA character set registry: ISO-10646-UCS-2

Underlying character set: UCS-2

Description: See above.

Additional note: In contrast to UCS-2, strings are always assumed to be in big endian form.

Name in the IANA character set registry: ISO-10646-UCS-2

Underlying character set: UCS-2

Description: See above.

Additional note: In contrast to UCS-2, strings are always assumed to be in little endian form.

Name in the IANA character set registry: UTF-32

Underlying character set: Unicode

Description: Unicode Transformation Format of 32-bit unit width, whose encoding space refers to the Unicode's codeset standard. This encoding scheme wasn't identical to UCS-4 because the code space of Unicode were limited to a 21-bit value.

Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.

Name in the IANA character set registry: UTF-32BE

Underlying character set: Unicode

Description: See above

Additional note: In contrast to UTF-32, strings are always assumed to be in big endian form.

Name in the IANA character set registry: UTF-32LE

Underlying character set: Unicode

Description: See above

Additional note: In contrast to UTF-32, strings are always assumed to be in little endian form.

Name in the IANA character set registry: UTF-16

Underlying character set: Unicode

Description: Unicode Transformation Format of 16-bit unit width. It's worth a note that UTF-16 is no longer the same specification as UCS-2 because the surrogate mechanism has been introduced since Unicode 2.0 and UTF-16 now refers to a 21-bit code space.

Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.

Name in the IANA character set registry: UTF-16BE

Underlying character set: Unicode

Description: See above.

Additional note: In contrast to UTF-16, strings are always assumed to be in big endian form.

Name in the IANA character set registry: UTF-16LE

Underlying character set: Unicode

Description: See above.

Additional note: In contrast to UTF-16, strings are always assumed to be in little endian form.

Name in the IANA character set registry: UTF-8

Underlying character set: Unicode / UCS

Description: Unicode Transformation Format of 8-bit unit width.

Additional note: none

Name in the IANA character set registry: UTF-7

Underlying character set: Unicode

Description: A mail-safe transformation format of Unicode, specified in RFC2152.

Additional note: none

Name in the IANA character set registry: (none)

Underlying character set: Unicode

Description: A variant of UTF-7 which is specialized for use in the IMAP protocol.

Additional note: none

Name in the IANA character set registry: US-ASCII (preferred MIME name) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII

Underlying character set: ASCII / ISO 646

Description: American Standard Code for Information Interchange is a commonly-used 7-bit encoding. Also standardized as an international standard, ISO 646.

Additional note: (none)

Name in the IANA character set registry: EUC-JP (preferred MIME name) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese

Underlying character set: Compound of US-ASCII / JIS X0201:1997 (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990

Description: As you see the name is derived from an abbreviation of Extended UNIX Code Packed Format for Japanese, this encoding is mostly used on UNIX or alike platforms. The original encoding scheme, Extended UNIX Code, is designed on the basis of ISO 2022.

Additional note: The character set referred to by EUC-JP is different to IBM932 / CP932, which are used by OS/2® and Microsoft® Windows®. For information interchange with those platforms, use EUCJP-WIN instead.

Name in the IANA character set registry: Shift_JIS (preferred MIME name) / MS_Kanji / csShift_JIS

Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997

Description: Shift_JIS was developed in early 80's, at the time personal Japanese word processors were brought into the market, in order to maintain compatiblities with the legacy encoding scheme JIS X 0201:1976. According to the IANA definition the codeset of Shift_JIS is slightly different to IBM932 / CP932. However, the names "SJIS" / "Shift_JIS" are often wrongly used to refer to these codesets.

Additional note: For the CP932 codemap, use SJIS-WIN instead.

Name in the IANA character set registry: (none)

Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions

Description: While this "encoding" uses the same encoding scheme as EUC-JP, the underlying character set is different. That is, some code points map to different characters than EUC-JP.

Additional note: none

Name in the IANA character set registry: Windows-31J / csWindows31J

Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions

Description: While this "encoding" uses the same encoding scheme as Shift_JIS, the underlying character set is different. That means some code points map to different characters than Shift_JIS.

Additional note: (none)

Name in the IANA character set registry: ISO-2022-JP (preferred MIME name) / csISO2022JP

Underlying character set: US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983

Description: RFC1468

Additional note: (none)

Name in the IANA character set registry: JIS

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-1

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-2

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-3

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-4

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-5

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-6

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-7

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-8

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-9

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-10

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-13

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-14

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-8859-15

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: byte2be

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: byte2le

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: byte4be

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: byte4le

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: BASE64

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: HTML-ENTITIES

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: 7bit

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: 8bit

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: EUC-CN

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: CP936

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: HZ

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: EUC-TW

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: CP950

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: BIG-5

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: EUC-KR

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: UHC (CP949)

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: ISO-2022-KR

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: Windows-1251 (CP1251)

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: Windows-1252 (CP1252)

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: CP866 (IBM866)

Underlying character set:

Description:

Additional note:

Name in the IANA character set registry: KOI8-R

Underlying character set:

Description:

Additional note:

Tabla de contenidos
mb_check_encoding -- Check if the string is valid for the specified encoding
mb_convert_case -- Perform case folding on a string
mb_convert_encoding -- Convert character encoding
mb_convert_kana -- Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
mb_convert_variables -- Convert character code in variable(s)
mb_decode_mimeheader -- Decode string in MIME header field
mb_decode_numericentity -- Decode HTML numeric string reference to character
mb_detect_encoding -- Detect character encoding
mb_detect_order -- Set/Get character encoding detection order
mb_encode_mimeheader -- Encode string for MIME header
mb_encode_numericentity -- Encode character to HTML numeric string reference
mb_ereg_match -- Regular expression match for multibyte string
mb_ereg_replace -- Replace regular expression with multibyte support
mb_ereg_search_getpos -- Returns start point for next regular expression match
mb_ereg_search_getregs -- Retrieve the result from the last multibyte regular expression match
mb_ereg_search_init -- Setup string and regular expression for multibyte regular expression match
mb_ereg_search_pos -- Return position and length of matched part of multibyte regular expression for predefined multibyte string
mb_ereg_search_regs -- Returns the matched part of multibyte regular expression
mb_ereg_search_setpos -- Set start point of next regular expression match
mb_ereg_search -- Multibyte regular expression match for predefined multibyte string
mb_ereg -- Regular expression match with multibyte support
mb_eregi_replace -- Replace regular expression with multibyte support ignoring case
mb_eregi -- Regular expression match ignoring case with multibyte support
mb_get_info -- Get internal settings of mbstring
mb_http_input -- Detect HTTP input character encoding
mb_http_output -- Set/Get HTTP output character encoding
mb_internal_encoding -- Set/Get internal character encoding
mb_language -- Set/Get current language
mb_list_encodings_alias_names -- Returns an array of all supported alias encodings
mb_list_encodings -- Returns an array of all supported encodings
mb_list_mime_names -- Returns an array or string of all supported mime names
mb_output_handler -- Callback function converts character encoding in output buffer
mb_parse_str -- Parse GET/POST/COOKIE data and set global variable
mb_preferred_mime_name -- Get MIME charset string
mb_regex_encoding -- Returns current encoding for multibyte regex as string
mb_regex_set_options -- Set/Get the default options for mbregex functions
mb_send_mail -- Send encoded mail
mb_split -- Split multibyte string using regular expression
mb_strcut -- Get part of string
mb_strimwidth -- Get truncated string with specified width
mb_stripos -- Finds position of first occurrence of a string within another, case insensitive
mb_stristr -- Finds first occurrence of a string within another, case insensitive
mb_strlen -- Get string length
mb_strpos -- Find position of first occurrence of string in a string
mb_strrchr -- Finds the last occurrence of a character in a string within another
mb_strrichr -- Finds the last occurrence of a character in a string within another, case insensitive
mb_strripos -- Finds position of last occurrence of a string within another, case insensitive
mb_strrpos -- Find position of last occurrence of a string in a string
mb_strstr -- Finds first occurrence of a string within another
mb_strtolower -- Make a string lowercase
mb_strtoupper -- Make a string uppercase
mb_strwidth -- Return width of string
mb_substitute_character -- Set/Get substitution character
mb_substr_count -- Count the number of substring occurrences
mb_substr -- Get part of string

Anterior | Inicio | Siguiente
msql | Subir | mb_check_encoding


mb_convert_case

(PHP 4 >= 4.3.0, PHP 5)

mb_convert_case -- Perform case folding on a string

Description

string mb_convert_case ( string str, int mode [, string encoding] )

mb_convert_case() returns case folded version of string converted in the way specified by mode.

mode can be one of MB_CASE_UPPER, MB_CASE_LOWER or MB_CASE_TITLE.

encoding specifies the encoding of str; if omitted, the internal character encoding value will be used.

The return value is str with the appropriate case folding applied.

By contrast to the standard case folding functions such as strtolower() and strtoupper(), case folding is performed on the basis of the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

For more information about the Unicode properties, please see http://www.unicode.org/unicode/reports/tr21/.

Ejemplo 1. mb_convert_case() example

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints Mary Had A Little Lamb And She Loved It So
?>

See also mb_strtolower(),
mb_strtoupper(),
strtolower(),
strtoupper(),
ucfirst(), y
ucwords()

Anterior | Inicio | Siguiente
mb_check_encoding | Subir | mb_convert_encoding


mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_encoding -- Convert character encoding

Description

string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )

mb_convert_encoding() converts character encoding of string str from from_encoding to to_encoding.

str : String to be converted.

from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. If it is not specified, the internal encoding will be used.

Ejemplo 1. mb_convert_encoding() example

<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

See also mb_detect_order().

Anterior | Inicio | Siguiente
mb_convert_case | Subir | mb_convert_kana


mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_kana -- Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

Description

string mb_convert_kana ( string str [, string option [, string encoding]] )

mb_convert_kana() performs "han-kaku" - "zen-kaku" conversion for string str. It returns converted string. This function is only useful for Japanese.

option is conversion option. Default value is "KV".

encoding is character encoding. If it is omitted, internal character encoding is used.

Specify with combination of following options. Default value is KV.

Tabla 1. Applicable Conversion Options

Option | Meaning
r | Convert "zen-kaku" alphabets to "han-kaku"
R | Convert "han-kaku" alphabets to "zen-kaku"
n | Convert "zen-kaku" numbers to "han-kaku"
N | Convert "han-kaku" numbers to "zen-kaku"
a | Convert "zen-kaku" alphabets and numbers to "han-kaku"
A | Convert "han-kaku" alphabets and numbers to "zen-kaku" (Characters included in "a", "A" options are U+0021 - U+007E excluding U+0022, U+0027, U+005C, U+007E)
s | Convert "zen-kaku" space to "han-kaku" (U+3000 -> U+0020)
S | Convert "han-kaku" space to "zen-kaku" (U+0020 -> U+3000)
k | Convert "zen-kaku kata-kana" to "han-kaku kata-kana"
K | Convert "han-kaku kata-kana" to "zen-kaku kata-kana"
h | Convert "zen-kaku hira-gana" to "han-kaku kata-kana"
H | Convert "han-kaku kata-kana" to "zen-kaku hira-gana"
c | Convert "zen-kaku kata-kana" to "zen-kaku hira-gana"
C | Convert "zen-kaku hira-gana" to "zen-kaku kata-kana"
V | Collapse voiced sound notation and convert them into a character. Use with "K","H"

Ejemplo 1. mb_convert_kana() example

<?php
/* Convert all "kana" to "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convert "han-kaku" "kata-kana" to "zen-kaku" "kata-kana"
   and "zen-kaku" alpha-numeric to "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>

Anterior | Inicio | Siguiente
mb_convert_encoding | Subir | mb_convert_variables


mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_variables -- Convert character code in variable(s)

Description

string mb_convert_variables ( string to_encoding, mixed from_encoding, mixed &vars [, mixed &...] )

mb_convert_variables() convert character encoding of variables vars in encoding from_encoding to encoding to_encoding. It returns character encoding before conversion for success, FALSE for failure.

mb_convert_variables() join strings in Array or Object to detect encoding, since encoding detection tends to fail for short strings. Therefore, it is impossible to mix encoding in single array or object.

It from_encoding is specified by array or comma separated string, it tries to detect encoding from from-coding. When encoding is omitted, detect_order is used.

vars (3rd and larger) is reference to variable to be converted. String, Array and Object are accepted. mb_convert_variables() assumes all parameters have the same encoding.

Ejemplo 1. mb_convert_variables() example

<?php
/* Convert variables $post1, $post2 to internal encoding */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

Anterior | Inicio | Siguiente
mb_convert_kana | Subir | mb_decode_mimeheader


mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_mimeheader -- Decode string in MIME header field

Description

string mb_decode_mimeheader ( string str )

mb_decode_mimeheader() decodes encoded-word string str in MIME header.

It returns decoded string in internal character encoding.

See also mb_encode_mimeheader().

Anterior | Inicio | Siguiente
mb_convert_variables | Subir | mb_decode_numericentity


mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_numericentity -- Decode HTML numeric string reference to character

Description

string mb_decode_numericentity ( string str, array convmap [, string encoding] )

Convert numeric string reference of string str in specified block to character. It returns converted string.

convmap is array to specifies code area to convert.

encoding is character encoding. If it is omitted, internal character encoding is used.

Ejemplo 1. convmap example

$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN,
// then convert value to numeric string reference.

See also mb_encode_numericentity().

Anterior | Inicio | Siguiente
mb_decode_mimeheader | Subir | mb_detect_encoding


mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_encoding -- Detect character encoding

Description

string mb_detect_encoding ( string str [, mixed encoding_list [, bool strict]] )

mb_detect_encoding() detects character encoding in string str. It returns detected character encoding.

encoding_list is list of character encoding. Encoding order may be specified by array or comma separated list string.

If encoding_list is omitted, detect_order is used.

strict specifies whether to use the strict encoding detection or not. Default is FALSE.

Ejemplo 1. mb_detect_encoding() example

<?php
/* Detect character encoding with current detect_order */
echo mb_detect_encoding($str);

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
echo mb_detect_encoding($str, "auto");

/* Specify encoding_list character encoding by comma separated list */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Use array to specify encoding_list  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

See also mb_detect_order().

Anterior | Inicio | Siguiente
mb_decode_numericentity | Subir | mb_detect_order


mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_order -- Set/Get character encoding detection order

Description

mixed mb_detect_order ( [mixed encoding_list] )

mb_detect_order() sets automatic character encoding detection order to encoding_list. It returns TRUE for success, FALSE for failure.

encoding_list is array or comma separated list of character encoding. ("auto" is expanded to "ASCII, JIS, UTF-8, EUC-JP, SJIS")

If encoding_list is omitted, it returns current character encoding detection order as array.

This setting affects mb_detect_encoding() and mb_send_mail().

Nota: mbstring currently implements following encoding detection filters. If there is an invalid byte sequence for following encoding, encoding detection will fail.

Nota: UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

For ISO-8859-*, mbstring always detects as ISO-8859-*.

For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.

Ejemplo 1. Useless detect order example

; Always detect as ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Always detect as UTF-8, since ASCII/UTF-7 values are
; valid for UTF-8
detect_order = UTF-8, ASCII, UTF-7

Ejemplo 2. mb_detect_order() examples

<?php
/* Set detection order by enumerated list */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Set detection order by array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Display current detection order */
echo implode(", ", mb_detect_order());
?>

See also mb_internal_encoding(),
mb_http_input(),
mb_http_output() and
mb_send_mail().

Anterior | Inicio | Siguiente
mb_detect_encoding | Subir | mb_encode_mimeheader


mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader -- Encode string for MIME header

Description

string mb_encode_mimeheader ( string str [, string charset [, string transfer_encoding [, string linefeed [, string indent]]]] )

mb_encode_mimeheader() encodes a given string str by the MIME header encoding scheme. Returns a converted version of the string represented in ASCII.

charset specifies the name of the character set in which str is represented in. The default value is determined by the current NLS setting (mbstring.language).

transfer_encoding specifies the scheme of MIME encoding. It should be either "B" (Base64) or "Q" (Quoted-Printable). Falls back to "B" if not given.

linefeed specifies the EOL (end-of-line) marker with which mb_encode_mimeheader() performs line-folding (a RFC term, the act of breaking a line longer than a certain length into multiple lines. The length is currently hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not given.

Ejemplo 1. mb_encode_mimeheader() example

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

Nota: This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.

The indent was added as of PHP 5.

See also mb_decode_mimeheader().

Anterior | Inicio | Siguiente
mb_detect_order | Subir | mb_encode_numericentity


mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_numericentity -- Encode character to HTML numeric string reference

Description

string mb_encode_numericentity ( string str, array convmap [, string encoding] )

mb_encode_numericentity() converts specified character codes in string str from HTML numeric character reference to character code. It returns converted string.

convmap is array specifies code area to convert.

encoding is character encoding.

Ejemplo 1. convmap example

$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN, then
// it converts value to numeric string reference.

Ejemplo 2. mb_encode_numericentity() example

<?php
/* Convert Left side of ISO-8859-1 to HTML numeric character reference */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convert user defined SJIS-win code in block 95-104 to numeric
   string reference */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

See also mb_decode_numericentity().

Anterior | Inicio | Siguiente
mb_encode_mimeheader | Subir | mb_ereg_match


mb_ereg_match

(PHP 4 >= 4.2.0)

mb_ereg_match -- Regular expression match for multibyte string

Description

bool mb_ereg_match ( string pattern, string string [, string option] )

mb_ereg_match() returns TRUE if string matches regular expression pattern, FALSE if not.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg().

Anterior | Inicio | Siguiente
mb_encode_numericentity | Subir | mb_ereg_replace


mb_ereg_replace

(PHP 4 >= 4.2.0)

mb_ereg_replace -- Replace regular expression with multibyte support

Description

string mb_ereg_replace ( string pattern, string replacement, string string [, string option] )

mb_ereg_replace() scans string for matches to pattern, then replaces the matched text with replacement and returns the result string or FALSE on error. Multibyte character can be used in pattern.

Matching condition can be set by option parameter. If i is specified for this parameter, the case will be ignored. If x is specified, white space will be ignored. If m is specified, match will be executed in multiline mode and line break will be included in '.'. If p is specified, match will be executed in POSIX mode, line break will be considered as normal character. If e is specified, replacement string will be evaluated as PHP expression.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_eregi_replace().

Anterior | Inicio | Siguiente
mb_ereg_match | Subir | mb_ereg_search_getpos


mb_ereg_search_getpos

(PHP 4 >= 4.2.0)

mb_ereg_search_getpos -- Returns start point for next regular expression match

Description

int mb_ereg_search_getpos ( void )

mb_ereg_search_getpos() returns
the point to start regular expression match for
mb_ereg_search(),
mb_ereg_search_pos(),
mb_ereg_search_regs(). The position is
represented by bytes from the head of string.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_setpos().

Anterior | Inicio | Siguiente
mb_ereg_replace | Subir | mb_ereg_search_getregs


mb_ereg_search_getregs

(PHP 4 >= 4.2.0)

mb_ereg_search_getregs -- Retrieve the result from the last multibyte regular expression match

Description

array mb_ereg_search_getregs ( void )

mb_ereg_search_getregs() returns an array including the sub-string of matched part by last mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). If there are some maches, the first element will have the matched sub-string, the second element will have the first part grouped with brackets, the third element will have the second part grouped with brackets, and so on. It returns FALSE on error;

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

Anterior | Inicio | Siguiente
mb_ereg_search_getpos | Subir | mb_ereg_search_init


mb_ereg_search_init

(PHP 4 >= 4.2.0)

mb_ereg_search_init -- Setup string and regular expression for multibyte regular expression match

Description

bool mb_ereg_search_init ( string string [, string pattern [, string option]] )

mb_ereg_search_init() sets string and pattern for multibyte regular expression. These values are used for mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). It returns TRUE for success, FALSE for error.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_regs().

Anterior | Inicio | Siguiente
mb_ereg_search_getregs | Subir | mb_ereg_search_pos


mb_ereg_search_pos

(PHP 4 >= 4.2.0)

mb_ereg_search_pos -- Return position and length of matched part of multibyte regular expression for predefined multibyte string

Description

array mb_ereg_search_pos ( [string pattern [, string option]] )

mb_ereg_search_pos() returns an array including position of matched part for multibyte regular expression. The first element of the array will be the beginning of matched part, the second element will be length (bytes) of matched part. It returns FALSE on error.

The string for match is specified by mb_ereg_search_init(). If it is not specified, the previous one will be used.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

Anterior | Inicio | Siguiente
mb_ereg_search_init | Subir | mb_ereg_search_regs


mb_ereg_search_regs

(PHP 4 >= 4.2.0)

mb_ereg_search_regs -- Returns the matched part of multibyte regular expression

Description

array mb_ereg_search_regs ( [string pattern [, string option]] )

mb_ereg_search_regs() executes the multibyte regular expression match, and if there are some matched part, it returns an array including substring of matched part as first element, the first grouped part with brackets as second element, the second grouped part as third element, and so on. It returns FALSE on error.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

Anterior | Inicio | Siguiente
mb_ereg_search_pos | Subir | mb_ereg_search_setpos


mb_ereg_search_setpos

(PHP 4 >= 4.2.0)

mb_ereg_search_setpos -- Set start point of next regular expression match

Description

bool mb_ereg_search_setpos ( int position )

mb_ereg_search_setpos() sets the starting point of match for mb_ereg_search().

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

Anterior | Inicio | Siguiente
mb_ereg_search_regs | Subir | mb_ereg_search


mb_ereg_search

(PHP 4 >= 4.2.0)

mb_ereg_search -- Multibyte regular expression match for predefined multibyte string

Description

bool mb_ereg_search ( [string pattern [, string option]] )

mb_ereg_search() returns TRUE if the multibyte string matches with the regular expression, FALSE for otherwise. The string for matching is set by mb_ereg_search_init(). If pattern is not specified, the previous one is used.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

Anterior | Inicio | Siguiente
mb_ereg_search_setpos | Subir | mb_ereg


mb_ereg

(PHP 4 >= 4.2.0)

mb_ereg -- Regular expression match with multibyte support

Description

int mb_ereg ( string pattern, string string [, array regs] )

mb_ereg() executes the regular expression match with multibyte support, and returns 1 if matches are found. If the optional third parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The functions returns 1 if it matches with the empty string. If no matches found or error happend, FALSE will be returned.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_eregi()

Anterior | Inicio | Siguiente
mb_ereg_search | Subir | mb_eregi_replace


mb_eregi_replace

(PHP 4 >= 4.2.0)

mb_eregi_replace -- Replace regular expression with multibyte support ignoring case

Description

string mb_eregi_replace ( string pattern, string replace, string string [, string option] )

mb_ereg_replace() scans string for matches to pattern, then replaces the matched text with replacement and returns the result string or FALSE on error. Multibyte character can be used in pattern. The case will be ignored. option has the same meaning as in mb_ereg_replace().

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_replace().

Anterior | Inicio | Siguiente
mb_ereg | Subir | mb_eregi


mb_eregi

(PHP 4 >= 4.2.0)

mb_eregi -- Regular expression match ignoring case with multibyte support

Description

int mb_eregi ( string pattern, string string [, array regs] )

mb_eregi() executes the regular expression match with multibyte support, and returns 1 if matches are found. This function ignore case. If the optional third parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The functions returns 1 if it matches with the empty string. If no matches found or error happend, FALSE will be returned.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg().

Anterior | Inicio | Siguiente
mb_eregi_replace | Subir | mb_get_info


mb_get_info

(PHP 4 >= 4.2.0, PHP 5)

mb_get_info -- Get internal settings of mbstring

Description

mixed mb_get_info ( [string type] )

mb_get_info() returns internal setting parameter of mbstring.

If type isn't specified or is specified to "all", an array having the elements "internal_encoding", "http_output", "http_input", "func_overload", "mail_charset", "mail_header_encoding", "mail_body_encoding" will be returned. The last three elements are available since PHP 5.1.3.

If type is specified for "http_output", "http_input", "internal_encoding", "func_overload", the specified setting parameter will be returned.

See also mb_internal_encoding(), mb_http_output().

Anterior | Inicio | Siguiente
mb_eregi | Subir | mb_http_input


mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_input -- Detect HTTP input character encoding

Description

mixed mb_http_input ( [string type] )

mb_http_input() returns result of HTTP input character encoding detection.

type: Input string specifies input type. "G" for GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, "I" for whole list (will return array). If type is omitted, it returns last input type processed.

Return Value: Character encoding name. If mb_http_input() does not process specified HTTP input, it returns FALSE.

See also mb_internal_encoding(),
mb_http_output(),
mb_detect_order().

Anterior | Inicio | Siguiente
mb_get_info | Subir | mb_http_output


mb_http_output

(PHP 4 >= 4.0.6, PHP 5)

mb_http_output -- Set/Get HTTP output character encoding

Description

mixed mb_http_output ( [string encoding] )

If encoding is set, mb_http_output() sets HTTP output character encoding to encoding. Output after this function is converted to encoding. mb_http_output() returns TRUE for success and FALSE for failure.

If encoding is omitted, mb_http_output() returns current HTTP output character encoding.

See also mb_internal_encoding(),
mb_http_input(),
mb_detect_order().

Anterior | Inicio | Siguiente
mb_http_input | Subir | mb_internal_encoding


mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_internal_encoding -- Set/Get internal character encoding

Description

mixed mb_internal_encoding ( [string encoding] )

mb_internal_encoding() sets internal character encoding to encoding If parameter is omitted, it returns current internal encoding.

encoding is used for HTTP input character encoding conversion, HTTP output character encoding conversion and default character encoding for string functions defined by mbstring module.

encoding: Character encoding name

Return Value: If encoding is set,mb_internal_encoding() returns TRUE for success, otherwise returns FALSE. If encoding is omitted, it returns current character encoding name.

Ejemplo 1. mb_internal_encoding() example

<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");

/* Display current internal character encoding */
echo mb_internal_encoding();
?>

See also mb_http_input(),
mb_http_output() and
mb_detect_order().

Anterior | Inicio | Siguiente
mb_http_output | Subir | mb_language


mb_language

(PHP 4 >= 4.0.6, PHP 5)

mb_language -- Set/Get current language

Description

mixed mb_language ( [string language] )

mb_language() sets language. If language is omitted, it returns current language as string.

language setting is used for encoding e-mail messages. Valid languages are "Japanese", "ja","English","en" and "uni" (UTF-8). mb_send_mail() uses this setting to encode e-mail.

Language and its setting is ISO-2022-JP/Base64 for Japanese, UTF-8/Base64 for uni, ISO-8859-1/quoted printable for English.

Return Value: If language is set and language is valid, it returns TRUE. Otherwise, it returns FALSE. When language is omitted, it returns language name as string. If no language is set previously, it returns FALSE.

See also mb_send_mail().

Anterior | Inicio | Siguiente
mb_internal_encoding | Subir | mb_list_encodings_alias_names


mb_list_encodings

(PHP 5)

mb_list_encodings -- Returns an array of all supported encodings

Description

array mb_list_encodings ( void )

mb_list_encodings() returns an array with all supported encodings.

Ejemplo 1. mb_list_encodings() example

<?php

print_r(mb_list_encodings());

?>

El resultado del ejemplo seria:

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)

Anterior | Inicio | Siguiente
mb_list_encodings_alias_names | Subir | mb_list_mime_names


mb_output_handler

(PHP 4 >= 4.0.6, PHP 5)

mb_output_handler -- Callback function converts character encoding in output buffer

Description

string mb_output_handler ( string contents, int status )

mb_output_handler() is
ob_start() callback
function. mb_output_handler() converts
characters in output buffer from internal character encoding to
HTTP output character encoding.

4.1.0 or later version, this handler adds charset HTTP header when following conditions are met:

  • Does not set Content-Type by header()

  • Default MIME type begins with text/

  • http_output setting is other than pass

contents : Output buffer contents

status : Output buffer status

Return Value: String converted

Ejemplo 1. mb_output_handler() example

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Nota: If you want to output some binary data such as image from PHP script with PHP 4.3.0 or later, Content-Type: header must be send using header() before any binary data was send to client (e.g. header("Content-Type: image/png")). If Content-Type: header was send, output character encoding conversion will not be performed.

Note that if 'Content-Type: text/*' was send using header(), the sending data is regarded as text, encoding conversion will be performed using character encoding settings.

If you want to output some binary data such as image from PHP script with PHP 4.2.x or earlier, you must set output encoding to "pass" using mb_http_output().

See also ob_start().

Anterior | Inicio | Siguiente
mb_list_mime_names | Subir | mb_parse_str


mb_parse_str

(PHP 4 >= 4.0.6, PHP 5)

mb_parse_str -- Parse GET/POST/COOKIE data and set global variable

Description

bool mb_parse_str ( string encoded_string [, array &result] )

mb_parse_str() parses GET/POST/COOKIE data and sets global variables. Since PHP does not provide raw POST/COOKIE data, it can only used for GET data for now. It preses URL encoded data, detects encoding, converts coding to internal encoding and set values to result array or global variables.

encoded_string: URL encoded data.

result: Array contains decoded and character encoding converted values.

Return Value: It returns TRUE for success or FALSE for failure.

See also mb_detect_order(), mb_internal_encoding().

Anterior | Inicio | Siguiente
mb_output_handler | Subir | mb_preferred_mime_name


mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5)

mb_preferred_mime_name -- Get MIME charset string

Description

string mb_preferred_mime_name ( string encoding )

mb_preferred_mime_name() returns MIME charset string for character encoding encoding. It returns charset string.

Ejemplo 1. mb_preferred_mime_string() example

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>

Anterior | Inicio | Siguiente
mb_parse_str | Subir | mb_regex_encoding


mb_regex_encoding

(PHP 4 >= 4.2.0)

mb_regex_encoding -- Returns current encoding for multibyte regex as string

Description

mixed mb_regex_encoding ( [string encoding] )

mb_regex_encoding() returns the character encoding used by multibyte regex functions.

If the optional parameter encoding is specified, it is set to the character encoding for multibyte regex. The default value is the internal character encoding.

See also: mb_internal_encoding(), mb_ereg()

Anterior | Inicio | Siguiente
mb_preferred_mime_name | Subir | mb_regex_set_options


mb_regex_set_options

(PHP 4 >= 4.3.0)

mb_regex_set_options -- Set/Get the default options for mbregex functions

Description

string mb_regex_set_options ( [string options] )

mb_regex_set_options() sets the default options described by options for multibyte regex functions.

Returns the previous options. If options is omitted, it returns the string that describes the current options.

See also
mb_split(),
mb_ereg() and
mb_eregi()

Anterior | Inicio | Siguiente
mb_regex_encoding | Subir | mb_send_mail


mb_send_mail

(PHP 4 >= 4.0.6, PHP 5)

mb_send_mail -- Send encoded mail

Description

bool mb_send_mail ( string to, string subject, string message [, string additional_headers [, string additional_parameter]] )

mb_send_mail() sends email. Headers and
message are converted and encoded according to
mb_language() setting.
mb_send_mail() is wrapper
function of mail(). See
mail() for details.

to is mail addresses send to. Multiple recipients can be specified by putting a comma between each address in to. This parameter is not automatically encoded.

subject is subject of mail.

message is mail message.

additional_headers is inserted at the end of the header. This is typically used to add extra headers. Multiple extra headers are separated with a newline ("\n").

Nota: Content-Type and Content-Transfer-Encoding headers can be redefined as of PHP 5.0.0. In PHP 4, values defined by mb_language() are always used.

additional_parameter is a MTA command line parameter. It is useful when setting the correct Return-Path header when using sendmail.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also mail(),
mb_encode_mimeheader(), and
mb_language().

Anterior | Inicio | Siguiente
mb_regex_set_options | Subir | mb_split


mb_split

(PHP 4 >= 4.2.0)

mb_split -- Split multibyte string using regular expression

Description

array mb_split ( string pattern, string string [, int limit] )

mb_split() split multibyte string using regular expression pattern and returns the result as an array.

If optional parameter limit is specified, it will be split in limit elements as maximum.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg().

Anterior | Inicio | Siguiente
mb_send_mail | Subir | mb_strcut


mb_strcut

(PHP 4 >= 4.0.6, PHP 5)

mb_strcut -- Get part of string

Description

string mb_strcut ( string str, int start [, int length [, string encoding]] )

mb_strcut() returns the portion of str specified by the start and length parameters.

mb_strcut() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character.

It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.

encoding is character encoding. If it is not set, internal character encoding is used.

See also mb_substr(), mb_internal_encoding().

Anterior | Inicio | Siguiente
mb_split | Subir | mb_strimwidth


mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidth -- Get truncated string with specified width

Description

string mb_strimwidth ( string str, int start, int width [, string trimmarker [, string encoding]] )

mb_strimwidth() truncates string str to specified width. It returns truncated string.

If trimmarker is set, trimmarker is appended to return value.

start is start position offset. Number of characters from the beginning of string. (First character is 0)

trimmarker is string that is added to the end of string when string is truncated.

encoding is character encoding. If it is omitted, internal encoding is used.

Ejemplo 1. mb_strimwidth() example

<?php
$str = mb_strimwidth($str, 0, 40, "..>");
?>

See also mb_strwidth() and mb_internal_encoding().

Anterior | Inicio | Siguiente
mb_strcut | Subir | mb_stripos


mb_strlen

(PHP 4 >= 4.0.6, PHP 5)

mb_strlen -- Get string length

Description

int mb_strlen ( string str [, string encoding] )

mb_strlen() returns number of characters in string str having character encoding encoding. A multi-byte character is counted as 1.

encoding is character encoding for str. If encoding is omitted, internal character encoding is used.

See also mb_internal_encoding(), strlen().

Anterior | Inicio | Siguiente
mb_stristr | Subir | mb_strpos


mb_strpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strpos -- Find position of first occurrence of string in a string

Description

int mb_strpos ( string haystack, string needle [, int offset [, string encoding]] )

mb_strpos() returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

mb_strpos() performs multi-byte safe strpos() operation based on number of characters. needle position is counted from the beginning of the haystack. First character's position is 0. Second character position is 1, and so on.

If encoding is omitted, internal character encoding is used.

offset is search offset. If it is not specified, 0 is used.

encoding is character encoding name. If it is omitted, internal character encoding is used.

See also mb_strrpos(),
mb_internal_encoding(),
strpos()

Anterior | Inicio | Siguiente
mb_strlen | Subir | mb_strrchr


mb_strrpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strrpos -- Find position of last occurrence of a string in a string

Descripción

int mb_strrpos ( string haystack, string needle [, int offset [, string encoding]] )

mb_strrpos() returns the numeric position of the last occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

mb_strrpos() performs multi-byte safe strrpos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1.

If encoding is omitted, internal encoding is assumed.

encoding is character encoding. If it is not specified, internal character encoding is used.

Nota: As of PHP 5.2.0 offset may be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.

Nota: As of PHP 5.2.0 encoding can be specified as the third parameter for backward compatibility, but not recommended. It is deprecated and will be removed from the future release of PHP.

Registro de cambios

Versión | Descripción
5.2.0 | Added the optional parameter offset.

Ver también

mb_strpos()
mb_internal_encoding()
strrpos()

Anterior | Inicio | Siguiente
mb_strripos | Subir | mb_strstr


mb_strtolower

(PHP 4 >= 4.3.0, PHP 5)

mb_strtolower -- Make a string lowercase

Description

string mb_strtolower ( string str [, string encoding] )

mb_strtolower() returns str with all alphabetic characters converted to lowercase.

encoding specifies the encoding of str; if omitted, the internal character encoding value will be used.

For more information about the Unicode properties, please see http://www.unicode.org/unicode/reports/tr21/.

By contrast to strtolower(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

Ejemplo 1. mb_strtolower() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>

See also strtolower(),
mb_strtoupper() and
mb_convert_case().

Anterior | Inicio | Siguiente
mb_strstr | Subir | mb_strtoupper


mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5)

mb_strtoupper -- Make a string uppercase

Description

string mb_strtoupper ( string str [, string encoding] )

mb_strtoupper() returns str with all alphabetic characters converted to uppercase.

encoding specifies the encoding of str; if omitted, the internal character encoding value will be used.

By contrast to strtoupper(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as a-umlaut (ä).

For more information about the Unicode properties, please see http://www.unicode.org/unicode/reports/tr21/.

Ejemplo 1. mb_strtoupper() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtoupper($str);
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

See also strtoupper(),
mb_strtolower() and
mb_convert_case().

Anterior | Inicio | Siguiente
mb_strtolower | Subir | mb_strwidth


mb_strwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strwidth -- Return width of string

Description

int mb_strwidth ( string str [, string encoding] )

mb_strwidth() returns width of string str.

Multi-byte character usually twice of width compare to single byte character.

Tabla 1. Characters width

Chars | Width
U+0000 - U+0019 | 0
U+0020 - U+1FFF | 1
U+2000 - U+FF60 | 2
U+FF61 - U+FF9F | 1
U+FFA0 - | 2

encoding is character encoding. If it is omitted, internal encoding is used.

See also: mb_strimwidth(), mb_internal_encoding().

Anterior | Inicio | Siguiente
mb_strtoupper | Subir | mb_substitute_character


mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5)

mb_substitute_character -- Set/Get substitution character

Description

mixed mb_substitute_character ( [mixed substrchar] )

mb_substitute_character() specifies substitution character when input character encoding is invalid or character code is not exist in output character encoding. Invalid characters may be substituted NULL(no output), string or integer value (Unicode character code value).

This setting affects mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler(),
and mb_send_mail().

substchar : Specify Unicode value as integer or specify as string as follows

  • "none" : no output

  • "long" : Output character code value (Example: U+3000,JIS+7E7E)

Return Value: If substchar is set, it returns TRUE for success, otherwise returns FALSE. If substchar is not set, it returns Unicode value or "none"/"long".

Ejemplo 1. mb_substitute_character() example

<?php
/* Set with Unicode U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Set hex format */
mb_substitute_character("long");

/* Display current setting */
echo mb_substitute_character();
?>

Anterior | Inicio | Siguiente
mb_strwidth | Subir | mb_substr_count


mb_substr_count

(PHP 4 >= 4.3.0, PHP 5)

mb_substr_count -- Count the number of substring occurrences

Description

int mb_substr_count ( string haystack, string needle [, string encoding] )

mb_substr_count() returns the number of times the needle substring occurs in the haystack string.

encoding specifies the encoding for needle and haystack. If omitted, internal character encoding is used.

Ejemplo 1. mb_substr_count() example

<?php
echo mb_substr_count("This is a test", "is"); // prints out 2
?>

See also substr_count(), mb_strpos(), mb_substr().

Anterior | Inicio | Siguiente
mb_substitute_character | Subir | mb_substr


mb_substr

(PHP 4 >= 4.0.6, PHP 5)

mb_substr -- Get part of string

Description

string mb_substr ( string str, int start [, int length [, string encoding]] )

mb_substr() returns the portion of str specified by the start and length parameters.

mb_substr() performs multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.

If encoding is omitted, internal encoding is assumed.

encoding is character encoding. If it is omitted, internal character encoding is used.

See also mb_strcut(), mb_internal_encoding().

Anterior | Inicio | Siguiente
mb_substr_count | Subir | muscat Functions


MCAL functions

Manual de PHP
Anterior Siguiente

LXXXI. MCAL functions

MCAL stands for Modular Calendar Access Library.

Libmcal is a C library for accessing calendars. It's written to be very modular, with plugable drivers. MCAL is the calendar equivalent of the IMAP module for mailboxes.

With mcal support, a calendar stream can be opened much like the mailbox stream with the IMAP support. Calendars can be local file stores, remote ICAP servers, or other formats that are supported by the mcal library.

Calendar events can be pulled up, queried, and stored. There is also support for calendar triggers (alarms) and reoccuring events.

With libmcal, central calendar servers can be accessed and used, removing the need for any specific database or local file programming.

To get these functions to work, you have to compile PHP with --with-mcal. That requires the mcal library to be installed. Grab the latest version from http://mcal.chek.com/ and compile and install it.

The following constants are defined when using the MCAL module: MCAL_SUNDAY, MCAL_MONDAY, MCAL_TUESDAY, MCAL_WEDNESDAY, MCAL_THURSDAY, MCAL_FRIDAY, MCAL_SATURDAY, MCAL_RECUR_NONE, MCAL_RECUR_DAILY, MCAL_RECUR_WEEKLY, MCAL_RECUR_MONTHLY_MDAY, MCAL_RECUR_MONTHLY_WDAY, MCAL_RECUR_YEARLY, MCAL_JANUARY, MCAL_FEBRUARY, MCAL_MARCH, MCAL_APRIL, MCAL_MAY, MCAL_JUNE, MCAL_JULY, MCAL_AUGUGT, MCAL_SEPTEMBER, MCAL_OCTOBER, MCAL_NOVEMBER, and MCAL_DECEMBER. Most of the functions use an internal event structure that is unique for each stream. This alleviates the need to pass around large objects between functions. There are convenience functions for setting, initializing, and retrieving the event structure values.

Tabla de contenidos
mcal_append_event -- Store a new event into an MCAL calendar
mcal_close -- Close an MCAL stream
mcal_create_calendar -- Create a new MCAL calendar
mcal_date_compare -- Compares two dates
mcal_date_valid -- Returns TRUE if the given year, month, day is a valid date
mcal_day_of_week -- Returns the day of the week of the given date
mcal_day_of_year -- Returns the day of the year of the given date
mcal_days_in_month -- Returns the number of days in the given month
mcal_delete_calendar -- Delete an MCAL calendar
mcal_delete_event -- Delete an event from an MCAL calendar
mcal_event_add_attribute -- Adds an attribute and a value to the streams global event structure
mcal_event_init -- Initializes a streams global event structure
mcal_event_set_alarm -- Sets the alarm of the streams global event structure
mcal_event_set_category -- Sets the category of the streams global event structure
mcal_event_set_class -- Sets the class of the streams global event structure
mcal_event_set_description -- Sets the description of the streams global event structure
mcal_event_set_end -- Sets the end date and time of the streams global event structure
mcal_event_set_recur_daily -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_monthly_mday -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_monthly_wday -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_none -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_weekly -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_yearly -- Sets the recurrence of the streams global event structure
mcal_event_set_start -- Sets the start date and time of the streams global event structure
mcal_event_set_title -- Sets the title of the streams global event structure
mcal_expunge -- Deletes all events marked for being expunged
mcal_fetch_current_stream_event -- Returns an object containing the current streams event structure
mcal_fetch_event -- Fetches an event from the calendar stream
mcal_is_leap_year -- Returns if the given year is a leap year or not
mcal_list_alarms -- Return a list of events that has an alarm triggered at the given datetime
mcal_list_events -- Return a list of events between two given datetimes
mcal_next_recurrence -- Returns the next recurrence of the event
mcal_open -- Opens up an MCAL connection
mcal_popen -- Opens up a persistent MCAL connection
mcal_rename_calendar -- Rename an MCAL calendar
mcal_reopen -- Reopens an MCAL connection
mcal_snooze -- Turn off an alarm for an event
mcal_store_event -- Modify an existing event in an MCAL calendar
mcal_time_valid -- Returns TRUE if the given year, month, day is a valid time
mcal_week_of_year -- Returns the week number of the given date

Anterior | Inicio | Siguiente
maxdb_warning_count | Subir | mcal_append_event


mcal_append_event

(PHP 4, PECL)

mcal_append_event -- Store a new event into an MCAL calendar

Description

int mcal_append_event ( int mcal_stream )

mcal_append_event() Stores the global event into an MCAL calendar for the given stream.

Returns the uid of the newly inserted event.

Anterior | Inicio | Siguiente
MCAL functions | Subir | mcal_close


mcal_close

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_close -- Close an MCAL stream

Description

int mcal_close ( int mcal_stream, int flags )

Closes the given mcal stream.

Anterior | Inicio | Siguiente
mcal_append_event | Subir | mcal_create_calendar


mcal_create_calendar

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_create_calendar -- Create a new MCAL calendar

Description

bool mcal_create_calendar ( int stream, string calendar )

Creates a new calendar named calendar.

Anterior | Inicio | Siguiente
mcal_close | Subir | mcal_date_compare


mcal_date_compare

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_date_compare -- Compares two dates

Description

int mcal_date_compare ( int a_year, int a_month, int a_day, int b_year, int b_month, int b_day )

mcal_date_compare() Compares the two given dates, returns <0, 0, >0 if a<b, a==b, a>b respectively

Anterior | Inicio | Siguiente
mcal_create_calendar | Subir | mcal_date_valid


mcal_date_valid

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_date_valid -- Returns TRUE if the given year, month, day is a valid date

Description

int mcal_date_valid ( int year, int month, int day )

mcal_date_valid() Returns TRUE if the given year, month and day is a valid date, FALSE if not.

Anterior | Inicio | Siguiente
mcal_date_compare | Subir | mcal_day_of_week


mcal_day_of_week

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_day_of_week -- Returns the day of the week of the given date

Description

int mcal_day_of_week ( int year, int month, int day )

mcal_day_of_week() returns the day of the week of the given date

Anterior | Inicio | Siguiente
mcal_date_valid | Subir | mcal_day_of_year


mcal_day_of_year

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_day_of_year -- Returns the day of the year of the given date

Description

int mcal_day_of_year ( int year, int month, int day )

mcal_day_of_year() returns the day of the year of the given date

Anterior | Inicio | Siguiente
mcal_day_of_week | Subir | mcal_days_in_month


mcal_days_in_month

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_days_in_month -- Returns the number of days in the given month

Description

int mcal_days_in_month ( int month, int leap year )

mcal_days_in_month() Returns the number of days in the given month, taking into account if the given year is a leap year or not.

Anterior | Inicio | Siguiente
mcal_day_of_year | Subir | mcal_delete_calendar


mcal_delete_calendar

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_delete_calendar -- Delete an MCAL calendar

Description

bool mcal_delete_calendar ( int stream, string calendar )

Deletes the calendar named calendar.

Anterior | Inicio | Siguiente
mcal_days_in_month | Subir | mcal_delete_event


mcal_delete_event

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_delete_event -- Delete an event from an MCAL calendar

Description

int mcal_delete_event ( int uid )

mcal_delete_event() deletes the calendar event specified by the uid.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_delete_calendar | Subir | mcal_event_add_attribute


mcal_event_add_attribute

(PHP 3 >= 3.0.15, PHP 4, PECL)

mcal_event_add_attribute -- Adds an attribute and a value to the streams global event structure

Description

void mcal_event_add_attribute ( int stream, string attribute, string value )

mcal_event_add_attribute() adds an attribute to the stream's global event structure with the value given by "value" .

Anterior | Inicio | Siguiente
mcal_delete_event | Subir | mcal_event_init


mcal_event_init

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_init -- Initializes a streams global event structure

Description

int mcal_event_init ( int stream )

mcal_event_init() initializes a streams global event structure. this effectively sets all elements of the structure to 0, or the default settings.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_add_attribute | Subir | mcal_event_set_alarm


mcal_event_set_alarm

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_alarm -- Sets the alarm of the streams global event structure

Description

int mcal_event_set_alarm ( int stream, int alarm )

mcal_event_set_alarm() sets the streams global event structure's alarm to the given minutes before the event.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_init | Subir | mcal_event_set_category


mcal_event_set_category

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_category -- Sets the category of the streams global event structure

Description

int mcal_event_set_category ( int stream, string category )

mcal_event_set_category() sets the streams global event structure's category to the given string.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_set_alarm | Subir | mcal_event_set_class


mcal_event_set_class

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_class -- Sets the class of the streams global event structure

Description

int mcal_event_set_class ( int stream, int class )

mcal_event_set_class() sets the streams global event structure's class to the given value. The class is either 1 for public, or 0 for private.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_set_category | Subir | mcal_event_set_description


mcal_event_set_description

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_description -- Sets the description of the streams global event structure

Description

int mcal_event_set_description ( int stream, string description )

mcal_event_set_description() sets the streams global event structure's description to the given string.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_set_class | Subir | mcal_event_set_end


mcal_event_set_end

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_end -- Sets the end date and time of the streams global event structure

Description

int mcal_event_set_end ( int stream, int year, int month [, int day [, int hour [, int min [, int sec]]]] )

mcal_event_set_end() sets the streams global event structure's end date and time to the given values.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_set_description | Subir | mcal_event_set_recur_daily


mcal_event_set_recur_daily

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_recur_daily -- Sets the recurrence of the streams global event structure

Description

int mcal_event_set_recur_daily ( int stream, int year, int month, int day, int interval )

mcal_event_set_recur_daily() sets the streams global event structure's recurrence to the given value to be reoccuring on a daily basis, ending at the given date.

Anterior | Inicio | Siguiente
mcal_event_set_end | Subir | mcal_event_set_recur_monthly_mday


mcal_event_set_recur_monthly_mday

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_recur_monthly_mday -- Sets the recurrence of the streams global event structure

Description

int mcal_event_set_recur_monthly_mday ( int stream, int year, int month, int day, int interval )

mcal_event_set_recur_monthly_mday() sets the streams global event structure's recurrence to the given value to be reoccuring on a monthly by month day basis, ending at the given date.

Anterior | Inicio | Siguiente
mcal_event_set_recur_daily | Subir | mcal_event_set_recur_monthly_wday


mcal_event_set_recur_monthly_wday

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_recur_monthly_wday -- Sets the recurrence of the streams global event structure

Description

int mcal_event_set_recur_monthly_wday ( int stream, int year, int month, int day, int interval )

mcal_event_set_recur_monthly_wday() sets the streams global event structure's recurrence to the given value to be reoccuring on a monthly by week basis, ending at the given date.

Anterior | Inicio | Siguiente
mcal_event_set_recur_monthly_mday | Subir | mcal_event_set_recur_none


mcal_event_set_recur_none

(PHP 3 >= 3.0.15, PHP 4, PECL)

mcal_event_set_recur_none -- Sets the recurrence of the streams global event structure

Description

int mcal_event_set_recur_none ( int stream )

mcal_event_set_recur_none() sets the streams global event structure to not recur (event->recur_type is set to MCAL_RECUR_NONE).

Anterior | Inicio | Siguiente
mcal_event_set_recur_monthly_wday | Subir | mcal_event_set_recur_weekly


mcal_event_set_recur_weekly

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_recur_weekly -- Sets the recurrence of the streams global event structure

Description

int mcal_event_set_recur_weekly ( int stream, int year, int month, int day, int interval, int weekdays )

mcal_event_set_recur_weekly() sets the streams global event structure's recurrence to the given value to be reoccuring on a weekly basis, ending at the given date.

Anterior | Inicio | Siguiente
mcal_event_set_recur_none | Subir | mcal_event_set_recur_yearly


mcal_event_set_recur_yearly

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_recur_yearly -- Sets the recurrence of the streams global event structure

Description

int mcal_event_set_recur_yearly ( int stream, int year, int month, int day, int interval )

mcal_event_set_recur_yearly() sets the streams global event structure's recurrence to the given value to be reoccuring on a yearly basis,ending at the given date .

Anterior | Inicio | Siguiente
mcal_event_set_recur_weekly | Subir | mcal_event_set_start


mcal_event_set_start

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_start -- Sets the start date and time of the streams global event structure

Description

int mcal_event_set_start ( int stream, int year, int month [, int day [, int hour [, int min [, int sec]]]] )

mcal_event_set_start() sets the streams global event structure's start date and time to the given values.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_set_recur_yearly | Subir | mcal_event_set_title


mcal_event_set_title

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_event_set_title -- Sets the title of the streams global event structure

Description

int mcal_event_set_title ( int stream, string title )

mcal_event_set_title() sets the streams global event structure's title to the given string.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_event_set_start | Subir | mcal_expunge


mcal_expunge

(no version information, might be only in CVS)

mcal_expunge -- Deletes all events marked for being expunged

Description

bool mcal_expunge ( int stream )

mcal_expunge() deletes all events which have been previously marked for deletion.

Anterior | Inicio | Siguiente
mcal_event_set_title | Subir | mcal_fetch_current_stream_event


mcal_fetch_current_stream_event

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_fetch_current_stream_event -- Returns an object containing the current streams event structure

Description

int mcal_fetch_current_stream_event ( int stream )

mcal_event_fetch_current_stream_event() returns the current stream's event structure as an object containing:

  • int id - ID of that event.

  • int public - TRUE if the event if public, FALSE if it is private.

  • string category - Category string of the event.

  • string title - Title string of the event.

  • string description - Description string of the event.

  • int alarm - number of minutes before the event to send an alarm/reminder.

  • object start - Object containing a datetime entry.

  • object end - Object containing a datetime entry.

  • int recur_type - recurrence type

  • int recur_interval - recurrence interval

  • datetime recur_enddate - recurrence end date

  • int recur_data - recurrence data

All datetime entries consist of an object that contains:

  • int year - year

  • int month - month

  • int mday - day of month

  • int hour - hour

  • int min - minutes

  • int sec - seconds

  • int alarm - minutes before event to send an alarm

Anterior | Inicio | Siguiente
mcal_expunge | Subir | mcal_fetch_event


mcal_fetch_event

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_fetch_event -- Fetches an event from the calendar stream

Description

object mcal_fetch_event ( int mcal_stream, int event_id [, int options] )

mcal_fetch_event() fetches an event from the calendar stream specified by id.

Returns an event object consisting of:

  • int id - ID of that event.

  • int public - TRUE if the event if public, FALSE if it is private.

  • string category - Category string of the event.

  • string title - Title string of the event.

  • string description - Description string of the event.

  • int alarm - number of minutes before the event to send an alarm/reminder.

  • object start - Object containing a datetime entry.

  • object end - Object containing a datetime entry.

  • int recur_type - recurrence type

  • int recur_interval - recurrence interval

  • datetime recur_enddate - recurrence end date

  • int recur_data - recurrence data

All datetime entries consist of an object that contains:

  • int year - year

  • int month - month

  • int mday - day of month

  • int hour - hour

  • int min - minutes

  • int sec - seconds

  • int alarm - minutes before event to send an alarm

Anterior | Inicio | Siguiente
mcal_fetch_current_stream_event | Subir | mcal_is_leap_year


mcal_is_leap_year

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_is_leap_year -- Returns if the given year is a leap year or not

Description

int mcal_is_leap_year ( int year )

mcal_is_leap_year() returns 1 if the given year is a leap year, 1 if not.

Anterior | Inicio | Siguiente
mcal_fetch_event | Subir | mcal_list_alarms


mcal_list_alarms

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_list_alarms -- Return a list of events that has an alarm triggered at the given datetime

Description

array mcal_list_alarms ( int mcal_stream [, int begin_year [, int begin_month [, int begin_day [, int end_year [, int end_month [, int end_day]]]]]] )

Returns an array of event ID's that has an alarm going off between the start and end dates, or if just a stream is given, uses the start and end dates in the global event structure.

mcal_list_events() function takes in an optional beginning date and an end date for a calendar stream. An array of event id's that are between the given dates or the internal event dates are returned.

Anterior | Inicio | Siguiente
mcal_is_leap_year | Subir | mcal_list_events


mcal_list_events

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_list_events -- Return a list of events between two given datetimes

Description

array mcal_list_events ( int mcal_stream [, int begin_year [, int begin_month [, int begin_day [, int end_year [, int end_month [, int end_day]]]]]] )

Returns an array of event ID's that are between the start and end dates, or if just a stream is given, uses the start and end dates in the global event structure.

mcal_list_events() function takes in an optional beginning date and an end date for a calendar stream. An array of event id's that are between the given dates or the internal event dates are returned.

Anterior | Inicio | Siguiente
mcal_list_alarms | Subir | mcal_next_recurrence


mcal_next_recurrence

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_next_recurrence -- Returns the next recurrence of the event

Description

int mcal_next_recurrence ( int stream, int weekstart, array next )

mcal_next_recurrence() returns an object filled with the next date the event occurs, on or after the supplied date. Returns empty date field if event does not occur or something is invalid. Uses weekstart to determine what day is considered the beginning of the week.

Anterior | Inicio | Siguiente
mcal_list_events | Subir | mcal_open


mcal_open

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_open -- Opens up an MCAL connection

Description

int mcal_open ( string calendar, string username, string password, string options )

Returns an MCAL stream on success, FALSE on error.

mcal_open() opens up an MCAL connection to the specified calendar store. If the optional options is specified, passes the options to that mailbox also. The streams internal event structure is also initialized upon connection.

Anterior | Inicio | Siguiente
mcal_next_recurrence | Subir | mcal_popen


mcal_popen

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_popen -- Opens up a persistent MCAL connection

Description

int mcal_popen ( string calendar, string username, string password [, int options] )

Returns an MCAL stream on success, FALSE on error.

mcal_popen() opens up an MCAL connection to the specified calendar store. If the optional options is specified, passes the options to that mailbox also. The streams internal event structure is also initialized upon connection.

Anterior | Inicio | Siguiente
mcal_open | Subir | mcal_rename_calendar


mcal_rename_calendar

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_rename_calendar -- Rename an MCAL calendar

Description

bool mcal_rename_calendar ( int stream, string old_name, string new_name )

Renames the calendar old_name to new_name.

Anterior | Inicio | Siguiente
mcal_popen | Subir | mcal_reopen


mcal_reopen

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_reopen -- Reopens an MCAL connection

Description

bool mcal_reopen ( int mcal_stream, string calendar [, int options] )

Reopens an MCAL stream to a new calendar.

mcal_reopen() reopens an MCAL connection to the specified calendar store. If the optional options is specified, passes the options to that mailbox also.

Anterior | Inicio | Siguiente
mcal_rename_calendar | Subir | mcal_snooze


mcal_snooze

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_snooze -- Turn off an alarm for an event

Description

int mcal_snooze ( int uid )

mcal_snooze() turns off an alarm for a calendar event specified by the uid.

Returns TRUE.

Anterior | Inicio | Siguiente
mcal_reopen | Subir | mcal_store_event


mcal_store_event

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_store_event -- Modify an existing event in an MCAL calendar

Description

int mcal_store_event ( int mcal_stream )

mcal_store_event() Stores the modifications to the current global event for the given stream.

Returns TRUE on success and FALSE on error.

Anterior | Inicio | Siguiente
mcal_snooze | Subir | mcal_time_valid


mcal_time_valid

(PHP 3 >= 3.0.13, PHP 4, PECL)

mcal_time_valid -- Returns TRUE if the given year, month, day is a valid time

Description

int mcal_time_valid ( int hour, int minutes, int seconds )

mcal_time_valid() Returns TRUE if the given hour, minutes and seconds is a valid time, FALSE if not.

Anterior | Inicio | Siguiente
mcal_store_event | Subir | mcal_week_of_year


mcal_week_of_year

(PHP 4, PECL)

mcal_week_of_year -- Returns the week number of the given date

Description

int mcal_week_of_year ( int day, int month, int year )

mcal_week_of_year() returns the week number of the given date.

Anterior | Inicio | Siguiente
mcal_time_valid | Subir | Funciones de Cifrado Mcrypt


Funciones de Cifrado Mcrypt

Manual de PHP
Anterior Siguiente

LXXXII. Funciones de Cifrado Mcrypt

Introducción

Esta es una interfaz con la biblioteca mcrypt, la cual soporta una gran variedad de algoritmos de bloque como DES, TripleDES, Blowfish (por defecto), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 y GOST en los modos de cifrado CBC, OFB, CFB y ECB. Adicionalmente, soporta RC6 e IDEA, los cuales se consideran "no-libres".

Requisitos

Estas funciones trabajan usando mcrypt. Para usar la biblioteca, descargue libmcrypt-x.x.tar.gz desde http://mcrypt.sourceforge.net/ y siga las instrucciones de instalación incluidas. Los usuarios de windows encontrarán todos los binarios compilados de mcrypt que se necesitan en http://ftp.emini.dk/pub/php/win32/mcrypt/.

A partir de PHP 5.0.0, es necesario usar la versión 2.5.6 o superior de libmcrypt.

Si ha enlazado el software contra libmcrypt 2.4.x o versiones superiores, los siguientes algoritmos de bloque adicionales son soportados: CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT y los siguientes cifrados de secuencia: ENIGMA (cifrado), PANAMA, RC4 y WAKE. Con libmcrypt 2.4.x o superior, también se encuentra disponible otro modo de cifrado; nOFB.

Instalación

You need to compile PHP with the --with-mcrypt[=DIR] parameter to enable this extension. DIR is the mcrypt install directory. Make sure you compile libmcrypt with the option --disable-posix-threads.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Mcrypt configuration options

Name | Default | Changeable | Changelog
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Mcrypt can operate in four block cipher modes (CBC, OFB, CFB, and ECB). If linked against libmcrypt-2.4.x or higher the functions can also operate in the block cipher mode nOFB and in STREAM mode. Below you find a list with all supported encryption modes together with the constants that are defines for the encryption mode. For a more complete reference and discussion see Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) is suitable for random data, such as encrypting other keys. Since data there is short and random, the disadvantages of ECB have a favorable negative effect.

  • MCRYPT_MODE_CBC (cipher block chaining) is especially suitable for encrypting files where the security is increased over ECB significantly.

  • MCRYPT_MODE_CFB (cipher feedback) is the best mode for encrypting byte streams where single bytes must be encrypted.

  • MCRYPT_MODE_OFB (output feedback, in 8bit) is comparable to CFB, but can be used in applications where error propagation cannot be tolerated. It's insecure (because it operates in 8bit mode) so it is not recommended to use it.

  • MCRYPT_MODE_NOFB (output feedback, in nbit) is comparable to OFB, but more secure because it operates on the block size of the algorithm.

  • MCRYPT_MODE_STREAM is an extra mode to include some stream algorithms like WAKE or RC4.

Some other mode and random device constants:

MCRYPT_ENCRYPT (integer)

MCRYPT_DECRYPT (integer)

MCRYPT_DEV_RANDOM (integer)

MCRYPT_DEV_URANDOM (integer)

MCRYPT_RAND (integer)

Cifrados mcrypt

Aquí se encuentra una lista de cifrados que son soportados actualmente por la extensión mcrypt. Para una lista completa de los cifrados soportados, consulte las definiciones al final de mcrypt.h. La regla general con la API de mcrypt-2.2.x API es que puede acceder al cifrado desde PHP mediante MCRYPT_nombre_cifrado. Con la API de libmcrypt-2.4.x y libmcrypt-2.5.x API estas constantes funcionan también, pero es posible especificar el nombre del cifrado como una cadena con una llamada a mcrypt_module_open().

  • MCRYPT_3DES

  • MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x únicamente)

  • MCRYPT_ARCFOUR (libmcrypt > 2.4.x únicamente)

  • MCRYPT_BLOWFISH

  • MCRYPT_CAST_128

  • MCRYPT_CAST_256

  • MCRYPT_CRYPT

  • MCRYPT_DES

  • MCRYPT_DES_COMPAT (libmcrypt 2.2.x únicamente)

  • MCRYPT_ENIGMA (libmcrypt > 2.4.x únicamente, alias para MCRYPT_CRYPT)

  • MCRYPT_GOST

  • MCRYPT_IDEA (non-free)

  • MCRYPT_LOKI97 (libmcrypt > 2.4.x únicamente)

  • MCRYPT_MARS (libmcrypt > 2.4.x únicamente, no-libre)

  • MCRYPT_PANAMA (libmcrypt > 2.4.x únicamente)

  • MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x únicamente)

  • MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x únicamente)

  • MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x únicamente)

  • MCRYPT_RC2

  • MCRYPT_RC4 (libmcrypt 2.2.x únicamente)

  • MCRYPT_RC6 (libmcrypt > 2.4.x únicamente)

  • MCRYPT_RC6_128 (libmcrypt 2.2.x únicamente)

  • MCRYPT_RC6_192 (libmcrypt 2.2.x únicamente)

  • MCRYPT_RC6_256 (libmcrypt 2.2.x únicamente)

  • MCRYPT_SAFER64

  • MCRYPT_SAFER128

  • MCRYPT_SAFERPLUS (libmcrypt > 2.4.x únicamente)

  • MCRYPT_SERPENT(libmcrypt > 2.4.x únicamente)

  • MCRYPT_SERPENT_128 (libmcrypt 2.2.x únicamente)

  • MCRYPT_SERPENT_192 (libmcrypt 2.2.x únicamente)

  • MCRYPT_SERPENT_256 (libmcrypt 2.2.x únicamente)

  • MCRYPT_SKIPJACK (libmcrypt > 2.4.x únicamente)

  • MCRYPT_TEAN (libmcrypt 2.2.x únicamente)

  • MCRYPT_THREEWAY

  • MCRYPT_TRIPLEDES (libmcrypt > 2.4.x únicamente)

  • MCRYPT_TWOFISH (para versinos mcrypt 2.x más antiguas, o mcrypt > 2.4.x )

  • MCRYPT_TWOFISH128 (TWOFISHxxx se encuentran disponibles en versiones 2.x más recientes, pero no en las versiones 2.4.x)

  • MCRYPT_TWOFISH192

  • MCRYPT_TWOFISH256

  • MCRYPT_WAKE (libmcrypt > 2.4.x únicamente)

  • MCRYPT_XTEA (libmcrypt > 2.4.x únicamente)

Usted debe (en modos CFB y OFB) o puede (en modo CBC) entregar un vector de inicialización (IV, por sus siglas en inglés) a la respectiva función de cifrado. El IV debe ser único y debe ser el mismo cuando se realice descifrado/cifrado. Con datos que sean almacenados en forma cifrada, usted puede tomar la salida de una función del índice bajo el cual se encuentren almacenados los datos (p.ej. la llave MD5 del nombre de archivo). Alternativamente, puede transmitir el IV junto con los datos cifrados (vea el capítulo 9.3 de Applied Cryptography by Schneier (ISBN 0-471-11709-9) para una discusión de este tópico).

Ejemplos

Mcrypt puede usarse para cifrar y descifrar usando los cifrados mencionados anteriormente. Si ha enlazado el software contra libmcrypt-2.2.x, los cuatro comandos importantes de mcrypt (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), y mcrypt_ofb()) pueden operar en ambos modos, los cuales son llamados MCRYPT_ENCRYPT y MCRYPT_DECRYPT, respectivamente.

Ejemplo 1. Cifrar un valor de entrada con TripleDES bajo 2.2.x en modo ECB

<?php
$llave = "esta es una llave secreta";
$entrada = "Encontrémonos a las 9 en punto en el lugar secreto.";

$datos_cifrados = mcrypt_ecb (MCRYPT_3DES, $llave, $entrada, MCRYPT_ENCRYPT);
?>
Este ejemplo le entregará los datos cifrados como una cadena en $datos_cifrados.

Si ha enlazado el software contra libmcrypt 2.4.x o 2.5.x, éstas funciones aun están disponibles, pero es recomendable que use las funciones avanzadas.

Ejemplo 2. Encriptar un valor de entrada con TripleDES bajo 2.4.x y versiones superiores, en modo ECB

<?php
    $llave = "esta es una llave secreta";
    $entrada = "Encontrémonos a las 9 en punto en el lugar secreto.";

    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $llave, $iv);
    $datos_cifrados = mcrypt_generic($td, $entrada);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
?>
Este ejemplo le entregará los datos cifrados como una cadena en $datos_cifrados. Para un ejemplo completo, consulte mcrypt_module_open().

Tabla de contenidos
mcrypt_cbc -- Encripta/desencripta datos en modo CBC
mcrypt_cfb -- Encripta/desencripta datos en modo CFB
mcrypt_create_iv -- Crea un vector de inicialización (IV) a partir de una fuente aleatoria
mcrypt_decrypt -- Decrypts crypttext with given parameters
mcrypt_ecb -- Encripta/desencripta datos en modo ECB
mcrypt_enc_get_algorithms_name -- Returns the name of the opened algorithm
mcrypt_enc_get_block_size -- Returns the blocksize of the opened algorithm
mcrypt_enc_get_iv_size -- Returns the size of the IV of the opened algorithm
mcrypt_enc_get_key_size -- Returns the maximum supported keysize of the opened mode
mcrypt_enc_get_modes_name -- Returns the name of the opened mode
mcrypt_enc_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm
mcrypt_enc_is_block_algorithm_mode -- Checks whether the encryption of the opened mode works on blocks
mcrypt_enc_is_block_algorithm -- Checks whether the algorithm of the opened mode is a block algorithm
mcrypt_enc_is_block_mode -- Checks whether the opened mode outputs blocks
mcrypt_enc_self_test -- This function runs a self test on the opened module
mcrypt_encrypt -- Encrypts plaintext with given parameters
mcrypt_generic_deinit -- This function deinitializes an encryption module
mcrypt_generic_end -- This function terminates encryption
mcrypt_generic_init -- This function initializes all buffers needed for encryption
mcrypt_generic -- This function encrypts data
mcrypt_get_block_size -- Obtiene el tamaño de bloque del cifrado indicado
mcrypt_get_cipher_name -- Obtiene el nombre del cifrado especificado
mcrypt_get_iv_size -- Returns the size of the IV belonging to a specific cipher/mode combination
mcrypt_get_key_size -- Obtiene el tamaño de la clave de un cifrado
mcrypt_list_algorithms -- Get an array of all supported ciphers
mcrypt_list_modes -- Get an array of all supported modes
mcrypt_module_close -- Close the mcrypt module
mcrypt_module_get_algo_block_size -- Returns the blocksize of the specified algorithm
mcrypt_module_get_algo_key_size -- Returns the maximum supported keysize of the opened mode
mcrypt_module_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm
mcrypt_module_is_block_algorithm_mode -- Returns if the specified module is a block algorithm or not
mcrypt_module_is_block_algorithm -- This function checks whether the specified algorithm is a block algorithm
mcrypt_module_is_block_mode -- Returns if the specified mode outputs blocks or not
mcrypt_module_open -- Opens the module of the algorithm and the mode to be used
mcrypt_module_self_test -- This function runs a self test on the specified module
mcrypt_ofb -- Encripta/desencripta datos en modo OFB
mdecrypt_generic -- Decrypt data

Anterior | Inicio | Siguiente
mcal_week_of_year | Subir | mcrypt_cbc


mcrypt_cbc

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_cbc -- Encripta/desencripta datos en modo CBC

Descripción

int mcrypt_cbc ( int cipher, string key, string data, int mode [, string iv] )

mcrypt_cbc() encripta o desencripta (dependiendo de mode) los datos data con el cifrado cipher y la clave key en el modo de cifrado CBC y devuelve la cadena resultante.

El parámetro cipher es una de las constantes con nombre MCRYPT_nombrecifrado.

key es la clave suministrada al algoritmo. Debe guardarse en secreto.

data son los datos que serán encriptados/desencriptados.

mode es MCRYPT_ENCRYPT o MCRYPT_DECRYPT.

iv es el vector de inicialización opcional.

Ver también:
mcrypt_cfb(),
mcrypt_ecb(),
mcrypt_ofb()

Anterior | Inicio | Siguiente
Funciones de Cifrado Mcrypt | Subir | mcrypt_cfb


mcrypt_cfb

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_cfb -- Encripta/desencripta datos en modo CFB

Descripción

int mcrypt_cfb ( int cipher, string key, string data, int mode, string iv )

mcrypt_cfb() encripta o desencripta (dependiendo de mode) los datos data con el cifrado cipher y la clave key en el modo de cifrado CFB y devuelve la cadena resultante.

El parámetro cipher es una de las constantes con nombre MCRYPT_nombrecifrado.

key es la clave suministrada al algoritmo. Debe guardarse en secreto.

data son los datos que serán encriptados/desencriptados.

mode es MCRYPT_ENCRYPT o MCRYPT_DECRYPT.

iv es el vector de inicialización.

Ver también:
mcrypt_cbc(),
mcrypt_ecb(),
mcrypt_ofb()

Anterior | Inicio | Siguiente
mcrypt_cbc | Subir | mcrypt_create_iv


mcrypt_create_iv

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_create_iv -- Crea un vector de inicialización (IV) a partir de una fuente aleatoria

Descripción

string mcrypt_create_iv ( int size, int source )

mcrypt_create_iv() se usa para crear un IV.

mcrypt_create_iv() toma dos argumentos, size determina el tamaño del IV, source especifica la fuente del IV.

La fuente puede ser MCRYPT_RAND (generador de números aleatorios del sistema), MCRYPT_DEV_RANDOM (que lee datos de /dev/random) y MCRYPT_DEV_URANDOM (que lee datos de /dev/urandom). Si usas MCRYPT_RAND, asegurate de llamar antes a srand() para inicializar el generador de números aleatorios.

Ejemplo 1. Ejemplo de mcrypt_create_iv

<?php
$cipher = MCRYPT_TripleDES;
$block_size = mcrypt_get_block_size($cipher);
$iv = mcrypt_create_iv($block_size, MCRYPT_DEV_RANDOM);
?>

Anterior | Inicio | Siguiente
mcrypt_cfb | Subir | mcrypt_decrypt


mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_decrypt -- Decrypts crypttext with given parameters

Description

string mcrypt_decrypt ( string cipher, string key, string data, string mode [, string iv] )

mcrypt_decrypt() decrypts the data and returns the unencrypted data.

Cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

Key is the key with which the data is encrypted. If it's smaller that the required keysize, it is padded with '\0'.

Data is the data that will be decrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

Mode is one of the MCRYPT_MODE_modename constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

The IV parameter is used for the initialisation in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all bytes set to '\0'.

Anterior | Inicio | Siguiente
mcrypt_create_iv | Subir | mcrypt_ecb


mcrypt_ecb

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_ecb -- Encripta/desencripta datos en modo ECB

Descripción

int mcrypt_ecb ( int cipher, string key, string data, int mode )

mcrypt_ecb() encripta o desencripta (dependiendo de mode) los datos data con el cifrado cipher y la clave key en el modo de cifrado ECB y devuelve la cadena resultante.

El parámetro cipher es una de las constantes con nombre MCRYPT_nombrecifrado.

key es la clave suministrada al algoritmo. Debe guardarse en secreto.

data son los datos que serán encriptados/desencriptados.

mode es MCRYPT_ENCRYPT o MCRYPT_DECRYPT.

Ver también:
mcrypt_cbc(),
mcrypt_cfb(),
mcrypt_ofb()

Anterior | Inicio | Siguiente
mcrypt_decrypt | Subir | mcrypt_enc_get_algorithms_name


mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_algorithms_name -- Returns the name of the opened algorithm

Description

string mcrypt_enc_get_algorithms_name ( resource td )

This function returns the name of the algorithm.

Ejemplo 1. mcrypt_enc_get_algorithms_name() example

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

El resultado del ejemplo seria:

CAST-256
CAST-256

Anterior | Inicio | Siguiente
mcrypt_ecb | Subir | mcrypt_enc_get_block_size


mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_block_size -- Returns the blocksize of the opened algorithm

Description

int mcrypt_enc_get_block_size ( resource td )

This function returns the block size of the algorithm specified by the encryption descriptor td in bytes.

Anterior | Inicio | Siguiente
mcrypt_enc_get_algorithms_name | Subir | mcrypt_enc_get_iv_size


mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_iv_size -- Returns the size of the IV of the opened algorithm

Description

int mcrypt_enc_get_iv_size ( resource td )

This function returns the size of the iv of the algorithm specified by the encryption descriptor in bytes. If it returns '0' then the IV is ignored in the algorithm. An IV is used in cbc, cfb and ofb modes, and in some algorithms in stream mode.

Anterior | Inicio | Siguiente
mcrypt_enc_get_block_size | Subir | mcrypt_enc_get_key_size


mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_key_size -- Returns the maximum supported keysize of the opened mode

Description

int mcrypt_enc_get_key_size ( resource td )

This function returns the maximum supported key size of the algorithm specified by the encryption descriptor td in bytes.

Anterior | Inicio | Siguiente
mcrypt_enc_get_iv_size | Subir | mcrypt_enc_get_modes_name


mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_modes_name -- Returns the name of the opened mode

Description

string mcrypt_enc_get_modes_name ( resource td )

This function returns the name of the mode.

Ejemplo 1. mcrypt_enc_get_modes_name() example

<?php
    $td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
    echo mcrypt_enc_get_modes_name($td). "\n";

    $td = mcrypt_module_open ('cast-256', '', 'ecb', '');
    echo mcrypt_enc_get_modes_name($td). "\n";
?>

Prints:

CFB
ECB

Anterior | Inicio | Siguiente
mcrypt_enc_get_key_size | Subir | mcrypt_enc_get_supported_key_sizes


mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm

Description

array mcrypt_enc_get_supported_key_sizes ( resource td )

Returns an array with the key sizes supported by the algorithm specified by the encryption descriptor. If it returns an empty array then all key sizes between 1 and mcrypt_enc_get_key_size() are supported by the algorithm.

Ejemplo 1. mcrypt_enc_get_supported_key_sizes() example

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

This will print:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}

Anterior | Inicio | Siguiente
mcrypt_enc_get_modes_name | Subir | mcrypt_enc_is_block_algorithm_mode


mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm_mode -- Checks whether the encryption of the opened mode works on blocks

Description

bool mcrypt_enc_is_block_algorithm_mode ( resource td )

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb).

Anterior | Inicio | Siguiente
mcrypt_enc_get_supported_key_sizes | Subir | mcrypt_enc_is_block_algorithm


mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm -- Checks whether the algorithm of the opened mode is a block algorithm

Description

bool mcrypt_enc_is_block_algorithm ( resource td )

This function returns TRUE if the algorithm is a block algorithm, or FALSE if it is a stream algorithm.

Anterior | Inicio | Siguiente
mcrypt_enc_is_block_algorithm_mode | Subir | mcrypt_enc_is_block_mode


mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_mode -- Checks whether the opened mode outputs blocks

Description

bool mcrypt_enc_is_block_mode ( resource td )

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

Anterior | Inicio | Siguiente
mcrypt_enc_is_block_algorithm | Subir | mcrypt_enc_self_test


mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_self_test -- This function runs a self test on the opened module

Description

int mcrypt_enc_self_test ( resource td )

This function runs the self test on the algorithm specified by the descriptor td. If the self test succeeds it returns FALSE. In case of an error, it returns TRUE.

Anterior | Inicio | Siguiente
mcrypt_enc_is_block_mode | Subir | mcrypt_encrypt


mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_encrypt -- Encrypts plaintext with given parameters

Description

string mcrypt_encrypt ( string cipher, string key, string data, string mode [, string iv] )

mcrypt_encrypt() encrypts the data and returns the encrypted data.

Cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

Key is the key with which the data will be encrypted. If it's smaller that the required keysize, it is padded with '\0'. It is better not to use ASCII strings for keys. It is recommended to use the mhash functions to create a key from a string.

Data is the data that will be encrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'. The returned crypttext can be larger that the size of the data that is given by data.

Mode is one of the MCRYPT_MODE_modename constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

The IV parameter is used for the initialisation in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all bytes set to '\0'.

Ejemplo 1. mcrypt_encrypt() Example

<?php
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $key = "This is a very secret key";
    $text = "Meet me at 11 o'clock behind the monument.";
    echo strlen($text) . "\n";

    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
    echo strlen($crypttext) . "\n";
?>

El resultado del ejemplo seria:

42
64

See also mcrypt_module_open() for a more advanced API and an example.

Anterior | Inicio | Siguiente
mcrypt_enc_self_test | Subir | mcrypt_generic_deinit


mcrypt_generic_deinit

(PHP 4 >= 4.1.1, PHP 5)

mcrypt_generic_deinit -- This function deinitializes an encryption module

Description

bool mcrypt_generic_deinit ( resource td )

This function terminates encryption specified by the encryption descriptor (td). It clears all buffers, but does not close the module. You need to call mcrypt_module_close() yourself. (But PHP does this for you at the end of the script.) Returns FALSE on error, or TRUE on success.

See for an example mcrypt_module_open() and the entry on mcrypt_generic_init().

Anterior | Inicio | Siguiente
mcrypt_encrypt | Subir | mcrypt_generic_end


mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_end -- This function terminates encryption

Description

bool mcrypt_generic_end ( resource td )

Aviso

This function is deprecated, use mcrypt_generic_deinit() instead. It can cause crashes when used with mcrypt_module_close() due to multiple buffer frees.

This function terminates encryption specified by the encryption descriptor (td). Actually it clears all buffers, and closes all the modules used. Returns FALSE on error, or TRUE on success.

Anterior | Inicio | Siguiente
mcrypt_generic_deinit | Subir | mcrypt_generic_init


mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_init -- This function initializes all buffers needed for encryption

Description

int mcrypt_generic_init ( resource td, string key, string iv )

The maximum length of the key should be the one obtained by calling mcrypt_enc_get_key_size() and every value smaller than this is legal. The IV should normally have the size of the algorithms block size, but you must obtain the size by calling mcrypt_enc_get_iv_size(). IV is ignored in ECB. IV MUST exist in CFB, CBC, STREAM, nOFB and OFB modes. It needs to be random and unique (but not secret). The same IV must be used for encryption/decryption. If you do not want to use it you should set it to zeros, but this is not recommended.

The function returns a negative value on error, -3 when the key length was incorrect, -4 when there was a memory allocation problem and any other return value is an unknown error. If an error occurs a warning will be displayed accordingly. FALSE is returned if incorrect parameters were passed.

You need to call this function before every call to mcrypt_generic() or mdecrypt_generic().

See for an example mcrypt_module_open().

Anterior | Inicio | Siguiente
mcrypt_generic_end | Subir | mcrypt_generic


mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic -- This function encrypts data

Description

string mcrypt_generic ( resource td, string data )

This function encrypts data. The data is padded with "\0" to make sure the length of the data is n * blocksize. This function returns the encrypted data. Note that the length of the returned string can in fact be longer then the input, due to the padding of the data.

If you want to store the encrypted data in a database make sure to store the entire string as returned by mcrypt_generic, or the string will not entirely decrypt properly. If your original string is 10 characters long and the block size is 8 (use mcrypt_enc_get_block_size() to determine the blocksize), you would need at least 16 characters in your database field. Note the string returned by mdecrypt_generic() will be 16 characters as well...use rtrim()($str, "\0") to remove the padding.

If you are for example storing the data in a MySQL database remember that varchar fields automatically have trailing spaces removed during insertion. As encrypted data can end in a space (ASCII 32), the data will be damaged by this removal. Store data in a tinyblob/tinytext (or larger) field instead.

The encryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

See also mdecrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

Anterior | Inicio | Siguiente
mcrypt_generic_init | Subir | mcrypt_get_block_size


mcrypt_get_block_size

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_get_block_size -- Obtiene el tamaño de bloque del cifrado indicado

Descripción

int mcrypt_get_block_size ( int cipher )

mcrypt_get_block_size() se usa para obtener el tamaño de bloque del cifrado indicado en cipher.

mcrypt_get_block_size() toma un argumento, el cifrado cipher y devuelve el tamaño en bytes.

Ver también: mcrypt_get_key_size()

Anterior | Inicio | Siguiente
mcrypt_generic | Subir | mcrypt_get_cipher_name


mcrypt_get_cipher_name

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_get_cipher_name -- Obtiene el nombre del cifrado especificado

Descripción

string mcrypt_get_cipher_name ( int cipher )

mcrypt_get_cipher_name() se usa para obtener el nombre del cifrado especificado.

mcrypt_get_cipher_name() toma como argumento el número de cifrado y devuelve el nombre del cifrado o FALSE, si el cifrado no existe.

Ejemplo 1. Ejemplo de mcrypt_get_cipher_name

<?php
$cipher = MCRYPT_TripleDES;

print mcrypt_get_cipher_name($cipher);
?>

El ejemplo de más arriba da como resultado:

TripleDES

Anterior | Inicio | Siguiente
mcrypt_get_block_size | Subir | mcrypt_get_iv_size


mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_get_iv_size -- Returns the size of the IV belonging to a specific cipher/mode combination

Description

int mcrypt_get_iv_size ( string cipher, string mode )

mcrypt_get_iv_size() returns the size of the Initialisation Vector (IV) in bytes. On error the function returns FALSE. If the IV is ignored in the specified cipher/mode combination zero is returned.

cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

mode is one of the MCRYPT_MODE_modename constants or one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream". The IV is ignored in ECB mode as this mode does not require it. You will need to have the same IV (think: starting point) both at encryption and decryption stages, otherwise your encryption will fail.

It is more useful to use the mcrypt_enc_get_iv_size() function as this uses the resource returned by mcrypt_module_open().

Ejemplo 1. mcrypt_get_iv_size() example

<?php
    echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

    echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

See also
mcrypt_get_block_size(),
mcrypt_enc_get_iv_size() and
mcrypt_create_iv().

Anterior | Inicio | Siguiente
mcrypt_get_cipher_name | Subir | mcrypt_get_key_size


mcrypt_get_key_size

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_get_key_size -- Obtiene el tamaño de la clave de un cifrado

Descripción

int mcrypt_get_key_size ( int cipher )

mcrypt_get_key_size() se usa para obtener el tamaño de la clave del cifrado indicado en cipher.

mcrypt_get_key_size() toma un argumento, el cifrado cipher y devuelve el tamaño de la clave en bytes.

Ver también: mcrypt_get_block_size()

Anterior | Inicio | Siguiente
mcrypt_get_iv_size | Subir | mcrypt_list_algorithms


mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_algorithms -- Get an array of all supported ciphers

Description

array mcrypt_list_algorithms ( [string lib_dir] )

mcrypt_list_algorithms() is used to get an array of all supported algorithms in the lib_dir parameter.

mcrypt_list_algorithms() takes an optional lib_dir parameter which specifies the directory where all algorithms are located. If not specifies, the value of the mcrypt.algorithms_dir php.ini directive is used.

Ejemplo 1. mcrypt_list_algorithms() Example

<?php
    $algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

    foreach ($algorithms as $cipher) {
        echo "$cipher<br />\n";
    }
?>

The above example will produce a list with all supported algorithms in the "/usr/local/lib/libmcrypt" directory.

Anterior | Inicio | Siguiente
mcrypt_get_key_size | Subir | mcrypt_list_modes


mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_modes -- Get an array of all supported modes

Description

array mcrypt_list_modes ( [string lib_dir] )

mcrypt_list_modes() is used to get an array of all supported modes in the lib_dir.

mcrypt_list_modes() takes as optional parameter a directory which specifies the directory where all modes are located. If not specifies, the value of the mcrypt.modes_dir php.ini directive is used.

Ejemplo 1. mcrypt_list_modes() Example

<?php
    $modes = mcrypt_list_modes();

    foreach ($modes as $mode) {
        echo "$mode <br />\n";
    }
?>

The above example will produce a list with all supported algorithms in the default mode directory. If it is not set with the ini directive mcrypt.modes_dir, the default directory of mcrypt is used (which is /usr/local/lib/libmcrypt).

Anterior | Inicio | Siguiente
mcrypt_list_algorithms | Subir | mcrypt_module_close


mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_close -- Close the mcrypt module

Description

bool mcrypt_module_close ( resource td )

This function closes the specified encryption handle.

See mcrypt_module_open() for an example.

Anterior | Inicio | Siguiente
mcrypt_list_modes | Subir | mcrypt_module_get_algo_block_size


mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_block_size -- Returns the blocksize of the specified algorithm

Description

int mcrypt_module_get_algo_block_size ( string algorithm [, string lib_dir] )

This function returns the block size of the algorithm specified in bytes. The optional lib_dir parameter can contain the location where the mode module is on the system.

Anterior | Inicio | Siguiente
mcrypt_module_close | Subir | mcrypt_module_get_algo_key_size


mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_key_size -- Returns the maximum supported keysize of the opened mode

Description

int mcrypt_module_get_algo_key_size ( string algorithm [, string lib_dir] )

This function returns the maximum supported key size of the algorithm specified in bytes. The optional lib_dir parameter can contain the location where the mode module is on the system.

Anterior | Inicio | Siguiente
mcrypt_module_get_algo_block_size | Subir | mcrypt_module_get_supported_key_sizes


mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm

Description

array mcrypt_module_get_supported_key_sizes ( string algorithm [, string lib_dir] )

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm. The optional lib_dir parameter can contain the location where the mode module is on the system.

See also mcrypt_enc_get_supported_key_sizes() which is used on open encryption modules.

Anterior | Inicio | Siguiente
mcrypt_module_get_algo_key_size | Subir | mcrypt_module_is_block_algorithm_mode


mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm_mode -- Returns if the specified module is a block algorithm or not

Description

bool mcrypt_module_is_block_algorithm_mode ( string mode [, string lib_dir] )

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb). The optional lib_dir parameter can contain the location where the mode module is on the system.

Anterior | Inicio | Siguiente
mcrypt_module_get_supported_key_sizes | Subir | mcrypt_module_is_block_algorithm


mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm -- This function checks whether the specified algorithm is a block algorithm

Description

bool mcrypt_module_is_block_algorithm ( string algorithm [, string lib_dir] )

This function returns TRUE if the specified algorithm is a block algorithm, or FALSE is it is a stream algorithm. The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Anterior | Inicio | Siguiente
mcrypt_module_is_block_algorithm_mode | Subir | mcrypt_module_is_block_mode


mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_mode -- Returns if the specified mode outputs blocks or not

Description

bool mcrypt_module_is_block_mode ( string mode [, string lib_dir] )

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream). The optional lib_dir parameter can contain the location where the mode module is on the system.

Anterior | Inicio | Siguiente
mcrypt_module_is_block_algorithm | Subir | mcrypt_module_open


mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_open -- Opens the module of the algorithm and the mode to be used

Description

resource mcrypt_module_open ( string algorithm, string algorithm_directory, string mode, string mode_directory )

This function opens the module of the algorithm and the mode to be used. The name of the algorithm is specified in algorithm, e.g. "twofish" or is one of the MCRYPT_ciphername constants. The module is closed by calling mcrypt_module_close(). Normally it returns an encryption descriptor, or FALSE on error.

The algorithm_directory and mode_directory are used to locate the encryption modules. When you supply a directory name, it is used. When you set one of these to the empty string (""), the value set by the mcrypt.algorithms_dir or mcrypt.modes_dir ini-directive is used. When these are not set, the default directories that are used are the ones that were compiled in into libmcrypt (usually /usr/local/lib/libmcrypt).

Ejemplo 1. mcrypt_module_open() examples

<?php
    $td = mcrypt_module_open(MCRYPT_DES, '',
        MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

The first line in the example above will try to open the DES cipher from the default directory and the EBC mode from the directory /usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

Ejemplo 2. Using mcrypt_module_open() in encryption

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, used MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

The first line in the example above will try to open the DES cipher from the default directory and the EBC mode from the directory /usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

See also
mcrypt_module_close(),
mcrypt_generic(),
mdecrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

Anterior | Inicio | Siguiente
mcrypt_module_is_block_mode | Subir | mcrypt_module_self_test


mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_self_test -- This function runs a self test on the specified module

Description

bool mcrypt_module_self_test ( string algorithm [, string lib_dir] )

This function runs the self test on the algorithm specified. The optional lib_dir parameter can contain the location of where the algorithm module is on the system.

The function returns TRUE if the self test succeeds, or FALSE when if fails.

Ejemplo 1. mcrypt_module_self_test() example

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

El resultado del ejemplo seria:

bool(true)
bool(false)

Anterior | Inicio | Siguiente
mcrypt_module_open | Subir | mcrypt_ofb


mcrypt_ofb

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

mcrypt_ofb -- Encripta/desencripta datos en modo OFB

Descripción

int mcrypt_ofb ( int cipher, string key, string data, int mode, string iv )

mcrypt_ofb() encripta o desencripta (dependiendo de mode) los datos data con el cifrado cipher y la clave key en el modo de cifrado OFB y devuelve la cadena resultante.

El parámetro cipher es una de las constantes con nombre MCRYPT_nombrecifrado.

key es la clave suministrada al algoritmo. Debe guardarse en secreto.

data son los datos que serán encriptados/desencriptados.

mode es MCRYPT_ENCRYPT o MCRYPT_DECRYPT.

iv es el vector de inicialización.

Ver también:
mcrypt_cbc(),
mcrypt_cfb(),
mcrypt_ecb()

Anterior | Inicio | Siguiente
mcrypt_module_self_test | Subir | mdecrypt_generic


mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic -- Decrypt data

Description

string mdecrypt_generic ( resource td, string data )

This function decrypts data. Note that the length of the returned string can in fact be longer then the unencrypted string, due to the padding of the data.

Ejemplo 1. mdecrypt_generic() example

<?php
    /* Data */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';

    /* Open module, and create IV */
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $key = substr($key, 0, mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    /* Initialize encryption handle */
    if (mcrypt_generic_init($td, $key, $iv) != -1) {

        /* Encrypt data */
        $c_t = mcrypt_generic($td, $plain_text);
        mcrypt_generic_deinit($td);

        /* Reinitialize buffers for decryption */
        mcrypt_generic_init($td, $key, $iv);
        $p_t = mdecrypt_generic($td, $c_t);

        /* Clean up */
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    }

    if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

The above example shows how to check if the data before the encryption is the same as the data after the decryption. It is very important to reinitialize the encryption buffer with mcrypt_generic_init() before you try to decrypt the data.

The decryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

See also mcrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

Anterior | Inicio | Siguiente
mcrypt_ofb | Subir | MCVE (Monetra) Payment Functions


MCVE (Monetra) Payment Functions

Manual de PHP
Anterior Siguiente

LXXXIII. MCVE (Monetra) Payment Functions

Introducción

These functions interface the MCVE (Monetra) API (libmonetra, formerly known as libmcve), allowing you to work directly with MCVE/Monetra from your PHP scripts. MCVE/Monetra is Main Street Softworks' solution to direct credit/debit/gift card processing for Linux/Unix/MacOSX/Windows ( http://www.mainstreetsoftworks.com/ ). It lets you directly address the credit card clearing houses via your *nix box, modem and/or internet connection (bypassing the need for an additional service such as Authorize.Net or Pay Flow Pro). Using the MCVE/Monetra module for PHP, you can process credit cards directly through MCVE/Monetra via your PHP scripts. The following references will outline the process.

Nota: MCVE/Monetra is the replacement for RedHat's CCVS. They contracted with RedHat in late 2001 to migrate all existing clientele to the MCVE platform.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows

Instalación

To enable MCVE (Monetra) Support in PHP, first verify your LibMonetra (formerly libmcve) installation directory. If you are compiling MCVE/Monetra support directly into PHP, you will then need to configure PHP with the --with-mcve option. If you use this option without specifying the path to your libmonetra installation, PHP will attempt to look in the default LibMonetra Install location (/usr/local). If Monetra (MCVE) is in a non-standard location, run configure with: --with-mcve=$mcve_path, where $mcve_path is the path to your MCVE/Monetra installation. Please note that MCVE/Monetra support requires that $mcve_path/lib and $mcve_path/include exist, and include mcve.h or monetra.h under the include directory and libmcve.so and/or libmcve.a and/or libmonetra.so and/or libmonetra.a under the lib directory.

If you want to install MCVE/Monetra support as a module, you can do so by using the PECL repository, and issuing the 'pecl install mcve' command if you are running a PEAR version of at least 1.4.0.

Since MCVE/Monetra has true server/client separation, there are no additional requirements for running PHP with MCVE support. To test your MCVE/Monetra extension in PHP, you may connect to testbox.monetra.com on port 8333 for IP, or port 8444 for SSL using the MCVE/Monetra PHP API. Use 'vitale' for your username, and 'test' for your password. Additional information about test facilities are available at http://www.mainstreetsoftworks.com/.

Ver también

Additional documentation about MCVE/Monetra's PHP API can be found at http://www.mainstreetsoftworks.com/documentation.html. Main Street's documentation is complete and should be the primary reference for functions.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

M_PENDING (integer)

M_DONE (integer)

M_ERROR (integer)

M_FAIL (integer)

M_SUCCESS (integer)

Tabla de contenidos
m_checkstatus -- Check to see if a transaction has completed
m_completeauthorizations -- Number of complete authorizations in queue, returning an array of their identifiers
m_connect -- Establish the connection to MCVE
m_connectionerror -- Get a textual representation of why a connection failed
m_deletetrans -- Delete specified transaction from MCVE_CONN structure
m_destroyconn -- Destroy the connection and MCVE_CONN structure
m_destroyengine -- Free memory associated with IP/SSL connectivity
m_getcell -- Get a specific cell from a comma delimited response by column name
m_getcellbynum -- Get a specific cell from a comma delimited response by column number
m_getcommadelimited -- Get the RAW comma delimited data returned from MCVE
m_getheader -- Get the name of the column in a comma-delimited response
m_initconn -- Create and initialize an MCVE_CONN structure
m_initengine -- Ready the client for IP/SSL Communication
m_iscommadelimited -- Checks to see if response is comma delimited
m_maxconntimeout -- The maximum amount of time the API will attempt a connection to MCVE
m_monitor -- Perform communication with MCVE (send/receive data) Non-blocking
m_numcolumns -- Number of columns returned in a comma delimited response
m_numrows -- Number of rows returned in a comma delimited response
m_parsecommadelimited -- Parse the comma delimited response so m_getcell, etc will work
m_responsekeys -- Returns array of strings which represents the keys that can be used for response parameters on this transaction
m_responseparam -- Get a custom response parameter
m_returnstatus -- Check to see if the transaction was successful
m_setblocking -- Set blocking/non-blocking mode for connection
m_setdropfile -- Set the connection method to Drop-File
m_setip -- Set the connection method to IP
m_setssl_cafile -- Set SSL CA (Certificate Authority) file for verification of server certificate
m_setssl_files -- Set certificate key files and certificates if server requires client certificate verification
m_setssl -- Set the connection method to SSL
m_settimeout -- Set maximum transaction time (per trans)
m_sslcert_gen_hash -- Generate hash for SSL client certificate verification
m_transactionssent -- Check to see if outgoing buffer is clear
m_transinqueue -- Number of transactions in client-queue
m_transkeyval -- Add key/value pair to a transaction. Replaces deprecated transparam()
m_transnew -- Start a new transaction
m_transsend -- Finalize and send the transaction
m_uwait -- Wait x microsecs
m_validateidentifier -- Whether or not to validate the passed identifier on any transaction it is passed to
m_verifyconnection -- Set whether or not to PING upon connect to verify connection
m_verifysslcert -- Set whether or not to verify the server ssl certificate

Anterior | Inicio | Siguiente
mdecrypt_generic | Subir | m_checkstatus


Memcache Functions

Manual de PHP
Anterior Siguiente

LXXXIV. Memcache Functions

Introducción

Memcache module provides handy procedural and object oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications.

More information about memcached can be found at http://www.danga.com/memcached/.

Requisitos

This module uses functions of zlib to support on-the-fly data compression. Zlib is required to install this module.

PHP 4.3.3 or newer is required to use the memcache extension.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/memcache.

In order to use these functions you must compile PHP with Memcache support by using the --enable-memcache[=DIR] option.

Windows users will enable php_memcache.dll inside of php.ini in order to use these functions. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Memcache Configuration Options

Name | Default | Changeable | Changelog
memcache.allow_failover | "1" | PHP_INI_ALL | Available since Memcache 2.0.2
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since Memcache 2.1.0
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since Memcache 2.0.2
memcache.default_port | "11211" | PHP_INI_ALL | Available since Memcache 2.0.2
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

memcache.allow_failover boolean

Whether to transparently failover to other servers on errors.

memcache.max_failover_attempts integer

Defines how many servers to try when setting and getting data. Used only in conjunction with memcache.allow_failover.

memcache.chunk_size integer

Data will be transferred in chunks of this size, setting the value lower requires more network writes. Try increasing this value to 32768 if noticing otherwise inexplicable slowdowns.

memcache.default_port string

The default TCP port number to use when connecting to the memcached server if no other port is specified.

Tipos de recursos

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.

Constantes predefinidas

Tabla 2. MemCache Constants

Name | Description
MEMCACHE_COMPRESSED (integer) | Used to turn on-the-fly data compression on with Memcache::set(), Memcache::add(), y Memcache::replace().

Ejemplos

Ejemplo 1. memcache extension overview example

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

In the above example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

Tabla de contenidos
Memcache::add -- Add an item to the server
Memcache::addServer -- Add a memcached server to connection pool
Memcache::close -- Close memcached server connection
Memcache::connect -- Open memcached server connection
memcache_debug -- Turn debug output on/off
Memcache::decrement -- Decrement item's value
Memcache::delete -- Delete item from the server
Memcache::flush -- Flush all existing items at the server
Memcache::get -- Retrieve item from the server
Memcache::getExtendedStats -- Get statistics from all servers in pool
Memcache::getServerStatus -- Returns server status
Memcache::getStats -- Get statistics of the server
Memcache::getVersion -- Return version of the server
Memcache::increment -- Increment item's value
Memcache::pconnect -- Open memcached server persistent connection
Memcache::replace -- Replace value of the existing item
Memcache::set -- Store data at the server
Memcache::setCompressThreshold -- Enable automatic compression of large values
Memcache::setServerParams -- Changes server parameters and status at runtime

Anterior | Inicio | Siguiente
m_verifysslcert | Subir | Memcache::add


Memcache::add

(no version information, might be only in CVS)

Memcache::add -- Add an item to the server

Descripción

bool Memcache::add ( string key, mixed var [, int flag [, int expire]] )

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

Lista de parámetros

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Returns FALSE if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Ejemplos

Ejemplo 1. Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Ver también

Memcache::set()
Memcache::replace()

Anterior | Inicio | Siguiente
Memcache Functions | Subir | Memcache::addServer


Memcache::close

(no version information, might be only in CVS)

Memcache::close -- Close memcached server connection

Descripción

bool Memcache::close ( void )

Memcache::close() closes connection to memcached server. This function doesn't close persistent connections, which are closed only during web-server shutdown/restart. Also you can use memcache_close() function.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::close() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
do something here ..
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
do something here ..
*/
$memcache_obj->close();

?>

Ver también

Memcache::connect()
Memcache::pconnect()

Anterior | Inicio | Siguiente
Memcache::addServer | Subir | Memcache::connect


Memcache::connect

(no version information, might be only in CVS)

Memcache::connect -- Open memcached server connection

Descripción

bool Memcache::connect ( string host [, int port [, int timeout]] )

Memcache::connect() establishes a connection to the memcached server. The connection, which was opened using Memcache::connect() will be automatically closed at the end of script execution. Also you can close it with Memcache::close(). Also you can use memcache_connect() function.

Lista de parámetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Ver también

Memcache::pconnect()
Memcache::close()

Anterior | Inicio | Siguiente
Memcache::close | Subir | memcache_debug


memcache_debug

(PECL)

memcache_debug -- Turn debug output on/off

Descripción

bool memcache_debug ( bool on_off )

memcache_debug() turns on debug output if parameter on_off is equal to TRUE and turns off if it's FALSE.

Nota: memcache_debug() is accessible only if PHP was built with --enable-debug option and always returns TRUE in this case. Otherwise, this function has no effect and always returns FALSE.

Lista de parámetros

on_off

Turns debug output on if equals to TRUE. Turns debug output off if equals to FALSE.

Valores retornados

Returns TRUE if PHP was built with --enable-debug option, otherwise returns FALSE.

Anterior | Inicio | Siguiente
Memcache::connect | Subir | Memcache::decrement


Memcache::decrement

(no version information, might be only in CVS)

Memcache::decrement -- Decrement item's value

Descripción

int Memcache::decrement ( string key [, int value] )

Memcache::decrement() decrements value of the item by value. Similarly to Memcache::increment(), current value of the item is being converted to numerical and after that value is substracted.

Nota: New item's value will not be less than zero.

Nota: Do not use Memcache::decrement() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Memcache::decrement() does not create an item if it didn't exist. Also you can use memcache_decrement() function.

Lista de parámetros

key

Key of the item do decrement.

value

Decrement the item by value. Optional and defaults to 1.

Valores retornados

Returns item's new value on success or FALSE on failure.

Ejemplos

Ejemplo 1. Memcache::decrement() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Ver también

Memcache::increment()
Memcache::replace()

Anterior | Inicio | Siguiente
memcache_debug | Subir | Memcache::delete


Memcache::delete

(no version information, might be only in CVS)

Memcache::delete -- Delete item from the server

Descripción

bool Memcache::delete ( string key [, int timeout] )

Memcache::delete() deletes item with the key. If parameter timeout is specified, the item will expire after timeout seconds. Also you can use memcache_delete() function.

Lista de parámetros

key

timeout

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* after 10 seconds item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete', 10);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete', 10);

?>

Ver también

Memcache::set()
Memcache::replace()

Anterior | Inicio | Siguiente
Memcache::decrement | Subir | Memcache::flush


Memcache::flush

(no version information, might be only in CVS)

Memcache::flush -- Flush all existing items at the server

Descripción

bool Memcache::flush ( void )

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::flush() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

Anterior | Inicio | Siguiente
Memcache::delete | Subir | Memcache::get


Memcache::get

(no version information, might be only in CVS)

Memcache::get -- Retrieve item from the server

Descripción

string Memcache::get ( string key )

array Memcache::get ( array keys )

Memcache::get() returns previously stored data if an item with such key exists on the server at this moment.

You can pass array of keys to Memcache::get() to get array of values. The result array will contain only found key-value pairs.

Lista de parámetros

key

Valores retornados

Returns the string associated with the key or FALSE on failure or if such key was not found.

Ejemplos

Ejemplo 1. Memcache::get() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
You also can use array of keys as a parameter.
If such item wasn't found at the server, the result
array simply will not include such key.
*/

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

Anterior | Inicio | Siguiente
Memcache::flush | Subir | Memcache::getExtendedStats


Memcache::getStats

(no version information, might be only in CVS)

Memcache::getStats -- Get statistics of the server

Descripción

array Memcache::getStats ( [string type [, int slabid [, int limit]]] )

Memcache::getStats() returns an associative array with server's statistics. Array keys correspond to stats parameters and values to parameter's values. Also you can use memcache_get_stats() function.

Lista de parámetros

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump. Default value is 100.

Valores retornados

Returns an associative array of server statistics or FALSE on failure.

Ver también

Memcache::getVersion()
Memcache::getExtendedStats()

Anterior | Inicio | Siguiente
Memcache::getServerStatus | Subir | Memcache::getVersion


Memcache::getVersion

(no version information, might be only in CVS)

Memcache::getVersion -- Return version of the server

Descripción

string Memcache::getVersion ( void )

Memcache::getVersion() returns a string with server's version number. Also you can use memcache_get_version() function.

Valores retornados

Returns a string of server version number or FALSE on failure.

Ejemplos

Ejemplo 1. Memcache::getVersion() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Ver también

Memcache::getExtendedStats()
Memcache::getStats()

Anterior | Inicio | Siguiente
Memcache::getStats | Subir | Memcache::increment


Memcache::increment

(no version information, might be only in CVS)

Memcache::increment -- Increment item's value

Descripción

int Memcache::increment ( string key [, int value] )

Memcache::increment() increments value of the item on the specified value. If item with key key was not numeric and cannot be converted to number, it will change it's value to value. Memcache::increment() does not create an item if it didn't exist.

Nota: Do not use Memcache::increment() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Also you can use memcache_increment() function.

Lista de parámetros

key

Key of the item to increment.

value

Increment the item by value. Optional and defaults to 1.

Valores retornados

Returns new item's value on success or FALSE on failure.

Ejemplos

Ejemplo 1. Memcache::increment() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Ver también

Memcache::decrement()
Memcache::replace()

Anterior | Inicio | Siguiente
Memcache::getVersion | Subir | Memcache::pconnect


Memcache::pconnect

(no version information, might be only in CVS)

Memcache::pconnect -- Open memcached server persistent connection

Descripción

bool Memcache::pconnect ( string host [, int port [, int timeout]] )

Memcache::pconnect() is similar to Memcache::connect() with the difference, that the connection it establishes is persistent. This connection is not closed after the end of script execution and by Memcache::close() function. Also you can use memcache_pconnect() function.

Lista de parámetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::pconnect() example

<?php

/* procedural API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Ver también

Memcache::connect()

Anterior | Inicio | Siguiente
Memcache::increment | Subir | Memcache::replace


Memcache::replace

(no version information, might be only in CVS)

Memcache::replace -- Replace value of the existing item

Descripción

bool Memcache::replace ( string key, mixed var [, int flag [, int expire]] )

Memcache::replace() should be used to replace value of
existing item with key. In case if item with such
key doesn't exists, Memcache::replace() returns
FALSE. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.

Lista de parámetros

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::replace() example

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Ver también

Memcache::set()
Memcache::add()

Anterior | Inicio | Siguiente
Memcache::pconnect | Subir | Memcache::set


Memcache::set

(no version information, might be only in CVS)

Memcache::set -- Store data at the server

Descripción

bool Memcache::set ( string key, mixed var [, int flag [, int expire]] )

Memcache::set() stores an item var with key on the memcached server. Parameter expire is expiration time in seconds. If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time, it could be deleted from the cache to make place for other items). You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).

Nota: Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the cache, because they cannot be adequately represented in serialized state.

Also you can use memcache_set() function.

Lista de parámetros

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::set() example

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
set value of item with key 'var_key'
using 0 as flag value, compression is not used
expire time is 30 seconds
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Ejemplo 2. Memcache::set() example

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
set value of item with key 'var_key', using on-the-fly compression
expire time is 50 seconds
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Ver también

Memcache::add()
Memcache::replace()

Anterior | Inicio | Siguiente
Memcache::replace | Subir | Memcache::setCompressThreshold


Funciones Mhash

Manual de PHP
Anterior Siguiente

LXXXV. Funciones Mhash

Introducción

Estas funciones tienen el propósito de trabajar con mhash. Mhash puede ser usado para crear sumas de verificación, resúmenes de mensajes, códigos de autenticación de mensajes, y más.

Esta es una interfaz con la biblioteca mhash. mhash soporta una amplia variaded de algoritmos hash como MD5, SHA1, GOST, y muchos otros. Para una lista completa de resúmenes criptográficos soportados, refiérase a la documentación de mhash. La regla general es que puede acceder al algoritmo hash desde PHP con MHASH_NOMBRE_DEL_HASH. Por ejemplo, para acceder a TIGER, use la constante PHP MHASH_TIGER.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.3.0.

Requisitos

Para usar la extensión, descargue la distribución de mhash desde su sitio web y siga las instrucciones de instalación incluidas.

Instalación

Necesita compilar PHP con el parámetro --with-mhash[=DIR] para habilitar esta extensión. DIR es el directorio de instalación de mhash.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

A continuación se encuentra una lista de resúmenes criptográficos soportados en la actualidad por mhash. Si un mecanismo de resumen no se encuentra listado aquí, pero es listado como soportado por mhash, puede asumir con seguridad que esta documentación se encuentra desactualizada.

  • MHASH_ADLER32

  • MHASH_CRC32

  • MHASH_CRC32B

  • MHASH_GOST

  • MHASH_HAVAL128

  • MHASH_HAVAL160

  • MHASH_HAVAL192

  • MHASH_HAVAL256

  • MHASH_MD4

  • MHASH_MD5

  • MHASH_RIPEMD160

  • MHASH_SHA1

  • MHASH_SHA256

  • MHASH_TIGER

  • MHASH_TIGER128

  • MHASH_TIGER160

Ejemplos

Ejemplo 1. Calcular el resumen MD5 y hmac e imprimirlo como valor hexadecimal

<?php
$entrada = "que quisiera a cambio de nada?";
$hash = mhash(MHASH_MD5, $entrada);
echo "El valor hash es ".bin2hex ($hash)."<br />\n";
$hash = mhash(MHASH_MD5, $entrada, "Jefe");
echo "El valor hmac es ".bin2hex ($hash)."<br />\n";
?>

Esto producirá:

El valor hash es 2386e00b2d014a4b89efb10b0250ac35
El valor hmac es 87367c5cbb5099cf95fcee560d402da4

Tabla de contenidos
mhash_count -- Obtener el valor mayor del id hash disponible
mhash_get_block_size -- Conseguir el tamaño de bloque de el hash especificado
mhash_get_hash_name -- Conseguir el nombre de un hash especifico
mhash_keygen_s2k -- Genera una llave
mhash -- Calcular el hash

Anterior | Inicio | Siguiente
Memcache::setServerParams | Subir | mhash_count


mhash_count

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

mhash_count -- Obtener el valor mayor del id hash disponible

Descripcion

int mhash_count ( void )

mhash_count() devuelve el valor mas alto id hash disponible. Los hash estan numerados desde 0 hasta este valor.

Ejemplo 1. Recorriendo todos los hash

<?php

$nr = mhash_count();

for($i = 0; $i <= $nr; $i++) {
    echo sprintf("The blocksize of %s is %d\n",
            mhash_get_hash_name($i),
            mhash_get_block_size($i));
}
?>

Anterior | Inicio | Siguiente
Funciones Mhash | Subir | mhash_get_block_size


mhash_get_block_size

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

mhash_get_block_size -- Conseguir el tamaño de bloque de el hash especificado

Descripcion

int mhash_get_block_size ( int hash )

mhash_get_block_size() es usado para obtener el tamaño de un bloque de el hash determinado.

mhash_get_block_size() toma un argumento, el hash y devuelve el tamaño en bytes o FALSE, si el hash no existe.

Anterior | Inicio | Siguiente
mhash_count | Subir | mhash_get_hash_name


mhash_get_hash_name

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

mhash_get_hash_name -- Conseguir el nombre de un hash especifico

Descripcion

string mhash_get_hash_name ( int hash )

mhash_get_hash_name() es usado para conseguir el nombre de el hash determinado.

mhash_get_hash_name() toma el id del hash como un argumento y devuelve el nombre de el hash o FALSE, si el hash no existe.

Ejemplo 1. mhash_get_hash_name example

<?php
$hash = MHASH_MD5;

print mhash_get_hash_name($hash);
?>
El ejemplo anterior mostrara:
MD5

Anterior | Inicio | Siguiente
mhash_get_block_size | Subir | mhash_keygen_s2k


mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5)

mhash_keygen_s2k -- Genera una llave

Descripción

string mhash_keygen_s2k ( int hash, string contrasenya, string sal, int bytes )

Genera una llave de acuerdo con el hash, dada una contrasenya provista por el usuario.

Este es el algoritmo con sal S2K, tal y como se encuentra especificado en el documento OpenPGP (RFC 2440).

Tenga en mente que las contraseñas entregadas por el usuario no son realmente apropiadas para ser usadas como llaves en algoritmos criptográficos, ya que los usuarios normalmente eligen llaves que pueden escribir con el teclado. Estas contreseñas usan solo 6 o 7 bits por caracter (o menos). Es bastante recomendable usar algún tipo de transformación (como esta función) sobre la llave entregada por el usuario.

Lista de parámetros

hash

El id del hash usado para crear la llave. Debe ser una de las constantes MHASH_XXX.

contrasenya

Contraseña entregada por el usuario.

sal

Debe ser diferente y suficientemente aleatoria para cada llave que genere para crear diferentes llaves. La sal debe conocerse cuando chequee las llaves, de modo que es una buena idea adicionarle la llave al final. La sal tiene un tamaño fijo de 8 bytes y será rellenada con ceros si usted suple menos bytes.

bytes

La longitud de la llave, en bytes.

Valores retornados

Devuelve la llave generada como una cadena, o FALSE en caso de error.

Anterior | Inicio | Siguiente
mhash_get_hash_name | Subir | mhash


mhash

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

mhash -- Calcular el hash

Descripcion

string mhash ( int hash, string data )

mhash() aplica una funcion hash especificada por hash a data y devuelve el valor hash resultante (tambien llamdo digest).

Anterior | Inicio | Siguiente
mhash_keygen_s2k | Subir | Funciones Mimetype


Funciones Mimetype

Manual de PHP
Anterior Siguiente

LXXXVI. Funciones Mimetype

Introducción

Aviso

Esta extensión ha sido marcada como obsoleta, ya que la extensión PECL Fileinfo ofrece la misma funcionalidad (y más) de una forma mucho más limpia.

Las funciones de este módulo intentan adivinar el tipo de contenido y la codificación de un archivo, mirando ciertas secuencias de bytes mágicas en posiciones específicas dentro del archivo. Aunque éste no es un enfoque completamente seguro, la heurística usada cumple un muy buen trabajo.

Esta extensión es derivada del módulo de Apache mod_mime_magic, el cual a su vez está basado en el comando file, administrado por Ian F. Darwin. Vea el código fuente para consultar más datos históricos y la información de copyright.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

Debe compilar PHP con la opción de configuración --with-mime-magic para contar con soporte para funciones mime-type. La extensión necesita una copia del archivo magic simplificado, que es distribuido con el servidor web Apache.

Nota: La opción de configuración ha cambiado de --enable-mime-magic a --with-mime-magic a partir de PHP 4.3.2.

Nota: Esta extensión no es capaz de gestionar el archivo magic completamente decorado que generalmente viene con las distribuciones normales de Linux, y es utilizado por lo general con versiones recientes del comando file.

Nota para Usuarios de Win32: Para usar este módulo en un entorno Windows, debe definir la ruta hacia el archivo magic.mime distribuido en su php.ini.

Ejemplo 1. Definición de la ruta hacia magic.mime

mime_magic.magicfile ="$PHP_INSTALL_DIR\magic.mime"

Recuerde sustituir el valor $PHP_INSTALL_DIR con su ruta real hacia PHP en el anterior ejemplo. Por ejemplo, c:\php

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de Mimetype

Nombre | Predeterminado | Modificable | Cambios
mime_magic.debug | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
mime_magic.magicfile | "/ruta/hacia/php/magic.mime" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

mime_magic.debug bool

Habilitar/deshabilitar depuración.

mime_magic.magicfile string

La ruta hacia el archivo magic.mime.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
mime_content_type -- Detectar el tipo de contenido MIME de un archivo (deprecada)

Anterior | Inicio | Siguiente
mhash | Subir | mime_content_type


mime_content_type

(PHP 4 >= 4.3.0, PHP 5)

mime_content_type -- Detectar el tipo de contenido MIME de un archivo (deprecada)

Descripción

string mime_content_type ( string nombre_archivo )

Devuelve el tipo de contenido MIME de un archivo, tal y como sea determinado por medio del uso de información tomada del archivo magic.mime.

Lista de parámetros

nombre_archivo

Ruta al archivo a probar.

Valores retornados

Devuelve el tipo de contenido en formate MIME, como text/plain o application/octet-stream.

Notes

Aviso

Esta función ha sido deprecada ya que la extensión PECL Fileinfo ofrece la misma funcionalidad (y más) en una manera mucho más limpia.

Ejemplos

Ejemplo 1. Ejemplo de mime_content_type()

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

El resultado del ejemplo seria:

image/gif
text/plain

Ver también

Fileinfo como reemplazo

Anterior | Inicio | Siguiente
Funciones Mimetype | Subir | Ming functions for Flash


Funciones de Microsoft SQL Server

Manual de PHP
Anterior Siguiente

XC. Funciones de Microsoft SQL Server

Tabla de contenidos
mssql_bind -- Adds a parameter to a stored procedure or a remote stored procedure
mssql_close -- cierra una conexión con MS SQL Server
mssql_connect -- Abrir una conexión con MS SQL server
mssql_data_seek -- mueve el puntero interno de las filas
mssql_execute -- Executes a stored procedure on a MS SQL server database
mssql_fetch_array -- Captura la fila en un array
mssql_fetch_assoc -- Returns an associative array of the current row in the result
mssql_fetch_batch -- Returns the next batch of records
mssql_fetch_field -- obtiene la información de los campos
mssql_fetch_object -- captura la fila como un objeto
mssql_fetch_row -- obtiene la fila como un array numerado
mssql_field_length -- Get the length of a field
mssql_field_name -- Get the name of a field
mssql_field_seek -- set field offset
mssql_field_type -- Gets the type of a field
mssql_free_result -- libera de la memoria el resultado de una consulta
mssql_free_statement -- Free statement memory
mssql_get_last_message -- Returns the last message from the server
mssql_guid_string -- Converts a 16 byte binary GUID to a string
mssql_init -- Initializes a stored procedure or a remote stored procedure
mssql_min_error_severity -- Sets the lower error severity
mssql_min_message_severity -- Sets the lower message severity
mssql_next_result -- Move the internal result pointer to the next result
mssql_num_fields -- obtiene el número de campos de la consulta
mssql_num_rows -- obtiene el número de filas de la consulta
mssql_pconnect -- abre una conexión persistenete con MS SQL
mssql_query -- envia una consulta MS SQL
mssql_result -- get result data
mssql_rows_affected -- Returns the number of records affected by the query
mssql_select_db -- selecciona una base de datos MS SQL

Anterior | Inicio | Siguiente
udm_set_agent_param | Subir | mssql_bind


mssql_bind

(PHP 4 >= 4.1.0, PHP 5)

mssql_bind -- Adds a parameter to a stored procedure or a remote stored procedure

Descripción

bool mssql_bind ( resource stmt, string param_name, mixed &var, int type [, int is_output [, int is_null [, int maxlen]]] )

Binds a parameter to a stored procedure or a remote stored procedure.

Lista de parámetros

stmt

Statement resource, obtained with mssql_init().

param_name

The parameter name, as a string.

Nota: You have to include the @ character, like in the T-SQL syntax. See the explanation included in mssql_execute().

var

The PHP variable you'll bind the MSSQL parameter to. You can pass it by value, or by reference, to retrieve OUTPUT and RETVAL values after the procedure execution.

type

One of: SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1, SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.

is_output

Wether the value is an OUTPUT parameter or not. If it's an OUTPUT parameter and you don't mention it, it will be treated as a normal input parameter and no error will be thrown.

is_null

Wether the parameter is NULL or not. Passing the NULL value as var will not do the job.

maxlen

Used with char/varchar values. You have to indicate the length of the data so if the parameter is a varchar(50), the type must be SQLVARCHAR and this value 50.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. mssql_bind() Example

<?php

$cn = mssql_connect($DBSERVER, $DBUSER, $DBPASS);
mssql_select_db($DB, $cn);

$sp = mssql_init("WDumpAdd"); // stored proc name

mssql_bind($sp, "@productname", stripslashes($newproduct), SQLVARCHAR, false, false, 150);
mssql_bind($sp, "@quantity", stripslashes($newquantity), SQLVARCHAR, false, false, 50);

mssql_execute($sp);
mssql_close($cn);

?>

Ver también

mssql_execute()
mssql_free_statement()
mssql_init()

Anterior | Inicio | Siguiente
Funciones de Microsoft SQL Server | Subir | mssql_close


mssql_close

(PHP 3, PHP 4, PHP 5)

mssql_close -- cierra una conexión con MS SQL Server

Descripción

int mssql_close ( int link_identifier )

Devuleve: TRUE si se finaliza con éxito, FALSE si se produce un error

mssql_close() cierra la conexión con una base de datos MS SQL Server que está asociada al identificador especificado. Si el identificador no se especifica, se asume la última conexión abierta.

Observe que normalmente esto no es necesario, ya que las conexiones no-persistentes abiertas se cierran automaticamente en cuanto finaliza el script.

mssql_close() no cerrará conexiones persistentes generadas por mssql_pconnect().

Ver también: mssql_connect(), mssql_pconnect().

Anterior | Inicio | Siguiente
mssql_bind | Subir | mssql_connect


mssql_connect

(PHP 3, PHP 4, PHP 5)

mssql_connect -- Abrir una conexión con MS SQL server

Descripción

resource mssql_connect ( [string nombre_servidor [, string nombre_usuario [, string contrasenya [, bool nuevo_enlace]]]] )

mssql_connect() establece una conexión con un servidor MS SQL. El argumento nombre_servidor debe ser un nombre de servidor válido, que esté definido en el archivo 'interfaces'.

El enlace con el servidor será cerrado tan pronto como finalice la ejecución del script, a menos que se cierre antes mediante una llamada explícita a mssql_close().

Lista de parámetros

nombre_servidor

El servidor MS SQL. También puede incluir un número de puerto. P.ej. nombre_host:puerto.

nombre_usuario

El nombre de usuario.

contrasenya

La contraseña.

nuevo_enlace

Si se realiza una segunda llamada a mssql_connect() con los mismos argumentos, no se establecerá un nuevo enlace, en su lugar se devolverá el identificador de enlace de la conexión abierta anteriormente. Este parámetro modifica este comportamiente y hace que mssql_connect() abra siempre un nuevo enlace, incluso si mssql_connect() fue llamada anteriormente con los mismos parámetros.

Valores retornados

Devuelve un identificador de enlace MS SQL de tener éxito, o FALSE si ocurre un error.

Ver también

mssql_close()
mssql_pconnect()

Anterior | Inicio | Siguiente
mssql_close | Subir | mssql_data_seek


mssql_data_seek

(PHP 3, PHP 4, PHP 5)

mssql_data_seek -- mueve el puntero interno de las filas

Descripción

int mssql_data_seek ( int result_identifier, int row_number )

Devuelve: TRUE si se ejecuta con éxito, FALSE si falla.

mssql_data_seek() mueve el puntero interno de la consulta MS SQL asociada al result_identifier especificado, para que apunte al número de fila especificada. La siguiente llamada a mssql_fetch_row() devolverá esa fila.

Ver también: mssql_data_seek().

Anterior | Inicio | Siguiente
mssql_connect | Subir | mssql_execute


mssql_execute

(PHP 4 >= 4.1.0, PHP 5)

mssql_execute -- Executes a stored procedure on a MS SQL server database

Descripción

mixed mssql_execute ( resource stmt [, bool skip_results] )

Executes a stored procedure on a MS SQL server database

Lista de parámetros

stmt

Statement handle obtained with mssql_init().

skip_results

Notes

Nota: If the stored procedure returns parameters or a return value these will be available after the call to mssql_execute() unless the stored procedure returns more than one result set. In that case use mssql_next_result() to shift through the results. When the last result has been processed the output parameters and return values will be available.

Ver también

mssql_bind()
mssql_free_statement()
mssql_init()

Anterior | Inicio | Siguiente
mssql_data_seek | Subir | mssql_fetch_array


mssql_fetch_array

(PHP 3, PHP 4, PHP 5)

mssql_fetch_array -- Captura la fila en un array

Descripción

int mssql_fetch_array ( int result )

Devuelve: Un array que corresponde a la fila capturada, o FALSE si no hay más filas.

mssql_fetch_array() es una versión extendida de mssql_fetch_row(). A¤ade el almacenar los datos en los índices numéricos del array resultante, también almacena los datos en índices asociativos, usando los nombres de los campos como claves.

Una observación a tener en cuenta es, que usar mssql_fetch_array() NO es más lento que usar mssql_fetch_row(), mientras que esta provee un valor a¤adido significativo.

Para más detalles, ver también mssql_fetch_row()

Anterior | Inicio | Siguiente
mssql_execute | Subir | mssql_fetch_assoc


mssql_fetch_assoc

(PHP 4 >= 4.2.0, PHP 5)

mssql_fetch_assoc -- Returns an associative array of the current row in the result

Descripción

array mssql_fetch_assoc ( resource result_id )

Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. mssql_fetch_assoc() is equivalent to calling mssql_fetch_array() with MSSQL_ASSOC for the optional second parameter.

Lista de parámetros

result_id

The result resource that is being evaluated. This result comes from a call to mssql_query().

Valores retornados

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

Anterior | Inicio | Siguiente
mssql_fetch_array | Subir | mssql_fetch_batch


mssql_fetch_batch

(PHP 4 >= 4.0.4, PHP 5)

mssql_fetch_batch -- Returns the next batch of records

Descripción

int mssql_fetch_batch ( resource result )

Returns the next batch of records

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Valores retornados

Returns the batch number as an integer.

Ejemplos

Ejemplo 1. mssql_fetch_batch() Example

<?php

$resDb = mssql_connect('localhost', 'user', 'name');
$result = mssql_query('SELECT * FROM MYTABLE', $resDb, 10000);

$intNumRows = mssql_num_rows($result);

while ($intNumRows > 0) {
    while ($arrRow = mssql_fetch_assoc($result)) {
        // Do stuff ...
    }
    $intNumRows = mssql_fetch_batch($result);
?>

Anterior | Inicio | Siguiente
mssql_fetch_assoc | Subir | mssql_fetch_field


mssql_fetch_field

(PHP 3, PHP 4, PHP 5)

mssql_fetch_field -- obtiene la información de los campos

Descripción

object mssql_fetch_field ( int result, int field_offset )

Devuleve un objeto que contiene información de los campos.

mssql_fetch_field() se puede usar para obtener información acerca de los campos pertenecientes al resultado de una consulta. Si el parámetro field_offset no es especificado, se devuelve la información del siguiente campo que todavía no ha sido devuelto por mssql_fetch_field().

Las propiedades de este objeto son:

  • name - nombre de la columna. si la columna es el resultado de una función, esta propiedad vale #N, donde #N es un número de serie.

  • column_source - la tabla de donde se tomó la columna

  • max_length - longitud máxima de columna

  • numeric - 1 si la columna es numérica

Ver también mssql_field_seek()

Anterior | Inicio | Siguiente
mssql_fetch_batch | Subir | mssql_fetch_object


mssql_fetch_object

(PHP 3, PHP 4, PHP 5)

mssql_fetch_object -- captura la fila como un objeto

Descripción

int mssql_fetch_object ( int result )

Devuelve: Un objeto con propiedades que se corresponden con la fila capturada, o FALSE si no hay más filas.

mssql_fetch_object() es parecida a mssql_fetch_array(), con una diferencia - devuelve un objeto en vez de un array. Indirectamente, esto significa que sólo se puede acceder a los datos por el nombre de los campos, y no por sus posiciones en el objeto (los números no son nombres de propiedades válidas).

La función es idéntica a mssql_fetch_array(), y casi tan rápida como mssql_fetch_row() (la diferencia es insignificante).

Ver también: mssql_fetch-array() and mssql_fetch-row().

Anterior | Inicio | Siguiente
mssql_fetch_field | Subir | mssql_fetch_row


mssql_fetch_row

(PHP 3, PHP 4, PHP 5)

mssql_fetch_row -- obtiene la fila como un array numerado

Descripción

array mssql_fetch_row ( int result )

Devuleve: Un array que corresponde a la fila capturada, o FALSE si no hay más filas.

mssql_fetch_row() captura una fila de datos pertenecientes al resultado asociado con el identificador de resultado especificado. La fila es devuelta como un array. Cada columna de resultados es almacenada en una posición del array, comenzando en la posición 0.

Siguientes llamadas a mssql_fetch_rows() devolverían las filas siguientes del result set, o FALSE si no hay mas filas.

Ver también: mssql_fetch_array(),
          mssql_fetch_object(),
          mssql_data_seek(),
          mssql_fetch_lengths(), and
          mssql_result().

Anterior | Inicio | Siguiente
mssql_fetch_object | Subir | mssql_field_length


mssql_field_length

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

mssql_field_length -- Get the length of a field

Descripción

int mssql_field_length ( resource result [, int offset] )

Returns the length of field no. offset in result.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

Valores retornados

The length of the specified field index on success, or FALSE on failure.

Notes

Note to Win32 Users: Due to a limitation in the underlying API used by PHP (MS DbLib C API), the length of VARCHAR fields is limited to 255. If you need to store more data, use a TEXT field instead.

Ver también

mssql_field_name()
mssql_field_type()

Anterior | Inicio | Siguiente
mssql_fetch_row | Subir | mssql_field_name


mssql_field_name

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

mssql_field_name -- Get the name of a field

Descripción

string mssql_field_name ( resource result [, int offset] )

Returns the name of field no. offset in result.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

Valores retornados

The name of the specified field index on success, or FALSE on failure.

Ver también

mssql_field_length()
mssql_field_type()

Anterior | Inicio | Siguiente
mssql_field_length | Subir | mssql_field_seek


mssql_field_seek

(PHP 3, PHP 4, PHP 5)

mssql_field_seek -- set field offset

Descripción

int mssql_field_seek ( int result, int field_offset )

Se posiciona en el campo especificado por el parámetro field_offset. Si la siguiente llamada a mssql_fetch_field() no incluye el parámetro field_offset, lo que devuelve la función es el campo.

Ver también: mssql_fetch_field().

Anterior | Inicio | Siguiente
mssql_field_name | Subir | mssql_field_type


mssql_field_type

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

mssql_field_type -- Gets the type of a field

Descripción

string mssql_field_type ( resource result [, int offset] )

Returns the type of field no. offset in result.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

Valores retornados

The type of the specified field index on success, or FALSE on failure.

Ver también

mssql_field_length()
mssql_field_name()

Anterior | Inicio | Siguiente
mssql_field_seek | Subir | mssql_free_result


mssql_free_result

(PHP 3, PHP 4, PHP 5)

mssql_free_result -- libera de la memoria el resultado de una consulta

Descripción

int mssql_free_result ( int result )

mssql_free_result() sólo se necesita llamarla si le preocupa el estar usando mucha memoria mientras se está ejecutando el script. Toda el resultado en memoria será liberado automaticamente cuando finalice el script, puede llamar a mssql_free_result() con el identificador de la consulta como argumento y la consulta asociada será liberada de la memoria.

Anterior | Inicio | Siguiente
mssql_field_type | Subir | mssql_free_statement


mssql_free_statement

(PHP 4 >= 4.3.2, PHP 5)

mssql_free_statement -- Free statement memory

Descripción

bool mssql_free_statement ( resource stmt )

mssql_free_statement() only needs to be called if you are worried about using too much memory while your script is running. All statement memory will automatically be freed when the script ends. You may call mssql_free_statement() with the statement identifier as an argument and the associated statement memory will be freed.

Lista de parámetros

stmt

Statement resource, obtained with mssql_init().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mssql_bind()
mssql_execute()
mssql_init()

Anterior | Inicio | Siguiente
mssql_free_result | Subir | mssql_get_last_message


mssql_get_last_message

(PHP 3, PHP 4, PHP 5)

mssql_get_last_message -- Returns the last message from the server

Descripción

string mssql_get_last_message ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mssql_free_statement | Subir | mssql_guid_string


mssql_guid_string

(PHP 4 >= 4.1.0, PHP 5)

mssql_guid_string -- Converts a 16 byte binary GUID to a string

Descripción

string mssql_guid_string ( string binary [, int short_format] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mssql_get_last_message | Subir | mssql_init


mssql_init

(PHP 4 >= 4.1.0, PHP 5)

mssql_init -- Initializes a stored procedure or a remote stored procedure

Descripción

resource mssql_init ( string sp_name [, resource link_identifier] )

Initializes a stored procedure or a remote stored procedure.

Lista de parámetros

sp_name

Stored procedure name, like ownew.sp_name or otherdb.owner.sp_name.

link_identifier

A MS SQL link identifier, returned by mssql_connect().

Valores retornados

Returns a resource identifier "statement", used in subsequent calls to mssql_bind() and mssql_execute(), or FALSE on errors.

Ver también

mssql_bind()
mssql_execute()
mssql_free_statement()

Anterior | Inicio | Siguiente
mssql_guid_string | Subir | mssql_min_error_severity


mssql_min_error_severity

(PHP 3, PHP 4, PHP 5)

mssql_min_error_severity -- Sets the lower error severity

Descripción

void mssql_min_error_severity ( int severity )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

severity

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
mssql_init | Subir | mssql_min_message_severity


mssql_min_message_severity

(PHP 3, PHP 4, PHP 5)

mssql_min_message_severity -- Sets the lower message severity

Descripción

void mssql_min_message_severity ( int severity )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

severity

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
mssql_min_error_severity | Subir | mssql_next_result


mssql_next_result

(PHP 4 >= 4.0.5, PHP 5)

mssql_next_result -- Move the internal result pointer to the next result

Descripción

bool mssql_next_result ( resource result_id )

When sending more than one SQL statement to the server or executing a stored procedure with multiple results, it will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the rows from the new result set.

Lista de parámetros

result_id

The result resource that is being evaluated. This result comes from a call to mssql_query().

Valores retornados

Returns TRUE if an additional result set was available or FALSE otherwise.

Ejemplos

Ejemplo 1. mssql_next_result() example

<?php
$link = mssql_connect("localhost", "userid", "secret");
mssql_select_db("MyDB", $link);
$sql = "Select * from table1 select * from table2";
$rs = mssql_query($sql, $link);
do {
    while ($row = mssql_fetch_row($rs)) {
    }
} while (mssql_next_result($rs));
mssql_free_result($rs);
mssql_close($link);
?>

Anterior | Inicio | Siguiente
mssql_min_message_severity | Subir | mssql_num_fields


mssql_num_fields

(PHP 3, PHP 4, PHP 5)

mssql_num_fields -- obtiene el número de campos de la consulta

Descripción

int mssql_num_fields ( int result )

mssql_num_fields() devuelve el número de campos de la consulta o result set.

Ver también:
mssql_db_query(),
mssql_query(),
mssql_fetch_field(),
mssql_num_rows().

Anterior | Inicio | Siguiente
mssql_next_result | Subir | mssql_num_rows


mssql_num_rows

(PHP 3, PHP 4, PHP 5)

mssql_num_rows -- obtiene el número de filas de la consulta

Descripción

int mssql_num_rows ( string result )

mssql_num_rows() devuelve el número de filas de la consulta o result set.

Ver también:
mssql_db_query(),
mssql_query() and,
mssql_fetch_row().

Anterior | Inicio | Siguiente
mssql_num_fields | Subir | mssql_pconnect


mssql_pconnect

(PHP 3, PHP 4, PHP 5)

mssql_pconnect -- abre una conexión persistenete con MS SQL

Descripción

int mssql_pconnect ( string servername, string username, string password )

Devuelve: Un identificador persistente postivo si no hay error, o FALSE si se produce alguno

mssql_pconnect() funciona de la misma forma que mssql_connect() aunque con dos grandes diferencias.

La primera es que cuando intenta conectar, la función intentará encontrar un enlace (persistente) que ya esté abierto en el mismo ordenador, nombre de usuario y contrase¤a. Si lo encuentra, la funcion devolverá el identificador de esta en vez de abrir una nueva conexión.

Y la segunda, la conexión con el servidor no se cerrará cuando finalice la ejecución del script. En vez de esto, el enlace permanecerá abierto para un uso futuro. (mssql_close() no cerrará enlaces establecidos por mssql_pconnect()).

Por consiguiente, este tipo de enlace es llamado 'persistente'.

Anterior | Inicio | Siguiente
mssql_num_rows | Subir | mssql_query


mssql_query

(PHP 3, PHP 4, PHP 5)

mssql_query -- envia una consulta MS SQL

Descripción

int mssql_query ( string query, int link_identifier )

Devuelve: Un identificado de resultado valido si no hay error, o FALSE en caso contrario.

mssql_query() envia una petición de consulta a la base de datos activa en el servidor asociada al identificador de enlace especificado. Si el identificador del enlace no es especificado, se asume como abierto el último enlace. Si no hay ningún enlace abierto, la función intenta establecer un enlace como si mssql_connect() hubiera sido llamada, y lo usa.

Ver también:
mssql_db_query(),
mssql_select_db(), and
mssql_connect().

Anterior | Inicio | Siguiente
mssql_pconnect | Subir | mssql_result


mssql_result

(PHP 3, PHP 4, PHP 5)

mssql_result -- get result data

Descripción

int mssql_result ( int result, int i, mixed field )

Devuelve: El contenido de la celda en la fila y posición del result set especificado.

mssql_result() devuelve el contenido de una celda del result set. El parametro field puede ser la posición del campo, o el nombre del campo o bién nombretabla.nombrecampo. Si el nombre de la columna ha sido renombrado ('select foo as bar from...'), use el alias en vez del nombre de la columna.

Trabajando con result sets de gran tama¤o, debería considerar el uso de una de las funciones que capturan una fila completa (especificadas abajo). Como estas funciones devuelven el contenido de múltiples celdas en una sóla llamada, estas son MUCHO más rápidas que mssql_result(). También, observe que especificar una posición númerica para el argumento field es mucho mas rápido que especificar el nombre de un campo o utilizar la forma nombretabla.nombrecampo como argumento.

Alternativas recomendadas para mayor rendimiento :
mssql_fetch_row(),
mssql_fetch_array(), y
mssql_fetch_object().

Anterior | Inicio | Siguiente
mssql_query | Subir | mssql_rows_affected


mssql_rows_affected

(PHP 4 >= 4.0.4, PHP 5)

mssql_rows_affected -- Returns the number of records affected by the query

Descripción

int mssql_rows_affected ( resource link_identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

Anterior | Inicio | Siguiente
mssql_result | Subir | mssql_select_db


mssql_select_db

(PHP 3, PHP 4, PHP 5)

mssql_select_db -- selecciona una base de datos MS SQL

Descripción

int mssql_select_db ( string database_name, int link_identifier )

Devuelve: TRUE si todo va bién, FALSE si se produce un error

mssql_select_db() selecciona como base de datos activa del servidor, la que está asociada al identificador de enlace especificado. Si no se especifica nigún identificador, se asume el último enlace. Si no hay ningún enlace abierto, la función intentará establecer un enlace como si se llamara a la función mssql_connect(), y lo usa.

Cada llamada a mssql_query() será realizada sobre la base de datos activa.

Ver también:
    mssql_connect(),
    mssql_pconnect(), y
    mssql_query()

Anterior | Inicio | Siguiente
mssql_rows_affected | Subir | Microsoft SQL Server and Sybase Functions (PDO_DBLIB)


Ming functions for Flash

Manual de PHP
Anterior Siguiente

LXXXVII. Ming functions for Flash

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Introducción

First of all: Ming is not an acronym. Ming is an open-source (LGPL) library which allows you to create SWF ("Flash") format movies. Ming supports almost all of Flash 4's features, including: shapes, gradients, bitmaps (pngs and jpegs), morphs ("shape tweens"), text, buttons, actions, sprites ("movie clips"), streaming mp3, and color transforms --the only thing that's missing is sound events.

Note that all values specifying length, distance, size, etc. are in "twips", twenty units per pixel. That's pretty much arbitrary, though, since the player scales the movie to whatever pixel size is specified in the embed/object tag, or the entire frame if not embedded.

Ming offers a number of advantages over the existing PHP/libswf module. You can use Ming anywhere you can compile the code, whereas libswf is closed-source and only available for a few platforms, Windows not one of them. Ming provides some insulation from the mundane details of the SWF file format, wrapping the movie elements in PHP objects. Also, Ming is still being maintained; if there's a feature that you want to see, just let us know at http://ming.sourceforge.net/.

Ming was added in PHP 4.0.5.

Requisitos

To use Ming with PHP, you first need to build and install the Ming library. Source code and installation instructions are available at the Ming home page: http://ming.sourceforge.net/ along with examples, a small tutorial, and the latest news.

Download the ming archive. Unpack the archive. Go in the Ming directory. make. make install.

This will build libming.so and install it into /usr/lib/, and copy ming.h into /usr/include/. Edit the PREFIX= line in the Makefile to change the installation directory.

Instalación

Ejemplo 1. built into PHP (Unix)

mkdir <phpdir>/ext/ming
cp php_ext/* <phpdir>/ext/ming
cd <phpdir>
./buildconf
./configure --with-ming <other config options>

Build and install PHP as usual, restart web server if necessary.

Now either just add extension=php_ming.so to your php.ini file, or put dl('php_ming.so'); at the head of all of your Ming scripts.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

MING_NEW (integer)

MING_ZLIB (integer)

SWFBUTTON_HIT (integer)

SWFBUTTON_DOWN (integer)

SWFBUTTON_OVER (integer)

SWFBUTTON_UP (integer)

SWFBUTTON_MOUSEUPOUTSIDE (integer)

SWFBUTTON_DRAGOVER (integer)

SWFBUTTON_DRAGOUT (integer)

SWFBUTTON_MOUSEUP (integer)

SWFBUTTON_MOUSEDOWN (integer)

SWFBUTTON_MOUSEOUT (integer)

SWFBUTTON_MOUSEOVER (integer)

SWFFILL_RADIAL_GRADIENT (integer)

SWFFILL_LINEAR_GRADIENT (integer)

SWFFILL_TILED_BITMAP (integer)

SWFFILL_CLIPPED_BITMAP (integer)

SWFTEXTFIELD_HASLENGTH (integer)

SWFTEXTFIELD_NOEDIT (integer)

SWFTEXTFIELD_PASSWORD (integer)

SWFTEXTFIELD_MULTILINE (integer)

SWFTEXTFIELD_WORDWRAP (integer)

SWFTEXTFIELD_DRAWBOX (integer)

SWFTEXTFIELD_NOSELECT (integer)

SWFTEXTFIELD_HTML (integer)

SWFTEXTFIELD_ALIGN_LEFT (integer)

SWFTEXTFIELD_ALIGN_RIGHT (integer)

SWFTEXTFIELD_ALIGN_CENTER (integer)

SWFTEXTFIELD_ALIGN_JUSTIFY (integer)

SWFACTION_ONLOAD (integer)

SWFACTION_ENTERFRAME (integer)

SWFACTION_UNLOAD (integer)

SWFACTION_MOUSEMOVE (integer)

SWFACTION_MOUSEDOWN (integer)

SWFACTION_MOUSEUP (integer)

SWFACTION_KEYDOWN (integer)

SWFACTION_KEYUP (integer)

SWFACTION_DATA (integer)

Clases predefinidas

Estas clases están definidas por esta extensión y estarán disponibles cuando la extensión haya sido compilada dentro de PHP o cargada dinámicamente en tiempo de ejecución

Classes

SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFFontChar
SWFGradient
SWFMorph
SWFMovie
SWFPrebuiltClip
SWFShape
SWFSound
SWFSoundInstance
SWFSprite
SWFText
SWFTextField
SWFVideoStream

Tabla de contenidos
SWFAction -- SWFAction Class
SWFAction->__construct() -- Creates a new SWFAction
SWFBitmap -- SWFBitmap Class
SWFBitmap->__construct() -- Loads Bitmap object
SWFBitmap->getHeight() -- Returns the bitmap's height
SWFBitmap->getWidth() -- Returns the bitmap's width
SWFButton -- SWFButton Class
SWFButton->__construct() -- Creates a new Button
SWFButton->addAction() -- Adds an action
SWFButton->addASound() -- Associates a sound with a button transition
SWFButton->addShape() -- Adds a shape to a button
SWFButton->setAction() -- Sets the action
SWFButton->setDown() -- Alias for addShape(shape, SWFBUTTON_DOWN)
SWFButton->setHit() -- Alias for addShape(shape, SWFBUTTON_HIT)
SWFButton->setMenu() -- enable track as menu button behaviour
SWFButton->setOver() -- Alias for addShape(shape, SWFBUTTON_OVER)
SWFButton->setUp() -- Alias for addShape(shape, SWFBUTTON_UP)
SWFDisplayItem -- SWFDisplayItem Class
SWFDisplayItem->addAction() -- Adds this SWFAction to the given SWFSprite instance
SWFDisplayItem->addColor() -- Adds the given color to this item's color transform
SWFDisplayItem->endMask() -- Another way of defining a MASK layer
SWFDisplayItem->getRot() --
SWFDisplayItem->getX() --
SWFDisplayItem->getXScale() --
SWFDisplayItem->getXSkew() --
SWFDisplayItem->getY() --
SWFDisplayItem->getYScale() --
SWFDisplayItem->getYSkew() --
SWFDisplayItem->move() -- Moves object in relative coordinates
SWFDisplayItem->moveTo() -- Moves object in global coordinates
SWFDisplayItem->multColor() -- Multiplies the item's color transform
SWFDisplayItem->remove() -- Removes the object from the movie
SWFDisplayItem->rotate() -- Rotates in relative coordinates
SWFDisplayItem->rotateTo() -- Rotates the object in global coordinates
SWFDisplayItem->scale() -- Scales the object in relative coordinates
SWFDisplayItem->scaleTo() -- Scales the object in global coordinates
SWFDisplayItem->setDepth() -- Sets z-order
SWFDisplayItem->setMaskLevel() -- Defines a MASK layer at level
SWFDisplayItem->setMatrix() -- Sets the item's transform matrix
SWFDisplayItem->setName() -- Sets the object's name
SWFDisplayItem->setRatio() -- Sets the object's ratio
SWFDisplayItem->skewX() -- Sets the X-skew
SWFDisplayItem->skewXTo() -- Sets the X-skew
SWFDisplayItem->skewY() -- Sets the Y-skew
SWFDisplayItem->skewYTo() -- Sets the Y-skew
SWFFill -- SWFFill Class
SWFFill->moveTo() -- Moves fill origin
SWFFill->rotateTo() -- Sets fill's rotation
SWFFill->scaleTo() -- Sets fill's scale
SWFFill->skewXTo() -- Sets fill x-skew
SWFFill->skewYTo() -- Sets fill y-skew
SWFFont -- SWFFont Class
SWFFont->__construct() -- Loads a font definition
SWFFont->getAscent() -- Returns the ascent of the font, or 0 if not available
SWFFont->getDescent() -- Returns the descent of the font, or 0 if not available
SWFFont->getLeading() -- Returns the leading of the font, or 0 if not available
SWFFont->getShape() -- Returns the glyph shape of a char as a text string
SWFFont->getUTF8Width() -- Calculates the width of the given string in this font at full height
SWFFont->getWidth() -- Returns the string's width
SWFFontChar -- SWFFontChar Class
SWFFontChar->addChars() -- Adds characters to a font for exporting font
SWFFontChar->addUTF8Chars() -- Adds characters to a font for exporting font
SWFGradient -- SWFGradient Class
SWFGradient->__construct() -- Creates a gradient object
SWFGradient->addEntry() -- Adds an entry to the gradient list
SWFMorph -- SWFMorph Class
SWFMorph->__construct() -- Creates a new SWFMorph object
SWFMorph->getShape1() -- Gets a handle to the starting shape
SWFMorph->getShape2() -- Gets a handle to the ending shape
SWFMovie -- SWFMovie Class
SWFMovie->__construct() -- Creates a new movie object, representing an SWF version 4 movie
SWFMovie->add() -- Adds any type of data to a movie
SWFMovie->addExport() --
SWFMovie->addFont() --
SWFMovie->importChar() --
SWFMovie->importFont() --
SWFMovie->labelFrame() -- Labels a frame
SWFMovie->nextFrame() -- Moves to the next frame of the animation
SWFMovie->output() -- Dumps your lovingly prepared movie out
SWFMovie->remove() -- Removes the object instance from the display list
SWFMovie->save() -- Saves the SWF movie in a file
SWFMovie->saveToFile() --
SWFMovie->setbackground() -- Sets the background color
SWFMovie->setDimension() -- Sets the movie's width and height
SWFMovie->setFrames() -- Sets the total number of frames in the animation
SWFMovie->setRate() -- Sets the animation's frame rate
SWFMovie->startSound() --
SWFMovie->stopSound() --
SWFMovie->streamMP3() -- Streams a MP3 file
SWFMovie->writeExports() --
SWFPrebuiltClip -- SWFPrebuiltClip Class
SWFPrebuiltClip->__construct() -- Returns a SWFPrebuiltClip object
SWFShape -- SWFShape Class
SWFShape->__construct() -- Creates a new shape object
SWFShape->addFill() -- Adds a solid fill to the shape
SWFShape->drawArc() -- Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
SWFShape->drawCircle() -- Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
SWFShape->drawCubic() -- Draws a cubic bezier curve using the current position and the three given points as control points
SWFShape->drawCubicTo() -- Draws a cubic bezier curve using the current position and the three given points as control points
SWFShape->drawCurve() -- Draws a curve (relative)
SWFShape->drawCurveTo() -- Draws a curve
SWFShape->drawGlyph() -- Draws the first character in the given string into the shape using the glyph definition from the given font
SWFShape->drawLine() -- Draws a line (relative)
SWFShape->drawLineTo() -- Draws a line
SWFShape->movePen() -- Moves the shape's pen (relative)
SWFShape->movePenTo() -- Moves the shape's pen
SWFShape->setLeftFill() -- Sets left rasterizing color
SWFShape->setLine() -- Sets the shape's line style
SWFShape->setRightFill() -- Sets right rasterizing color
SWFSound -- SWFSound Class
SWFSound -- Returns a new SWFSound object from given file
SWFSoundInstance -- SWFSoundInstance Class
SWFSoundInstance->loopCount() --
SWFSoundInstance->loopInPoint() --
SWFSoundInstance->loopOutPoint() --
SWFSoundInstance->noMultiple() --
SWFSprite -- SWFSprite Class
SWFSprite->__construct() -- Creates a movie clip (a sprite)
SWFSprite->add() -- Adds an object to a sprite
SWFSprite->labelFrame() -- Labels frame
SWFSprite->nextFrame() -- Moves to the next frame of the animation
SWFSprite->remove() -- Removes an object to a sprite
SWFSprite->setFrames() -- Sets the total number of frames in the animation
SWFSprite->startSound() --
SWFSprite->stopSound() --
SWFText -- SWFText Class
SWFText->__construct() -- Creates a new SWFText object
SWFText->addString() -- Draws a string
SWFText->addUTF8String() -- Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
SWFText->getAscent() -- Returns the ascent of the current font at its current size, or 0 if not available
SWFText->getDescent() -- Returns the descent of the current font at its current size, or 0 if not available
SWFText->getLeading() -- Returns the leading of the current font at its current size, or 0 if not available
SWFText->getUTF8Width() -- calculates the width of the given string in this text objects current font and size
SWFText->getWidth() -- Computes string's width
SWFText->moveTo() -- Moves the pen
SWFText->setColor() -- Sets the current text color
SWFText->setFont() -- Sets the current font
SWFText->setHeight() -- Sets the current font height
SWFText->setSpacing() -- Sets the current font spacing
SWFTextField -- SWFTextField Class
SWFTextField->__construct() -- Creates a text field object
SWFTextField->addChars() -- adds characters to a font that will be available within a textfield
SWFTextField->addString() -- Concatenates the given string to the text field
SWFTextField->align() -- Sets the text field alignment
SWFTextField->setBounds() -- Sets the text field width and height
SWFTextField->setColor() -- Sets the color of the text field
SWFTextField->setFont() -- Sets the text field font
SWFTextField->setHeight() -- Sets the font height of this text field font
SWFTextField->setIndentation() -- Sets the indentation of the first line
SWFTextField->setLeftMargin() -- Sets the left margin width of the text field
SWFTextField->setLineSpacing() -- Sets the line spacing of the text field
SWFTextField->setMargins() -- Sets the margins width of the text field
SWFTextField->setName() -- Sets the variable name
SWFTextField->setPadding() -- Sets the padding of this textfield
SWFTextField->setRightMargin() -- Sets the right margin width of the text field
SWFVideoStream -- SWFVideoStream Class
SWFVideoStream->__construct() -- Returns a SWFVideoStream object
SWFVideoStream->getNumFrames() --
SWFVideoStream->setDimension() --
ming_keypress -- Returns the action flag for keyPress(char)
ming_setcubicthreshold -- Set cubic threshold
ming_setscale -- Set scale
ming_setswfcompression -- Sets the SWF output compression
ming_useconstants -- Use constant pool
ming_useswfversion -- Sets the SWF version

Anterior | Inicio | Siguiente
mime_content_type | Subir | SWFAction


ming_setcubicthreshold

(PHP 4 >= 4.0.5, PHP 5)

ming_setcubicthreshold -- Set cubic threshold

Descripción

void ming_setcubicthreshold ( int threshold )

Sets the threshold error for drawing cubic beziers.

Lista de parámetros

threshold

The Threshold. Lower is more accurate, hence larger file size.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
ming_keypress | Subir | ming_setscale


ming_setscale

(PHP 4 >= 4.0.5, PHP 5)

ming_setscale -- Set scale

Descripción

void ming_setscale ( int scale )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
ming_setcubicthreshold | Subir | ming_setswfcompression


ming_useswfversion

(PHP 4 >= 4.2.0, PHP 5)

ming_useswfversion -- Sets the SWF version

Descripción

void ming_useswfversion ( int version )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
ming_useconstants | Subir | Funciones de Miscelánea


SWFBitmap->getHeight()

(no version information, might be only in CVS)

SWFBitmap->getHeight() -- Returns the bitmap's height

Descripción

class SWFBitmap {

float getHeight ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the bitmap's height.

Valores retornados

Returns the bitmap height in pixels.

Ver también

SWFBitmap->getWidth()

Anterior | Inicio | Siguiente
SWFBitmap->__construct() | Subir | SWFBitmap->getWidth()


SWFBitmap->getWidth()

(no version information, might be only in CVS)

SWFBitmap->getWidth() -- Returns the bitmap's width

Descripción

class SWFBitmap {

float getWidth ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the bitmap's width.

Valores retornados

Returns the bitmap width in pixels.

Ver también

SWFBitmap->getHeight()

Anterior | Inicio | Siguiente
SWFBitmap->getHeight() | Subir | SWFButton


SWFButton->addAction()

(no version information, might be only in CVS)

SWFButton->addAction() -- Adds an action

Descripción

class SWFButton {

void addAction ( SWFAction action, int flags )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Adds the given action to the button for the given conditions.

Lista de parámetros

action

An SWFAction, returned by SWFAction->__construct().

flags

The following flags are valid: SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP, SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT and SWFBUTTON_DRAGOVER.

Valores retornados

No value is returned.

Ver también

SWFButton->addShape()
SWFAction

Anterior | Inicio | Siguiente
SWFButton->__construct() | Subir | SWFButton->addASound()


SWFButton->addShape()

(no version information, might be only in CVS)

SWFButton->addShape() -- Adds a shape to a button

Descripción

class SWFButton {

void addShape ( SWFShape shape, int flags )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Adds the given shape to the button.

Lista de parámetros

shape

An SWFShape instance

flags

The following flags are valid: SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN and SWFBUTTON_HIT.

SWFBUTTON_HIT isn't ever displayed, it defines the hit region for the button. That is, everywhere the hit shape would be drawn is considered a "touchable" part of the button.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFButton->addASound() | Subir | SWFButton->setAction()


SWFButton->setAction()

(no version information, might be only in CVS)

SWFButton->setAction() -- Sets the action

Descripción

class SWFButton {

void setAction ( SWFAction action )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the action to be performed when the button is clicked.

This is a shortcut for SWFButton->addAction() called with the SWFBUTTON_MOUSEUP flag.

Lista de parámetros

action

An SWFAction, returned by SWFAction->__construct().

Valores retornados

No value is returned.

Ver también

SWFButton->addAction()
SWFAction

Anterior | Inicio | Siguiente
SWFButton->addShape() | Subir | SWFButton->setDown()


SWFButton->setDown()

(no version information, might be only in CVS)

SWFButton->setDown() -- Alias for addShape(shape, SWFBUTTON_DOWN)

Descripción

class SWFButton {

void setDown ( SWFShape shape )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfbutton->setdown() alias for addShape(shape, SWFBUTTON_DOWN).

Valores retornados

No value is returned.

Ver también

SWFButton->addShape()
SWFAction

Anterior | Inicio | Siguiente
SWFButton->setAction() | Subir | SWFButton->setHit()


SWFButton->setHit()

(no version information, might be only in CVS)

SWFButton->setHit() -- Alias for addShape(shape, SWFBUTTON_HIT)

Descripción

class SWFButton {

void setHit ( SWFShape shape )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfbutton->sethit() alias for addShape(shape, SWFBUTTON_HIT).

Valores retornados

No value is returned.

Ver también

SWFButton->addShape()
SWFAction

Anterior | Inicio | Siguiente
SWFButton->setDown() | Subir | SWFButton->setMenu()


SWFButton->setOver()

(no version information, might be only in CVS)

SWFButton->setOver() -- Alias for addShape(shape, SWFBUTTON_OVER)

Descripción

class SWFButton {

void setOver ( SWFShape shape )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfbutton->setover() alias for addShape(shape, SWFBUTTON_OVER).

Valores retornados

No value is returned.

Ver también

SWFButton->addShape()
SWFAction

Anterior | Inicio | Siguiente
SWFButton->setMenu() | Subir | SWFButton->setUp()


SWFButton->setUp()

(no version information, might be only in CVS)

SWFButton->setUp() -- Alias for addShape(shape, SWFBUTTON_UP)

Descripción

class SWFButton {

void setUp ( SWFShape shape )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfbutton->setup() alias for addShape(shape, SWFBUTTON_UP).

Valores retornados

No value is returned.

Ver también

SWFButton->addShape()
SWFAction

Anterior | Inicio | Siguiente
SWFButton->setOver() | Subir | SWFDisplayItem


SWFDisplayItem->addColor()

(no version information, might be only in CVS)

SWFDisplayItem->addColor() -- Adds the given color to this item's color transform

Descripción

class SWFDisplayItem {

void addColor ( int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->addcolor() adds the color to this item's color transform. The color is given in its RGB form.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFDisplayItem->addAction() | Subir | SWFDisplayItem->endMask()


SWFDisplayItem->move()

(no version information, might be only in CVS)

SWFDisplayItem->move() -- Moves object in relative coordinates

Descripción

class SWFDisplayItem {

void move ( int dx, int dy )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->move() moves the current object by (dx,dy) from its current position.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->moveTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->getYSkew() | Subir | SWFDisplayItem->moveTo()


SWFDisplayItem->moveTo()

(no version information, might be only in CVS)

SWFDisplayItem->moveTo() -- Moves object in global coordinates

Descripción

class SWFDisplayItem {

void moveTo ( int x, int y )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->moveto() moves the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->move()

Anterior | Inicio | Siguiente
SWFDisplayItem->move() | Subir | SWFDisplayItem->multColor()


SWFDisplayItem->multColor()

(no version information, might be only in CVS)

SWFDisplayItem->multColor() -- Multiplies the item's color transform

Descripción

class SWFDisplayItem {

void multColor ( int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->multcolor() multiplies the item's color transform by the given values.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Lista de parámetros

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Valores retornados

No value is returned.

Ejemplos

This simple example will modify your picture's atmosphere to Halloween (use a landscape or bright picture).

Ejemplo 1. swfdisplayitem->multcolor() example

<?php

$b = new SWFBitmap(file_get_contents("backyard.jpg"));
// note use your own picture :-)
$s = new SWFShape();
$s->setRightFill($s->addFill($b));
$s->drawLine($b->getWidth(), 0);
$s->drawLine(0, $b->getHeight());
$s->drawLine(-$b->getWidth(), 0);
$s->drawLine(0, -$b->getHeight());

$m = new SWFMovie();
$m->setDimension($b->getWidth(), $b->getHeight());

$i = $m->add($s);

for ($n=0; $n<=20; ++$n) {
  $i->multColor(1.0-$n/10, 1.0, 1.0);
  $i->addColor(0xff*$n/20, 0, 0);
  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFDisplayItem->moveTo() | Subir | SWFDisplayItem->remove()


SWFDisplayItem->remove()

(no version information, might be only in CVS)

SWFDisplayItem->remove() -- Removes the object from the movie

Descripción

class SWFDisplayItem {

void remove ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->remove() removes this object from the movie's display list.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFMovie->add()

Anterior | Inicio | Siguiente
SWFDisplayItem->multColor() | Subir | SWFDisplayItem->rotate()


SWFDisplayItem->rotate()

(no version information, might be only in CVS)

SWFDisplayItem->rotate() -- Rotates in relative coordinates

Descripción

class SWFDisplayItem {

void rotate ( float angle )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->rotate() rotates the current object by angle degrees from its current rotation.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->rotateTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->remove() | Subir | SWFDisplayItem->rotateTo()


SWFDisplayItem->rotateTo()

(no version information, might be only in CVS)

SWFDisplayItem->rotateTo() -- Rotates the object in global coordinates

Descripción

class SWFDisplayItem {

void rotateTo ( float angle )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->rotateto() set the current object rotation to angle degrees in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ejemplos

This example bring three rotating string from the background to the foreground. Pretty nice.

Ejemplo 1. swfdisplayitem->rotateto() example

<?php
$thetext =  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(2400, 1600);
$m->setBackground(0xff, 0xff, 0xff);

// functions with huge numbers of arbitrary
// arguments are always a good idea!  Really!

function text($r, $g, $b, $a, $rot, $x, $y, $scale, $string)
{
  global $f, $m;

  $t = new SWFText();
  $t->setFont($f);
  $t->setColor($r, $g, $b, $a);
  $t->setHeight(960);
  $t->moveTo(-($f->getWidth($string))/2, $f->getAscent()/2);
  $t->addString($string);

  // we can add properties just like a normal PHP var,
  // as long as the names aren't already used.
  // e.g., we can't set $i->scale, because that's a function

  $i = $m->add($t);
  $i->x = $x;
  $i->y = $y;
  $i->rot = $rot;
  $i->s = $scale;
  $i->rotateTo($rot);
  $i->scale($scale, $scale);

  // but the changes are local to the function, so we have to
  // return the changed object.  kinda weird..

  return $i;
}

function step($i)
{
  $oldrot = $i->rot;
  $i->rot = 19*$i->rot/20;
  $i->x = (19*$i->x + 1200)/20;
  $i->y = (19*$i->y + 800)/20;
  $i->s = (19*$i->s + 1.0)/20;

  $i->rotateTo($i->rot);
  $i->scaleTo($i->s, $i->s);
  $i->moveTo($i->x, $i->y);

  return $i;
}

// see?  it sure paid off in legibility:

$i1 = text(0xff, 0x33, 0x33, 0xff, 900, 1200, 800, 0.03, $thetext);
$i2 = text(0x00, 0x33, 0xff, 0x7f, -560, 1200, 800, 0.04, $thetext);
$i3 = text(0xff, 0xff, 0xff, 0x9f, 180, 1200, 800, 0.001, $thetext);

for ($i=1; $i<=100; ++$i) {
  $i1 = step($i1);
  $i2 = step($i2);
  $i3 = step($i3);

  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ver también

SWFDisplayItem->rotate()

Anterior | Inicio | Siguiente
SWFDisplayItem->rotate() | Subir | SWFDisplayItem->scale()


SWFDisplayItem->scale()

(no version information, might be only in CVS)

SWFDisplayItem->scale() -- Scales the object in relative coordinates

Descripción

class SWFDisplayItem {

void scale ( int dx, int dy )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->scale() scales the current object by (dx,dy) from its current size.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->scaleTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->rotateTo() | Subir | SWFDisplayItem->scaleTo()


SWFDisplayItem->scaleTo()

(no version information, might be only in CVS)

SWFDisplayItem->scaleTo() -- Scales the object in global coordinates

Descripción

class SWFDisplayItem {

void scaleTo ( int x [, int y] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->scaleto() scales the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->scale()

Anterior | Inicio | Siguiente
SWFDisplayItem->scale() | Subir | SWFDisplayItem->setDepth()


SWFDisplayItem->setDepth()

(no version information, might be only in CVS)

SWFDisplayItem->setDepth() -- Sets z-order

Descripción

class SWFDisplayItem {

void setDepth ( float depth )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->setdepth() sets the object's z-order to depth. Depth defaults to the order in which instances are created (by adding a shape/text to a movie)- newer ones are on top of older ones. If two objects are given the same depth, only the later-defined one can be moved.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFDisplayItem->scaleTo() | Subir | SWFDisplayItem->setMaskLevel()


SWFDisplayItem->setName()

(no version information, might be only in CVS)

SWFDisplayItem->setName() -- Sets the object's name

Descripción

class SWFDisplayItem {

void setName ( string name )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->setname() sets the object's name to name, for targetting with action script. Only useful on sprites.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFDisplayItem->setMatrix() | Subir | SWFDisplayItem->setRatio()


SWFDisplayItem->setRatio()

(no version information, might be only in CVS)

SWFDisplayItem->setRatio() -- Sets the object's ratio

Descripción

class SWFDisplayItem {

void setRatio ( float ratio )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->setratio() sets the object's ratio to ratio. Obviously only useful for morphs.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ejemplos

This simple example will morph nicely three concentric circles.

Ejemplo 1. swfdisplayitem->setname() example

<?php

$p = new SWFMorph();

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0xff, 0xff);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0xff, 0xff, 0xff);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0xff, 0xff, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape1();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0, 0);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0, 0xff, 0);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0, 0, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape2();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$f->skewXTo(1.0);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$m = new SWFMovie();
$m->setDimension(320, 240);
$i = $m->add($p);
$i->moveTo(160, 120);

for ($n=0; $n<=1.001; $n+=0.01) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFDisplayItem->setName() | Subir | SWFDisplayItem->skewX()


SWFDisplayItem->skewX()

(no version information, might be only in CVS)

SWFDisplayItem->skewX() -- Sets the X-skew

Descripción

class SWFDisplayItem {

void skewX ( float ddegrees )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->skewx() adds ddegrees to current x-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->skewXTo()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->setRatio() | Subir | SWFDisplayItem->skewXTo()


SWFDisplayItem->skewXTo()

(no version information, might be only in CVS)

SWFDisplayItem->skewXTo() -- Sets the X-skew

Descripción

class SWFDisplayItem {

void skewXTo ( float degrees )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->skewxto() sets the x-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more forward, less is more backward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->skewX()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->skewX() | Subir | SWFDisplayItem->skewY()


SWFDisplayItem->skewY()

(no version information, might be only in CVS)

SWFDisplayItem->skewY() -- Sets the Y-skew

Descripción

class SWFDisplayItem {

void skewY ( float ddegrees )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->skewy() adds ddegrees to current y-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->skewYTo()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->skewXTo() | Subir | SWFDisplayItem->skewYTo()


SWFDisplayItem->skewYTo()

(no version information, might be only in CVS)

SWFDisplayItem->skewYTo() -- Sets the Y-skew

Descripción

class SWFDisplayItem {

void skewYTo ( float degrees )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfdisplayitem->skewyto() sets the y-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more upward, less is more downward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Valores retornados

No value is returned.

Ver también

SWFDisplayItem->skewY()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->skewY() | Subir | SWFFill


SWFFill->moveTo()

(no version information, might be only in CVS)

SWFFill->moveTo() -- Moves fill origin

Descripción

class SWFFill {

void moveTo ( int x, int y )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Moves the fill origin to the given global coordinates.

Lista de parámetros

x

X-coordinate

y

Y-coordinate

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFFill | Subir | SWFFill->rotateTo()


SWFFill->rotateTo()

(no version information, might be only in CVS)

SWFFill->rotateTo() -- Sets fill's rotation

Descripción

class SWFFill {

void rotateTo ( float angle )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the fill rotation to the given angle.

Lista de parámetros

angle

The rotation angle, in degreess.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFFill->moveTo() | Subir | SWFFill->scaleTo()


SWFFill->scaleTo()

(no version information, might be only in CVS)

SWFFill->scaleTo() -- Sets fill's scale

Descripción

class SWFFill {

void scaleTo ( int x [, int y] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the fill scale to the given coordinates.

Lista de parámetros

x

X-coordinate

y

Y-coordinate

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFFill->rotateTo() | Subir | SWFFill->skewXTo()


SWFFill->skewXTo()

(no version information, might be only in CVS)

SWFFill->skewXTo() -- Sets fill x-skew

Descripción

class SWFFill {

void skewXTo ( float x )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the fill x-skew to x.

Lista de parámetros

x

When x is 1.0, it is a 45-degree forward slant. More is more forward, less is more backward.

Valores retornados

No value is returned.

Ver también

SWFFill->skewYTo()

Anterior | Inicio | Siguiente
SWFFill->scaleTo() | Subir | SWFFill->skewYTo()


SWFFill->skewYTo()

(no version information, might be only in CVS)

SWFFill->skewYTo() -- Sets fill y-skew

Descripción

class SWFFill {

void skewYTo ( float y )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the fill y-skew to y.

Lista de parámetros

y

When y is 1.0, it is a 45-degree upward slant. More is more upward, less is more downward.

Valores retornados

No value is returned.

Ver también

SWFFill->skewXTo()

Anterior | Inicio | Siguiente
SWFFill->skewXTo() | Subir | SWFFont


SWFFont->getWidth()

(no version information, might be only in CVS)

SWFFont->getWidth() -- Returns the string's width

Descripción

class SWFFont {

float getWidth ( string string )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swffont->getwidth() returns the string string's width, using font's default scaling. You'll probably want to use the swftext() version of this method which uses the text object's scale.

Ver también

SWFFont->getUTF8Width()

Anterior | Inicio | Siguiente
SWFFont->getUTF8Width() | Subir | SWFFontChar


SWFGradient->addEntry()

(no version information, might be only in CVS)

SWFGradient->addEntry() -- Adds an entry to the gradient list

Descripción

class SWFGradient {

void addEntry ( float ratio, int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfgradient->addentry() adds an entry to the gradient list. ratio is a number between 0 and 1 indicating where in the gradient this color appears. Thou shalt add entries in order of increasing ratio.

red, green, blue is a color (RGB mode). Last parameter a is optional.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFGradient->__construct() | Subir | SWFMorph


SWFMorph->getShape1()

(no version information, might be only in CVS)

SWFMorph->getShape1() -- Gets a handle to the starting shape

Descripción

class SWFMorph {

SWFShape getShape1 ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Gets the morph's starting shape.

Valores retornados

Returns a SWFShape object.

Ver también

SWFMorph->getShape2()

Anterior | Inicio | Siguiente
SWFMorph->__construct() | Subir | SWFMorph->getShape2()


SWFMorph->getShape2()

(no version information, might be only in CVS)

SWFMorph->getShape2() -- Gets a handle to the ending shape

Descripción

class SWFMorph {

SWFShape getShape2 ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Gets the morph's ending shape.

Valores retornados

Returns a SWFShape object.

Ver también

SWFMorph->getShape1()

Anterior | Inicio | Siguiente
SWFMorph->getShape1() | Subir | SWFMovie


SWFMovie->add()

(no version information, might be only in CVS)

SWFMovie->add() -- Adds any type of data to a movie

Descripción

class SWFMovie {

mixed add ( object instance )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Adds an SWF object instance to the current movie.

Lista de parámetros

instance

Any type of object instance, like SWFShape, SWFText, SWFFont.

Valores retornados

For displayable types (shape, text, button, sprite), this returns an SWFDisplayItem, a handle to the object in a display list. Thus, you can add the same shape to a movie multiple times and get separate handles back for each separate instance.

Ver también

SWFMovie->remove()

Anterior | Inicio | Siguiente
SWFMovie->__construct() | Subir | SWFMovie->addExport()


SWFMovie->nextFrame()

(no version information, might be only in CVS)

SWFMovie->nextFrame() -- Moves to the next frame of the animation

Descripción

class SWFMovie {

void nextFrame ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Moves to the next frame of the animation.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->labelFrame() | Subir | SWFMovie->output()


SWFMovie->output()

(no version information, might be only in CVS)

SWFMovie->output() -- Dumps your lovingly prepared movie out

Descripción

class SWFMovie {

int output ( [int compression] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Dumps the SWFMovie.

Don't forget to send the Content-Type HTTP header file before using this function, in order to display the movie in a browser.

Lista de parámetros

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Valores retornados

Return the number of bytes written or FALSE on error.

Ejemplos

Ejemplo 1. Displaying your $movie in a browser

<?php
header('Content-type: application/x-shockwave-flash');
$movie->output();
?>

Ver también

SWFMovie->save()
SWFMovie->saveToFile()

Anterior | Inicio | Siguiente
SWFMovie->nextFrame() | Subir | SWFMovie->remove()


SWFMovie->remove()

(no version information, might be only in CVS)

SWFMovie->remove() -- Removes the object instance from the display list

Descripción

class SWFMovie {

void remove ( object instance )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Removes the given object instance from the display list.

Valores retornados

No value is returned.

Ver también

SWFMovie->add()

Anterior | Inicio | Siguiente
SWFMovie->output() | Subir | SWFMovie->save()


SWFMovie->save()

(no version information, might be only in CVS)

SWFMovie->save() -- Saves the SWF movie in a file

Descripción

class SWFMovie {

int save ( string filename [, int compression] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Saves the SWF movie to the specified filename.

Lista de parámetros

filename

The path to the saved SWF document.

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Valores retornados

Return the number of bytes written or FALSE on error.

Ver también

SWFMovie->output()
SWFMovie->saveToFile()

Anterior | Inicio | Siguiente
SWFMovie->remove() | Subir | SWFMovie->saveToFile()


SWFMovie->setbackground()

(no version information, might be only in CVS)

SWFMovie->setbackground() -- Sets the background color

Descripción

class SWFMovie {

void setbackground ( int red, int green, int blue )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the background color.

Why is there no rgba version? Think about it, you might want to let the HTML background show through. There's a way to do that, but it only works on IE4. Search the http://www.macromedia.com/ site for details.

Lista de parámetros

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->saveToFile() | Subir | SWFMovie->setDimension()


SWFMovie->setDimension()

(no version information, might be only in CVS)

SWFMovie->setDimension() -- Sets the movie's width and height

Descripción

class SWFMovie {

void setDimension ( int width, int height )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the movie's dimension to the specified width and height.

Lista de parámetros

width

The movie width.

height

The movie height.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->setbackground() | Subir | SWFMovie->setFrames()


SWFMovie->setFrames()

(no version information, might be only in CVS)

SWFMovie->setFrames() -- Sets the total number of frames in the animation

Descripción

class SWFMovie {

void setFrames ( int number )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the total number of frames in the animation to the given number.

Lista de parámetros

number

The number of frames.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->setDimension() | Subir | SWFMovie->setRate()


SWFMovie->setRate()

(no version information, might be only in CVS)

SWFMovie->setRate() -- Sets the animation's frame rate

Descripción

class SWFMovie {

void setRate ( int rate )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the frame rate to the specified rate.

Animation will slow down if the player can't render frames fast enough- unless there's a streaming sound, in which case display frames are sacrificed to keep sound from skipping.

Lista de parámetros

rate

The frame rate, in frame per seconds.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->setFrames() | Subir | SWFMovie->startSound()


SWFMovie->streamMP3()

(no version information, might be only in CVS)

SWFMovie->streamMP3() -- Streams a MP3 file

Descripción

class SWFMovie {

void streamMP3 ( mixed mp3file )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Streams the given MP3 file mp3file.

This method is not very robust in dealing with oddities (can skip over an initial ID3 tag, but that's about it).

Note that the movie isn't smart enough to put enough frames in to contain the entire mp3 stream- you'll have to add (length of song * frames per second) frames to get the entire stream in.

Lista de parámetros

mp3file

Can be a file pointer returned by fopen() or the MP3 data, as a binary string.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Streaming example

<?php
$m = new SWFMovie();
$m->setRate(12.0);
$m->streamMp3(file_get_contents("distortobass.mp3"));
// use your own MP3

// The file is 11.85 seconds at 12.0 fps = 142 frames
$m->setFrames(142);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFMovie->stopSound() | Subir | SWFMovie->writeExports()


SWFShape->addFill()

(no version information, might be only in CVS)

SWFShape->addFill() -- Adds a solid fill to the shape

Descripción

class SWFShape {

SWFFill addFill ( int red, int green, int blue [, int a] )

SWFFill addFill ( SWFBitmap bitmap [, int flags] )

SWFFill addFill ( SWFGradient gradient [, int flags] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

SWFShape->addFill() adds a solid fill to the shape's list of fill styles. SWFShape->addFill() accepts three different types of arguments.

red, green, blue is a color (RGB mode). Last parameter a is optional.

The bitmap argument is an SWFBitmap() object. The flags argument can be one of the following values: SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.

The gradient argument is an SWFGradient() object. The flags argument can be one of the following values : SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.

SWFShape->addFill() returns an SWFFill()
object for use with the SWFShape->setLeftFill()
and SWFShape->setRightFill() functions
described below.

Ejemplos

This simple example will draw a frame on a bitmap. Ah, here's another buglet in the flash player- it doesn't seem to care about the second shape's bitmap's transformation in a morph. According to spec, the bitmap should stretch along with the shape in this example..

Ejemplo 1. SWFShape->addFill() example

<?php

$p = new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// use your own bitmap
$width = $b->getWidth();
$height = $b->getHeight();

$s = $p->getShape1();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$f->scaleTo(1.0, 0.5);
$s->setLeftFill($f);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine($width, 0);
$s->drawLine(0, $height/2);
$s->drawLine(-$width, 0);
$s->drawLine(0, -$height/2);

$s = $p->getShape2();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);

// these two have no effect!
$f->moveTo(-$width/4, -$height/2);
$f->scaleTo(0.5, 1.0);

$s->setLeftFill($f);
$s->movePenTo(-$width/4, -$height/2);
$s->drawLine($width/2, 0);
$s->drawLine(0, $height);
$s->drawLine(-$width/2, 0);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$m->setDimension($width, $height);
$i = $m->add($p);
$i->moveTo($width/2, $height/2);

for ($n=0; $n<1.001; $n+=0.03) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ver también

SWFShape->setLeftFill()
SWFShape->setRightFill()

Anterior | Inicio | Siguiente
SWFShape->__construct() | Subir | SWFShape->drawArc()


SWFShape->drawCurve()

(no version information, might be only in CVS)

SWFShape->drawCurve() -- Draws a curve (relative)

Descripción

class SWFShape {

int drawCurve ( int controldx, int controldy, int anchordx, int anchordy [, int targetdx, int targetdy] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->drawcurve() draws a quadratic curve (using the current line style,set by swfshape->setline()) from the current pen position to the relative position (anchorx,anchory) using relative control point (controlx,controly). That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (x+targetdx, x+targetdy) with control points (x+controldx, y+controldy) and (x+anchordx, y+anchordy).

Ver también

SWFShape->drawCurve()

Anterior | Inicio | Siguiente
SWFShape->drawCubicTo() | Subir | SWFShape->drawCurveTo()


SWFShape->drawCurveTo()

(no version information, might be only in CVS)

SWFShape->drawCurveTo() -- Draws a curve

Descripción

class SWFShape {

int drawCurveTo ( int controlx, int controly, int anchorx, int anchory [, int targetx, int targety] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->drawcurveto() draws a quadratic curve (using the current line style, set by swfshape->setline()) from the current pen position to (anchorx,anchory) using (controlx,controly) as a control point. That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (targetx, targety) with control points (controlx, controly) and (anchorx, anchory).

Ver también

SWFShape->drawCurveTo()

Anterior | Inicio | Siguiente
SWFShape->drawCurve() | Subir | SWFShape->drawGlyph()


SWFShape->drawLine()

(no version information, might be only in CVS)

SWFShape->drawLine() -- Draws a line (relative)

Descripción

class SWFShape {

void drawLine ( int dx, int dy )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->drawline() draws a line (using the current line style set by swfshape->setline()) from the current pen position to displacement (dx,dy).

Valores retornados

No value is returned.

Ver también

SWFShape->drawLineTo()

Anterior | Inicio | Siguiente
SWFShape->drawGlyph() | Subir | SWFShape->drawLineTo()


SWFShape->drawLineTo()

(no version information, might be only in CVS)

SWFShape->drawLineTo() -- Draws a line

Descripción

class SWFShape {

void drawLineTo ( int x, int y )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->setrightfill() draws a line (using the current line style, set by swfshape->setline()) from the current pen position to point (x,y) in the shape's coordinate space.

Valores retornados

No value is returned.

Ver también

SWFShape->drawLine()

Anterior | Inicio | Siguiente
SWFShape->drawLine() | Subir | SWFShape->movePen()


SWFShape->movePen()

(no version information, might be only in CVS)

SWFShape->movePen() -- Moves the shape's pen (relative)

Descripción

class SWFShape {

void movePen ( int dx, int dy )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->setrightfill() move the shape's pen from coordinates (current x,current y) to (current x + dx, current y + dy) in the shape's coordinate space.

Valores retornados

No value is returned.

Ver también

SWFShape->movePenTo()

Anterior | Inicio | Siguiente
SWFShape->drawLineTo() | Subir | SWFShape->movePenTo()


SWFShape->movePenTo()

(no version information, might be only in CVS)

SWFShape->movePenTo() -- Moves the shape's pen

Descripción

class SWFShape {

void movePenTo ( int x, int y )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->setrightfill() move the shape's pen to (x,y) in the shape's coordinate space.

Valores retornados

No value is returned.

Ver también

SWFShape->movePen()

Anterior | Inicio | Siguiente
SWFShape->movePen() | Subir | SWFShape->setLeftFill()


SWFShape->setLeftFill()

(no version information, might be only in CVS)

SWFShape->setLeftFill() -- Sets left rasterizing color

Descripción

class SWFShape {

void setLeftFill ( SWFGradient fill )

void setLeftFill ( int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

What this nonsense is about is, every edge segment borders at most two fills. When rasterizing the object, it's pretty handy to know what those fills are ahead of time, so the swf format requires these to be specified.

swfshape->setleftfill() sets the fill on the left side of the edge- that is, on the interior if you're defining the outline of the shape in a counter-clockwise fashion. The fill object is an SWFFill object returned from one of the addFill functions above.

This seems to be reversed when you're defining a shape in a morph, though. If your browser crashes, just try setting the fill on the other side.

Shortcut for swfshape->setleftfill($s->addfill($r, $g, $b [, $a]));.

Valores retornados

No value is returned.

Ver también

SWFShape->setRightFill()

Anterior | Inicio | Siguiente
SWFShape->movePenTo() | Subir | SWFShape->setLine()


SWFShape->setLine()

(no version information, might be only in CVS)

SWFShape->setLine() -- Sets the shape's line style

Descripción

class SWFShape {

void setLine ( SWFShape shape )

void setLine ( int width, int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfshape->setline() sets the shape's line style. width is the line's width. If width is 0, the line's style is removed (then, all other arguments are ignored). If width > 0, then line's color is set to red, green, blue. Last parameter a is optional.

You must declare all line styles before you use them (see example).

Valores retornados

No value is returned.

Ejemplos

This simple example will draw a big "!#%*@", in funny colors and gracious style.

Ejemplo 1. swfshape->setline() example

<?php
$s = new SWFShape();
$f1 = $s->addFill(0xff, 0, 0);
$f2 = $s->addFill(0xff, 0x7f, 0);
$f3 = $s->addFill(0xff, 0xff, 0);
$f4 = $s->addFill(0, 0xff, 0);
$f5 = $s->addFill(0, 0, 0xff);

// bug: have to declare all line styles before you use them
$s->setLine(40, 0x7f, 0, 0);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->setLine(40, 0, 0x7f, 0);
$s->setLine(40, 0, 0, 0x7f);

$f = new SWFFont('Techno.fdb');

$s->setRightFill($f1);
$s->setLine(40, 0x7f, 0, 0);
$s->drawGlyph($f, '!');
$s->movePen($f->getWidth('!'), 0);

$s->setRightFill($f2);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->drawGlyph($f, '#');
$s->movePen($f->getWidth('#'), 0);

$s->setRightFill($f3);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->drawGlyph($f, '%');
$s->movePen($f->getWidth('%'), 0);

$s->setRightFill($f4);
$s->setLine(40, 0, 0x7f, 0);
$s->drawGlyph($f, '*');
$s->movePen($f->getWidth('*'), 0);

$s->setRightFill($f5);
$s->setLine(40, 0, 0, 0x7f);
$s->drawGlyph($f, '@');

$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setRate(12.0);
$i = $m->add($s);
$i->moveTo(1500-$f->getWidth("!#%*@")/2, 1000+$f->getAscent()/2);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFShape->setLeftFill() | Subir | SWFShape->setRightFill()


SWFShape->setRightFill()

(no version information, might be only in CVS)

SWFShape->setRightFill() -- Sets right rasterizing color

Descripción

class SWFShape {

void setRightFill ( SWFGradient fill )

void setRightFill ( int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Shortcut for swfshape->setrightfill($s->addfill($r, $g, $b [, $a]));.

Valores retornados

No value is returned.

Ver también

SWFShape->setLeftFill()

Anterior | Inicio | Siguiente
SWFShape->setLine() | Subir | SWFSound


SWFSprite->add()

(no version information, might be only in CVS)

SWFSprite->add() -- Adds an object to a sprite

Descripción

class SWFSprite {

void add ( object object )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfsprite->add() adds a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object.

For displayable types (swfshape(),
swfbutton(), swftext(),
swfaction() or swfsprite()),
this returns a handle  to the object in a display list.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFSprite->__construct() | Subir | SWFSprite->labelFrame()


SWFSprite->nextFrame()

(no version information, might be only in CVS)

SWFSprite->nextFrame() -- Moves to the next frame of the animation

Descripción

class SWFSprite {

void nextFrame ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfsprite->setframes() moves to the next frame of the animation.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFSprite->labelFrame() | Subir | SWFSprite->remove()


SWFSprite->remove()

(no version information, might be only in CVS)

SWFSprite->remove() -- Removes an object to a sprite

Descripción

class SWFSprite {

void remove ( object object )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfsprite->remove() remove a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object
from the sprite.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFSprite->nextFrame() | Subir | SWFSprite->setFrames()


SWFSprite->setFrames()

(no version information, might be only in CVS)

SWFSprite->setFrames() -- Sets the total number of frames in the animation

Descripción

class SWFSprite {

void setFrames ( int number )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfsprite->setframes() sets the total number of frames in the animation to numberofframes.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFSprite->remove() | Subir | SWFSprite->startSound()


SWFText->addString()

(no version information, might be only in CVS)

SWFText->addString() -- Draws a string

Descripción

class SWFText {

void addString ( string string )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftext->addstring() draws the string string at the current pen (cursor) location. Pen is at the baseline of the text; i.e., ascending text is in the -y direction.

Valores retornados

No value is returned.

Ver también

SWFText->addUTF8String()

Anterior | Inicio | Siguiente
SWFText->__construct() | Subir | SWFText->addUTF8String()


SWFText->getWidth()

(no version information, might be only in CVS)

SWFText->getWidth() -- Computes string's width

Descripción

class SWFText {

float getWidth ( string string )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the rendered width of the string at the text object's current font, scale, and spacing settings.

Ver también

SWFText->getUTF8Width()

Anterior | Inicio | Siguiente
SWFText->getUTF8Width() | Subir | SWFText->moveTo()


SWFText->moveTo()

(no version information, might be only in CVS)

SWFText->moveTo() -- Moves the pen

Descripción

class SWFText {

void moveTo ( int x, int y )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftext->moveto() moves the pen (or cursor, if that makes more sense) to (x,y) in text object's coordinate space. If either is zero, though, value in that dimension stays the same. Annoying, should be fixed.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFText->getWidth() | Subir | SWFText->setColor()


SWFText->setColor()

(no version information, might be only in CVS)

SWFText->setColor() -- Sets the current text color

Descripción

class SWFText {

void setColor ( int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Changes the current text color.

Lista de parámetros

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFText->moveTo() | Subir | SWFText->setFont()


SWFText->setFont()

(no version information, might be only in CVS)

SWFText->setFont() -- Sets the current font

Descripción

class SWFText {

void setFont ( string font )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftext->setfont() sets the current font to font.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFText->setColor() | Subir | SWFText->setHeight()


SWFText->setHeight()

(no version information, might be only in CVS)

SWFText->setHeight() -- Sets the current font height

Descripción

class SWFText {

void setHeight ( int height )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftext->setheight() sets the current font height to height. Default is 240.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFText->setFont() | Subir | SWFText->setSpacing()


SWFText->setSpacing()

(no version information, might be only in CVS)

SWFText->setSpacing() -- Sets the current font spacing

Descripción

class SWFText {

void setSpacing ( float spacing )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftext->setspacing() sets the current font spacing to spacingspacing. Default is 1.0. 0 is all of the letters written at the same point. This doesn't really work that well because it inflates the advance across the letter, doesn't add the same amount of spacing between the letters. I should try and explain that better, prolly. Or just fix the damn thing to do constant spacing. This was really just a way to figure out how letter advances work, anyway.. So nyah.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFText->setHeight() | Subir | SWFTextField


SWFTextField->addString()

(no version information, might be only in CVS)

SWFTextField->addString() -- Concatenates the given string to the text field

Descripción

class SWFTextField {

void addString ( string string )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setname() concatenates the string string to the text field.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->addChars() | Subir | SWFTextField->align()


SWFTextField->align()

(no version information, might be only in CVS)

SWFTextField->align() -- Sets the text field alignment

Descripción

class SWFTextField {

void align ( int alignement )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->align() sets the text field alignment to alignement. Valid values for alignement are : SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT, SWFTEXTFIELD_ALIGN_CENTER and SWFTEXTFIELD_ALIGN_JUSTIFY.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->addString() | Subir | SWFTextField->setBounds()


SWFTextField->setBounds()

(no version information, might be only in CVS)

SWFTextField->setBounds() -- Sets the text field width and height

Descripción

class SWFTextField {

void setBounds ( int width, int height )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setbounds() sets the text field width to width and height to height. If you don't set the bounds yourself, Ming makes a poor guess at what the bounds are.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->align() | Subir | SWFTextField->setColor()


SWFTextField->setColor()

(no version information, might be only in CVS)

SWFTextField->setColor() -- Sets the color of the text field

Descripción

class SWFTextField {

void setColor ( int red, int green, int blue [, int a] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setcolor() sets the color of the text field. Default is fully opaque black. Color is represented using RGB system.

Lista de parámetros

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setBounds() | Subir | SWFTextField->setFont()


SWFTextField->setFont()

(no version information, might be only in CVS)

SWFTextField->setFont() -- Sets the text field font

Descripción

class SWFTextField {

void setFont ( string font )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setfont() sets the text field font to the [browser-defined?] font font.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setColor() | Subir | SWFTextField->setHeight()


SWFTextField->setHeight()

(no version information, might be only in CVS)

SWFTextField->setHeight() -- Sets the font height of this text field font

Descripción

class SWFTextField {

void setHeight ( int height )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setheight() sets the font height of this text field font to the given height height. Default is 240.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setFont() | Subir | SWFTextField->setIndentation()


SWFTextField->setIndentation()

(no version information, might be only in CVS)

SWFTextField->setIndentation() -- Sets the indentation of the first line

Descripción

class SWFTextField {

void setIndentation ( int width )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setindentation() sets the indentation of the first line in the text field, to width.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setHeight() | Subir | SWFTextField->setLeftMargin()


SWFTextField->setLeftMargin()

(no version information, might be only in CVS)

SWFTextField->setLeftMargin() -- Sets the left margin width of the text field

Descripción

class SWFTextField {

void setLeftMargin ( int width )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setleftmargin() sets the left margin width of the text field to width. Default is 0.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setIndentation() | Subir | SWFTextField->setLineSpacing()


SWFTextField->setLineSpacing()

(no version information, might be only in CVS)

SWFTextField->setLineSpacing() -- Sets the line spacing of the text field

Descripción

class SWFTextField {

void setLineSpacing ( int height )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setlinespacing() sets the line spacing of the text field to the height of height. Default is 40.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setLeftMargin() | Subir | SWFTextField->setMargins()


SWFTextField->setMargins()

(no version information, might be only in CVS)

SWFTextField->setMargins() -- Sets the margins width of the text field

Descripción

class SWFTextField {

void setMargins ( int left, int right )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setmargins() set both margins at once, for the man on the go.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setLineSpacing() | Subir | SWFTextField->setName()


SWFTextField->setName()

(no version information, might be only in CVS)

SWFTextField->setName() -- Sets the variable name

Descripción

class SWFTextField {

void setName ( string name )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setname() sets the variable name of this text field to name, for form posting and action scripting purposes.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setMargins() | Subir | SWFTextField->setPadding()


SWFTextField->setRightMargin()

(no version information, might be only in CVS)

SWFTextField->setRightMargin() -- Sets the right margin width of the text field

Descripción

class SWFTextField {

void setRightMargin ( int width )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield->setrightmargin() sets the right margin width of the text field to width. Default is 0.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setPadding() | Subir | SWFVideoStream


Funciones de Miscelánea

Manual de PHP
Anterior Siguiente

LXXXVIII. Funciones de Miscelánea

Introducción

Estas funciones fueron colocadas aquí debido a que no parecen ajustarse a ninguna otra categoría.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones Varias de Configuración

Nombre | Predeterminado | Modificable | Cambios
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

ignore_user_abort boolean

FALSE por omisión. Si se modifica a TRUE, los scripts no serán terminados después de que un cliente haya abortado su conexión.

Vea también ignore_user_abort().

highlight.bg string, highlight.comment string, highlight.default string, highlight.html string, highlight.keyword string, highlight.string string

Colores para el modo de Resaltado de Sintaxis. Cualquier cosa que sea aceptable en <font color="??????"> debería funcionar.

browscap string

Nombre (p.ej.: browscap.ini) y ubicación del archivo de capacidades del navegador. Vea también get_browser().

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CONNECTION_ABORTED (integer)

CONNECTION_NORMAL (integer)

CONNECTION_TIMEOUT (integer)

__COMPILER_HALT_OFFSET__ (integer)

Agregada en PHP 5.1.

Tabla de contenidos
connection_aborted -- Devuelve TRUE si el cliente se desconectó
connection_status -- Devuelve el campo de bits de status de conexión
connection_timeout -- Devolver TRUE si el script ha alcanzado su tiempo de espera máximo
constant -- Devuelve el valor de una constante
define -- Define una constante por nombre
defined -- Verifica si una constante dada existe
die -- Equivalente a exit()
eval -- Evaluar una cadena como código PHP
exit -- Imprime un mensaje y termina el script actual
get_browser -- Indica las capacidades del navegador del usuario
__halt_compiler -- Detiene la ejecución del compilador
highlight_file -- Resaltado de sintaxis de un archivo
highlight_string -- Resaltado de sintaxis de una cadena
ignore_user_abort -- Establecer si la desconexión de un cliente debe abortar la ejecución del script
pack -- Empaquetar datos en una cadena binaria
php_check_syntax -- Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)
php_strip_whitespace -- Devuelve el código fuente sin los comentarios y espacios blancos
show_source -- Alias of highlight_file()
sleep -- Retardar la ejecución
sys_getloadavg -- Gets system load average
time_nanosleep -- Retardo por un número de segundos y nanosegundos
time_sleep_until -- Hacer que el script duerma hasta la hora especificada
uniqid -- Generar un ID único
unpack -- Desempaqueta datos de una cadena binaria
usleep -- Retrasar la ejecución en microsegundos

Anterior | Inicio | Siguiente
ming_useswfversion | Subir | connection_aborted


connection_aborted

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

connection_aborted -- Devuelve TRUE si el cliente se desconectó

Descripción

int connection_aborted ( void )

Devuelve TRUE si el cliente se desconectó. Vea la descripción sobre Manejo de Conexiones en el capítulo de Características para una explicación completa.

Vea también connection_status(), y ignore_user_abort().

Anterior | Inicio | Siguiente
Funciones de Miscelánea | Subir | connection_status


connection_status

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

connection_status -- Devuelve el campo de bits de status de conexión

Descripción

int connection_status ( void )

Devuelve el campo de bits de status de la conexión. Vea la descripción sobre el Manejo de Conexiones en el capítulo sobre Características para una explicación completa.

Vea también connection_aborted(), y ignore_user_abort().

Anterior | Inicio | Siguiente
connection_aborted | Subir | connection_timeout


connection_timeout

(PHP 3 >= 3.0.7, PHP 4 <= 4.0.4)

connection_timeout -- Devolver TRUE si el script ha alcanzado su tiempo de espera máximo

Descripción

bool connection_timeout ( void )

Devuelve TRUE si el script ha alcanzado su tiempo de espera máximo.

Obsoleta

Esta función se considera obsoleta, y no existe siquiera a partir de 4.0.5.

Vea la descripción de Gestión de Conexión en el capítulo Características para una explicación completa.

Vea también connection_status().

Anterior | Inicio | Siguiente
connection_status | Subir | constant


constant

(PHP 4 >= 4.0.4, PHP 5)

constant -- Devuelve el valor de una constante

Descripción

mixed constant ( string nombre )

constant() devolverá el valor de la constante indicada por nombre.

constant() es útil si necesita recuperar el valor de una constante, pero no conoce su nombre. Esto quiere decir, si está almacenada en una variable o es devuelta por una función.

Esta función trabaja también con las constantes de clase.

Ejemplo 1. Ejemplo de constant()

<?php

define("TAMMAX", 100);

echo TAMMAX;
echo constant("TAMMAX"); // igual que la linea anterior

?>

Vea también define(), defined() y la sección sobre Constantes.

Anterior | Inicio | Siguiente
connection_timeout | Subir | define


define

(PHP 3, PHP 4, PHP 5)

define -- Define una constante por nombre

Descripción

bool define ( string nombre, mixed valor [, bool insensible_mayusculas_minusculas] )

Define una constante por nombre en tiempo de ejecución. Vea la sección sobre constantes para más detalles.

El nombre de la constante es dado por nombre; el valor es dado por valor.

El tercer parámetro, opcional, insensible_mayusculas_minusculas también está disponible. Si se entrega el valor TRUE, entonces la constante será definida como insensible a mayúsculas/minúsculas. El comportamiento predeterminado es sensible a mayúsculas/minúsculas; es decir, CONSTANTE y Constante representan valores diferentes.

Ejemplo 1. Definición de Constantes

<?php
define("CONSTANTE", "Hola mundo.");
echo CONSTANTE; // imprime "Hola mundo."
echo Constante; // imprime "Constante" y genera una noticia.

define("SALUDO", "Hola tu.", true);
echo SALUDO; // imprime "Hola tu."
echo Saludo; // imprime "Hola tu."

?>

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también defined(), constant() y la sección sobre Constantes.

Anterior | Inicio | Siguiente
constant | Subir | defined


defined

(PHP 3, PHP 4, PHP 5)

defined -- Verifica si una constante dada existe

Descripción

bool defined ( string nombre )

Devuelve TRUE si la constante nombrada por nombre ha sido definida, FALSE de lo contrario.

Ejemplo 1. Chequeo de Constantes

<?php
/* Note el uso de comillas, esto es importante. Este ejemplo verifica si
 * la cadena 'CONSTANTE' es el nombre de una constante llamada CONSTANTE */
if (defined('CONSTANTE')) {
    echo CONSTANTE;
}
?>

Nota: Si desea saber si una variable existe, use isset() ya que defined() sólo se aplica a constantes. Si desea saber si una función existe, use function_exists().

Vea también define(),
constant(),
get_defined_constants(),
function_exists(), y la sección sobre
Constantes.

Anterior | Inicio | Siguiente
define | Subir | die


die

(PHP 3, PHP 4, PHP 5)

die -- Equivalente a exit()

Descripción

Esta construcción del lenguaje es equivalente a exit().

Anterior | Inicio | Siguiente
defined | Subir | eval


eval

(PHP 3, PHP 4, PHP 5)

eval -- Evaluar una cadena como código PHP

Descripción

mixed eval ( string cadena_codigo )

eval() evalúa la cadena dada en cadena_codigo como código PHP. Entre otras cosas, esto puede ser útil para almacenar código en un campo de texto en una base de datos para su ejecución posterior. cadena_codigo no tiene que contener las etiquetas de Apertura de PHP.

Existen algunos factores a tener en cuenta cuando se usa eval(). Recuerde que la cadena pasada debe ser código PHP válido, incluyendo cosas como la terminación de sentencias con un punto-y-coma de modo que el intérprete no falle en la línea siguiente al llamado a eval(), y escapar apropiadamente las cosas en cadena_codigo. Para mezclar salida HTML y código PHP, es posible usar una etiqueta de cierre PHP para abandonar el modo PHP.

Recuerde también que las variables que reciben valores bajo eval() conservarán esos valores en el script principal más adelante.

Una sentencia return finalizará la evaluación de la cadena inmediatamente. A partir de PHP 4, eval() devuelve NULL a menos que se llame return en el código evaluado, en cuyo caso el valor pasado a return es devuelto. En caso de que ocurra un error de análisis sintáctico en el código evaluado, eval() devuelve FALSE. En caso de que ocurra un error fatal en el código evaluado, el script completo finaliza. En PHP 3, eval() no devuelve un valor.

Ejemplo 1. Ejemplo de eval() - unión de texto simple

<?php
$cadena = 'taza';
$nombre = 'cafe';
$cad = 'Esta es una $cadena con mi $nombre en ella.';
echo $cad. "\n";
eval("\$cad = \"$cad\";");
echo $cad. "\n";
?>

El resultado del ejemplo seria:

Esta es una $cadena con mi $nombre en ella.
Esta es una taza con mi cafe en ella.

Sugerencia: Como con todo lo que presenta un resultado directamente en el navegador, se pueden utilizar las funciones de control de salida para capturar el resultado de esta función y grabarlo - por ejemplo - en una string.

Vea también call_user_func().

Anterior | Inicio | Siguiente
die | Subir | exit


exit

(PHP 3, PHP 4, PHP 5)

exit -- Imprime un mensaje y termina el script actual

Descripción

void exit ( [string status] )

void exit ( int status )

Nota: Esta no es una función real, es una construcción del lenguaje.

Nota: PHP >= 4.2.0 NO imprime el status si es un valor integer.

La función exit() finaliza la ejecución del script. Imprime status justo antes de salir.

Si status es un valor integer, ese valor será usado también como el status de salida. Los status de salida deben estar en el rango 0 a 254, el status de salida 255 es reservado por PHP y no debe ser usado. El status 0 es usado para finalizar el programa de forma satisfactoria.

Ejemplo 1. Ejemplo de exit()

<?php

$nombre_archivo = '/ruta/hacia/archivo-datos';
$archivo = fopen($nombre_archivo, 'r')
    or exit("no se pudo abrir el archivo ($nombre_archivo)");

?>

Ejemplo 2. Ejemplo de status de exit()

<?php

//finalizar el programa normalmente
exit;
exit();
exit(0);

//finalizar con un código de error
exit(1);
exit(0376); //octal

?>

Nota: Esta construcción de lenguaje es equivalente a die().

Vea también: register_shutdown_function().

Anterior | Inicio | Siguiente
eval | Subir | get_browser


get_browser

(PHP 3, PHP 4, PHP 5)

get_browser -- Indica las capacidades del navegador del usuario

Descripción

mixed get_browser ( [string agente_usuario [, bool matriz_retorno]] )

get_browser() intenta determinar las capacidades del navegador del usuario. Para ello consulta el archivo de información del navegador, browscap.ini.

Por omisión, se utiliza el valor de la cabecera HTTP User-Agent; sin embargo, puede alterar este comportamiento (es decir, consultar la información de otro navegador) pasando el parámetro opcional agente_usuario a get_browser(). Es posible ignorar el parámetro agente_usuario con el valor NULL.

La información se devuelve en un object, el cual contendrá varios elementos de datos que representan, por ejemplo, los números de versión mayor y menor del navegador y la cadena ID; valores TRUE/FALSE para características como los frames, JavaScript, y cookies; y así sucesivamente.

A partir de PHP 4.3.2, si el parámetro opcional matriz_retorno es TRUE, esta función devuelve un valor array en lugar de object.

Ejemplo 1. Listar toda la información sobre el navegador del usuario

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$navegador = get_browser(null, true);
print_r($navegador);
?>

El resultado del ejemplo seria algo similar a:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [css] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

El valor cookies simplemente quiere decir que el navegador mismo tiene la capacidad de aceptar cookies y no quiere decir que el usuario haya habilitado el navegador para que acepte cookies o no. La única manera de probar si las cookies son aceptadas es definir una con setcookie(), recargar, y chequear el valor.

Nota: Para que ésto funcione, su opción de configuración browscap en php.ini debe apuntar a la ubicación correcta del archivo browscap.ini en su sistema.

browscap.ini no hace parte de la distribución de PHP, pero puede encontrar un archivo browscap.ini actualizado aquí.

Aunque browscap.ini contiene información sobre varios navegadores, depende de actualizaciones de usuario para mantener la base de datos al día. El formato del archivo es bastante auto-explicativo.

Anterior | Inicio | Siguiente
exit | Subir | __halt_compiler


highlight_file

(PHP 4, PHP 5)

highlight_file -- Resaltado de sintaxis de un archivo

Descripción

mixed highlight_file ( string nombre_archivo [, bool devolver] )

La función highlight_file() imprime una versión con resaltado de sintaxis del código contenido en nombre_archivo usando los colores definidos en el resaltador de sintaxis incorporado de PHP.

Si el segundo parámetro devolver es definido a TRUE entonces highlight_file() devolverá el código resaltado en lugar de imprimirlo. Si el segundo parámetro no es definido a TRUE entonces highlight_file() devolverá TRUE si tiene éxito, o FALSE en caso de fallo.

Nota: This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.

Nota: El parámetro devolver apareció en PHP 4.2.0. Antes de esta versión, tenía el comportamiento predeterminado, que es FALSE

Nota: A partir de PHP 4.2.1, esta función es afectada también por safe_mode y open_basedir.

Atención

Debe tenerse cuidado cuando se usan la función highlight_file() para asegurarse de que no se revele inadvertidamente información sensible, tal como contraseñas o cualquier otro tipo de información que pueda crear un riesgo potencial de seguridad.

Muchos servidores son configurados para resaltar automáticamente archivos con la extensión phps. Por ejemplo, cuando se visite ejemplo.phps se mostrará el código fuente del archivo con su sintaxis resaltada. Para habilitar este comportamiento, agregue esta línea al archivo httpd.conf:

AddType application/x-httpd-php-source .phps

Vea también highlight_string().

Anterior | Inicio | Siguiente
__halt_compiler | Subir | highlight_string


highlight_string

(PHP 4, PHP 5)

highlight_string -- Resaltado de sintaxis de una cadena

Descripción

mixed highlight_string ( string cadena [, bool devolver] )

La función highlight_string() imprime una versión con resaltado de código de cadena usando los colores definidos en el resaltador de código incorporado de PHP.

Si el segundo parámetro devolver es definido a TRUE entonces highlight_string() devolverá el código resaltado como una cadena en lugar de imprimirlo. Si el segundo parámetro no es definido a TRUE entonces highlight_string() devolverá TRUE de tener éxito, o FALSE en caso de fallo.

Nota: This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.

Ejemplo 1. Ejemplo de highlight_string()

<?php
highlight_string('<?php phpinfo(); ?>');
?>

El anterior ejemplo producirá la siguiente salida (en PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">();
</font><\font color="#0000BB">?&gt;</font>
</font>
</code>

El anterior ejemplo producirá la siguiente salida (en PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span
style="color: #007700\">(); </span><span style="color:
#0000BB">?&gt;</span>
</span>
</code>

Nota: El parámetro devolver apareció en PHP 4.2.0. Antes de esta versión, su comportamiento era el predeterminado, el cual es FALSE.

Vea también highlight_file().

Anterior | Inicio | Siguiente
highlight_file | Subir | ignore_user_abort


ignore_user_abort

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

ignore_user_abort -- Establecer si la desconexión de un cliente debe abortar la ejecución del script

Descripción

int ignore_user_abort ( [bool valor] )

Esta función establece si la desconexión de un cliente debe causar que el script sea abortado. Devolverá el valor previo y puede ser llamada sin un argumento para no modificar el valor actual y simplemente devolver tal valor. Vea la sección sobre Manejo de Conexiones en el capítulo de Características para una descripción completa del manejo de conexiones en PHP.

Vea también connection_aborted(), y connection_status().

Anterior | Inicio | Siguiente
highlight_string | Subir | pack


pack

(PHP 3, PHP 4, PHP 5)

pack -- Empaquetar datos en una cadena binaria

Descripción

string pack ( string formato [, mixed args [, mixed ...]] )

Empaquetar los argumentas dados en una cadena binaria de acuerdo a formato. Devuelve la cadena binaria que contiene los datos.

La idea de esta función fue tomada de Perl y todos los códigos de formato funcionan igual que en aquél lenguaje, sin embargo, existen algunos códigos de formato faltantes, como el código "u" de Perl. La cadena de formato consiste de códigos de formato seguidos por un argumento opcional de repetición. El argumento de repetición puede ser un valor entero o * para la repetición hasta el final de los datos de entrada. En el caso de a, A, h, y H el conteo de repetición especifica cuántos caracteres de un argumento de datos son tomados, para @ es la posición absoluta en dónde colocar el siguiente dato, para todos los demás el conteo de repetición especifica cuántos argumentos de datos son consumidos y empaquetados en la cadena binaria resultante. Actualmente se han implementado los siguientes

Tabla 1. Caracteres de formato de pack()

Código | Descripción
a | cadena completada con caracteres NUL
A | cadena completada con espacios
h | cadena Hex, nibble bajo primero
H | cadena Hex, nibble alto primero
c | caracter con signo
C | caracter sin signo
s | short con signo (siempre de 16 bits, orden de bytes de máquina)
S | short sin signo (siempre de 16 bits, orden de bytes de máquina)
n | short sin signo (siempre de 16 bits, byte más significativo primero)
v | short sin signo (siempre de 16 bits, byte menos significativo primero)
i | entero con signo (tamaño y orden de bytes dependiente de la máquina)
I | entero sin signo (tamaño y orden de bytes dependiente de la máquina)
l | long con signo (siempre de 32 bits, orden de bytes de máquina)
L | long sin signo (siempre de 32 bits, orden de bytes de máquina)
N | long sin signo (siempre de 32 bits, byte más significativo primero)
V | long sin signo (siempre de 32 bits, byte menos significativo primero)
f | flotante (tamaño y representación dependiente de la máquina)
d | doble (tamaño y representación dependiente de la máquina)
x | byte NUL
X | Copiar un byte
@ | relleno de NUL hasta una posición absoluta

Ejemplo 1. Ejemplo de pack()

<?php
$datos_binarios = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

La cadena binaria resultante tendrá 6 bytes de longitud y contendrá la secuencia de bytes 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Note que la distinción entre valores con signo y sin signo sólo afecta a la función unpack(), mientras que la función pack() entrega el mismo resultado para códigos de formato con signo y sin signo.

También note que PHP almacena valores integer internamente como valores con signo de un tamaño dependiente de la máquina. Si le entrega un valor entero sin signo demasiado largo para ser almacenado en esa forma, es convertido a un valor float, lo cual frecuentemente produce un resultado inesperado.

Vea también unpack().

Anterior | Inicio | Siguiente
ignore_user_abort | Subir | php_check_syntax


php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax -- Verifica la sintaxis PHP del archivo especificado (y lo ejecuta)

Descripción

bool php_check_syntax ( string nombre_archivo [, string &mensaje_error] )

Por razones técnicas, esta función es considerada obsoleta y eliminada de PHP. En su lugar, use php -l algun_archivo.php dese la línea de comandos.

La función php_check_syntax() realiza un chequeo de sintaxis (lint) sobre el nombre_archivo, probando por errores de script. Esto es similar al uso de php -l desde la línea de comandos, excepto que php_check_syntax() ejecutará (pero no produce salida) el nombre_archivo ejecutado. Por ejemplo, si una función es definida en nombre_archivo, esta función definida estará disponible desde el archivo que ejecutó php_check_syntax(), pero la salida desde nombre_archivo será suprimida.

Lista de parámetros

nombre_archivo

El nombre del archivo a verificar.

mensaje_error

Si el parámetro mensaje_error es usado, contendrá un mensaje de error generado por el chequeo de sintaxis. mensaje_error es pasado por referencia.

Valores retornados

Devuelve TRUE si el chequeo lint pasa, y FALSE si el chequeo falla o nombre_archivo no puede ser abierto.

Registro de cambios

Versión | Descripción
5.0.5 | Esta función fue eliminada de PHP.
5.0.3 | Llamar exit() después de php_check_syntax() resultaba en un fallo de segmentación.
5.0.1 | mensaje_error es pasado por referencia.

Ejemplos

php -l algun_archivo.php

El resultado del ejemplo seria algo similar a:

PHP Parse error: unexpected T_STRING in /tmp/algun_archivo.php on line 81

Ver también

include()
is_readable()

Anterior | Inicio | Siguiente
pack | Subir | php_strip_whitespace


php_strip_whitespace

(PHP 5)

php_strip_whitespace -- Devuelve el código fuente sin los comentarios y espacios blancos

Descripción

string php_strip_whitespace ( string nombre_archivo )

Devuelve el código fuente PHP en nombre_archivo, habiendo removido los comentarios PHP y los espacios blancos. Esto puede ser útil para determinar la cantidad de código real en sus scripts, en comparación con la cantidad de comentarios. Esto es similar al uso de php -w desde la línea de comandos.

Nota: Esta función trabaja como se describe, a partir de PHP 5.0.1. Antes de esta versión, solo devolvía una cadena vacía. Para más información sobre este fallo y su comportamiento anterior, vea el reporte de fallos #29606.

Valores retornados

El código fuente limpiado será devuelto en caso de éxito, o una cadena vacía si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de php_strip_whitespace()

<?php
// Comentario PHP aqui

/*
 * Otro comentario PHP
 */

echo        php_strip_whitespace(__FILE__);
// Los saltos de linea son considerados espacios blancos, y son eliminados tambien:
hacer_nada();
?>

El resultado del ejemplo seria:

<?php
 echo php_strip_whitespace(__FILE__); hacer_nada(); ?>

Note que los comentarios PHP han sido eliminados, al igual que los espacios blancos y la nueva línea después de la primera sentencia echo.

Anterior | Inicio | Siguiente
php_check_syntax | Subir | show_source


show_source

(PHP 4, PHP 5)

show_source -- Alias of highlight_file()

Descripción

This function is an alias of: highlight_file().

Anterior | Inicio | Siguiente
php_strip_whitespace | Subir | sleep


sleep

(PHP 3, PHP 4, PHP 5)

sleep -- Retardar la ejecución

Descripción

int sleep ( int segundos )

La función sleep() retarda la ejecución del programa por el número dado de segundos.

Ejemplo 1. Ejemplo de sleep()

<?php

// hora actual
echo date('h:i:s') . "\n";

// dormir por 10 segundos
sleep(10);

// despertar !
echo date('h:i:s') . "\n";

?>

Este ejemplo producirá la salida (después de 10 segundos)

05:31:23
05:31:33

Vea también usleep() y set_time_limit()

Anterior | Inicio | Siguiente
show_source | Subir | sys_getloadavg


time_nanosleep

(PHP 5)

time_nanosleep -- Retardo por un número de segundos y nanosegundos

Descripción

mixed time_nanosleep ( int segundos, int nanosegundos )

Retarda la ejecución del programa por el número dado de segundos y nanosegundos.

segundos debe ser un entero positivo, y nanosegundos debe ser un entero positivo menor que 1 billion.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Si el retardo fue interrumpido por una señal, se devolverá una matriz asociativa con los componentes:

  • seconds - número de segundos restantes en el retardo

  • nanoseconds - número de nanosegundos restantes en el retardo

Ver también

sleep(),
usleep(),
set_time_limit()

Ejemplos

Ejemplo 1. Ejemplo de time_nanosleep()

<?php
// Cuidado! Esto no funcionara como se espera si se devuelve una matriz
if (time_nanosleep(0, 500000000)) {
    echo "Durmio por medio segundo.\n";
}

// Esto es mejor:
if (time_nanosleep(0, 500000000) === true) {
    echo "Durmio por medio segundo.\n";
}

// Y este es el mejor metodo:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Durmio por 2 segundos, 100 milisegundos.\n";
} elseif ($nano === false) {
    echo "El retardo fallo.\n";
} elseif (is_array($nano)) {
    $segundos = $nano['seconds'];
    $nanosegundos = $nano['nanoseconds'];
    echo "Interrumpido por una senyal.\n";
    echo "Tiempo restante: $segundos segundos, $nanosegundos nanosegundos.";
}
?>

Nota: Esta función no está implementada en plataformas Windows.

Anterior | Inicio | Siguiente
sys_getloadavg | Subir | time_sleep_until


uniqid

(PHP 3, PHP 4, PHP 5)

uniqid -- Generar un ID único

Descripción

string uniqid ( [string prefijo [, bool mas_entropia]] )

uniqid() devuelve un identificador único con prefijo, basado en la hora actual en microsegundos. prefijo se hizo opcional en PHP 5 pero puede resultar útil, por ejemplo, si se generan identificadores simultáneamente en varias máquinas que pueden estar generando el identificador en el mismo microsegundo. En versiones de PHP hasta 4.3.1, prefijo sólo podía tener una longitud máxima de 114 caracteres.

Si el parámetro opcional mas_entropia es TRUE, uniqid() agregará entropía adicional (usando el generador de congruencia lineal combinado) al final del valor de retorno, lo cual puede hacer más únicos los resultados.

Con un prefijo vacío, la cadena devuelta tendrá una longitud de 13 caracteres. Si mas_entropia es TRUE, tendrá 23 caracteres.

Nota: El parámetro prefijo es requerido antes de PHP 5.

Si necesita un identificador o lexema único e intenta entregar ese valor al usuario a través de la red (mediante cookies de sesión), es recomendable que use algo como lo siguiente:

<?php
// sin prefijo
// funciona únicamente en PHP 5 y versiones posteriores
$token = md5(uniqid());

// mejor, difícil de adivinar
$mejor_token = md5(uniqid(rand(), true));
?>

Esto creará un identificar de 32 caracteres (un número hexadecimal de 128 bits) que es extremadamente difícil de predecir.

Anterior | Inicio | Siguiente
time_sleep_until | Subir | unpack


unpack

(PHP 3, PHP 4, PHP 5)

unpack -- Desempaqueta datos de una cadena binaria

Descripción

array unpack ( string formato, string datos )

unpack() desempaqueta desde la cadena binaria a una matriz de acuerdo a formato. Devuelve una matriz que contiene los elementos desempaquetados de la cadena binaria.

unpack() opera ligeramente distinto que en Perl ya que los datos desempaquetados son almacenados en una matriz asociativa. Para lograr esto es necesario nombrar los diferentes códigos de formato y separarlos con una barra /.

Ejemplo 1. Ejemplo de unpack()

<?php
$matriz = unpack("c2chars/nint", $datos_binarios);
?>

La matriz resultante contendrá las entradas "chars1", "chars2" e "int".

Atención

Note que PHP almacena internamente los valores enteros como valores con signo. Si desempaqueta un entero largo sin signo y es del mismo tamaño que los valores almacenados internamente por PHP, el resultado será un número negativo incluso si se especifica un valor sin signo al desempaquetar.

Vea también pack() para una explicación de los códigos de formato.

Anterior | Inicio | Siguiente
uniqid | Subir | usleep


usleep

(PHP 3, PHP 4, PHP 5)

usleep -- Retrasar la ejecución en microsegundos

Descripción

void usleep ( int micro_segundos )

La función usleep() retrasa la ejecución del programa por el número dado de micro_segundos. Un microsegundo es una millonésima de segundo.

Ejemplo 1. Ejemplo de usleep()

<?php

// Hora actual
echo date('h:i:s') . "\n";

// esperar por 2 segundos
usleep(2000000);

// ¡de vuelta!
echo date('h:i:s') . "\n";

?>

El script producirá la salida:

11:13:28
11:13:30

Nota: Esta función no trabaja en sistemas Windows hasta PHP 5.0.0

Vea también sleep() y set_time_limit().

Anterior | Inicio | Siguiente
unpack | Subir | mnoGoSearch Functions


mnoGoSearch Functions

Manual de PHP
Anterior Siguiente

LXXXIX. mnoGoSearch Functions

Introducción

These functions allow you to access the mnoGoSearch (former UdmSearch) free search engine. mnoGoSearch is a full-featured search engine software for intranet and internet servers, distributed under the GNU license. mnoGoSearch has a number of unique features, which makes it appropriate for a wide range of applications from search within your site to a specialized search system such as cooking recipes or newspaper search, FTP archive search, news articles search, etc. It offers full-text indexing and searching for HTML, PDF, and text documents. mnoGoSearch consists of two parts. The first is an indexing mechanism (indexer). The purpose of the indexer is to walk through HTTP, FTP, NEWS servers or local files, recursively grabbing all the documents and storing meta-data about that documents in a SQL database in a smart and effective manner. After every document is referenced by its corresponding URL, meta-data is collected by the indexer for later use in a search process. The search is performed via Web interface. C, CGI, PHP and Perl search front ends are included.

More information about mnoGoSearch can be found at http://www.mnogosearch.org/.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Nota: Esta extensión no está disponible en plataformas Windows

Requisitos

Download mnoGosearch from http://www.mnogosearch.org/ and install it on your system. You need at least version 3.1.10 of mnoGoSearch installed to use these functions.

Instalación

In order to have these functions available, you must compile PHP with mnoGosearch support by using the --with-mnogosearchoption. If you use this option without specifying the path to mnoGosearch, PHP will look for mnoGosearch under /usr/local/mnogosearch path by default. If you installed mnoGosearch at a different location you should specify it: --with-mnogosearch=DIR.

Nota: PHP contains built-in MySQL access library, which can be used to access MySQL. It is known that mnoGoSearch is not compatible with this built-in library and can work only with generic MySQL libraries. Thus, if you use mnoGoSearch with MySQL, during PHP configuration you have to indicate the directory of your MySQL installation, that was used during mnoGoSearch configuration, i.e. for example: --with-mnogosearch --with-mysql=/usr.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

UDM_FIELD_URLID (integer)

UDM_FIELD_URL (integer)

UDM_FIELD_CONTENT (integer)

UDM_FIELD_TITLE (integer)

UDM_FIELD_KEYWORDS (integer)

UDM_FIELD_DESC (integer)

UDM_FIELD_DESCRIPTION (integer)

UDM_FIELD_TEXT (integer)

UDM_FIELD_SIZE (integer)

UDM_FIELD_RATING (integer)

UDM_FIELD_SCORE (integer)

UDM_FIELD_MODIFIED (integer)

UDM_FIELD_ORDER (integer)

UDM_FIELD_CRC (integer)

UDM_FIELD_CATEGORY (integer)

UDM_FIELD_LANG (integer)

UDM_FIELD_CHARSET (integer)

UDM_PARAM_PAGE_SIZE (integer)

UDM_PARAM_PAGE_NUM (integer)

UDM_PARAM_SEARCH_MODE (integer)

UDM_PARAM_CACHE_MODE (integer)

UDM_PARAM_TRACK_MODE (integer)

UDM_PARAM_PHRASE_MODE (integer)

UDM_PARAM_CHARSET (integer)

UDM_PARAM_LOCAL_CHARSET (integer)

UDM_PARAM_BROWSER_CHARSET (integer)

UDM_PARAM_STOPTABLE (integer)

UDM_PARAM_STOP_TABLE (integer)

UDM_PARAM_STOPFILE (integer)

UDM_PARAM_STOP_FILE (integer)

UDM_PARAM_WEIGHT_FACTOR (integer)

UDM_PARAM_WORD_MATCH (integer)

UDM_PARAM_MAX_WORD_LEN (integer)

UDM_PARAM_MAX_WORDLEN (integer)

UDM_PARAM_MIN_WORD_LEN (integer)

UDM_PARAM_MIN_WORDLEN (integer)

UDM_PARAM_ISPELL_PREFIXES (integer)

UDM_PARAM_ISPELL_PREFIX (integer)

UDM_PARAM_PREFIXES (integer)

UDM_PARAM_PREFIX (integer)

UDM_PARAM_CROSS_WORDS (integer)

UDM_PARAM_CROSSWORDS (integer)

UDM_PARAM_VARDIR (integer)

UDM_PARAM_DATADIR (integer)

UDM_PARAM_HLBEG (integer)

UDM_PARAM_HLEND (integer)

UDM_PARAM_SYNONYM (integer)

UDM_PARAM_SEARCHD (integer)

UDM_PARAM_QSTRING (integer)

UDM_PARAM_REMOTE_ADDR (integer)

UDM_LIMIT_CAT (integer)

UDM_LIMIT_URL (integer)

UDM_LIMIT_TAG (integer)

UDM_LIMIT_LANG (integer)

UDM_LIMIT_DATE (integer)

UDM_PARAM_FOUND (integer)

UDM_PARAM_NUM_ROWS (integer)

UDM_PARAM_WORDINFO (integer)

UDM_PARAM_WORD_INFO (integer)

UDM_PARAM_SEARCHTIME (integer)

UDM_PARAM_SEARCH_TIME (integer)

UDM_PARAM_FIRST_DOC (integer)

UDM_PARAM_LAST_DOC (integer)

UDM_MODE_ALL (integer)

UDM_MODE_ANY (integer)

UDM_MODE_BOOL (integer)

UDM_MODE_PHRASE (integer)

UDM_CACHE_ENABLED (integer)

UDM_CACHE_DISABLED (integer)

UDM_TRACK_ENABLED (integer)

UDM_TRACK_DISABLED (integer)

UDM_PHRASE_ENABLED (integer)

UDM_PHRASE_DISABLED (integer)

UDM_CROSS_WORDS_ENABLED (integer)

UDM_CROSSWORDS_ENABLED (integer)

UDM_CROSS_WORDS_DISABLED (integer)

UDM_CROSSWORDS_DISABLED (integer)

UDM_PREFIXES_ENABLED (integer)

UDM_PREFIX_ENABLED (integer)

UDM_ISPELL_PREFIXES_ENABLED (integer)

UDM_ISPELL_PREFIX_ENABLED (integer)

UDM_PREFIXES_DISABLED (integer)

UDM_PREFIX_DISABLED (integer)

UDM_ISPELL_PREFIXES_DISABLED (integer)

UDM_ISPELL_PREFIX_DISABLED (integer)

UDM_ISPELL_TYPE_AFFIX (integer)

UDM_ISPELL_TYPE_SPELL (integer)

UDM_ISPELL_TYPE_DB (integer)

UDM_ISPELL_TYPE_SERVER (integer)

UDM_MATCH_WORD (integer)

UDM_MATCH_BEGIN (integer)

UDM_MATCH_SUBSTR (integer)

UDM_MATCH_END (integer)

Tabla de contenidos
udm_add_search_limit -- Add various search limits
udm_alloc_agent_array -- Allocate mnoGoSearch session
udm_alloc_agent -- Allocate mnoGoSearch session
udm_api_version -- Get mnoGoSearch API version
udm_cat_list -- Get all the categories on the same level with the current one
udm_cat_path -- Get the path to the current category
udm_check_charset -- Check if the given charset is known to mnogosearch
udm_check_stored -- Check connection to stored
udm_clear_search_limits -- Clear all mnoGoSearch search restrictions
udm_close_stored -- Close connection to stored
udm_crc32 -- Return CRC32 checksum of given string
udm_errno -- Get mnoGoSearch error number
udm_error -- Get mnoGoSearch error message
udm_find -- Perform search
udm_free_agent -- Free mnoGoSearch session
udm_free_ispell_data -- Free memory allocated for ispell data
udm_free_res -- Free mnoGoSearch result
udm_get_doc_count -- Get total number of documents in database
udm_get_res_field -- Fetch mnoGoSearch result field
udm_get_res_param -- Get mnoGoSearch result parameters
udm_hash32 -- Return Hash32 checksum of gived string
udm_load_ispell_data -- Load ispell data
udm_open_stored -- Open connection to stored
udm_set_agent_param -- Set mnoGoSearch agent session parameters

Anterior | Inicio | Siguiente
usleep | Subir | udm_add_search_limit


udm_add_search_limit

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_add_search_limit -- Add various search limits

Description

bool udm_add_search_limit ( resource agent, int var, string val )

udm_add_search_limit() adds search restrictions. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

agent - a link to Agent, received after call to udm_alloc_agent().

var - defines parameter, indicating limit.

val - defines the value of the current parameter.

Possible var values:

  • UDM_LIMIT_URL - defines document URL limitations to limit the search through subsection of the database. It supports SQL % and _ LIKE wildcards, where % matches any number of characters, even zero characters, and _ matches exactly one character. E.g. http://www.example.___/catalog may stand for http://www.example.com/catalog and http://www.example.net/catalog.

  • UDM_LIMIT_TAG - defines site TAG limitations. In indexer-conf you can assign specific TAGs to various sites and parts of a site. Tags in mnoGoSearch 3.1.x are lines, that may contain metasymbols % and _. Metasymbols allow searching among groups of tags. E.g. there are links with tags ABCD and ABCE, and search restriction is by ABC_ - the search will be made among both of the tags.

  • UDM_LIMIT_LANG - defines document language limitations.

  • UDM_LIMIT_CAT - defines document category limitations. Categories are similar to tag feature, but nested. So you can have one category inside another and so on. You have to use two characters for each level. Use a hex number going from 0-F or a 36 base number going from 0-Z. Therefore a top-level category like 'Auto' would be 01. If it has a subcategory like 'Ford', then it would be 01 (the parent category) and then 'Ford' which we will give 01. Put those together and you get 0101. If 'Auto' had another subcategory named 'VW', then it's id would be 01 because it belongs to the 'Ford' category and then 02 because it's the next category. So it's id would be 0102. If VW had a sub category called 'Engine' then it's id would start at 01 again and it would get the 'VW' id 02 and 'Auto' id of 01, making it 010201. If you want to search for sites under that category then you pass it cat=010201 in the URL.

  • UDM_LIMIT_DATE - defines limitation by date the document was modified.

    Format of parameter value: a string with first character < or >, then with no space - date in unixtime format, for example:

    Ejemplo 1.

    <?php
          Udm_Add_Search_Limit    ($udm, UDM_LIMIT_DATE, "&lt;908012006");
    ?>

    If > character is used, then the search will be restricted to those documents having a modification date greater than entered, if <, then smaller.

Anterior | Inicio | Siguiente
mnoGoSearch Functions | Subir | udm_alloc_agent_array


udm_alloc_agent_array

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

udm_alloc_agent_array -- Allocate mnoGoSearch session

Description

resource udm_alloc_agent_array ( array databases )

udm_alloc_agent_array() will create an agent with multiple database connections. The array databases must contain one database URL per element, analog to the first parameter of udm_alloc_agent().

See also: udm_alloc_agent().

Anterior | Inicio | Siguiente
udm_add_search_limit | Subir | udm_alloc_agent


udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_alloc_agent -- Allocate mnoGoSearch session

Description

resource udm_alloc_agent ( string dbaddr [, string dbmode] )

Returns a mnogosearch agent identifier on success, FALSE on failure. This function creates a session with database parameters.

dbaddr - URL-style database description, with options (type, host, database name, port, user and password) to connect to SQL database. Do not matter for built-in text files support. Format for dbaddr: DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Currently supported DBType values are: mysql, pgsql, msql, solid, mssql, oracle, and ibase. Actually, it does not matter for native libraries support, but ODBC users should specify one of the supported values. If your database type is not supported, you may use unknown instead.

dbmode - You may select the SQL database mode of words storage. Possible values of dbmode are: single, multi, crc, or crc-multi. When single is specified, all words are stored in the same table. If multi is selected, words will be located in different tables depending of their lengths. "multi" mode is usually faster, but requires more tables in the database. If "crc" mode is selected, mnoGoSearch will store 32 bit integer word IDs calculated by CRC32 algorithm instead of words. This mode requires less disk space and it is faster comparing with "single" and "multi" modes. crc-multi uses the same storage structure with the "crc" mode, but also stores words in different tables depending on words lengths like in "multi" mode.

Nota: dbaddr and dbmode must match those used during indexing.

Nota: In fact this function does not open a connection to the database and thus does not check the entered login and password. Establishing a connection to the database and login/password verification is done by udm_find().

Anterior | Inicio | Siguiente
udm_alloc_agent_array | Subir | udm_api_version


udm_api_version

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_api_version -- Get mnoGoSearch API version

Description

int udm_api_version ( void )

udm_api_version() returns the mnoGoSearch API version number. E.g. if mnoGoSearch 3.1.10 API is used, this function will return 30110.

This function allows the user to identify which API functions are available, e.g. udm_get_doc_count() function is only available in mnoGoSearch 3.1.11 or later.

Ejemplo 1. udm_api_version() example

<?php
if (udm_api_version() >= 30111) {
    echo  "Total number of URLs in database: " . udm_get_doc_count($udm) . "<br />\n";
}
?>

Anterior | Inicio | Siguiente
udm_alloc_agent | Subir | udm_cat_list


udm_cat_list

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

udm_cat_list -- Get all the categories on the same level with the current one

Description

array udm_cat_list ( resource agent, string category )

Returns an array listing all categories of the same level as the current category in the categories tree. agent is the agent identifier returned by a previous call to >udm_alloc_agent().

The function can be useful for developing categories tree browser.

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

$array[0] will contain '020300'
  $array[1] will contain 'Audi'
  $array[2] will contain '020301'
  $array[3] will contain 'BMW'
  $array[4] will contain '020302'
  $array[5] will contain 'Opel'
  ...
 etc.

Following is an example of displaying links of the current level in format:

Audi
  BMW
  Opel
  ...

Ejemplo 1. udm_cat_list()example

<?php
 $cat_list_arr = udm_cat_list($udm_agent, $cat);
 $cat_list = '';
 for ($i=0; $i<count($cat_list_arr); $i+=2) {
    $path = $cat_list_arr[$i];
    $name = $cat_list_arr[$i+1];
    $cat_list .= "<a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a><br />";
 }
?>

See also udm_cat_path().

Anterior | Inicio | Siguiente
udm_api_version | Subir | udm_cat_path


udm_cat_path

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

udm_cat_path -- Get the path to the current category

Description

array udm_cat_path ( resource agent, string category )

Returns an array describing the path in the categories tree from the tree root to the current one, specified by category. agent is the agent identifier returned by a previous call to >udm_alloc_agent().

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

For example, the call $array=udm_cat_path($agent, '02031D'); may return the following array:

$array[0] will contain ''
 $array[1] will contain 'Root'
 $array[2] will contain '02'
 $array[3] will contain 'Sport'
 $array[4] will contain '0203'
 $array[5] will contain 'Auto'
 $array[4] will contain '02031D'
 $array[5] will contain 'Ferrari'

Ejemplo 1. Specifying path to the current category in the following format: '> Root > Sport > Auto > Ferrari'

<?php
  $cat_path_arr = udm_cat_path($udm_agent, $cat);
  $cat_path = '';
  for ($i=0; $i<count($cat_path_arr); $i+=2) {
    $path = $cat_path_arr[$i];
    $name = $cat_path_arr[$i+1];
    $cat_path .= " > <a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a> ";
  }
?>

See also udm_cat_list().

Anterior | Inicio | Siguiente
udm_cat_list | Subir | udm_check_charset


udm_check_charset

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

udm_check_charset -- Check if the given charset is known to mnogosearch

Description

bool udm_check_charset ( resource agent, string charset )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
udm_cat_path | Subir | udm_check_stored


udm_check_stored

(PHP 4 >= 4.2.0)

udm_check_stored -- Check connection to stored

Description

int udm_check_stored ( resource agent, int link, string doc_id )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
udm_check_charset | Subir | udm_clear_search_limits


udm_clear_search_limits

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_clear_search_limits -- Clear all mnoGoSearch search restrictions

Description

bool udm_clear_search_limits ( resource agent )

udm_clear_search_limits() resets defined search limitations and returns TRUE.

See also udm_add_search_limit().

Anterior | Inicio | Siguiente
udm_check_stored | Subir | udm_close_stored


udm_close_stored

(PHP 4 >= 4.2.0)

udm_close_stored -- Close connection to stored

Description

int udm_close_stored ( resource agent, int link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
udm_clear_search_limits | Subir | udm_crc32


udm_crc32

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.4)

udm_crc32 -- Return CRC32 checksum of given string

Description

int udm_crc32 ( resource agent, string str )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
udm_close_stored | Subir | udm_errno


udm_errno

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_errno -- Get mnoGoSearch error number

Description

int udm_errno ( resource agent )

udm_errno() returns mnoGoSearch error number, zero if no error.

agent - link to agent identifier, received after call to udm_alloc_agent().

Receiving numeric agent error code.

Anterior | Inicio | Siguiente
udm_crc32 | Subir | udm_error


udm_error

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_error -- Get mnoGoSearch error message

Description

string udm_error ( resource agent )

udm_error() returns mnoGoSearch error message, empty string if no error.

agent - link to agent identifier, received after call to udm_alloc_agent().

Receiving agent error message.

Anterior | Inicio | Siguiente
udm_errno | Subir | udm_find


udm_find

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_find -- Perform search

Description

resource udm_find ( resource agent, string query )

Returns a result link identifier on success, or FALSE on failure.

The search itself. The first argument - session, the next one - query itself. To find something just type words you want to find and press SUBMIT button. For example, "mysql odbc". You should not use quotes " in query, they are written here only to divide a query from other text. mnoGoSearch will find all documents that contain word "mysql" and/or word "odbc". Best documents having bigger weights will be displayed first. If you use search mode ALL, search will return documents that contain both (or more) words you entered. In case you use mode ANY, the search will return list of documents that contain any of the words you entered. If you want more advanced results you may use query language. You should select "bool" match mode in the search from.

mnoGoSearch understands the following boolean operators:

& - logical AND. For example, "mysql & odbc". mnoGoSearch will find any URLs that contain both "mysql" and "odbc".

| - logical OR. For example "mysql|odbc". mnoGoSearch will find any URLs, that contain word "mysql" or word "odbc".

~ - logical NOT. For example "mysql & ~odbc". mnoGoSearch will find URLs that contain word "mysql" and do not contain word "odbc" at the same time. Note that ~ just excludes given word from results. Query "~odbc" will find nothing!

() - group command to compose more complex queries. For example "(mysql | msql) & ~postgres". Query language is simple and powerful at the same time. Just consider query as usual boolean expression.

Anterior | Inicio | Siguiente
udm_error | Subir | udm_free_agent


udm_free_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_free_agent -- Free mnoGoSearch session

Description

int udm_free_agent ( resource agent )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

agent - link to agent identifier, received ` after call to udm_alloc_agent().

Freeing up memory allocated for agent session.

Anterior | Inicio | Siguiente
udm_find | Subir | udm_free_ispell_data


udm_free_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_free_ispell_data -- Free memory allocated for ispell data

Description

bool udm_free_ispell_data ( int agent )

udm_free_ispell_data() always returns TRUE.

agent - agent link identifier, received after call to udm_alloc_agent().

Nota: This function is supported beginning from version 3.1.12 of mnoGoSearch and it does not do anything in previous versions.

Anterior | Inicio | Siguiente
udm_free_agent | Subir | udm_free_res


udm_free_res

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_free_res -- Free mnoGoSearch result

Description

bool udm_free_res ( resource res )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

res - a link to result identifier, received after call to udm_find().

Freeing up memory allocated for results.

Anterior | Inicio | Siguiente
udm_free_ispell_data | Subir | udm_get_doc_count


udm_get_doc_count

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_get_doc_count -- Get total number of documents in database

Description

int udm_get_doc_count ( resource agent )

udm_get_doc_count() returns the number of documents in the database.

agent - link to agent identifier, received after call to udm_alloc_agent().

Nota: This function is supported only in mnoGoSearch 3.1.11 or later.

Anterior | Inicio | Siguiente
udm_free_res | Subir | udm_get_res_field


udm_get_res_field

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_get_res_field -- Fetch mnoGoSearch result field

Description

string udm_get_res_field ( resource res, int row, int field )

udm_get_res_field() returns result field value on success, FALSE on error.

res - a link to result identifier, received after call to udm_find().

row - the number of the link on the current page. May have values from 0 to UDM_PARAM_NUM_ROWS-1.

field - field identifier, may have the following values:

  • UDM_FIELD_URL - document URL field

  • UDM_FIELD_CONTENT - document Content-type field (for example, text/html).

  • UDM_FIELD_CATEGORY - document category field. Use udm_cat_path() to get full path to current category from the categories tree root. (This parameter is available only in PHP 4.0.6 or later).

  • UDM_FIELD_TITLE - document title field.

  • UDM_FIELD_KEYWORDS - document keywords field (from META KEYWORDS tag).

  • UDM_FIELD_DESC - document description field (from META DESCRIPTION tag).

  • UDM_FIELD_TEXT - document body text (the first couple of lines to give an idea of what the document is about).

  • UDM_FIELD_SIZE - document size.

  • UDM_FIELD_URLID - unique URL ID of the link.

  • UDM_FIELD_RATING - page rating (as calculated by mnoGoSearch).

  • UDM_FIELD_MODIFIED - last-modified field in unixtime format.

  • UDM_FIELD_ORDER - the number of the current document in set of found documents.

  • UDM_FIELD_CRC - document CRC.

Anterior | Inicio | Siguiente
udm_get_doc_count | Subir | udm_get_res_param


udm_get_res_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_get_res_param -- Get mnoGoSearch result parameters

Description

string udm_get_res_param ( resource res, int param )

udm_get_res_param() returns result parameter value on success, FALSE on error.

res - a link to result identifier, received after call to udm_find().

param - parameter identifier, may have the following values:

  • UDM_PARAM_NUM_ROWS - number of received found links on the current page. It is equal to UDM_PARAM_PAGE_SIZE for all search pages, on the last page - the rest of links.

  • UDM_PARAM_FOUND - total number of results matching the query.

  • UDM_PARAM_WORDINFO - information on the words found. E.g. search for "a good book" will return "a: stopword, good:5637, book: 120"

  • UDM_PARAM_SEARCHTIME - search time in seconds.

  • UDM_PARAM_FIRST_DOC - the number of the first document displayed on current page.

  • UDM_PARAM_LAST_DOC - the number of the last document displayed on current page.

Anterior | Inicio | Siguiente
udm_get_res_field | Subir | udm_hash32


udm_hash32

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.4)

udm_hash32 -- Return Hash32 checksum of gived string

Description

int udm_hash32 ( resource agent, string str )

udm_hash32() will take a string str and return a quite unique 32-bit hash number from it. Requires an allocated agent.

See also: udm_alloc_agent().

Anterior | Inicio | Siguiente
udm_get_res_param | Subir | udm_load_ispell_data


udm_load_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_load_ispell_data -- Load ispell data

Description

bool udm_load_ispell_data ( resource agent, int var, string val1, string val2, int flag )

udm_load_ispell_data() loads ispell data. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

agent - agent link identifier, received after call to udm_alloc_agent().

var - parameter, indicating the source for ispell data. May have the following values:

After using this function to free memory allocated for ispell data, please use udm_free_ispell_data(), even if you use UDM_ISPELL_TYPE_SERVER mode.

The fastest mode is UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT is slower and UDM_ISPELL_TYPE_DB is the slowest. The above pattern is TRUE for mnoGoSearch 3.1.10 - 3.1.11. It is planned to speed up DB mode in future versions and it is going to be faster than TEXT mode.

  • UDM_ISPELL_TYPE_DB - indicates that ispell data should be loaded from SQL. In this case, parameters val1 and val2 are ignored and should be left blank. flag should be equal to 1.

    Nota: flag indicates that after loading ispell data from defined source it should be sorted (it is necessary for correct functioning of ispell). In case of loading ispell data from files there may be several calls to udm_load_ispell_data(), and there is no sense to sort data after every call, but only after the last one. Since in db mode all the data is loaded by one call, this parameter should have the value 1. In this mode in case of error, e.g. if ispell tables are absent, the function will return FALSE and code and error message will be accessible through udm_error() and udm_errno().

    Ejemplo 1. udm_load_ispell_data()example

    <?php
    if (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_DB, '', '', 1)) {
          printf("Error #%d: '%s'\n", udm_errno($udm), udm_error($udm));
      exit;
    }
    ?>

  • UDM_ISPELL_TYPE_AFFIX - indicates that ispell data should be loaded from file and initiates loading affixes file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    Ejemplo 2. udm_load_ispell_data() example

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
        exit;
    }
    ?>

    Nota: flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SPELL - indicates that ispell data should be loaded from file and initiates loading of ispell dictionary file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    <?php
             if ((! Udm_Load_Ispell_Data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
            (!     Udm_Load_Ispell_Data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
            (!     Udm_Load_Ispell_Data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
            (!     Udm_Load_Ispell_Data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
          exit;
          }
    ?>

    Nota: flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SERVER - enables spell server support. val1 parameter indicates address of the host running spell server. val2 ` is not used yet, but in future releases it is going to indicate number of port used by spell server. flag parameter in this case is not needed since ispell data is stored on spellserver already sorted.

    Spelld server reads spell-data from a separate configuration file (/usr/local/mnogosearch/etc/spelld.conf by default), sorts it and stores in memory. With clients server communicates in two ways: to indexer all the data is transferred (so that indexer starts faster), from search.cgi server receives word to normalize and then passes over to client (search.cgi) list of normalized word forms. This allows fastest, compared to db and text modes processing of search queries (by omitting loading and sorting all the spell data).

    udm_load_ispell_data() function in UDM_ISPELL_TYPE_SERVER mode does not actually load ispell data, but only defines server address. In fact, server is automatically used by udm_find() function when performing search. In case of errors, e.g. if spellserver is not running or invalid host indicated, there are no messages returned and ispell conversion does not work.

    Nota: This function is available in mnoGoSearch 3.1.12 or later.

    Example:

    <?php
    if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '', '', 1)) {
        echo     "Error loading ispell data from server<br />\n";
        exit;
    }
    ?>

Anterior | Inicio | Siguiente
udm_hash32 | Subir | udm_open_stored


udm_open_stored

(PHP 4 >= 4.2.0)

udm_open_stored -- Open connection to stored

Description

int udm_open_stored ( resource agent, string storedaddr )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
udm_load_ispell_data | Subir | udm_set_agent_param


udm_set_agent_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.4)

udm_set_agent_param -- Set mnoGoSearch agent session parameters

Description

bool udm_set_agent_param ( resource agent, int var, string val )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Defines mnoGoSearch session parameters.

The following parameters and their values are available:

  • UDM_PARAM_PAGE_NUM - used to choose search results page number (results are returned by pages beginning from 0, with UDM_PARAM_PAGE_SIZE results per page).

  • UDM_PARAM_PAGE_SIZE - number of search results displayed on one page.

  • UDM_PARAM_SEARCH_MODE - search mode. The following values available: UDM_MODE_ALL - search for all words; UDM_MODE_ANY - search for any word; UDM_MODE_PHRASE - phrase search; UDM_MODE_BOOL - boolean search. See udm_find() for details on boolean search.

  • UDM_PARAM_CACHE_MODE - turns on or off search result cache mode. When enabled, the search engine will store search results to disk. In case a similar search is performed later, the engine will take results from the cache for faster performance. Available values: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.

  • UDM_PARAM_TRACK_MODE - turns on or off trackquery mode. Since version 3.1.2 mnoGoSearch has a query tracking support. Note that tracking is implemented in SQL version only and not available in built-in database. To use tracking, you have to create tables for tracking support. For MySQL, use create/mysql/track.txt. When doing a search, front-end uses those tables to store query words, a number of found documents and current Unix timestamp in seconds. Available values: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.

  • UDM_PARAM_PHRASE_MODE - defines whether index database using phrases ("phrase" parameter in indexer.conf). Possible values: UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. Please note, that if phrase search is enabled (UDM_PHRASE_ENABLED), it is still possible to do search in any mode (ANY, ALL, BOOL or PHRASE). In 3.1.10 version of mnoGoSearch phrase search is supported only in sql and built-in database modes, while beginning with 3.1.11 phrases are supported in cachemode as well.

    Examples of phrase search:

    "Arizona desert" - This query returns all indexed documents that contain "Arizona desert" as a phrase. Notice that you need to put double quotes around the phrase

  • UDM_PARAM_CHARSET - defines local charset. Available values: set of charsets supported by mnoGoSearch, e.g. koi8-r, cp1251, ...

  • UDM_PARAM_STOPFILE - Defines name and path to stopwords file. (There is a small difference with mnoGoSearch - while in mnoGoSearch if relative path or no path entered, it looks for this file in relation to UDM_CONF_DIR, the module looks for the file in relation to current path, i.e. to the path where the PHP script is executed.)

  • UDM_PARAM_STOPTABLE - Load stop words from the given SQL table. You may use several StopwordTable commands. This command has no effect when compiled without SQL database support.

  • UDM_PARAM_WEIGHT_FACTOR - represents weight factors for specific document parts. Currently body, title, keywords, description, url are supported. To activate this feature please use degrees of 2 in *Weight commands of the indexer.conf. Let's imagine that we have these weights:

    URLWeight 1
    BodyWeight 2
    TitleWeight 4
    KeywordWeight 8
    DescWeight 16

    As far as indexer uses bit OR operation for word weights when some word presents several time in the same document, it is possible at search time to detect word appearance in different document parts. Word which appears only in the body will have 00000010 aggregate weight (in binary notation). Word used in all document parts will have 00011111 aggregate weight.

    This parameter's value is a string of hex digits ABCDE. Each digit is a factor for corresponding bit in word weight. For the given above weights configuration:

    E is a factor for weight 1 (URL Weight bit)
    D is a factor for weight 2 (BodyWeight bit)
    C is a factor for weight 4 (TitleWeight bit)
    B is a factor for weight 8 (KeywordWeight bit)
    A is a factor for weight 16 (DescWeight bit)

    Examples:

    UDM_PARAM_WEIGHT_FACTOR=00001 will search through URLs only.

    UDM_PARAM_WEIGHT_FACTOR=00100 will search through Titles only.

    UDM_PARAM_WEIGHT_FACTOR=11100 will search through Title,Keywords,Description but not through URL and Body.

    UDM_PARAM_WEIGHT_FACTOR=F9421 will search through:

    Description with factor 15 (F hex)
    Keywords with factor 9
    Title with factor 4
    Body with factor 2
    URL with factor 1

    If UDM_PARAM_WEIGHT_FACTOR variable is omitted, original weight value is taken to sort results. For a given above weight configuration it means that document description has a most big weight 16.

  • UDM_PARAM_WORD_MATCH - word match. You may use this parameter to choose word match type. This feature works only in "single" and "multi" modes using SQL based and built-in database. It does not work in cachemode and other modes since they use word CRC and do not support substring search. Available values:

    UDM_MATCH_BEGIN - word beginning match;

    UDM_MATCH_END - word ending match;

    UDM_MATCH_WORD - whole word match;

    UDM_MATCH_SUBSTR - word substring match.

  • UDM_PARAM_MIN_WORD_LEN - defines minimal word length. Any word shorter this limit is considered to be a stopword. Please note that this parameter value is inclusive, i.e. if UDM_PARAM_MIN_WORD_LEN=3, a word 3 characters long will not be considered a stopword, while a word 2 characters long will be. Default value is 1.

  • UDM_PARAM_ISPELL_PREFIXES - Possible values: UDM_PREFIXES_ENABLED and UDM_PREFIXES_DISABLED, that respectively enable or disable using prefixes. E.g. if a word "tested" is in search query, also words like "test", "testing", etc. Only suffixes are supported by default. Prefixes usually change word meanings, for example if somebody is searching for the word "tested" one hardly wants "untested" to be found. Prefixes support may also be found useful for site's spelling checking purposes. In order to enable ispell, you have to load ispell data with udm_load_ispell_data().

  • UDM_PARAM_CROSS_WORDS - enables or disables crosswords support. Possible values: UDM_CROSS_WORDS_ENABLED and UDM_CROSS_WORDS_DISABLED.

    The crosswords feature allows to assign words between <a href="xxx"> and </a> also to a document this link leads to. It works in SQL database mode and is not supported in built-in database and Cachemode.

    Nota: Crosswords are supported only in mnoGoSearch 3.1.11 or later.

  • UDM_PARAM_VARDIR - specifies a custom path to directory where indexer stores data when using built-in database and in cache mode. By default /var directory of mnoGoSearch installation is used. Can have only string values. The parameter is available in PHP 4.1.0 or later.

Anterior | Inicio | Siguiente
udm_open_stored | Subir | Funciones de Microsoft SQL Server


Funciones mSQL

Manual de PHP
Anterior Siguiente

XCIII. Funciones mSQL

Introducción

Estas funciones le permiten acceder a servidores de bases de datos mSQL. Puede encontrar más información sobre mSQL en http://www.hughes.com.au/.

Instalación

In order to have these functions available, you must compile PHP with msql support by using the --with-msql[=DIR] option. DIR is the mSQL base install directory, defaults to /usr/local/msql3.

Note to Win32 Users: In order to enable this module on a Windows environment, you must copy msql.dll from the DLL folder of the PHP/Win32 binary package to the SYSTEM32 folder of your Windows machine. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. mSQL configuration options

Name | Default | Changeable | Changelog
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

msql.allow_persistent boolean

Whether to allow persistent mSQL connections.

msql.max_persistent integer

The maximum number of persistent mSQL connections per process.

msql.max_links integer

The maximum number of mSQL connections per process, including persistent connections.

Tipos de recursos

Existen dos tipos de recurso usados en el módulo mSQL. El primero es el identificador de enlace para una conexión de base de datos, el segundo es un recurso que contiene el resultado de una consulta.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

MSQL_ASSOC (integer)

MSQL_NUM (integer)

MSQL_BOTH (integer)

Ejemplos

Este sencillo ejemplo muestra el modo de crear una conexión, ejecutar una consulta, imprimir las filas de resultado y desconectarse de una base de datos mSQL.

Ejemplo 1. Ejemplo de uso de mSQL

<?php
/* Conexion, seleccion de una base de datos */
$enlace = msql_connect('localhost', 'nombre_usuario', 'contrasenya')
    or die('No pudo crear una conexi&oacute;n: ' . msql_error($enlace));

msql_select_db('base_de_datos', $enlace)
    or die('No pudo seleccionarse la base de datos');

/* Realizar una consulta SQL */
$consulta = 'SELECT * FROM mi_tabla';
$resultado = msql_query($consulta, $enlace) or die('La consulta fall&oacute;: ' . msql_error($enlace));

/* Impresion de resultados en HTML */
echo "<table>\n";
while ($fila = msql_fetch_array($resultado, MSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($fila as $valor_col) {
        echo "\t\t<td>$valor_col</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* Liberar el conjunto de resultados */
msql_free_result($resultado);

/* Cerrar la conexion */
msql_close($enlace);
?>

Tabla de contenidos
msql_affected_rows -- devuelve el número de filas involucradas
msql_close -- cierra una conexión mSQL
msql_connect -- abre una conexión mSQL
msql_create_db -- crea una base de datos mSQL
msql_createdb -- crea una base de datos mSQL
msql_data_seek -- desplaza el puntero interno de fila
msql_db_query -- Send mSQL query
msql_dbname -- obtiene el nombre de la base de datos mSQL actual
msql_drop_db -- elimina (suprime) una base de datos mSQL
msql_error -- devuelve el mensaje de error de la última llamada msql
msql_fetch_array -- recupera una fila como un array
msql_fetch_field -- obtiene información de campo
msql_fetch_object -- recupera una fila como un objeto
msql_fetch_row -- obtiene una fila como un array enumerado
msql_field_flags -- Get field flags
msql_field_len -- Get field length
msql_field_name -- Get the name of the specified field in a result
msql_field_seek -- establece el desplazamiento del campo
msql_field_table -- Get table name for field
msql_field_type -- Get field type
msql_fieldflags -- obtiene los flags del campo
msql_fieldlen -- obtiene la longitud del campo
msql_fieldname -- obtiene el nombre del campo
msql_fieldtable -- obtiene el nombre de la tabla de un campo
msql_fieldtype -- obtiene el tipo del campo
msql_free_result -- libera la memoria del resultado
msql_list_dbs -- lista las bases de datos mSQL en el servidor
msql_list_fields -- lista los campos del resultado
msql_list_tables -- lista las tablas de una base de datos mSQL
msql_num_fields -- obtiene el número de campos de un resultado
msql_num_rows -- obtiene el número de filas de un resultado
msql_numfields -- obtiene el número de campos de un resultado
msql_numrows -- obtiene el número de filas en el resultado
msql_pconnect -- abre una conexión mSQL persistente
msql_query -- envía una consulta mSQL
msql_regcase -- construye una expresión regular para una búsqueda que no distinga mayúsculas/minúsculas
msql_result -- obtiene datos resultado
msql_select_db -- selecciona una base de datos mSQL
msql_tablename -- obtiene el nombre de la tabla de un campo
msql -- ejecuta una consulta mSQL

Anterior | Inicio | Siguiente
msession_unlock | Subir | msql_affected_rows


msql_affected_rows

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

msql_affected_rows -- devuelve el número de filas involucradas

Descripción

int msql_affected_rows ( int query_identifier )

Devuelve el número de filas involucradas ("tocadas") por una consulta específica (i.e. el número de filas devueltas por una SELECT, el número de filas modificadas por una actualización (update), o el número de filas suprimidas por una eliminación (delete)).

Véase también: msql_query()

Anterior | Inicio | Siguiente
Funciones mSQL | Subir | msql_close


msql_close

(PHP 3, PHP 4, PHP 5)

msql_close -- cierra una conexión mSQL

Descripción

int msql_close ( int link_identifier )

Devuelve TRUE si tiene éxito, FALSE en caso de error.

msql_close() cierra la conexión con una base de datos mSQL que está asociada con el identificador de conexión (link identifier) especificado. Si no se especifica el identificador de conexión, se asume la última conexión abierta.

Advierta que ésto no es necesario habitualmente, las conexiones abiertas no-persistentes son cerradas automáticamente a la conclusión de la ejecución del script.

msql_close() no cerrará las conexiones permanentes creadas por msql_pconnect().

Véase también: msql_connect() y msql_pconnect().

Anterior | Inicio | Siguiente
msql_affected_rows | Subir | msql_connect


msql_connect

(PHP 3, PHP 4, PHP 5)

msql_connect -- abre una conexión mSQL

Descripción

int msql_connect ( string hostname )

Devuelve un identificador de conexión mSQL positivo si tiene éxito, o FALSE en caso de error.

msql_connect() establece una conexión con un servidor mSQL. El argumento hostname es opcional, y en caso de que falte, se asume localhost.

En caso de que se haga una segunda llamada a msql_connect() con los mismos argumentos, no se establece una nueva conexión, en lugar de eso, se devuelve el identificador de conexión ya abierto.

La conexión con el servidor se cerrará tan pronto como la ejecución del script finalice, a menos que sea cerrada antes explícitamente por una llamada a msql_close().

Véase también: msql_pconnect(), msql_close().

Anterior | Inicio | Siguiente
msql_close | Subir | msql_create_db


msql_create_db

(PHP 3, PHP 4, PHP 5)

msql_create_db -- crea una base de datos mSQL

Descripción

int msql_create_db ( string database name [, int link_identifier] )

msql_create_db() intenta crear una base de datos nueva en el servidor asociado con el identificador de conexión (link identifier) especificado.

Véase también: msql_drop_db().

Anterior | Inicio | Siguiente
msql_connect | Subir | msql_createdb


msql_createdb

(PHP 3, PHP 4, PHP 5)

msql_createdb -- crea una base de datos mSQL

Descripción

int msql_createdb ( string database name [, int link_identifier] )

Idéntica a msql_create_db().

Anterior | Inicio | Siguiente
msql_create_db | Subir | msql_data_seek


msql_data_seek

(PHP 3, PHP 4, PHP 5)

msql_data_seek -- desplaza el puntero interno de fila

Descripción

int msql_data_seek ( int query_identifier, int row_number )

Devuelve TRUE si tiene éxito, FALSE en caso de fallo.

msql_data_seek() desplaza el puntero interno de fila del resultado mSQL asociado con el identificador de consulta (query identifier) especificado para que apunte al número de fila (row number) proporcionado. La llamada posterior a msql_fetch_row() devolverá esa fila.

Véase también: msql_fetch_row().

Anterior | Inicio | Siguiente
msql_createdb | Subir | msql_db_query


msql_db_query

(PHP 3, PHP 4, PHP 5)

msql_db_query -- Send mSQL query

Descripción

resource msql_db_query ( string database, string query [, resource link_identifier] )

msql_db_query() selects a database and executes a query on it.

Lista de parámetros

database

The name of the mSQL database.

query

The SQL query.

link_identifier

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Valores retornados

Returns a positive mSQL query identifier to the query result, or FALSE on error.

Ver también

msql_query()

Anterior | Inicio | Siguiente
msql_data_seek | Subir | msql_dbname


msql_dbname

(PHP 3, PHP 4, PHP 5)

msql_dbname -- obtiene el nombre de la base de datos mSQL actual

Descripción

string msql_dbname ( int query_identifier, int i )

msql_dbname() devuelve el nombre de base de datos almacenado en la posición i del puntero devuelto desde la función msql_listdbs(). La función msql_numrows() puede utilizarse para determinar cuantos nombres de base de datos hay disponibles.

Anterior | Inicio | Siguiente
msql_db_query | Subir | msql_drop_db


msql_drop_db

(PHP 3, PHP 4, PHP 5)

msql_drop_db -- elimina (suprime) una base de datos mSQL

Descripción

int msql_drop_db ( string database_name, int link_identifier )

Devuelve TRUE si tiene éxito, FALSE en caso de fallo.

msql_drop_db() intenta eliminar (suprimir) una base de datos completa del servidor asociado con el identificador de conexión (link identifier) especificado.

Véase también: msql_create_db().

Anterior | Inicio | Siguiente
msql_dbname | Subir | msql_error


msql_error

(PHP 3, PHP 4, PHP 5)

msql_error -- devuelve el mensaje de error de la última llamada msql

Descripción

string msql_error ( )

Los errores que devuelve el servidor de base de datos mSQL no dan mucha información sobre el problema. Por este motivo, utilice estas funciones para recuperar la cadena de carácteres del error.

Anterior | Inicio | Siguiente
msql_drop_db | Subir | msql_fetch_array


msql_fetch_array

(PHP 3, PHP 4, PHP 5)

msql_fetch_array -- recupera una fila como un array

Descripción

int msql_fetch_array ( int query_identifier [, int result_type] )

Devuelve un array que se corresponde con la fila recuperada, o FALSE si no hay más filas.

msql_fetch_array() es una versión ampliada de msql_fetch_row(). Además de almacenar los datos en los índices numéricos del array resultado, también almacena los datos en índices asociativos, utilizando los nombres de los campos como claves.

El segundo argumento opcional result_type en msql_fetch_array() es una constante y puede tomar los valores siguientes: MSQL_ASSOC, MSQL_NUM, y MYSQL_BOTH.

Sea precavido si está recuperando resultados de una consulta que puede devolver un registro que contiene un único campo que tiene un valor de 0 (o una cadena de carácteres vacía, o NULL).

Un aspecto importante a tener en cuenta es que el uso de msql_fetch_array() NO es significativamente más lento que el uso de msql_fetch_row(), mientras que proporciona un valor añadido significativo.

Para detalles adicionales, véase también msql_fetch_row()

Anterior | Inicio | Siguiente
msql_error | Subir | msql_fetch_field


msql_fetch_field

(PHP 3, PHP 4, PHP 5)

msql_fetch_field -- obtiene información de campo

Descripción

object msql_fetch_field ( int query_identifier, int field_offset )

Devuelve un objeto que contiene la información del campo

msql_fetch_field() puede utilizarse para obtener información sobre campos del resultado de una consulta. Si no se especifica el desplazamiento del campo, se recupera el campo siguiente que no haya sido aún recuperado por msql_fetch_field().

Las propiedades del objeto son:

  • name - nombre de la columna

  • table - nombre de la tabla a la que pertenece la columna

  • not_null - 1 si la columna no puede ser nula

  • primary_key - 1 si la columna es una clave primaria

  • unique - 1 si la columna es una clave única

  • type - tipo de la columna

Véase también msql_field_seek().

Anterior | Inicio | Siguiente
msql_fetch_array | Subir | msql_fetch_object


msql_fetch_object

(PHP 3, PHP 4, PHP 5)

msql_fetch_object -- recupera una fila como un objeto

Descripción

int msql_fetch_object ( int query_identifier [, int result_type] )

Devuelve un objeto con las propiedades que corresponden a la fila recuperada, o FALSE si no hay más filas.

msql_fetch_object() es similar a msql_fetch_array(), con una diferencia - se devuelve un objeto en vez de un array. Indirectamente esto significa que sólo tiene acceso a los datos por los nombres de los campos, y no por sus desplazamientos (los números son nombres de propiedad no válidos).

El segundo parámetro opcional result_type en msql_fetch_array() es una constante y puede tomar los valores siguientes: MSQL_ASSOC, MSQL_NUM, y MSQL_BOTH.

Resumiendo, la función es indéntica a msql_fetch_array(), y casi tan rápida como msql_fetch_row() (la diferencia es insignificante).

Véase también: msql_fetch_array() y msql_fetch_row().

Anterior | Inicio | Siguiente
msql_fetch_field | Subir | msql_fetch_row


msql_fetch_row

(PHP 3, PHP 4, PHP 5)

msql_fetch_row -- obtiene una fila como un array enumerado

Descripción

array msql_fetch_row ( int query_identifier )

Devuelve un array que se corresponde con la fila recuperada, o FALSE si no hay más filas.

msql_fetch_row() recupera una fila de datos del resultado asociado con el identificador de consulta (query identifier) especificado. La fila se devuelve en un array. Cada columna devuelta se almacena en un desplazamiento del array, comenzando en el desplazamiento 0.

Una llamada posterior a msql_fetch_row() devería devolver la fila siguiente del conjunto resultado, o FALSE si no hay más filas.

Véase también:
    msql_fetch_array(),
    msql_fetch_object(),
    msql_data_seek(), y
    msql_result().

Anterior | Inicio | Siguiente
msql_fetch_object | Subir | msql_field_flags


msql_field_flags

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

msql_field_flags -- Get field flags

Descripción

string msql_field_flags ( resource result, int field_offset )

msql_field_flags() returns the field flags of the specified field.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Valores retornados

Returns a string containing the field flags of the specified key. This can be: primary key not null, not null, primary key, unique not null or unique.

Anterior | Inicio | Siguiente
msql_fetch_row | Subir | msql_field_len


msql_field_len

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

msql_field_len -- Get field length

Descripción

int msql_field_len ( resource result, int field_offset )

msql_field_len() returns the length of the specified field.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Valores retornados

Returns the length of the specified field or FALSE on error.

Anterior | Inicio | Siguiente
msql_field_flags | Subir | msql_field_name


msql_field_name

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

msql_field_name -- Get the name of the specified field in a result

Descripción

string msql_field_name ( resource result, int field_offset )

msql_field_name() gets the name of the specified field index.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Valores retornados

The name of the field or FALSE on failure.

Ver también

msql_field_len()

Anterior | Inicio | Siguiente
msql_field_len | Subir | msql_field_seek


msql_field_seek

(PHP 3, PHP 4, PHP 5)

msql_field_seek -- establece el desplazamiento del campo

Descripción

int msql_field_seek ( int query_identifier, int field_offset )

Se posiciona en el desplazamiento de campo (field offset) especificado. Si la siguiente llamada a msql_fetch_field() no incluye un desplazamiento de campo, este campo será el que se devuelva.

Véase también: msql_fetch_field().

Anterior | Inicio | Siguiente
msql_field_name | Subir | msql_field_table


msql_field_table

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

msql_field_table -- Get table name for field

Descripción

int msql_field_table ( resource result, int field_offset )

Returns the name of the table that the specified field is in.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Valores retornados

The name of the table on success, or FALSE on failure.

Anterior | Inicio | Siguiente
msql_field_seek | Subir | msql_field_type


msql_field_type

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

msql_field_type -- Get field type

Descripción

string msql_field_type ( resource result, int field_offset )

msql_field_type() gets the type of the specified field index.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Valores retornados

The type of the field. One of int, char, real, ident, null or unknown. This functions will return FALSE on failure.

Anterior | Inicio | Siguiente
msql_field_table | Subir | msql_fieldflags


msql_fieldflags

(PHP 3, PHP 4, PHP 5)

msql_fieldflags -- obtiene los flags del campo

Descripción

string msql_fieldflags ( int query_identifier, int i )

msql_fieldflags() obtiene los flags del campo (field) especificado. Actualmente pueden ser, "not NULL", "primary key", una combinación de ambos, o "" (cadena vacía).

Anterior | Inicio | Siguiente
msql_field_type | Subir | msql_fieldlen


msql_fieldlen

(PHP 3, PHP 4, PHP 5)

msql_fieldlen -- obtiene la longitud del campo

Descripción

int msql_fieldlen ( int query_identifier, int i )

msql_fieldlen() devuelve la longitud del campo especificado.

Anterior | Inicio | Siguiente
msql_fieldflags | Subir | msql_fieldname


msql_fieldname

(PHP 3, PHP 4, PHP 5)

msql_fieldname -- obtiene el nombre del campo

Descripción

string msql_fieldname ( int query_identifier, int field )

msql_fieldname() devuelve el nombre del campo especificado. query_identifier es el identificador de consulta, y field es el índice del campo. msql_fieldname($result, 2); devolverá el nombre del segundo campo del resultado asociado con el identificador result.

Anterior | Inicio | Siguiente
msql_fieldlen | Subir | msql_fieldtable


msql_fieldtable

(PHP 3, PHP 4, PHP 5)

msql_fieldtable -- obtiene el nombre de la tabla de un campo

Descripción

int msql_fieldtable ( int query_identifier, int field )

Devuelve el nombre de la tabla desde la que se ha recuperado el campo (field)

Anterior | Inicio | Siguiente
msql_fieldname | Subir | msql_fieldtype


msql_fieldtype

(PHP 3, PHP 4, PHP 5)

msql_fieldtype -- obtiene el tipo del campo

Descripción

string msql_fieldtype ( int query_identifier, int i )

msql_fieldtype() es similar a la función msql_fieldname(). Los argumentos son idénticos, pero se devuelve el tipo del campo. Este será "int", "char" o "real".

Anterior | Inicio | Siguiente
msql_fieldtable | Subir | msql_free_result


msql_free_result

(PHP 3, PHP 4, PHP 5)

msql_free_result -- libera la memoria del resultado

Descripción

int msql_free_result ( int query_identifier )

msql_free_result() libera la memoria asociada con query_identifier. Cuando PHP completa una petición, esta memoria es liberada automáticamente, por este motivo solo es necesario llamar a esta función cuando se desea estar seguro de que no se utiliza demasiada memoria mientras se está ejecutando el script.

Anterior | Inicio | Siguiente
msql_fieldtype | Subir | msql_list_dbs


msql_list_dbs

(PHP 3, PHP 4, PHP 5)

msql_list_dbs -- lista las bases de datos mSQL en el servidor

Descripción

int msql_list_dbs ( void )

msql_list_dbs() devolverá un puntero al resultado que contiene las bases de datos disponibles desde el daemon msql en uso. Utilice la función msql_dbname() para recorrer este puntero.

Anterior | Inicio | Siguiente
msql_free_result | Subir | msql_list_fields


msql_list_fields

(PHP 3, PHP 4, PHP 5)

msql_list_fields -- lista los campos del resultado

Descripción

int msql_list_fields ( string database, string tablename )

msql_list_fields() recupera información sobre el nombre de tabla (tablename) dado. Los argumentos son el nombre de la base de datos (database name) y el nombre de la tabla (table name). Se devuelve un puntero al resultado que puede utilizarse con msql_fieldflags(), msql_fieldlen(), msql_fieldname(), y msql_fieldtype(). Un indetificador de consulta (query identifier) es un entero positivo. La función devuelve -1 si ocurre un error. En $phperrmsg se almacena una cadena de carácteres describiendo el error, y a menos que la función sea llamada como @msql_list_fields() esta cadena de error puede ser impresa.

Véase también msql_error().

Anterior | Inicio | Siguiente
msql_list_dbs | Subir | msql_list_tables


msql_list_tables

(PHP 3, PHP 4, PHP 5)

msql_list_tables -- lista las tablas de una base de datos mSQL

Descripción

int msql_list_tables ( string database )

msql_list_tables() toma un nombre de base de datos y devuelve un puntero similar al de la función msql() La función msql_tablename() debería utilizarse para obtener los nombres reales de las tablas del puntero devuelto.

Anterior | Inicio | Siguiente
msql_list_fields | Subir | msql_num_fields


msql_num_fields

(PHP 3, PHP 4, PHP 5)

msql_num_fields -- obtiene el número de campos de un resultado

Descripción

int msql_num_fields ( int query_identifier )

msql_num_fields() devuelve el número de campos de un conjunto resultado.

Véase también:
msql(),
msql_query(),
msql_fetch_field(), y
msql_num_rows().

Anterior | Inicio | Siguiente
msql_list_tables | Subir | msql_num_rows


msql_num_rows

(PHP 3, PHP 4, PHP 5)

msql_num_rows -- obtiene el número de filas de un resultado

Descripción

int msql_num_rows ( int query_identifier )

msql_num_rows() devuelve el número de filas de un conjunto resultado.

Véase también:
msql(),
msql_query(), y
msql_fetch_row().

Anterior | Inicio | Siguiente
msql_num_fields | Subir | msql_numfields


msql_numfields

(PHP 3, PHP 4, PHP 5)

msql_numfields -- obtiene el número de campos de un resultado

Descripción

int msql_numfields ( int query_identifier )

Idéntica a msql_num_fields().

Anterior | Inicio | Siguiente
msql_num_rows | Subir | msql_numrows


msql_numrows

(PHP 3, PHP 4, PHP 5)

msql_numrows -- obtiene el número de filas en el resultado

Descripción

int msql_numrows ( void )

Idéntica a msql_num_rows().

Anterior | Inicio | Siguiente
msql_numfields | Subir | msql_pconnect


msql_pconnect

(PHP 3, PHP 4, PHP 5)

msql_pconnect -- abre una conexión mSQL persistente

Descripción

int msql_pconnect ( string hostname )

En caso de éxito devuelve un identificador de conexión mSQL persistente positivo, o FALSE en caso de error.

msql_pconnect() se comporta de forma similar a msql_connect() con dos diferencias importantes.

Primero, cuando se conecta, la función debe intentar primero localizar una conexión (persistente) que ya esté abierta en el mismo host. Si se encuentra uno, se devuelve un identificador para el mismo en vez de abrir una conexión nueva.

Segundo, la conexión con el servidor SQL no se cerrará cuando la ejecución del script finalice. Al contrario, la conexión permanecerá abierta para un uso futuro (msql_close() no cerrará las conexiones abiertas por msql_pconnect()).

Este tipo de conexiones son por ello denominadas 'persistentes'.

Anterior | Inicio | Siguiente
msql_numrows | Subir | msql_query


msql_query

(PHP 3, PHP 4, PHP 5)

msql_query -- envía una consulta mSQL

Descripción

int msql_query ( string query, int link_identifier )

msql_query() envía una consulta a la base de datos activa actual en el servidor que está asociada con el identificador de conexión (link identifier) especificado. Si no se especifica el identificador de conexión, se asume la última conexión abierta. Si no hay ninguna conexión abierta, la función intenta establecer una conexión como si se hubiera llamado a msql_connect(), y la utiliza.

En caso de éxito devuelve un identificador de consulta mSQL positivo, o FALSE en caso de error.

Véase también:
msql(),
msql_select_db(), y
msql_connect().

Anterior | Inicio | Siguiente
msql_pconnect | Subir | msql_regcase


msql_regcase

(PHP 3, PHP 4, PHP 5)

msql_regcase -- construye una expresión regular para una búsqueda que no distinga mayúsculas/minúsculas

Descripción

Véase sql_regcase().

Anterior | Inicio | Siguiente
msql_query | Subir | msql_result


msql_result

(PHP 3, PHP 4, PHP 5)

msql_result -- obtiene datos resultado

Descripción

int msql_result ( int query_identifier, int i, mixed field )

Devuelve el contenido de la celda en la fila y desplazamiento del conjunto resultado mSQL especificado.

msql_result() devuelve el contenido de una celda de un conjunto resultado mSQL. El argumento campo (field) puede ser el desplazamiento del campo, el nombre del campo, o el nombre de la tabla punto nombre del campo (nombretabla.nombrecampo). Si el nombre de la columna tiene un alias ('select foo as bar from...'), utilice el alias en vez del nombre de la columna.

Cuando se trabaja con conjuntos de resultados grandes, debería considerar el uso de las funciones que recuperen filas completas (especificadas más abajo). Como estas funciones recuperan el contenido de varias celdas en una única llamada de función, son MUCHO más rápidas que msql_result(). Advierta también que especificar un desplazamiento numérico para el argumento campo (field) es mucho más rápido que especificar un argumento nombrecampo o nombretabla.nombrecampo.

Alternativas de alto-rendimiento recomendadas:
msql_fetch_row(),
msql_fetch_array(), y
msql_fetch_object().

Anterior | Inicio | Siguiente
msql_regcase | Subir | msql_select_db


msql_select_db

(PHP 3, PHP 4, PHP 5)

msql_select_db -- selecciona una base de datos mSQL

Descripción

int msql_select_db ( string database_name, int link_identifier )

Devuelve TRUE si tiene éxito, FALSE en caso contrario.

msql_select_db() establece la base de datos activa actual en el servidor que está asociada con el identificador de conexión (link identifier) suministrado. Si no se especifica el identificador de conexión, se asumne la última conexión abierta. Si no hay ninguna conexión abierta la función intentará establecer una conexión como si se hubiera llamado a sql_connect(), y la utiliza.

Cada llamada posterior a msql_query() se hará en la base de datos activa.

Véase también:
msql_connect(),
msql_pconnect(), y
msql_query().

Anterior | Inicio | Siguiente
msql_result | Subir | msql_tablename


msql_tablename

(PHP 3, PHP 4, PHP 5)

msql_tablename -- obtiene el nombre de la tabla de un campo

Descripción

string msql_tablename ( int query_identifier, int field )

msql_tablename() toma un puntero resultado devuelto por la función msql_list_tables() como un índice entero y devuelve el nombre de una tabla. La función msql_numrows() puede utilizarse para determinar el número de tablas del puntero resultado.

Ejemplo 1. msql_tablename() example

<?php
msql_connect ("localhost");
$result = msql_list_tables("wisconsin");
$i = 0;
while ($i < msql_numrows($result)) {
    $tb_names[$i] = msql_tablename($result, $i);
    echo $tb_names[$i] . "<BR>";
    $i++;
}
?>

Anterior | Inicio | Siguiente
msql_select_db | Subir | msql


msql

(PHP 3, PHP 4, PHP 5)

msql -- ejecuta una consulta mSQL

Descripción

int msql ( string database, string query, int link_identifier )

Devuelve un identificador de consulta mSQL positivo en el resultado de la consulta, o FALSE en caso de error.

msql() selecciona una base de datos y ejecuta una consulta en ella. Si no se especifica el identificador de conexión (link identifier), la función intentará encontrar una conexión abierta en el servidor mSQL y en el caso de que no se encontrase intentará crear uno como si se llamase a msql_connect() sin parámetros (véase msql_connect()).

Anterior | Inicio | Siguiente
msql_tablename | Subir | Multibyte String Functions


Funciones MySQL

Manual de PHP
Anterior Siguiente

XCVI. Funciones MySQL

Introducción

Estas funciones le permiten acceder a servidores de bases de datos MySQL. Puede encontrar más información sobre MySQL en http://www.mysql.com/.

La documentación de MySQL puede encontrarse en http://dev.mysql.com/doc/.

Requisitos

Para contar con éstas funciones, debe compilar PHP con soporte MySQL.

Instalación

Para la compilación, simplemente use la opción de configuración --with-mysql[=DIR], en donde el valor opcional [DIR] apunta al directorio de instalación de MySQL.

Aunque esta extensión de MySQL es compatible con MySQL 4.1.0 y posteriores, no soporta la funcionalidad extra que tales versiones ofrecen. Para eso, use la extensión MySQLi.

Si quisiera instalar la extensión mysql junto con la extensión mysqli, debe usar la misma biblioteca de cliente para evitar cualquier conflicto.

Instalación en Sistemas Linux

PHP 4

La opción --with-mysql está habilitada por defecto. Para desactivar este comportamiento predeterminado, usted puede usar la opción de configuración --without-mysql. Si se habilita MySQL sin especificar el directorio de instalación de MySQL, PHP usará las bibliotecas de cliente de MySQL incorporadas.

Los usuarios que ejecutan otras aplicaciones que usan MySQL (auth-mysql, por ejemplo) no deberían usar la biblioteca incorporada, en su lugar deben especificar la ruta al directorio de instalación de MySQL, de este modo: --with-mysql=/ruta/hacia/mysql. Esto obligará a PHP a usar las bibliotecas de cliente instaladas por MySQL, para así evitar cualquier conflicto.

PHP 5+

El soporte para MySQL no se encuentra habilitado por defecto, ni lo está la biblioteca incorporada con PHP. Lea este FAQ para conocer los detalles del porqué. Use la opción de configuración --with-mysql[=DIR] para incluir el soporte para MySQL. Es posible descargar las cabeceras y bibliotecas desde MySQL.

Instalación en Sistemas Windows

PHP 4

La extensión MySQL de PHP es compilada en PHP.

PHP 5+

El soporte para MySQL ya no es habilitado por defecto, así que el DLL php_mysql.dll DLL debe habilitarse al interior de php.ini. Asimismo, PHP necesita acceder a la biblioteca de cliente MySQL. Un archivo de nombre libmysql.dll es incluido en la distribución de PHP en Windows, y para que PHP se comunique con MySQL, este archivo necesita estar disponible en la ruta PATH de los sistemas Windows. Vea la entrada del FAQ titulada "Cómo agrego mi directorio PHP a la ruta PATH en Windows" para más información sobre cómo hacerlo. Aunque copiar libmysql.dll al directorio de sistema de Windows también funciona (ya que el directorio de sistema es parte del PATH del sistema por defecto), tal acción no es recomendada.

Al igual que ocurre con cualquier otra extensión (como php_mysql.dll), la directiva de PHP extension_dir debe definirse con el directorio en donde están ubicadas las extensiones PHP. Vea también las Instrucciones de Instalación Manual en Windows. Un valor de ejemplo de extension_dir para PHP 5 es c:\php\ext

Nota: Si al iniciar el servidor web un error similar al siguiente ocurre: "Unable to load dynamic library './php_mysql.dll'", se debe a que php_mysql.dll o libmysql.dll no pueden encontrarse por el sistema.

MySQL Installation Notes

Aviso

Pueden encontrarse problemas de inicialización y bloqueos de PHP cuando esta extensión es cargada en conjunto con la extensión recode. Consulte sobre la extensión recode para más información.

Nota: Si necesita juegos de caracteres diferentes a latin (el juego por defecto), tendrá que instalar una biblioteca de mysql externa (no incorporada) que haya sido compilada con soporte para los juegos de caracteres.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración MySQL

Nombre | Por defecto | Modificable | Cambios
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible desde PHP 4.3.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

mysql.allow_persistent boolean

Indica si se permiten conexiones persistentes con MySQL.

mysql.max_persistent integer

El número máximo de conexiones persistentes con MySQL por proceso.

mysql.max_links integer

El número máximo de conexiones con MySQL por proceso, incluyendo conexiones persistentes.

mysql.trace_mode boolean

Modo de rastreo. Cuando se habilita mysql.trace_mode, se muestran advertencias para la apertura de tablas/índices, conjuntos de resultados no liberados, y errores SQL. (Se introdujo en PHP 4.3.0)

mysql.default_port string

El número de puerto TCP predeterminado para usar cuando se conecta con el servidor de bases de datos, si no se indica otro. Si no se indica un valor predeterminado, el puerto se obtendrá de la variable de entorno MYSQL_TCP_PORT, la entrada mysql-tcp en /etc/services o la constante de tiempo de compilación MYSQL_PORT, en ese orden. En Win32 sólo se usa la constante MYSQL_PORT.

mysql.default_socket string

El nombre de socket predeterminado a ser usado cuando se realicen conexiones con un servidor de base de datos local, si no se indica algún otro.

mysql.default_host string

La máquina anfitriona predeterminada a ser usada cuando se realicen conexiones con un servidor de bases de datos, si no se indica otro valor. No es aplicable en SQL safe mode.

mysql.default_user string

El nombre de usuario prodeterminado para conectarse al servidor de bases de datos si no se indica otro. No es aplicable bajo SQL safe mode.

mysql.default_password string

La contraseña predeterminada a usar cuando se realicen conexiones con el servidor de bases de datos, si no se indica otro valor. No es aplicable en SQL safe mode.

mysql.connect_timeout integer

Tiempo de espera máximo de conexión, en segundos. Bajo Linux este tiempo de espera es usado también cuando se espera la primera respuesta del servidor.

Tipos de recursos

Hay dos tipos de recursos usados en el módulo MySQL. El primero es el identificador de enlace para una conexión de base de datos, el segundo es un recurso que almacena el resultado de una consulta.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

A partir de PHP 4.3.0, es posible especificar banderas de cliente adicionales para las funciones mysql_connect() y mysql_pconnect(). Las siguientes constantes están definidas:

Tabla 2. Constantes de cliente MySQL

Constante | Descripción
MYSQL_CLIENT_COMPRESS | Usar protocolo de compresión
MYSQL_CLIENT_IGNORE_SPACE | Permitir espacios después de nombres de funciones
MYSQL_CLIENT_INTERACTIVE | Permitir tantos segundos de inactividad como indique interactive_timeout (en lugar de wait_timeout) antes de cerrar la conexión
MYSQL_CLIENT_SSL | Usar encripción SSL. Esta bandera se encuentra disponible únicamente con la versión 4.x o más reciente de la biblioteca cliente de MySQL. La versión 3.23.x se distribuye tanto con PHP 4 como con los binarios de Windows de PHP 5.

La función mysql_fetch_array() usa una constante para los diferentes tipos de matrices de resultado. Las siguientes constantes están definidas:

Tabla 3. Constantes MySQL-fetch

Constante | Descripción
MYSQL_ASSOC | Las columnas son devueltas en la matriz usando el nombre del campo como índice.
MYSQL_BOTH | Las columnas son devueltas en la matriz teniendo tanto un índice numérico como un índice correspondiente al nombre del campo.
MYSQL_NUM | Las columnas son devueltas en la matriz teniendo un índice numérico a los campos. Este índice comienza en 0, el primer campo del resultado.

Notes

Nota: La mayoría de funciones de MySQL aceptan identificador_enlace como último parámetro opcional. Si no es definido, se utiliza la última conexión abierta. Si no existe, se intenta establecer una conexión con los parámetros predeterminados definidos en php.ini. Si no tiene éxito, las funciones devuelven FALSE.

Ejemplos

Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta, imprimir las filas resultantes y desconectarse de una base de datos MySQL.

Ejemplo 1. Ejemplo general de la extensión MySQL

<?php
// Conexion, seleccion de base de datos
$enlace = mysql_connect('host_mysql', 'usuario_mysql', 'contrasenya_mysql')
    or die('No pudo conectarse : ' . mysql_error());
echo 'Conexi&oacute;n exitosa';
mysql_select_db('mi_base_de_datos') or die('No pudo seleccionarse la BD.');

// Realizar una consulta SQL
$consulta  = 'SELECT * FROM mi_tabla';
$resultado = mysql_query($consulta) or die('La consulta fall&oacute;: ' . mysql_error());

// Impresion de resultados en HTML
echo "<table>\n";
while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($linea as $valor_col) {
        echo "\t\t<td>$valor_col</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Liberar conjunto de resultados
mysql_free_result($resultado);

// Cerrar la conexion
mysql_close($enlace);
?>

Tabla de contenidos
mysql_affected_rows -- Devuelve el número de filas afectadas de la última operación MySQL
mysql_change_user -- Cambia el usuario conectado en la conexión activa
mysql_client_encoding -- Devuelve el nombre del juego de caracteres
mysql_close -- cierra el enlace con MySQL
mysql_connect -- Abre una conexión a un servidor MySQL
mysql_create_db -- Crea una base MySQL
mysql_data_seek -- Mueve el puntero interno
mysql_db_name -- Obtener datos de resultado
mysql_db_query -- Envia una sentencia MySQL al servidor
mysql_drop_db -- Borra una base de datos MySQL
mysql_errno -- Deuelve el número del mensaje de error de la última operación MySQL
mysql_error -- Devuelve el texto del mensaje de error de la última operación MySQL
mysql_escape_string -- Escapa una cadena para su uso en mysql_query
mysql_fetch_array -- Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas
mysql_fetch_assoc -- Recupera una fila de resultado como una matriz asociativa
mysql_fetch_field -- Extrae la información de una columna y la devuelve como un objeto.
mysql_fetch_lengths -- Devuelve la longitud de cada salida en un resultado
mysql_fetch_object -- Extrae una fila de resultado como un objeto
mysql_fetch_row -- Devuelve una fila de resultado como matriz
mysql_field_flags -- Devuelve las banderas asociados con el campo específicado en un resultado
mysql_field_len -- Devuelve la longitud del campo específicado
mysql_field_name -- Devuelve el nombre del campo específicado en un resultado
mysql_field_seek -- Asigna el puntero del resultado al offset del campo específicado
mysql_field_table -- Devuelve el nombre de la tabla donde está el campo específicado
mysql_field_type -- Devuelve el tipo del campo específicado en un resultado
mysql_free_result -- Libera la memoria del resultado
mysql_get_client_info -- Obtener información del cliente MySQL
mysql_get_host_info -- Obtener información de la máquina anfitriona MySQL
mysql_get_proto_info -- Obtener información del protocolo MySQL
mysql_get_server_info -- Obtener información del servidor MySQL
mysql_info -- Obtiene información sobre la consulta más reciente
mysql_insert_id -- Devuelve el identificador generado en la última llamada a INSERT
mysql_list_dbs -- Lista las bases de datos disponibles en el servidor MySQL
mysql_list_fields -- Lista los campos del resultado de MySQL
mysql_list_processes -- Lista los procesos MySQL
mysql_list_tables -- Lista las tablas en una base de datos MySQL
mysql_num_fields -- devuelve el número de campos de un resultado
mysql_num_rows -- Devuelve el número de filas de un resultado
mysql_pconnect -- Abre una conexión persistente al servidor MySQL
mysql_ping -- Efectuar un chequeo de respuesta (ping) sobre una conexión de servidor o reconectarse si no hay conexión
mysql_query -- Envía una consulta de MySQL
mysql_real_escape_string -- Escapa caracteres especiales de una cadena para su uso en una sentencia SQL
mysql_result -- Devuelve datos de un resultado
mysql_select_db -- Selecciona un base de datos MySQL
mysql_stat -- Obtener el status actual del sistema
mysql_tablename -- Devuelve el nombre de la tabla de un campo
mysql_thread_id -- Devuelve el ID del hilo actual
mysql_unbuffered_query -- Envía una consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas de resultado

Anterior | Inicio | Siguiente
muscat_setup | Subir | mysql_affected_rows


mysql_affected_rows

(PHP 3, PHP 4, PHP 5)

mysql_affected_rows -- Devuelve el número de filas afectadas de la última operación MySQL

Descripción

int mysql_affected_rows ( [int identificador_de_enlace] )

mysql_affected_rows() devuelve el número de filas afectadas en la ultima sentencia INSERT, UPDATE o DELETE sobre el servidor asociado con el identificador_de_enlace especificado. Si el identificador de enlace no ha sido especificado, se asume por defecto el último enlace.

Nota: Si está usando transacciones, necesitará llamar mysql_affected_rows() después del INSERT, UPDATE, o DELETE, no después del commit.

Si la última sentencia fue un DELETE sin clausula WHERE, todos los registros han sido borrados de la tabla pero esta función devolvera cero.

Nota: Cuando se usa UPDATE, MySQL no actualizará las columnas donde el nuevo valor es el mismo al actual. Esto crea la posibilidad de que mysql_affected_rows() pueda no ser igual al número de filas encontradas, solo el número de filas que fueron literalmente afectadas por la sentencia.

La sentencia REPLACE primero borra el registro con la misma llave principal y entonces inserta el nuevo registro. Esta función regresa el número de registros borrados más el número de registros insertados.

Para obtener el número de fils regresadas por un SELECT, es posible usar también mysql_num_rows().

Si la última consulta falló, esta función regresará -1.

Ejemplo 1. Delete-Query

<?php
/* connect to database */
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());

/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n", mysql_affected_rows());
?>

El ejemplo anterior prducirá la siguiente salida:

Records deleted: 10
Records deleted: 0

Ejemplo 2. Update-Query

<?php
/* connect to database */
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

/* Update records */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

El ejemplo anterior prducirá la siguiente salida:

Updated Records: 10

Vea también mysql_num_rows(), mysql_info().

Anterior | Inicio | Siguiente
Funciones MySQL | Subir | mysql_change_user


mysql_change_user

(PHP 3 >= 3.0.13)

mysql_change_user -- Cambia el usuario conectado en la conexión activa

Descripción

int mysql_change_user ( cadena usuario, cadena password [, cadena base_de_datos [, int identificador_de_enlace]] )

mysql_change_user() cambia el usuario conectado en la actual conexión activa, o si se específica, en la conexión determinada por el identificador_de_enlace opcional. Si se específica la base de datos, ésta será la base por defecto después del cambio de usuario. Si la nueva combinación de usuario/password no está autorizada, el usuario actualmente conectado permanece activo.

Nota: Esta función es obsoleta y solo está disponible en PHP 3 y requiere MySQL 3.23.3 o superior.

Anterior | Inicio | Siguiente
mysql_affected_rows | Subir | mysql_client_encoding


mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding -- Devuelve el nombre del juego de caracteres

Descripción

string mysql_client_encoding ( [resource id_enlace] )

Recupera la variable character_set de MySQL.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve el nombre del juego de caracteres predeterminado para la conexión actual.

Ejemplos

Ejemplo 1. Ejemplo de mysql_client_encoding()

<?php
$enlace     = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$juego_cars = mysql_client_encoding($enlace);

echo "El juego de caracteres actual es: $juego_cars\n";
?>

El resultado del ejemplo seria algo similar a:

El juego de caracteres actual es: latin1

Ver también

mysql_real_escape_string()

Anterior | Inicio | Siguiente
mysql_change_user | Subir | mysql_close


mysql_close

(PHP 3, PHP 4, PHP 5)

mysql_close -- cierra el enlace con MySQL

Descripción

int mysql_close ( [int identificador_de_enlace] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

mysql_close() cierra el enlace con la base MySQL que esta asociada con el identificador de enlace específicado. Si no se específica el identificador de enlace, se asume por defecto el último enlace.

Nota: Normalmente no es necesario ya que la aperturas no-persistentes son cerradas automaticamente al final de la ejecución del script. Vea tambié liberar recursos.

mysql_close() no cerrará los enlaces persistentes generados con mysql_pconnect().

Ejemplo 1. Ejemplo de MySQL close

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

Ver también: mysql_connect(), mysql_pconnect().

Anterior | Inicio | Siguiente
mysql_client_encoding | Subir | mysql_connect


mysql_connect

(PHP 3, PHP 4, PHP 5)

mysql_connect -- Abre una conexión a un servidor MySQL

Descripción

int mysql_connect ( [cadena hostname [, cadena usuario [, cadena password [, bool new_link [, int client_flags]]]]] )

Devuelve: Un identificador de enlace positivo si tiene exito, o falso si error.

mysql_connect()establece una conexión a un servidor MySQL. Todos los argumentos son opcionales, y si no hay, se asumen los valores por defecto ('localhost', usuario propietario del proceso del servidor, password vacío).

El hostname puede incluir tambien un número de puerto . ej. "hostname:puerto" o un camino al socket ej. ":/camino/al/socket" para localhost.

Nota: Siempre que específicque "localhost" o "localhost:port" como servidor, la libreria cliente de MySQL evitará esto y tratará de conectarse a socket local (nombrado pipe en Windows). Si quiere usar TCP/IP, use "127.0.0.1" en vez de "localhost". Si las librerias cliente de MySQL intentan conectarse a un socket local equivocado, debe fijar la trayectoria como mysql.default_host en el archivo de configuración PHP y dejar el campo del servidor en blanco.

Soporte para ":puerto" fue añadido en PHP 3.0B4.

Soporte para ":/camino/al/socket" fue añadido en PHP 3.0.10.

Puede suprimir el mensaje de error en caso de falla anteponiendo una @ al nombre de la funci´n.

Si se hace una segunda llamada a mysql_connect() con los mismos argumentos, no se abrirá nuevo enlace, en lugar de eso, se regresa el identificador de enlace ya abierto. El parámetro new_link modifica este comportamiento y hace que mysql_connect() siempre abrir un nuevo enlace, aún si mysql_connect() había sido llamado antes con los mismos parámetros. El pará client_flags puede ser una combinación de las constantes: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE.

Nota: El parámetro new_link estuvo disponible en PHP 4.2.0

El parámetro client_flags estuvo disponible en PHP 4.3.0

El enlace al servidor sera cerrado tan pronto como la ejecución del script finalice, a menos que se cierre antes explícitamente llamando a mysql_close().

Ejemplo 1. Ejemplo de MySQL connect

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

Ver también : mysql_pconnect(), mysql_close().

Anterior | Inicio | Siguiente
mysql_close | Subir | mysql_create_db


mysql_create_db

(PHP 3, PHP 4, PHP 5)

mysql_create_db -- Crea una base MySQL

Descripción

int mysql_create_db ( cadena base_de_datos [, int identificador_de_enlace] )

mysql_create_db() intenta crear una base nueva en el servidor asociado al identificador de enlace.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de MySQL create

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

if (mysql_create_db('my_db')) {
    echo "Database created successfully\n";
} else {
    echo 'Error creating database: ' . mysql_error() . "\n";
}
?>

Por razones de compatibilidad puede usarse mysql_createdb() igualmente.

Nota: La función mysql_create_db() es obsoleta. Es preferible usar mysql_query() para ejecutar una sentencia SQL CREATE DATABASE en su lugar.

Aviso

Esta función no será disponible y la extensión de MySQL fue construida/compilada en una libreria de cliente de MySQL 4.X.

Ver también: mysql_query().

Anterior | Inicio | Siguiente
mysql_connect | Subir | mysql_data_seek


mysql_data_seek

(PHP 3, PHP 4, PHP 5)

mysql_data_seek -- Mueve el puntero interno

Descripción

int mysql_data_seek ( int id_resultado, int numero_de_fila )

mysql_data_seek() mueve el puntero de fila interno a la fila específicada para el identificador de resultado. La próxima llamada a mysql_fetch_row() devolverá esa fila.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

numero_de_fila empieza en . El numero_de_fila debe ser un valor dentro del rango de o a mysql_num_rows() - 1. Sin embargo si el resultado está vacío (mysql_num_rows() == 0), una búsqueda a 0 fallará con E_WARNING y mysql_data_seek() regresará FALSE.

Nota: La función mysql_data_seek() puede ser usada solo en conjunto con mysql_query(), no con mysql_unbuffered_query().

Ejemplo 1. Ejemplo de MySQL data seek

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
    die('Could not select database: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
    die('Query failed: ' . mysql_error());
}
/* fetch rows in reverse order */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        echo "Cannot seek to row $i: " . mysql_error() . "\n";
        continue;
    }

    if (!($row = mysql_fetch_assoc($result))) {
        continue;
    }

    echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Vea también
mysql_query(),
mysql_num_rows(),
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_fetch_array(), y
mysql_fetch_object().

Anterior | Inicio | Siguiente
mysql_create_db | Subir | mysql_db_name


mysql_db_name

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mysql_db_name -- Obtener datos de resultado

Descripción

string mysql_db_name ( resource resultado, int fila [, mixed campo] )

Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs().

Lista de parámetros

resultado

El apuntador de resultado de una llamada a mysql_list_dbs().

fila

El índice en el conjunto de resultados.

campo

El nombre del campo.

Valores retornados

Devuelve el nombre de la base de datos en caso de tener éxito, y FALSE si ocurre un error. Si se devuelve FALSE, use mysql_error() para determinar la naturaleza del error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_db_name()

<?php
error_reporting(E_ALL);

$enlace = mysql_connect('dbhost', 'nombre_usuario', 'contrasenya');
$lista_db = mysql_list_dbs($enlace);

$i = 0;
$cnt = mysql_num_rows($lista_db);
while ($i < $cnt) {
    echo mysql_db_name($lista_db, $i) . "\n";
    $i++;
}
?>

Notes

Nota: For downward compatibility, the following deprecated alias may be used: mysql_dbname()

Ver también

mysql_list_dbs()
mysql_tablename()

Anterior | Inicio | Siguiente
mysql_data_seek | Subir | mysql_db_query


mysql_db_query

(PHP 3, PHP 4, PHP 5)

mysql_db_query -- Envia una sentencia MySQL al servidor

Descripción

int mysql_db_query ( cadena base_de_datos, cadena sentencia [, int identificador_de_enlace] )

Devuelve: Un identificador de resultado positivo o falso si error. La función también regresa TRUE/FALSE para las sentencias INSERT/UPDATE/DELETE para indicar exito/falla.

mysql_db_query() selecciona una base y ejecuta una sentencia en ella. Si el identificador de enlace no ha sido especificado, la función intenta encontrar un enlace abierto al servidor MySQL y si no lo encuentra, intetará crear uno como si fuera llamado mysql_connect() sin argumentos

Tenga en cuenta que esta funció NO se regresa a la base de datos a la que estaba conectado antes. En otras palabras usted no puede usar esta función para correr temporalmente una consulta SQL en otra base de datos, usted debe manualmente regresarse. Los usuarios son animados a usar la sintaxis database.table en las consultas SQL en vez de esta función.

Ver tambiénmysql_connect(), mysql_query().

Nota: Esta función es obsoleta desde PHP 4.0.6 no use esta función. Use mysql_select_db() y mysql_query().

Anterior | Inicio | Siguiente
mysql_db_name | Subir | mysql_drop_db


mysql_drop_db

(PHP 3, PHP 4, PHP 5)

mysql_drop_db -- Borra una base de datos MySQL

Descripción

int mysql_drop_db ( cadena base_de_datos [, int identificador_de_enlace] )

mysql_drop_db() intenta suprimir una base de datos completa del servidor asociado al identificador de enlace.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también: mysql_create_db(). Por razones de compatibilidad puede usarse mysql_dropdb() igualmente. Aunque es obsoleta.

Nota: La función mysql_drop_db() es obsoleta. Es preferible usar mysql_query() para enviar una sentencia SQL DROP DATABASE en su lugar.

Aviso

Esta función no está disponible si la extensión de MySQL fue compilada para las librerias cliente de MySQL 4.x.

Vea también mysql_query().

Anterior | Inicio | Siguiente
mysql_db_query | Subir | mysql_errno


mysql_errno

(PHP 3, PHP 4, PHP 5)

mysql_errno -- Deuelve el número del mensaje de error de la última operación MySQL

Descripción

int mysql_errno ( [int identificador_de_enlace] )

Regresa el número de error de la última función, o 0 (cero) si no hay error.

Los errores que se obtienen de la base de datos MySQL ya no generan alertas. En lugar de eso, use mysql_errno() para obtener el código de error. Note que esta función solo regresa el código de error de la función MySQLm´s recientemente executada (sin incluir mysql_error() y mysql_errno()), así que si quiere usarla, asegurese de chear el valor antes de llamar a otra funció de MySQL.

Ejemplo 1. Ejemplo de mysql_errno

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

El ejemplo anterior producirá la siguiente salida:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Nota: Si el parámetro opcional es específicado el identificador_de_enlace es usado para obtener el código de error. Si no, se usa el último enlace abierto.

Ver también: mysql_error() y Códigos de error MySQL.

Anterior | Inicio | Siguiente
mysql_drop_db | Subir | mysql_error


mysql_error

(PHP 3, PHP 4, PHP 5)

mysql_error -- Devuelve el texto del mensaje de error de la última operación MySQL

Descripción

cadena mysql_error ( [int identificador_de_enlace] )

Regresa el texto del error de la última funció MySQL o '' (cadena vacía) si no ocurrió error. Si no se específica el identificador de enlace en la función se usa el último enlace abierto exitosamente para obtener el mensaje de error del servidor MySQL.

Los errores que se obtienen de la base de datos MySQL ya no generan alertas. En lugar de eso, use mysql_errno() para obtener el código de error. Note que esta función solo regresa el código de error de la función MySQLm´s recientemente executada (sin incluir mysql_error() y mysql_errno()), así que si quiere usarla, asegurese de chear el valor antes de llamar a otra funció de MySQL.

Ejemplo 1. Ejemplo de mysql_error

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

El ejemplo anterior producirá la siguiente salida:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Ver también: mysql_errno() Códigos de error MySQL.

Anterior | Inicio | Siguiente
mysql_errno | Subir | mysql_escape_string


mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string -- Escapa una cadena para su uso en mysql_query

Descripción

string mysql_escape_string ( string cadena_no_escapada )

Esta función escapa la cadena_no_escapada, de modo que sea seguro usarla en un llamado a mysql_query(). Esta función es obsoleta.

Esta función es idéntica a mysql_real_escape_string() con la excepción de que mysql_real_escape_string() recibe un gestor de conexión y escapa la cadena de acuerdo al juego de caracteres actual. mysql_escape_string() no recibe un argumento de conexión, y no hace caso al valor actual del juego de caracteres.

Lista de parámetros

cadena_no_escapada

La cadena a ser escapada.

Valores retornados

Devuelve la cadena escapada.

Registro de cambios

Versión | Descripción
4.3.0 | Esta función se convirtió en obsoleta, no use esta función. En su lugar, use mysql_real_escape_string().

Ejemplos

Ejemplo 1. Ejemplo de mysql_escape_string()

<?php
$item = "Zak's Laptop";
$item_escapado = mysql_escape_string($item);
printf("La cadena escapada: %s\n", $item_escapado);
?>

El resultado del ejemplo seria:

La cadena escapada: Zak\'s Laptop

Notes

Nota: mysql_escape_string() no escapa % ni _.

Ver también

mysql_real_escape_string()
addslashes()
La directiva magic_quotes_gpc.

Anterior | Inicio | Siguiente
mysql_error | Subir | mysql_fetch_array


mysql_fetch_array

(PHP 3, PHP 4, PHP 5)

mysql_fetch_array -- Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas

Descripción

array mysql_fetch_array ( int id_resultado [, int tipo_de_resultado] )

Devuelve una matriz que corresponde a la sentencia extraida, o falso si no quedan más filas.

mysql_fetch_array() es una versión extendida de mysql_fetch_row(). Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave.

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna toma la prioridad. Para acceder a la(s) otra(s) columna(s) con el mismo nombre, se debe escificar el indice numerico o definir un alias para la columna. En columnas con alias, usted no puede acceder al contenido con el nombre original de la columna (usando 'field' en este ejemplo)

Ejemplo 1. Consulta con campos repetidos usando alias

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

La función mysql_fetch_array() no es significativemente mas lenta que mysql_fetch_row(), sin embargo tiene un valor añadido importante.

El segundo argumento opcional tipo_de_resultado en mysql_fetch_array() es una constante y puede tomar los siguientes valores: MYSQL_ASSOC, MYSQL_NUM, y MYSQL_BOTH. Esta caraterística fue agregada en PHP 3.0.7. MYSQL_BOTH

Usando MYSQL_BOTH, usted obtendrá una matrix con índices asociativos y numéricos. Usando MYSQL_ASSOC, usted solo tendrá índices asociativos (tal como funciona mysql_fetch_assoc()), usando MYSQL_NUM, solo obtendrá los índices numéricos (tal como si fuera mysql_fetch_row()).

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Vea también
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_data_seek(), y
mysql_query().

Ejemplo 2. mysql_fetch_array() con MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Ejemplo 3. mysql_fetch_array() con MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Ejemplo 4. mysql_fetch_array() con MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Anterior | Inicio | Siguiente
mysql_escape_string | Subir | mysql_fetch_assoc


mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc -- Recupera una fila de resultado como una matriz asociativa

Descripción

array mysql_fetch_assoc ( resource resultado )

Devuelve una matriz asociativa que corresponde a la fila recuperada y mueve el apuntador de datos interno hacia adelante. mysql_fetch_assoc() es equivalente a llamar mysql_fetch_array() con MYSQL_ASSOC como el segundo parámetro opcional. Únicamente devuelve una matriz asociativa.

Lista de parámetros

result

The result resource that is being evaluated. This result comes from a call to mysql_query().

Valores retornados

Devuelve una matriz asociativa que corresponde a la fila recuperada, o FALSE si no hay más filas disponibles.

Si dos o más columnas del resultado tienen los mismos nombres de campo, la última columna tomará precedencia. Para acceder a otras columnas con el mismo nombre, tendrá que acceder al resultado con índices numéricos mediante el uso de mysql_fetch_row() o agregar sobrenombres. Vea el ejemplo en la descripción de mysql_fetch_array() respecto a los sobrenombres.

Ejemplos

Ejemplo 1. Un ejemplo extendido de mysql_fetch_assoc()

<?php

$conexion = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conexion) {
    echo "No pudo conectarse a la BD: " . mysql_error();
    exit;
}

if (!mysql_select_db("nombre_de_la_bd")) {
    echo "No ha sido posible seleccionar la BD: " . mysql_error();
    exit;
}

$sql = "SELECT id as id_usuario, nombre_completo, status_usuario
        FROM   alguna_tabla
        WHERE  status_usuario = 1";

$resultado = mysql_query($sql);

if (!$resultado) {
    echo "No pudo ejecutarse satisfactoriamente la consulta ($sql) " .
         "en la BD: " . mysql_error();
    exit;
}

if (mysql_num_rows($resultado) == 0) {
    echo "No se han encontrado filas, nada a imprimir, asi que voy " .
         "a detenerme.";
    exit;
}

// Mientras exista una fila de datos, colocar esa fila en $fila
// como una matriz asociativa
// Nota: Si solo espera una fila, no hay necesidad de usar un ciclo
// Nota: Si coloca extract($fila); dentro del siguiente ciclo,
//       estara creando $id_usuario, $nombre_completo, y $status_usuario
while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila["id_usuario"];
    echo $fila["nombre_completo"];
    echo $fila["status_usuario"];
}

mysql_free_result($resultado);

?>

Notes

Rendimiento: Algo importante a notar es que el uso de mysql_fetch_assoc() no es significativamente más lento que el uso de mysql_fetch_row(), al mismo tiempo que provee un valor agregado considerable.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Ver también

mysql_fetch_row()
mysql_fetch_array()
mysql_data_seek()
mysql_query()
mysql_error()

Anterior | Inicio | Siguiente
mysql_fetch_array | Subir | mysql_fetch_field


mysql_fetch_field

(PHP 3, PHP 4, PHP 5)

mysql_fetch_field -- Extrae la información de una columna y la devuelve como un objeto.

Descripción

objeto mysql_fetch_field ( int id_resultado [, int salto] )

Devuelve un objeto que contiene la información del campo.

Puede usarse mysql_fetch_field() para obtener información sobre campos en un resultado. Si no se específica el salto, se extrae el siguiente campo que todavía no ha sido extraido. con mysql_fetch_field().

Las propiedades del objeto son:

  • name - nombre de la columna

  • table - name de la tabla a la que pertenece la columna

  • max_length - longitud máxima de la columna

  • not_null - 1 si la columna no puede contener un valor nulo

  • primary_key - 1 si la columna es clave primaria

  • unique_key - 1 si la columna es clave única

  • multiple_key - 1 si la columna es clave no única

  • numeric - 1 si la columna es numérica

  • blob - 1 si la columna es un BLOB

  • type - el tipo de la columna

  • unsigned - 1 si la columna es unsigned

  • zerofill - 1 si la columna es zero-filled

Ver también mysql_field_seek()

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Ejemplo 1. Ejemplo mysql_fetch_field

<?php
$conn = mysql_connect('localhost:3306', 'user', 'password');
if (!$conn) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
    die('Query failed: ' . mysql_error());
}
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = mysql_fetch_field($result, $i);
    if (!$meta) {
        echo "No information available<br />\n";
    }
    echo "<pre>
blob:         $meta->blob
max_length:   $meta->max_length
multiple_key: $meta->multiple_key
name:         $meta->name
not_null:     $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:         $meta->type
unique_key:   $meta->unique_key
unsigned:     $meta->unsigned
zerofill:     $meta->zerofill
</pre>";
    $i++;
}
mysql_free_result($result);
?>

Anterior | Inicio | Siguiente
mysql_fetch_assoc | Subir | mysql_fetch_lengths


mysql_fetch_lengths

(PHP 3, PHP 4, PHP 5)

mysql_fetch_lengths -- Devuelve la longitud de cada salida en un resultado

Descripción

array mysql_fetch_lengths ( int id_resultado )

Devuelve: Una matriz que contiene las longitudes de cada campo de la última fila extraida por mysql_fetch_row(), o FALSE si error.

mysql_fetch_lengths() almacena las longitudes de cada
columna en la última fila devuelta por
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_fetch_array(), y
mysql_fetch_object() en una matriz, empezando por 0.

Vea también mysql_field_len(),
mysql_fetch_row(),
strlen().

Ejemplo 1. Ejemplo de mysql_fetch_lengths

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row     = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);

?>

El resultado del ejemplo seria algo similar a:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
)

Anterior | Inicio | Siguiente
mysql_fetch_field | Subir | mysql_fetch_object


mysql_fetch_object

(PHP 3, PHP 4, PHP 5)

mysql_fetch_object -- Extrae una fila de resultado como un objeto

Descripción

objeto mysql_fetch_object ( int id_resultado )

Devuelve un objeto con las propiedades que corresponden a la última fila extraida, o FALSE si no quedan más filas.

mysql_fetch_object() es similar a mysql_fetch_array(), con la diferencia que un objeto es devuelto en lugar de una matriz. Indirectamente, quiere decir que solo se puede aceder a los datos por el nombre del campo, y no por su posición. (los números no pueden ser nombres de propiedades de objetos).

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Ejemplo 1. Ejemplo demysql_fetch_object()

<?php

$row = mysql_fetch_object($result);

/* this is valid */
echo $row->field;
/* this is invalid */
//echo $row->0;

?>

La función es identica a mysql_fetch_array(), y casi tan rápida como mysql_fetch_row() (la diferencia es insignificante).

Ejemplo 2. Ejemplo demysql_fetch_object()

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
mysql_free_result($result);
?>

Ver también: mysql_fetch_array(),
mysql_fetch_assoc(),
mysql_fetch_row(),
mysql_data_seek() y
mysql_query().

Anterior | Inicio | Siguiente
mysql_fetch_lengths | Subir | mysql_fetch_row


mysql_fetch_row

(PHP 3, PHP 4, PHP 5)

mysql_fetch_row -- Devuelve una fila de resultado como matriz

Descripción

array mysql_fetch_row ( int id_resultado )

Devuelve: Una matriz que corresponde a la fila selecionada, o FALSE si no quedan más filas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

mysql_fetch_row() seleciona una fila de datos del resultado asociado al identificador de resultado especificado. La fila es devuelta como una matriz. Cada columna del resultdo es guardada en un offset de la matriz, empezando por el offset 0.

La llamada a mysql_fetch_row() debería devolver la próxima fila del resultado, o FALSE si no quedan más filas.

Ejemplo 1. Ejemplo de mysql_fetch_row

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value
?>

Ver también:
mysql_fetch_array(),
mysql_fetch_object(),
mysql_data_seek(),
mysql_fetch_lengths(),
mysql_result().

Anterior | Inicio | Siguiente
mysql_fetch_object | Subir | mysql_field_flags


mysql_field_flags

(PHP 3, PHP 4, PHP 5)

mysql_field_flags -- Devuelve las banderas asociados con el campo específicado en un resultado

Descripción

cadena mysql_field_flags ( int id_resultado, int offset_del_campo )

mysql_field_flags() devuelve las banderas del campo específicado. Cada bandera es devuelta como una palabra y están separados por un único espacio, se puede dividir el resultado devuelto utilizando explode().

Soporta las siguientes banderas: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" y "timestamp".

Ejemplo 1. Ejemplo de mysql_field_flags

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

El resultado del ejemplo seria algo similar a:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

Por razones de compatibilidad puede usarse también mysql_fieldflags(). Sin embargo esta funció es obsoleta.

Anterior | Inicio | Siguiente
mysql_fetch_row | Subir | mysql_field_len


mysql_field_len

(PHP 3, PHP 4, PHP 5)

mysql_field_len -- Devuelve la longitud del campo específicado

Descripción

int mysql_field_len ( int id_resultado, int offset_del_campo )

mysql_field_len() devuelve la longitud del campo específicado.

Ejemplo 1. Ejemplo de mysql_fetch_len

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

// Will get the length of the value in email so for example
// user@example.com would give us a length of 16
$length = mysql_field_len($result, 'email');
echo $length;
?>

Por razones de compatibilidad puede usarse también mysql_fieldlen(). Aunque esta función es obsoleta.

Vea tambié mysql_fetch_lengths(), strlen().

Anterior | Inicio | Siguiente
mysql_field_flags | Subir | mysql_field_name


mysql_field_name

(PHP 3, PHP 4, PHP 5)

mysql_field_name -- Devuelve el nombre del campo específicado en un resultado

Descripción

cadena mysql_field_name ( int id_resultado, int indice_del_campo )

mysql_field_name() devuelve el nombre del campo específicado. Los argumentos de la función son el identificador de resultado y el índice del campo.

Nota: indice_del_campo comienza en 0.

Por ejemplo el índice del tercer campo será en realidad 2, el índice del cuarto campo será 3 y asi sucesivamente.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Ejemplo 1. Ejemplo mysql_field_name

<?php
/* The users table consists of three fields:
 *   user_id
 *   username
 *   password.
 */
$link = @mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die('Could not set $dbname: ' . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

El ejemplo anterior producirá la siguiente salida:

user_id
password

Por razones de compatibilidad puede usarse también mysql_fieldname(). Sin embargo esta función es obsoleta.

Anterior | Inicio | Siguiente
mysql_field_len | Subir | mysql_field_seek


mysql_field_seek

(PHP 3, PHP 4, PHP 5)

mysql_field_seek -- Asigna el puntero del resultado al offset del campo específicado

Descripción

int mysql_field_seek ( int id_resultado, int offset_del_campo )

Busca el offset del campo específicado. Si la próxima llamada a mysql_fetch_field() no incluye un offset de campo, se devolverá ese campo.

Ver también mysql_fetch_field().

Anterior | Inicio | Siguiente
mysql_field_name | Subir | mysql_field_table


mysql_field_table

(PHP 3, PHP 4, PHP 5)

mysql_field_table -- Devuelve el nombre de la tabla donde está el campo específicado

Descripción

cadena mysql_field_table ( int id_resultado, int offset_del_campo )

Devuelve el nombre de la tabla donde está el campo.

Ejemplo 1. Ejemplo mysql_field_table

<?php
$result = mysql_query("SELECT name,comment FROM people,comments");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

// Assuming name is in the people table
$table = mysql_field_table($result, 'name');
echo $table; // people
?>

Por razones de compatibilidad puede usarse también mysql_fieldtable(). Sin embargo esta función es obsoleta.

Vea también mysql_list_tables().

Anterior | Inicio | Siguiente
mysql_field_seek | Subir | mysql_field_type


mysql_field_type

(PHP 3, PHP 4, PHP 5)

mysql_field_type -- Devuelve el tipo del campo específicado en un resultado

Descripción

cadena mysql_field_type ( int id_resultado, int offset_del_campo )

mysql_field_type() es similar a la función mysql_field_name(). Los argumentos son idénticos, pero se devuelve el tipo de campo. El tipo será "int", "real", "string", "blob", u otros detallados en la documentación de MySQL.

Ejemplo 1. mysql_field_type() example

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table = mysql_field_table($result, 0);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";
echo "The table has the following fields:\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

El ejemplo anterior producirá la siguiente salida:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Por razones de compatibilidad puede usarse también mysql_fieldtype(). Aunque esta función es obsoleta.

Anterior | Inicio | Siguiente
mysql_field_table | Subir | mysql_free_result


mysql_free_result

(PHP 3, PHP 4, PHP 5)

mysql_free_result -- Libera la memoria del resultado

Descripción

int mysql_free_result ( int id_resultado )

mysql_free_result() solo necesita ser llamada si te preocupa usar demasiado memoria durante la ejecución de tu script. Toda la memoria usada por resultado específicado en el parámetro del identificador de resultado será automáticamente liberada.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

If a non-resource is used for the result, an error of level E_WARNING will be emitted. It's worth noting that mysql_query() only returns a resource for SELECT, SHOW, EXPLAIN, and DESCRIBE queries.

Ejemplo 1. Ejemplo de mysql_free_result

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
/* Use the result, assuming we're done with it afterwords */
$row = mysql_fetch_assoc($result);

/* Now we free up the result and continue on with our script */
mysql_free_result($result);

echo $row['id'];
echo $row['email'];
?>

Por razones de compatibilidad puede usarse tambien mysql_freeresult(). Sin embargo esta función es obsoleta.

Vea también mysql_query(), is_resource().

Anterior | Inicio | Siguiente
mysql_field_type | Subir | mysql_get_client_info


mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info -- Obtener información del cliente MySQL

Descripción

string mysql_get_client_info ( void )

mysql_get_client_info() devuelve una cadena que representa la versión de la biblioteca cliente.

Valores retornados

La versión del cliente MySQL.

Ejemplos

Ejemplo 1. Ejemplo de mysql_get_client_info()

<?php
printf("Informaci&oacute;n del cliente MySQL: %s\n", mysql_get_client_info());
?>

El resultado del ejemplo seria algo similar a:

Informaci&oacute;n del cliente MySQL: 3.23.39

Ver también

mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()

Anterior | Inicio | Siguiente
mysql_free_result | Subir | mysql_get_host_info


mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info -- Obtener información de la máquina anfitriona MySQL

Descripción

string mysql_get_host_info ( [resource id_enlace] )

Describe el tipo de conexión en uso, incluyendo el nombre del equipo servidor anfitrión.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve una cadena que describe el tipo de conexión MySQL en uso, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_get_host_info()

<?php
$enlace = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$enlace) {
    die("No pudo conectarse: " . mysql_error());
}
printf("Informaci&oacute;n del host MySQL: %s\n", mysql_get_host_info());
?>

El resultado del ejemplo seria algo similar a:

Informaci&oacute;n del equipo anfitri&oacute;n MySQL: Localhost via UNIX socket

Ver también

mysql_get_client_info()
mysql_get_proto_info()
mysql_get_server_info()

Anterior | Inicio | Siguiente
mysql_get_client_info | Subir | mysql_get_proto_info


mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info -- Obtener información del protocolo MySQL

Descripción

int mysql_get_proto_info ( [resource id_enlace] )

Recupera el protocolo MySQL.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve el protocolo MySQL en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_get_proto_info()

<?php
$enlace = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$enlace) {
    die("No pudo conectarse: " . mysql_error());
}
printf("Versi&oacute;n del protocolo MySQL: %s\n", mysql_get_proto_info());
?>

El resultado del ejemplo seria algo similar a:

Versi&oacute;n del protocolo MySQL: 10

Ver también

mysql_get_client_info()
mysql_get_host_info()
mysql_get_server_info()

Anterior | Inicio | Siguiente
mysql_get_host_info | Subir | mysql_get_server_info


mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info -- Obtener información del servidor MySQL

Descripción

string mysql_get_server_info ( [resource id_enlace] )

Recupera la versión del servidor MySQL.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve la versión del servidor MySQL en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_get_server_info()

<?php
$enlace = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$enlace) {
    die("No pudo conectarse: " . mysql_error());
}
printf("Versi&oacute;n del servidor MySQL: %s\n", mysql_get_server_info());
?>

El resultado del ejemplo seria algo similar a:

Versi&oacute;n del servidor MySQL: 4.0.1-alpha

Ver también

mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
phpversion()

Anterior | Inicio | Siguiente
mysql_get_proto_info | Subir | mysql_info


mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info -- Obtiene información sobre la consulta más reciente

Descripción

string mysql_info ( [resource id_enlace] )

Devuelve información detallada sobre la última consulta.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuele información sobre la sentencia en caso de éxito, o FALSE si ocurre un error. Vea el ejemplo siguiente para conocer cuáles sentencias proveen información, y cuál puede ser la apariencia del valor devuelto. Las sentencias que no son listadas devolverán FALSE.

Ejemplos

Ejemplo 1. Sentencias MySQL Relevantes

Sentencias que devuelven valores tipo cadena. Los números se encuentran únicamente para propósitos ilustrativos; sus valores corresponderán con la consulta.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Notes

Nota: mysql_info() devuelve un valor diferente a FALSE para la sentencia INSERT ... VALUES sólo si se indican múltiples listas de valores en la sentencia.

Ver también

mysql_affected_rows()
mysql_insert_id()
mysql_stat()

Anterior | Inicio | Siguiente
mysql_get_server_info | Subir | mysql_insert_id


mysql_insert_id

(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- Devuelve el identificador generado en la última llamada a INSERT

Descripción

int mysql_insert_id ( [int identificador_de_enlace] )

mysql_insert_id() devuelve el identificador generado para un campo de tipo AUTO_INCREMENTED. Se devolverá el identificador generado por el último INSERT para el identificador_de_enlace. Si no se específica el identificador_de_enlace, se asume por defecto el último enlace abierto.

mysql_insert_id() regresa 0 si la consulta previa no generó un valor AUTO_INCREMENT. Si necesita guardar el valor para un uso posterior, asegurese de llamar mysql_insert_id() inmediatamente después de la consulta que generó el valor.

Nota: El valor de la función SQL de MYSQL LAST_INSERT_ID() siempre contiene el valor AUTO_INCREMENT má recientemente generado, y no se pierde su valor entre consultas.

Aviso

mysql_insert_id() convierte el tipo de la función nativa de MySQL en el API de C mysql_insert_id() a un tipo de long (llamada int en PHP). Si tu columna AUTO_INCREMENT tiene un tipo BIGINT, el valor regresado por mysql_insert_id() será incorrecto. En ese caso, usa la función interna LAST_INSERT_ID() de SQL en MySQL en una consulta SQL.

Ejemplo 1. Ejemplo mysql_insert_id

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

Vea también mysql_query(), mysql_info().

Anterior | Inicio | Siguiente
mysql_info | Subir | mysql_list_dbs


mysql_list_dbs

(PHP 3, PHP 4, PHP 5)

mysql_list_dbs -- Lista las bases de datos disponibles en el servidor MySQL

Descripción

int mysql_list_dbs ( [int identificador_de_enlace] )

mysql_list_dbs() devuelve un puntero de resultado que contiene las bases disponibles en el actual demonio mysql. Utiliza la función mysql_tablename() para explotar el puntero de resultado.

Ejemplo 1. Ejemplo mysql_list_dbs

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}
?>

El ejemplo anterior producirá la siguiente salida:

database1
database2
database3
...

Nota: El código anterior puede funcionar igualmente con mysql_fetch_row() u otra funció similar.

Por razones de compatibilidad puede usarse también mysql_listdbs(). Sin embargo esta función es obsoleta.

Vea también mysql_db_name(), mysql_select_db().

Anterior | Inicio | Siguiente
mysql_insert_id | Subir | mysql_list_fields


mysql_list_fields

(PHP 3, PHP 4, PHP 5)

mysql_list_fields -- Lista los campos del resultado de MySQL

Descripción

int mysql_list_fields ( cadena base_de_datos, cadena tabla [, int dentificador_de_enlace] )

Nota: La función mysql_list_fields() es onsoleta. Es preferible usar mysql_query() para ejecutar una sentencia SQL SHOW COLUMNS FROM table [LIKE 'name'].

mysql_list_fields() lista información
sobre la tabla. Los argumentos son la base de datos y el nombre de
la tabla. Se devuelve un puntero que puede ser usado por las
funciones mysql_field_flags(),
mysql_field_len(),
mysql_field_name(), y
mysql_field_type().

Un identificador de resultado es un entero positivo. La función devuelve -1 si se produce un error. Una cadena de caracteres describiendo el error será introducida en $phperrmsg, y a menos que la función sea llamada como @mysql() el literal del error también será desplegado.

Ejemplo 1. Ejemplo alternativo a mysql_list_fields

<?php
 $result = mysql_query("SHOW COLUMNS FROM sometable");
 if (!$result) {
     echo 'Could not run query: ' . mysql_error();
     exit;
 }
 if (mysql_num_rows($result) > 0) {
     while ($row = mysql_fetch_assoc($result)) {
         print_r($row);
     }

?>

El ejemplo anterior producirá una salida similar a:

Array
 (
     [Field] => id
     [Type] => int(7)
     [Null] =>
     [Key] => PRI
     [Default] =>
     [Extra] => auto_increment
 )
 Array
 (
     [Field] => email
     [Type] => varchar(100)
     [Null] =>
     [Key] =>
     [Default] =>
     [Extra] =>
 )

Por razones de compatibilidad puede usarse también mysql_listfields(). Sin embargo esta funció es obsoleta.

Vea también mysql_field_flags(), mysql_info().

Anterior | Inicio | Siguiente
mysql_list_dbs | Subir | mysql_list_processes


mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes -- Lista los procesos MySQL

Descripción

resource mysql_list_processes ( [resource id_enlace] )

Recupera los hilos del servidor MySQL actuales.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Un apuntador tipo resource de resultado en caso de tener éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_list_processes()

<?php
$enlace = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$resultado = mysql_list_processes($enlace);

while ($fila = mysql_fetch_assoc($resultado)){
    printf("%s %s %s %s %s\n", $fila["Id"], $fila["Host"], $fila["db"],
        $fila["Command"], $fila["Time"]);
}
mysql_free_result($resultado);
?>

El resultado del ejemplo seria algo similar a:

1 localhost test Processlist 0
4 localhost mysql sleep 5

Ver también

mysql_thread_id()
mysql_stat()

Anterior | Inicio | Siguiente
mysql_list_fields | Subir | mysql_list_tables


mysql_list_tables

(PHP 3, PHP 4, PHP 5)

mysql_list_tables -- Lista las tablas en una base de datos MySQL

Descripción

int mysql_list_tables ( cadena base_de_datos [, int identificador_de_enlace] )

mysql_list_tables() toma el nombre de la base y devuelve un puntero de resultado como la función mysql_db_query(). La función mysql_tablename() debe ser usada para extraer los nombres de las tablas del puntero.

El parámetro base_de_datos es el nombre de la base de datos de la cual se debe extraer la lista de la tabla, a menos que ocurra un error mysql_list_tables() regresa FALSE

Por razones de compatibilidad puede usarse también mysql_listtables(). Esta función es obsoleta y no se recomienda.

Nota: La función mysql_list_tables() es obsoleta. Es preferible usar mysql_query() para enviar una sentencia SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'].

Ejemplo 1. Ejemplo mysql_list_tables

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

$result = mysql_list_tables($dbname);

if (!$result) {
    echo "DB Error, could not list tables\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Table: $row[0]\n";
}

mysql_free_result($result);
?>

Vea también: mysql_list_dbs(), mysql_tablename().

Anterior | Inicio | Siguiente
mysql_list_processes | Subir | mysql_num_fields


mysql_num_fields

(PHP 3, PHP 4, PHP 5)

mysql_num_fields -- devuelve el número de campos de un resultado

Descripción

int mysql_num_fields ( int id_resultado )

mysql_num_fields() devuelve el número de campos de un identificador de resultado.

Ver también:
mysql_db_query(),
mysql_query(),
mysql_fetch_field(),
mysql_num_rows().

Ejemplo 1. Ejemplo de mysql_num_fields()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
/* returns 2 because id,email === two fields */
echo mysql_num_fields($result);
?>

Por razones de compatibilidad puede usarse también mysql_numfields(). Sin embargo esta función es obsoleta.

Anterior | Inicio | Siguiente
mysql_list_tables | Subir | mysql_num_rows


mysql_num_rows

(PHP 3, PHP 4, PHP 5)

mysql_num_rows -- Devuelve el número de filas de un resultado

Descripción

int mysql_num_rows ( int id_resultado )

mysql_num_rows() regresa el número de filas en un resultado. Este comando es valido solo para las sentencias SELECT. Para obtener el número de filas afectadas por las sentencias INSERT, UPDATE o DELETE, use mysql_affected_rows().

Ejemplo 1. Ejemplo mysql_num_rows

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Nota: Si usa mysql_unbuffered_query(), mysql_num_rows() no regresará el valor correcto hasta que todas las filas en el resultado hayan sido recuperadas.

Ver también:
mysql_affected_rows(),
mysql_connect(),
mysql_data_seek(),
mysql_select_db(),
mysql_query().

Por razones de compatibilidad puede usarse también mysql_numrows(). Sin embargo esta fucnión

Anterior | Inicio | Siguiente
mysql_num_fields | Subir | mysql_pconnect


mysql_pconnect

(PHP 3, PHP 4, PHP 5)

mysql_pconnect -- Abre una conexión persistente al servidor MySQL

Descripción

int mysql_pconnect ( [cadena hostname [, cadena usuario [, cadena password]]] )

Devuelve: un identificador de enlace persistente, o FALSE si se produce un error.

mysql_pconnect() establece una conexión a un servidor MySQL. Todos los argumentos son opcionales, y si no existen, se asumen los valores por defecto ('localhost', nombre del usuario propietario del proceso, password vacia).

El hostname puede incluir un número de puerto. ej. "hostname:port" o un camino al socket ej. ":/camino/al/socket" para el puerto para el host local.

Nota: Soporte para ":puerto" fue añadido en 3.0B4.

Soporte para ":/camino/al/socket" fue añadido en 3.0.10.

mysql_pconnect() actua como mysql_connect() con dos diferencias fundamentales.

Primero, durante la conexión, la función intenta primero encontrar un enlace persistente abierto con el mismo host, usuario y password. Si lo encuentra, devuelve el identificador de enlace en lugar de abrir otra conexión.

Segundo, la conexión no será cerrada cuando acabe la ejecución del script. El enlace permanecerá abierta para ser usado en el futuro (mysql_close() no cierra el enlace establecido con mysql_pconnect()).

El parámetro opcional client_flags está disponible en PHP 4.3.0.

Este tipo de enlaces son llamados 'persistentes'.

Nota: Note que ese tipo de enlaces solo funcionan si está usando un versión de PHP como módulo. Vea la secci?n Conexiones Persistentes a base de datos para más información.

Aviso

Usando conexiones persistentes puede requerir un poco de ajustar sus configuraciones de Apache y MySQL para asegurarse de que no excede el número de conexiones permitidas por MySQL.

Anterior | Inicio | Siguiente
mysql_num_rows | Subir | mysql_ping


mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping -- Efectuar un chequeo de respuesta (ping) sobre una conexión de servidor o reconectarse si no hay conexión

Descripción

bool mysql_ping ( [resource id_enlace] )

Qhequea si está activa o no la conexión con el servidor. Si ésta se ha caído, una reconexión automática es intentada. Esta función puede ser usada por scripts que permanecen pasivos durante largos espacios de tiempo, para chequear si el servidor ha cerrado la conexión, y reconectarse de ser necesario.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve TRUE si la conexión con el servidor MySQL está funcionando, o FALSE de lo contrario.

Ejemplos

Ejemplo 1. Un ejemplo de mysql_ping()

<?php
set_time_limit(0);

$con = mysql_connect('localhost', 'mysqlusuario', 'mypassword');
$bd  = mysql_select_db('mi_bd');

/* Asumiendo que esta consulta toma mucho tiempo */
$resultado = mysql_query($sql);
if (!$resultado) {
    echo 'La consulta #1 fall&oacute;, saliendo.';
    exit;
}

/* Asegurarse de que la conexion sigue viva, si no, intentar una
   re-conexion */
if (!mysql_ping($con)) {
    echo 'Se ha perdido la conexi&oacute;n, saliendo despu&eacute;s de la consulta #1';
    exit;
}
mysql_free_result($result);

/* Ya que la conexion sigue viva, corramos otra consulta */
$resultado2 = mysql_query($sql2);
?>

Ver también

mysql_thread_id()
mysql_list_processes()

Anterior | Inicio | Siguiente
mysql_pconnect | Subir | mysql_query


mysql_query

(PHP 3, PHP 4, PHP 5)

mysql_query -- Envía una consulta de MySQL

Descripción

resource mysql_query ( string query [, resource identificador_de_enlace] )

mysql_query() envía una consulta (a la base de datos activa en el servidor asociado con el identificador_de_enlace dado).

Lista de parámetros

query

Una consulta SQL

La consulta no debe terminar con punto y coma.

identificador_de_enlace

Un identificador de enlace, como el regresado por mysql_connect().

Si identificador_de_enlace no es específicado, se asume el último enlace abierto. Si no se ha abierto enlace, la función intenta establecer uno tal y como si se hubiera llamado a mysql_connect() sin argumentos, y lo usará. El resultado de la consulta es puesto en la memoria intermedia (buffer).

Valores retornados

Para las sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_query() regresa un resource en caso exitoso, y FALSE en error.

Para otro tipo de sentencia SQL, UPDATE, DELETE, DROP, etc, mysql_query() regresa TRUE en caso exitoso y FALSE en error.

El resultado obtenido debe ser pasado a mysql_fetch_array(), y otras funciones para el manejo de las tablas del resultado, para accesar los datos regresados.

Use mysql_num_rows() para encontrar cuantas filas fueron regresadas para una sentencia SELECT o mysql_affected_rows() para encontrar cuantas filas fueron afectadas por una sentencia DELETE, INSERT, REPLACE, o UPDATE.

mysql_query() también fallará y regresará FALSE si el usuario no tiene permiso de accesar la o las tablas referenciadas por la consulta.

Ejemplos

Ejemplo 1. Consulta inválida

La siguiente consulta es sintácticamente inválida de tal manera que mysql_query() falla y regresa FALSE.

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

?>

Ejemplo 2. Consulta Válida

La siguiente consulta es válida, así que mysql_query() regresa un resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

// Formulate Query
// This is the best way to perform a SQL query
// For more examples, see mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>

Ver también

mysql_connect()
mysql_error()
mysql_real_escape_string()
mysql_result()
mysql_fetch_assoc()
mysql_unbuffered_query()

Anterior | Inicio | Siguiente
mysql_ping | Subir | mysql_real_escape_string


mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string -- Escapa caracteres especiales de una cadena para su uso en una sentencia SQL

Descripción

string mysql_real_escape_string ( string cadena_no_escapada [, resource id_enlace] )

Escapa todos los caracteres especiales en la cadena_no_escapada, tomando en cuenta el juego de caracteres actual de la conexión, de tal modo que sea seguro usarla con mysql_query(). Si se van a insertar datos binarios, debe usarse esta función.

mysql_real_escape_string() llama a la función de la biblioteca MySQL mysql_real_escape_string, la cual coloca barras invertidas antes de los siguientes caracteres: \x00, \n, \r, \, ', " y \x1a.

Esta función debe usarse siempre (con algunas excepciones) para garantizar que los datos sean seguros antes de enviar una consulta a MySQL

Lista de parámetros

cadena_no_escapada

La cadena a ser escapada.

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve la cadena escapada, o FALSE en caso de que ocurra un error.

Ejemplos

Ejemplo 1. Ejemplo sencillo de mysql_real_escape_string()

<?php
// Conectarse
$enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contrasenya')
    OR die(mysql_error());

// Consulta
$query = sprintf("SELECT * FROM usuarios WHERE usuario='%s' AND
     password='%s'",
            mysql_real_escape_string($usuario),
            mysql_real_escape_string($password));
?>

Ejemplo 2. Un ejemplo de un ataque de inyección SQL

<?php
// Consultar la base de datos para verificar si hay una coincidencia de usuario
$consulta = "SELECT * FROM usuarios WHERE usuario='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($consulta);

// No revisamos $_POST['password'], ¡podría ser cualquier cosa que el usuario
// quiera! Por ejemplo:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// Esto quiere decir que la consulta enviada a MySQL sería:
echo $consulta;
?>

La consulta enviada a MySQL:

SELECT * FROM usuarios WHERE usuario='aidan' AND password='' OR ''=''

Esto permitiría que cualquiera iniciara una sesión sin una contraseña válida.

Ejemplo 3. Una consulta "Recomendable"

Mediante el uso de mysql_real_escape_string() sobre cada variable se previene la inyección de SQL. Este ejemplo demuestra el método "recomendable" para ejecutar una consulta en la base de datos, independientemente del valor de las Comillas Mágicas.

<?php

if (isset($_POST['nombre_producto']) && isset($_POST['descripcion_producto']) && isset($_POST['id_usuario'])) {
    // Conectarse

    $enlace = mysql_connect('host_mysql', 'usuario_mysql', 'contrasenya_mysql');

    if(!is_resource($enlace)) {

        echo "Falló la conexión con el servidor\n";
        // ... registrar el error apropiadamente

    } else {

        // Revertir los efectos de magic_quotes_gpc sobre las variables si es necesario.

        if(get_magic_quotes_gpc()) {
            $nombre_producto      = stripslashes($_POST['nombre_producto']);
            $descripcion_producto = stripslashes($_POST['descripcion_producto']);
        } else {
            $nombre_producto      = $_POST['nombre_producto'];
            $descripcion_producto = $_POST['descripcion_producto'];
        }

        // Hacer una consulta segura
        $consulta = sprintf("INSERT INTO productos (`nombre`, `descripcion`, `id_usuario`) VALUES ('%s', '%s', '%d')",
                    mysql_real_escape_string($nombre_producto, $enlace),
                    mysql_real_escape_string($descripcion_producto, $enlace),
                    $_POST['id_usuario']);

        mysql_query($consulta, $enlace);

        if (mysql_affected_rows($enlace) > 0) {
            echo "Producto insertado\n";
        }
    }
} else {
    echo "Llene los campos del formulario correctamente\n";
}
?>

La consulta no se ejecutará correctamente ahora, y los ataques de inyección de SQL no funcionarán.

Notes

Nota: Es necesaria una conexión MySQL antes de usar mysql_real_escape_string() o de lo contrario un error de nivel E_WARNING es generado, y FALSE es devuelto. Si id_enlace no está definido, se usará la última conexión con MySQL.

Nota: Si se habilita magic_quotes_gpc, aplique stripslashes() sobre los datos primero. Usar esta función sobre datos que ya han sido escapados los escapará dos veces.

Nota: Si esta función no es usada para escapar datos, la consulta es vulnerable a Ataques de Inyección de SQL.

Nota: mysql_real_escape_string() no escapa % ni _. Éstos son comodines en MySQL si se combinan con LIKE, GRANT, o REVOKE.

Ver también

mysql_client_encoding()
addslashes()
stripslashes()
La directiva magic_quotes_gpc
La directiva magic_quotes_runtime

Anterior | Inicio | Siguiente
mysql_query | Subir | mysql_result


mysql_result

(PHP 3, PHP 4, PHP 5)

mysql_result -- Devuelve datos de un resultado

Descripción

int mysql_result ( int id_resultado, int numero_de_fila [, mixed campo] )

mysql_result() devuelve el contenido de una celda de un resultado MySQL. El campo argumento puede ser el nombre del campo o el offset o tabla.nombre_del_campo. Si el nombre de la columna tiene un alias ('select foo as bar from...'), utilice el alias en lugar del nombre de la columna.

Cuando se trabaja un un gran resultado, debe considerarse la utilización de una función que devuelva una fila entera ya que estas funciones son MUCHO más rápidas que mysql_result(). También, especificando un offset numérico en lugar del nombre del campo, la ejecución será más rápida.

Las llamadas a mysql_result() no deben mezclarse con llamadas a las otras sentencias que trabajan con un identificador de resultado.

Ejemplo 1. Ejemplo mysql_result

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
    die('Could not query:' . mysql_error());
}
echo mysql_result($result, 2); // outputs third employee's name

mysql_close($link);
?>

Alternativas recomendadas:
mysql_fetch_row(),
mysql_fetch_array(),
mysql_fetch_assoc(),
mysql_fetch_object().

Anterior | Inicio | Siguiente
mysql_real_escape_string | Subir | mysql_select_db


mysql_select_db

(PHP 3, PHP 4, PHP 5)

mysql_select_db -- Selecciona un base de datos MySQL

Descripción

int mysql_select_db ( cadena base_de_datos [, int identificador_de_enlace] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

mysql_select_db() establece la base activa que estará asociada con el identificador de enlace específicado. Si no se específica un identificador de enlace, se asume el último enlace abierto. Si no hay ningún enlace abierto, la función intentará establecer un enlace como si se llamara a mysql_connect().

Toda llamada posterior a mysql_query() utilizará la base activada.

Ejemplo 1. Ejemplo mysql_select_db

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
?>

Ver también:
    mysql_connect(),
    mysql_pconnect(),
    mysql_query().

Por razones de compatibilidad puede usarse también mysql_selectdb(). Sin embargo esta función es obsoleta.

Anterior | Inicio | Siguiente
mysql_result | Subir | mysql_stat


mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat -- Obtener el status actual del sistema

Descripción

string mysql_stat ( [resource id_enlace] )

mysql_stat() devuelve el status actual del servidor.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Devuelve una cadena con el status de uptime, hilos, consultas, tablas abiertas, tablas de vaciado y consultas por segundo. Para una lista completa de variables de status, es necesario usar el comando SQL SHOW STATUS. Si id_enlace es inválido, se devuelve NULL.

Ejemplos

Ejemplo 1. Ejemplo de mysql_stat()

<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contrasenya_mysql');
$status = explode('  ', mysql_stat($enlace));
print_r($status);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

Ejemplo 2. Ejemplo alternativo de mysql_stat()

<?php
$enlace    = mysql_connect('localhost', 'usuario_mysql', 'contrasenya_mysql');
$resultado = mysql_query('SHOW VARIABLES', $enlace);
while ($fila = mysql_fetch_assoc($result)) {
    echo $fila['Variable_name'] . ' = ' . $fila['Value'] . "\n";
}
?>

El resultado del ejemplo seria algo similar a:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Ver también

mysql_get_server_info()
mysql_list_processes()

Anterior | Inicio | Siguiente
mysql_select_db | Subir | mysql_tablename


mysql_tablename

(PHP 3, PHP 4, PHP 5)

mysql_tablename -- Devuelve el nombre de la tabla de un campo

Descripción

cadena mysql_tablename ( int id_resultado, int i )

mysql_tablename() toma un puntero de resultado devuelto por mysql_list_tables() así como un índice (integer) y devuelve el nombre de una tabla. Se puede usar la función mysql_num_rows() para determinar el número de tablas en el puntero de resultado. Use la función mysql_tablename() para usar este apuntador de resultado, o cualquier función para las tablas resultantes como mysql_fetch_array().

Ejemplo 1. Ejemplo mysql_tablename

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");

$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
    echo "Table: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

Vea también
mysql_list_tables(),
mysql_field_table(),
mysql_db_name().

Anterior | Inicio | Siguiente
mysql_stat | Subir | mysql_thread_id


mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id -- Devuelve el ID del hilo actual

Descripción

int mysql_thread_id ( [resource id_enlace] )

Recupera el ID del hilo actual. Si la conexión se ha perdido, y se ejecuta una reconexión con mysql_ping(), el ID del hilo cambiará. Esto quiere decir que sólo obtenga el ID del hilo cuando lo necesite.

Lista de parámetros

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

El ID del hilo en caso de tener éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de mysql_thread_id()

<?php
$enlace = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$id_hilo = mysql_thread_id($enlace);
if ($id_hilo){
    printf("El ID del hilo actual es %d\n", $id_hilo);
}
?>

El resultado del ejemplo seria algo similar a:

El ID del hilo actual es 73

Ver también

mysql_ping()
mysql_list_processes()

Anterior | Inicio | Siguiente
mysql_tablename | Subir | mysql_unbuffered_query


mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query -- Envía una consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas de resultado

Descripción

resource mysql_unbuffered_query ( string consulta [, resource id_enlace] )

mysql_unbuffered_query() envía la consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas de resultado automáticamente, como mysql_query() lo hace. Por una parte, esto ahorra una considerable cantidad de memoria con las consultas SQL que producen conjuntos grandes de resultados. Por otra parte, usted puede empezar a trabajar con el conjunto de resultado inmediatamente después de que la primera fila ha sido recuperada: no necesita esperar hasta que la consulta SQL completa haya sido ejecutada. Cuando se usan múltiples conexiones con la BD, necesita indicar el parámetro opcional id_enlace.

Lista de parámetros

consulta

Una consulta SQL

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Valores retornados

Para sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_unbuffered_query() devuelve un valor resource en caso de éxito, o FALSE si ocurre un error.

Para otro tipo de sentencias SQL, UPDATE, DELETE, DROP, etc, mysql_unbuffered_query() devuelve TRUE en caso de éxito o FALSE si ocurre un error.

Notes

Nota: Los beneficios de mysql_unbuffered_query() vienen por un precio: No puede usar mysql_num_rows() ni mysql_data_seek() en un conjunto de resultados devuelto por mysql_unbuffered_query(). También tendrá que recuperar todas las filas de resultado de una consulta SQL sin búfer, antes de poder enviar una nueva consulta SQL a MySQL.

Ver también

mysql_query()

Anterior | Inicio | Siguiente
mysql_thread_id | Subir | MySQL Functions (PDO_MYSQL)


Extensión mejorada de MySQL

Manual de PHP
Anterior Siguiente

XCVIII. Extensión mejorada de MySQL

Introducción

La extensión mysqli permite acceder a la funcionalidad provista por MySQL 4.1 y superior. Más información acerca del servidor de base de datos MySQL puede ser encontrada en http://www.mysql.com/

La documentación para MySQL puede ser encontrada en http://dev.mysql.com/doc/.

Partes de esta documentación ha sido incluida del manual de MySQL con permiso de MySQL AB.

Requisitos

Para tener estas funciones disponibles, usted debe compilar PHP con soporte para la extensión MySQLI.

Nota: La extensión mysqli está diseñada para trabajar con la versión 4.1.3 o superior de MySQL. Para versiones previas, por favor vea documentación de la extensión MySQL.

Instalación

Para instalar la extensión de mysqli para PHP, use la opción de configuración --with-mysqli=mysql_config_path/mysql_config donde mysql_config_path representa la ubicación del programa mysql_config que viene con MySQL en versiones superiores a 4.1.

Si quiere instalar la extensión de mysql junto con la extensión mysqli, usted tiene que usar la mismas librerias cliente, para evitar cualquier conflicto.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de MySQLi

Nombre | Default | Cambiable | Changelog
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Available since PPH 5.0.0.
mysqli.default_port | 3306 | PHP_INI_ALL | Available since PPH 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Available since PPH 5.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Available since PPH 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Available since PPH 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Available since PPH 5.0.0.

Para más detalles y definiciones de las constantes PHP_INI_* anteriores, vea el capítulo sobre Cambios de configuración.

A continuación se presenta una corta explicación de las directivas de configuración.

mysqli.max_links integer

El número máximo de conexiones MySQL por proceso.

mysqli.default_port string

El puerto TCP por defecto a usar cuando se conecte al servidor de base de datos si no se ha específicado otro puerto. Si no se define el default, el puerto será tomado de la variable de ambiente MYSQL_TCP_PORT, la entrada mysql-tcp en el archivo /etc/services o la constante en tiempo de ejecución MYSQL_PORT en ese orden. Win32 usará solo la constante MYSQL_PORT.

mysqli.default_socket string

El nombre de socket por defecto a usar cuando se conecte a un servidor de base de datos local si no se ha específicado otro nombre de socket.

mysqli.default_host string

El servidor huésped por defecto a usar cuando se conecta al servidor de base de datos si no se ha específicado otro. No aplica en modo seguro.

mysqli.default_user string

El nombre de usuario por defecto a usar cuando se conecta al servidor de base de datos si no se específica otro nombre. No aplica en modo seguro.

mysqli.default_pw string

La contraseña a usar cuando se conecta al servidor de base de datos si no se específica otra contraseña. No aplica en modo seguro.

Clases predefinidas

mysqli

Representa una conexión entres PHP y la base de datos MySQL.

Constructor

  • mysqli - constructor de un nuevo objeto mysqli

Métodos

  • autocommit - cambia en on o off las modificaciones de auto-commiting en la base de datos

  • change_user - cambia el usuario del identificador de enlace específicado

  • character_set_name - regresa el conjunto de caracteres del identificador de enlace específicado

  • close - cierra una conexión previamente abierta

  • commit - completa la transacció actual

  • connect - abre una nueva conexión al servidor de MySQL

  • debug - realiza operaciones de rastreo

  • dump_debug_info - vacía informació de rastreo

  • get_client_info - regresa la versión del cliente

  • get_host_info - regresa el tipo de conexión usada

  • get_server_info - regresa la versión del servidor MySQL

  • get_server_version - regresa la versión del servidor MySQL

  • init - inicializa el objeto mysqli

  • info - obtiene información acerca de la consulta más recientemente ejecutada

  • kill - solicita al servidor destruir un thread de mysql

  • multi_query - realiza consultas de SQL múltiples

  • more_results - checa si existen mas resultados de la consulta múltiple actualmente ejecutada

  • next_result - lee el siguiente resultado de la consulta múltiple actualmente ejecutada

  • options - fija opciones

  • ping - llama una conexión con el servidor o reconecta si no hay conexión

  • prepare - prepara una sentencia SQL

  • query - ejecuta una sentencia SQL

  • real_connect - intenta abrir una conexión al servidor de base de datos MySQL

  • escape_string - caracteres especiales de escape para ser usados en una sentencia SQL, tomando en cuenta el conjunto de caracteres actual de la conexión

  • rollback - deshace la transacción actual

  • select_db - selecciona la base de datos por defecto

  • ssl_set - fija los parámetros SSL

  • stat - obtiene el estado actual del sistema

  • stmt_init - inicializa una sentencia para ser usada con mysqli_stmt_prepare

  • store_result - transfiere un resultado de la última consulta

  • use_result - transfiere un resultado sin almacenamiento intermedio de la última consulta

  • thread_safe - regresa si se ha dado thread_safety o no

Propiedades

  • affected_rows - obtiene el número de filas afectadas en la operación MySQL previa

  • client_info - regresa en una cadena la versión del cliente de MySQL

  • client_version - regresa en un entero la versión del cliente de MySQL

  • errno - regresa el código de error para la llamada a función más reciente

  • error - regresa la cadena de error para la llamada a función más reciente

  • field_count - regresa el número de columnas para la consulta más reciente

  • host_info - regresa la cadena representando el tipo de conexión usado

  • info - regresa información acerca de la consulta ejecutada más recientemente

  • insert_id - regresa el identificador generado automáticamente usado en la última consulta

  • protocol_version - regresa la versión del protocolo usado por MySQL

  • sqlstate - regresa una cadena que contiene el código de error SQLSTATE para el último error

  • thread_id - regresa el identificador del THREAD para la conexión actual

  • warning_count - regresa el número de alertas generadas durante la ejecución del enunciado SQL previo

mysqli_stmt

Representa una sentencia preparada.

Métodos

  • bind_param - enlaza variables a una sentencia preparada

  • bind_result - enlaza variables a una sentencia preparada para el almacenamiento del resultado

  • close - cierra la sentencia preparada

  • data_seek - busca a una fila arbitrariamente en el resultado

  • execute - ejecuta una sentencia preparada

  • fetch - obtiene el resultado de la sentencia preparada en variables límite

  • free_result - libera la memoria del resultado almacenado para el manejador de la sentencia dada

  • result_metadata - obtiene un resultado de la sentencia preparada para información de metadatos

  • prepare - prepara una consulta SQL

  • send_long_data - envía datos en partes

  • reset - resetea una sentencia preparada

  • store_result - almacena el resultado completo de la sentencia preparada

Propiedades

  • affected_rows - regresa las filas afectadas de la última sentencia ejecutdada

  • errno - regresa el código de error para la llamada a función más reciente

  • error - regresa el mensaje de error para la llamada a función más reciente

  • param_count - regresa el numero de parámetros para la sentencia preparada dada

  • sqlstate - regresa una cadena conteniendo el código de error SQLSTATE para la llamada a función más reciente

mysqli_result

Representa el resultado obtenido de la consulta hecha en la base de datos.

Métodos

  • close - cierra el resultado

  • data_seek - mueve el puntero interno del resultado

  • fetch_field - obtiene la información de la columna en el resultado

  • fetch_fields - obtiene la información para todas las columnas del resultado

  • fetch_field_direct - obtiene información de la columna para la columna dada

  • fetch_array - recupera una fila como una matriz asociativa, una matriz numérica, o ambos.

  • fetch_assoc - obtiene una fuka como una matriz asociativa

  • fetch_object - obtiene una fila como un objeto

  • fetch_row - obtiene una fila como una matriz enumerada

  • close - libera la memoria ocupada por el resultado

  • field_seek - fija el apuntador del resultado a la posición específicada

Propiedades

  • current_field - regresa la posición de puntero actual

  • field_count - regresa el número de campos en el resultado

  • lengths - regresa una matriz con la longitud de los campos

  • num_rows - regresa el número de filas en el resultado

Constantes predefinidas

Tabla 2. Constantes MySQLi

Nombre | Descripción
MYSQLI_READ_DEFAULT_GROUP (integer) | Lee las opciones del grupo llamado de `my.cnf' o la fila especificada con MYSQLI_READ_DEFAULT_FILE
MYSQLI_READ_DEFAULT_FILE (integer) | Lee las opciones del archivo específicado en vez de my.cnf
MYSQLI_OPT_CONNECT_TIMEOUT (integer) | Tiempo de espera para la conexión en segundos
MYSQLI_OPT_LOCAL_INFILE (integer) | Habilita el comando LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND (integer) | Comando a ejecutar cuando se conecta al servidor MySQL. Será automáticamente re-ejecutado cuando se vuelva a conectar.
MYSQLI_CLIENT_SSL (integer) | Usa SSL (protocolo de encripción). Esta opción no debe ser fijado por programas de apliación; esta es fijada internamente en la libreria cliente de MySQL
MYSQLI_CLIENT_COMPRESS (integer) | Usa el protocolo de compresión
MYSQLI_CLIENT_INTERACTIVE (integer) | Permite tiempo de espera interactivo en segundos (en vez de esperar ciertos segundos) de inactividad antes de cerrar la conexión. La variable wait_timeout de sesión del cliente será fijada a el valor de la variable de sesión interactive_timeout.
MYSQLI_CLIENT_IGNORE_SPACE (integer) | Permite espacios después de los nombres de las funciones. Esto hace a todas las funciones palabras reservadas.
MYSQLI_CLIENT_NO_SCHEMA (integer) | No permite la sintaxis db_name.tbl_name.col_name syntax.
MYSQLI_CLIENT_MULTI_QUERIES (integer) |
MYSQLI_STORE_RESULT (integer) | Para usar resultados con almacenamiento intermedio
MYSQLI_USE_RESULT (integer) | Para usar resultados sin almacenamiento intermedio
MYSQLI_ASSOC (integer) | Las columnas son regresadas en una matriz que tiene el nombre del campo como índice de la matriz.
MYSQLI_NUM (integer) | Las columnas son regresadas en una matriz teniendo un índice enumerado.
MYSQLI_BOTH (integer) | Las clumnas son regresadas en una matriz teniendo ambas formas de índice numérico y con el nombre del campo como índice asociativo.
MYSQLI_NOT_NULL_FLAG (integer) | Indica que un campo es definido como NOT NULL
MYSQLI_PRI_KEY_FLAG (integer) | El campo es parte de un índice primario
MYSQLI_UNIQUE_KEY_FLAG (integer) | El campo es parte de un índice único
MYSQLI_MULTIPLE_KEY_FLAG (integer) | El campo es parte de un índice.
MYSQLI_BLOB_FLAG (integer) | El campo está definido como BLOB
MYSQLI_UNSIGNED_FLAG (integer) | El campo está definido como UNSIGNED
MYSQLI_ZEROFILL_FLAG (integer) | El campo está definido como ZEROFILL
MYSQLI_AUTO_INCREMENT_FLAG (integer) | El campo está definido como AUTO_INCREMENT
MYSQLI_TIMESTAMP_FLAG (integer) | El campo está definido como TIMESTAMP
MYSQLI_SET_FLAG (integer) | El campo está definido como SET
MYSQLI_NUM_FLAG (integer) | El campo está definido como NUMERIC
MYSQLI_PART_KEY_FLAG (integer) | El campo es parte de un índice multiple
MYSQLI_GROUP_FLAG (integer) | El campo es parte de GROUP BY
MYSQLI_TYPE_DECIMAL (integer) | El campo está definido como DECIMAL
MYSQLI_TYPE_TINY (integer) | El campo está definido como TINYINT
MYSQLI_TYPE_SHORT (integer) | El campo está definido como INT
MYSQLI_TYPE_LONG (integer) | El campo está definido como INT
MYSQLI_TYPE_FLOAT (integer) | El campo está definido como FLOAT
MYSQLI_TYPE_DOUBLE (integer) | El campo está definido como DOUBLE
MYSQLI_TYPE_NULL (integer) | El campo está definido como DEFAULT NULL
MYSQLI_TYPE_TIMESTAMP (integer) | El campo está definido como TIMESTAMP
MYSQLI_TYPE_LONGLONG (integer) | El campo está definido como BIGINT
MYSQLI_TYPE_INT24 (integer) | El campo está definido como MEDIUMINT
MYSQLI_TYPE_DATE (integer) | El campo está definido como DATE
MYSQLI_TYPE_TIME (integer) | El campo está definido como TIME
MYSQLI_TYPE_DATETIME (integer) | El campo está definido como DATETIME
MYSQLI_TYPE_YEAR (integer) | El campo está definido como YEAR
MYSQLI_TYPE_NEWDATE (integer) | El campo está definido como DATE
MYSQLI_TYPE_ENUM (integer) | El campo está definido como ENUM
MYSQLI_TYPE_SET (integer) | El campo está definido como SET
MYSQLI_TYPE_TINY_BLOB (integer) | El campo está definido como TINYBLOB
MYSQLI_TYPE_MEDIUM_BLOB (integer) | El campo está definido como MEDIUMBLOB
MYSQLI_TYPE_LONG_BLOB (integer) | El campo está definido como LONGBLOB
MYSQLI_TYPE_BLOB (integer) | El campo está definido como BLOB
MYSQLI_TYPE_VAR_STRING (integer) | El campo está definido como VARCHAR
MYSQLI_TYPE_STRING (integer) | El campo está definido como CHAR
MYSQLI_TYPE_GEOMETRY (integer) | El campo está definido como GEOMETRY
MYSQLI_NEED_DATA (integer) | Obtiene más información para varibles enlazadas (bind)
MYSQLI_NO_DATA (integer) | No obtiene más información para variables enlazadas (bind)

Ejemplos

Todos los ejemplos en la documentación MySQLI usan la base de datos de MySQL AB. Puede ser encontrada en http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick

Tabla de contenidos
mysqli_affected_rows -- Obtiene el número de filas afectadas en una operación de MySQL previa
mysqli_autocommit -- Activa o desactiva la modificación de auto-entrega de la base de datos
mysqli_bind_param -- Alias para mysqli_stmt_bind_param()
mysqli_bind_result -- Alias para mysqli_stmt_bind_result()
mysqli_change_user -- Cambia el usuario de la conexión a la base de datos especificada
mysqli_character_set_name -- Regresa el conjunto de caracteres determinados por default para la conexión de base de datos
mysqli_client_encoding -- Alias de mysqli_character_set_name()
mysqli_close -- Cierra la conexión de base de datos previamente abierta
mysqli_commit -- Completa la transacción actual
mysqli_connect_errno -- Regresa el código de error de la última llamada a la conexión
mysqli_connect_error -- Regresa una descripción del último error de la conexión
mysqli_connect -- Abre una nueva conexión al servidor MySQL
mysqli_data_seek -- Ajusta el apuntador arbitrariamente a una fila en el resultado
mysqli_debug -- Realiza operaciones de rastreo de errores
mysqli_disable_reads_from_master -- Deshabilita lectura del Servidor maestro
mysqli_disable_rpl_parse -- Deshabilita el analizador RPL
mysqli_dump_debug_info -- Vacía información de rastreo de errores en el log
mysqli_embedded_server_end --
mysqli_embedded_server_start --
mysqli_enable_reads_from_master -- Habilita la lectura del servidor Maestro
mysqli_enable_rpl_parse -- Habilita el analizador RPL
mysqli_errno -- Regresa el código de error para la función más recientemente llamada
mysqli_error -- Regresa una cadena con la descripció del último error
mysqli_escape_string -- Alias de mysqli_real_escape_string()
mysqli_execute -- Alias de mysqli_stmt_execute()
mysqli_fetch_array -- Obtiene una fila como una matriz asociativa, una matriz numérica o ambos
mysqli_fetch_assoc -- Obtiene una fila del resultado como una matriz asociativa
mysqli_fetch_field_direct -- Obtiene los metadatos de un campo
mysqli_fetch_field -- Regresa metadatos de el campo en el resultado
mysqli_fetch_fields -- Regresa una matriz de objetos representando los campos en un resultado
mysqli_fetch_lengths -- Regresa la longitud de las columnas de la fila actual en el resultado
mysqli_fetch_object -- Regresa la fila actual del resultado como un objeto
mysqli_fetch_row -- Obtiene una fila del resultado como una matriz enumerada
mysqli_fetch -- Alias de mysqli_stmt_fetch()
mysqli_field_count -- Regresa el número de columnas para la consulta más reciente
mysqli_field_seek -- Fija el apuntador del resultado a una posicion específica
mysqli_field_tell -- Obtiene la posición de desplazamiento del apuntador de un resultado
mysqli_free_result -- Libera la memoria asociada con el resultado
mysqli_get_charset -- Returns a character set object
mysqli_get_client_info -- Regresa en una cadena la versión del cliente de MySQL
mysqli_get_client_version -- Obtiene información del cliente MySQL
mysqli_get_host_info -- Regresa una cadena que representa el tipo de conexión usada
mysqli_get_metadata -- Alias para mysqli_stmt_result_metadata()
mysqli_get_proto_info -- Regresa la versión del protocolo de MySQL usado
mysqli_get_server_info -- Regresa la version del servidor de MySQL
mysqli_get_server_version -- Regresa la versión del servidor MySQL como un entero
mysqli_get_warnings --
mysqli_info -- Obtiene información acerca de la consulta más recientemente ejecutada
mysqli_init -- Inicializa MySQLi y regresa un objeto para ser usado con mysqli_rea_connect
mysqli_insert_id -- Regresa el ID generado automáticamente en la última consulta
mysqli_kill -- Le pide al servidor "matar" el proceso MySQL
mysqli_master_query -- Hace cumplir la ejecución de una consulta en el servidor en una configuración cliente/servidor
mysqli_more_results -- Checa si hay má resultados de consultas de una consulta múltiple
mysqli_multi_query -- Ejecuta una consulta en la base de datos
mysqli_next_result -- Prepara el siguiente resultado de una consulta múltiple
mysqli_num_fields -- Obtiene el número de campos en un resultado Get the number of fields in a result
mysqli_num_rows -- Obtiene el número de filas en un resultado
mysqli_options -- Fija opciones
mysqli_param_count -- Alias para mysqli_stmt_param_count()
mysqli_ping -- Revisa una conexión al servidor o intenta reconectar si la conexión se ha perdido
mysqli_prepare -- Prepara una sentencia SQL para su ejecución
mysqli_query -- Ejecuta una consulta en la base de datos
mysqli_real_connect -- Abre una conexión a un servidor de MySQL
mysqli_real_escape_string -- Protege caracteres especiales en una cadena para ser usada en una sentencia SQL, tomando en cuenta el conjunto de caracteres para la conexión
mysqli_real_query -- Ejecuta una consulta SQL
mysqli_report -- Habilita o deshabilita las funciones internas de reporte
mysqli_rollback -- Regresa/deshace la transacción actual
mysqli_rpl_parse_enabled -- Revisa si el analizador RPL está habilitado
mysqli_rpl_probe -- Prueba RPL
mysqli_rpl_query_type -- Regresa el tipo de consulta RPL
mysqli_select_db -- Selecciona la base de datos por defecto para las consultas de la base de datos
mysqli_send_long_data -- Alias para mysqli_stmt_send_long_data()
mysqli_send_query -- Envía la consulta y regresa
mysqli_server_end -- Termina el proceso del Servidor
mysqli_server_init -- Inicializa un servidor embebido
mysqli_set_charset -- Sets the default client character set
mysqli_set_local_infile_default -- Unsets user defined handler for load local infile command
mysqli_set_local_infile_handler -- Set callback functions for LOAD DATA LOCAL INFILE command
mysqli_set_opt -- Alias de mysqli_options()
mysqli_slave_query -- Force execution of a query on a slave in a master/slave setup
mysqli_sqlstate -- Regresa el error SQLSTATE de la operación MySQL previa
mysqli_ssl_set -- Usado para establecer conexiones seguras usando SSL
mysqli_stat -- Obtiene el estado actual del sistema
mysqli_stmt_affected_rows -- Regresa el número total de filas cambiadas, borradas o insertadas por la última sentencia ejecutada
mysqli_stmt_attr_get --
mysqli_stmt_attr_set --
mysqli_stmt_bind_param -- Enlaza variables como parámetros a una sentencia preparada
mysqli_stmt_bind_result -- Enlaza variables a una sentencia preparada para el almacenamiento del resultado
mysqli_stmt_close -- Cierra la sentencia preparada
mysqli_stmt_data_seek -- Busca una fila arbitrariamente en el resultado
mysqli_stmt_errno -- Regresa el código de error para la llamada más reciente
mysqli_stmt_error -- Regresa una descipción para el último error
mysqli_stmt_execute -- Ejecuta una consulta preparada
mysqli_stmt_fetch -- Obtiene el resultado de una sentencia SQL preparada en las variables enlazadas
mysqli_stmt_field_count -- Returns the number of field in the given statement
mysqli_stmt_free_result -- Libera la memoria donde se almacenó el resultado
mysqli_stmt_get_warnings --
mysqli_stmt_init -- Inicializa una sentencia y regresa un objeto para ser usado con mysqli_stmt_prepare
mysqli_stmt_insert_id -- Get the ID generated from the previous INSERT operation
mysqli_stmt_num_rows -- Regresa el número de filas en un resultado de la sentencia
mysqli_stmt_param_count -- Regresa el número de parámetros para la sentencia dada
mysqli_stmt_prepare -- Prepara una sentencia SQL para su ejecución
mysqli_stmt_reset -- Resetea una sentencia preparada
mysqli_stmt_result_metadata -- Regresa metadatos del resultado de una sentencia preparada
mysqli_stmt_send_long_data -- Envía los datos en bloques
mysqli_stmt_sqlstate -- Regresa el error SQLSTATE de la operación con sentencias previa
mysqli_stmt_store_result -- Transfiere un resultado de una sentencia preparada
mysqli_store_result -- Transfiere un resultado de la última consulta
mysqli_thread_id -- Regresa el identificador del THREAD para la conexión actual
mysqli_thread_safe -- Regresa si se ha dado un THREAD seguro o no Returns whether thread safety is given or not
mysqli_use_result -- Inicia una recuperación de un resultado
mysqli_warning_count -- Regresa el número de alertas de la última consulta para el identificador de enlace dado

Anterior | Inicio | Siguiente
PDO_MYSQL DSN | Subir | mysqli_affected_rows


mysqli_affected_rows

(PHP 5)

mysqli_affected_rows

(no version information, might be only in CVS)

mysqli->affected_rows -- Obtiene el número de filas afectadas en una operación de MySQL previa

Descripción

Estilo por procedimientos:

mixto mysqli_affected_rows ( mysqli identificador_de_enlace )

Estilo orientado a objetos (característica):

class mysqli {

mixto affected_rows

}

mysqli_affected_rows() Regresa el número de filas afectadas por la última consulta INSERT, UPDATE, o DELETE asociada con el identificador_de_enlace dado. Si la última consulta fue invalida, esta función regresará -1.

Nota: Para sentencias SELECT mysqli_affected_rows() trabaja igual a mysqli_num_rows().

La función mysqli_affected_rows() sólo trabaja con consultas que modifican o afectan una tabla. En caso de que necesite el número de filas de una consulta SELECT, use la función mysqli_num_rows() en su lugar.

Valores retornados

Un entero mayor a cero indica el número de filas afectadas u obtenidas. Cero indica que no se actualizaron registros para una sentencia UPDATE, no hubo coincidencias con la clausula WHERE en la consulta o que no se ha ejecutado aún ninguna consulta. -1 indica que la consulta regreso un error.

Nota: Si el número de filas afectadas es mayor que el valor entero máximo, entonces el número de filas afectadas será regresado como una cadena.

Ver también

mysqli_num_rows(), y mysqli_info().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

Anterior | Inicio | Siguiente
Extensión mejorada de MySQL | Subir | mysqli_autocommit


mysqli_autocommit

(PHP 5)

mysqli_autocommit

(no version information, might be only in CVS)

mysqli->autocommit -- Activa o desactiva la modificación de auto-entrega de la base de datos

Descripción

Estilo por procedimientos:

bool mysqli_autocommit ( mysqli identificador_de_enlace, bool modo )

Estilo orientado a objetos (método)

class mysqli {

bool autocommit ( bool modo )

}

mysqli_autocommit() Es usado para cambiar entre on u off el modo de auto-entrega en las consultas para la conexión a la base de datos representada por el objeto identificador_de_enlace.

Nota: mysqli_autocommit() No funciona sobre tablas que no son del tipo transaccional (como MyISAM o ISAM).

Para determinar el estado actual de auto-entrega use el comando SQL: 'SELECT @@autocommit'.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_commit(), y mysqli_rollback().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* turn autocommit on */
$mysqli->autocommit(TRUE);

if ($result = $mysqli->query("SELECT @@autocommit")) {
    $row = $result->fetch_row();
    printf("Autocommit is %s\n", $row[0]);
    $result->free();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* turn autocommit on */
mysqli_autocommit($link, TRUE);

if ($result = mysqli_query($link, "SELECT @@autocommit")) {
    $row = mysqli_fetch_row($result);
    printf("Autocommit is %s\n", $row[0]);
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Autocommit is 1

Anterior | Inicio | Siguiente
mysqli_affected_rows | Subir | mysqli_bind_param


mysqli_bind_param

(PHP 5)

mysqli_bind_param -- Alias para mysqli_stmt_bind_param()

Descripción

Esta función es un alias de mysqli_stmt_bind_param(). Para una descripción detallada vea mysqli_stmt_bind_param().

Nota: mysqli_bind_param() es obsoleta y será removida.

Ver también

mysqli_stmt_bind_param().

Anterior | Inicio | Siguiente
mysqli_autocommit | Subir | mysqli_bind_result


mysqli_bind_result

(PHP 5)

mysqli_bind_result -- Alias para mysqli_stmt_bind_result()

Descripción

Esta funció es un alias de mysqli_stmt_bind_result(). Para una descripción detallada vea mysqli_stmt_bind_result().

Nota: mysqli_bind_result() es obsoleta y será removida.

Ver también

mysqli_stmt_bind_result().

Anterior | Inicio | Siguiente
mysqli_bind_param | Subir | mysqli_change_user


mysqli_change_user

(PHP 5)

mysqli_change_user

(no version information, might be only in CVS)

mysqli->change_user -- Cambia el usuario de la conexión a la base de datos especificada

Descripción

Estilo por procedimientos:

bool mysqli_change_user ( mysqli identificador_de_enlace, cadena usuario, cadena contraseña, cadena base_de_datos )

Estilo orientado a objetos (método):

class mysqli {

bool change_user ( cadena usuario, cadena contrase?a, cadena base_de_datos )

}

mysqli_change_user() Es usada para cambiar el usuario para la conexión de base de datos indicada por el parámetro identificador_de_enlace y para fijar la actual base de datos a la específicada por el parámetro base_de_datos.

Si se desea, se puede pasar el valor NULL en lugar del parámetro base_de_datos resultando en solo cambiar el usaurio y no seleccionar la base de datos. Para seleccionar una base de datos en este caso use la función mysqli_select_db().

Para poder cambiar de usuario de forma exitosa se debe proveer de un usuario y contraseña validos, y tales parámetros debe contar con los suficientes permisos para acceder a la base de datos deseada. Si por cualquier razón la autorización falla, el actual usuario autenticado permanecerá activo.

Nota: El uso de este comando siempre producirá que la conexión actual a la base de datos se comporte como si fuera una nueva conexión, sin importar si la operación fue completada exitosamente. Este reinicio implica el hacer la restauración no actualizada "rollback" de cualquier transacción activa, cerrar todas las tablas temporales y des-asegurar todas las tablas aseguradas.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_connect(), y mysqli_select_db().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php

/* connect database test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reset all and select a new database */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database: %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
      if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
      }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reset all and select a new database */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
      }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Default database: world
Value of variable a is NULL

Anterior | Inicio | Siguiente
mysqli_bind_result | Subir | mysqli_character_set_name


mysqli_character_set_name

(PHP 5)

mysqli_character_set_name

(no version information, might be only in CVS)

mysqli->character_set_name -- Regresa el conjunto de caracteres determinados por default para la conexión de base de datos

Descripción

Estilo por procedumientos:

cadena mysqli_character_set_name ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

cadena character_set_name ( void )

}

Regresa el conjuntos de caracteres actual, determinado para la conexión de base de datos específicada por el parámetro identificador_de_enlace.

Valores retornados

El conjunto de caracteres por defecto, determinados para la conexión actual

Ver también

mysqli_client_encoding(), y mysqli_real_escape_string().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = $mysqli->character_set_name();
printf ("Current character set is %s\n", $charset);

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Current character set is latin1_swedish_ci

Anterior | Inicio | Siguiente
mysqli_change_user | Subir | mysqli_client_encoding


mysqli_client_encoding

(PHP 5)

mysqli_client_encoding -- Alias de mysqli_character_set_name()

Descripción

Esta función es un alias de mysqli_character_set_name(). Para una descripción detallada vea mysqli_character_set_name().

Ver también

mysqli_client_encoding(), y mysqli_real_escape_string().

Anterior | Inicio | Siguiente
mysqli_character_set_name | Subir | mysqli_close


mysqli_close

(PHP 5)

mysqli_close

(no version information, might be only in CVS)

mysqli->close -- Cierra la conexión de base de datos previamente abierta

Descripción

Estilo por procedimientos:

bool mysqli_close ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

bool close ( void )

}

La función mysqli_close() cierra una conexión de base de datos previamente abierta, específicada por el parámetro identificador_de_enlace.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_connect(),
mysqli_init(), y
mysqli_real_connect().

Anterior | Inicio | Siguiente
mysqli_client_encoding | Subir | mysqli_commit


mysqli_commit

(PHP 5)

mysqli_commit

(no version information, might be only in CVS)

mysqli->commit -- Completa la transacción actual

Descripción

Estilo por procedimientos:

bool mysqli_commit ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método)

class mysqli {

bool commit ( void )

}

Entrega la transacción actual para la conexión de base de datos específicada por el parametro link.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_autocommit(), y mysqli_rollback().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");

/* set autocommit to off */
$mysqli->autocommit(FALSE);

/* Insert some values */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
$mysqli->commit();

/* drop table */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* set autocommit to off */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");

/* Insert some values */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
mysqli_commit($link);

/* close connection */
mysqli_close($link);
?>

Anterior | Inicio | Siguiente
mysqli_close | Subir | mysqli_connect_errno


mysqli_connect_errno

(PHP 5)

mysqli_connect_errno -- Regresa el código de error de la última llamada a la conexión

Descripción

int mysqli_connect_errno ( void )

La función mysqli_connect_errno() regresará el últumo código de error generado por mysqli_connect(). Si no han ocurrido errores, esta función regresará cero.

Nota: Los números de error del cliente, están listados en el archivo de MySQL errmsg.h. Los números de error del servidor, están listados en el archivo de MySQL mysqld_error.h. En la distribución de las fuentes de MySQL, tu puedes encontrar una lista completa de los mensajes de error y de los números de error en el documento Docs/mysqld_error.txt.

Valores retornados

Un código de error para la última llamada a mysqli_connect(), si ésta falla. Si no hay error entonces se regresa Cero.

Ver también

mysqli_connect(),
mysqli_connect_error(),
mysqli_errno(),
mysqli_error(), y
mysqli_sqlstate()

Ejemplos

Ejemplo 1. mysqli_connect_errno

<?php

$link = @mysqli_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Can't connect to localhost. Errorcode: %d\n", mysqli_connect_errno());
}
?>

Anterior | Inicio | Siguiente
mysqli_commit | Subir | mysqli_connect_error


mysqli_connect_error

(PHP 5)

mysqli_connect_error -- Regresa una descripción del último error de la conexión

Descripción

cadena mysqli_connect_error ( void )

La función mysqli_connect_error() es identica a la función mysqli_connect_errno(), excepto en que en vez de regresar el número del código de error, la función mysqli_connect_error() regresará el mensaje de error correspondiente a la última llamada a la función mysqli_connect(). Si no ha ocurrido error, está función regresará una cadena vacía.

Valores retornados

Una cadena que describe el error o una cadena vacía si no ha ocurrido error.

Ver también

mysqli_connect(),
mysqli_connect_errno(),
mysqli_errno(),
mysqli_error(), y
mysqli_sqlstate()

Ejemplos

Ejemplo 1. mysqli_connect_error

<?php

$link = @mysqli_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
}
?>

Anterior | Inicio | Siguiente
mysqli_connect_errno | Subir | mysqli_connect


mysqli_connect

(PHP 5)

mysqli_connect

(no version information, might be only in CVS)

mysqli() -- Abre una nueva conexión al servidor MySQL

Descripción

Estilo por procedimientos

mysqli mysqli_connect ( [cadena equipo_anfitrión [, cadena usuario [, cadena contraseña [, cadena base_de_datos [, int puerto [, cadena socket]]]]]] )

Estilo orientado a objetos (constructor):

class mysqli {

__construct ( [cadena equipo_anfitrión [, cadena usuario [, cadena contraseña [, cadena base_de_datos [, int puerto [, cadena socket]]]]]] )

}

La función mysqli_connect() intenta abrir una conexión al servidor MySQL que se está ejecutando en equipo_afitrión el cual puede ser el nombre de un equipo o una dirección IP. Pasando el valor NULL o la cadena "localhost" a este parámetro, se asume que está en el mismo equipo. Cuando sea posible se usarán "pipes" en vez del protocolo TCP/IP. En caso exitoso, la función mysqli_connect() regresará un objeto representando la conexión a la base de datos, o FALSE en caso contrario.

En los parámetros usuario y contraseña se específica el nombre de usuario y contraseña con los cuales se debe conectar al servidor MySQL. Si no se da contraseña el valor NULL es tomado, el servidor MySQL intentará verificar al usuario contra los registros de usuarios que esten sin contraseña. Esto permite que un usuario pueda ser usado con diferentes permisos (dependiendo si se provee contraseña o no).

Si se específica el parámetro base_de_datos especificará la base de datos a usar por defecto cuando se ejecuten consultas.

Los parámetros puerto y socket son usados junto con el parámetro equipo_anfitrión para controla a futuro como conectar al servidor de base de datos. El parámetro puerto específica el número de puerto al que se intenta conectar en el servidor MySQL, mientras que el parámetro socket específica el socket o la pipa nombrada "pipe" que debe ser usada.

Nota: Especificar el parámetro socket no determina explícitamente el tipo de conexión a ser usado cuando se conecta al servidor MySQL. El parámetro equipo_anfitrión determina como se hace la conexión a la base de datos MySQL.

Valores retornados

Regresa un objeto el cuál representa la conexión al servidor MySQL o FALSE en caso contrario.

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Host information: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Host information: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Host information: Localhost via UNIX socket

Anterior | Inicio | Siguiente
mysqli_connect_error | Subir | mysqli_data_seek


mysqli_data_seek

(PHP 5)

mysqli_data_seek

(no version information, might be only in CVS)

result->data_seek -- Ajusta el apuntador arbitrariamente a una fila en el resultado

Descripción

Estilo por procedimientos:

bool mysqli_data_seek ( mysqli_result resultado, int posición )

Estilo orientado a objetos (método):

class resultado {

bool data_seek ( int posición )

}

La función mysqli_data_seek() busca arbitrariamente apuntar al valor específicado por posición en el conjunto resultante representado por result. Los valores del parámetro posición deben estar entre cero y el total de filas menus uno (0 .. mysqli_num_rows() - 1).

Nota: Está función solo puede ser usada con resultados con almacenamiento intermedio logrados por el uso de las funciones mysqli_store_result() o mysqli_query().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_store_result(),
mysqli_fetch_row(),
mysqli_fetch_array(),
mysqli_fetch_assoc(),
mysqli_fetch_object(),
mysqli_query(), y
mysqli_num_rows().

Ejemplos

Ejemplo 1. Estilo orientado a onjetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query( $query)) {

    /* seek to row no. 400 */
    $result->data_seek(399);

    /* fetch row */
    $row = $result->fetch_row();

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

City: Benin City  Countrycode: NGA

Anterior | Inicio | Siguiente
mysqli_connect | Subir | mysqli_debug


mysqli_debug

(PHP 5)

mysqli_debug -- Realiza operaciones de rastreo de errores

Descripción

void mysqli_debug ( cadena acción )

La función mysqli_debug() es usada para realizar operaciones de rastreo y eliminación de errores utilizando la libreria "Fred Fish". El parámetro acción es una cadena que representa las operaciones de rastreo de errores a realizar.

Nota: Para usar la funció mysqli_debug() se debe compilar el cliente de MySQL con soporte para rastreo de errores "debugging".

Valores retornados

mysqli_debug() no regresa ningún valor.

Ver también

mysqli_dump_debug_info(), y mysqli_report()

Ejemplos

Ejemplo 1. Generar un archivo de rastreo

<?php

/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */
mysqli_debug("d:t:0,/tmp/client.trace");

?>

Anterior | Inicio | Siguiente
mysqli_data_seek | Subir | mysqli_disable_reads_from_master


mysqli_disable_reads_from_master

(PHP 5)

mysqli_disable_reads_from_master

(no version information, might be only in CVS)

mysqli->disable_reads_from_master -- Deshabilita lectura del Servidor maestro

Descripción

Estilo por procedimientos:

void mysqli_disable_reads_from_master ( mysqli link )

Estilo orientado a objetos (método):

class mysqli {

void disable_reads_from_master ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_debug | Subir | mysqli_disable_rpl_parse


mysqli_disable_rpl_parse

(PHP 5)

mysqli_disable_rpl_parse -- Deshabilita el analizador RPL

Descripción

void mysqli_disable_rpl_parse ( mysqli identificador_de_enlace )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_disable_reads_from_master | Subir | mysqli_dump_debug_info


mysqli_dump_debug_info

(PHP 5)

mysqli_dump_debug_info

(no version information, might be only in CVS)

mysqli->dump_debug_info -- Vacía información de rastreo de errores en el log

Descripción

bool mysqli_dump_debug_info ( mysqli identificador_de_enlace )

Esta función está diseñada para ser ejecutada por un usaurio con privilegios de SUPER usuario y es usada para vaciar la información de rastreo de errores en el log del servidor MySQL relacionado a la conexión específicada por el parámetro identificador_de_enlace.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_debug().

Anterior | Inicio | Siguiente
mysqli_disable_rpl_parse | Subir | mysqli_embedded_server_end


mysqli_enable_reads_from_master

(PHP 5)

mysqli_enable_reads_from_master -- Habilita la lectura del servidor Maestro

Descripción

void mysqli_enable_reads_from_master ( mysqli identificador_de_enlace )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_embedded_server_start | Subir | mysqli_enable_rpl_parse


mysqli_enable_rpl_parse

(PHP 5)

mysqli_enable_rpl_parse -- Habilita el analizador RPL

Descripción

void mysqli_enable_rpl_parse ( mysqli identificador_de_enlace )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_enable_reads_from_master | Subir | mysqli_errno


mysqli_errno

(PHP 5)

mysqli_errno

(no version information, might be only in CVS)

mysqli->errno -- Regresa el código de error para la función más recientemente llamada

Descripción

Estilo por procedimientos:

int mysqli_errno ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

int errno

}

La función mysqli_errno() regresará el último código de error para la función de MySQLi más recientemente llamada, que pueda ser exitosa o fallar con respecto al identificador de enlace a la base de datos definido por el parámetro identificador_de_enlace. Si no han ocurrido errores, está función regresará cero.

Nota: Los números de error del cliente, están listados en el archivo de MySQL errmsg.h. Los números de error del servidor, están listados en el archivo de MySQL mysqld_error.h. En la distribución de las fuentes de MySQL, tu puedes encontrar una lista completa de los mensajes de error y de los números de error en el documento Docs/mysqld_error.txt.

Valores retornados

Un valor de código de error para la última llamada si falló. Cero significa que no han ocurrido errores.

Ver también

mysqli_connect_errno(),
mysqli_connect_error(),
mysqli_error(), y
mysqli_sqlstate()

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errorcode: %d\n", $mysqli->errno);
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errorcode: %d\n", mysqli_errno($link));
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Errorcode: 1193

Anterior | Inicio | Siguiente
mysqli_enable_rpl_parse | Subir | mysqli_error


mysqli_error

(PHP 5)

mysqli_error -- Regresa una cadena con la descripció del último error

Descripción

Estilo por procedimientos:

cadena mysqli_error ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad)

class mysqli {

cadena error

}

La funció mysqli_error() es identica a la correspondiente mysqli_errno() en todos los sentidos, excepto en que en lugar de regresar un valor numérico, la función mysqli_error() regresará un mensaje de error, representando el último error ocurrido para la conexió de base de datos identificador_de_enlace. Si no han ocurrido errores, está función regresará una cadena vacía.

Valores retornados

Una cadena que describe el error. Una cadena vacía si no han ocurrido errores.

Ver también

mysqli_connect_errno(),
mysqli_connect_error(),
mysqli_errno(), y
mysqli_sqlstate()

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Errormessage: Unknown system variable 'a'

Anterior | Inicio | Siguiente
mysqli_errno | Subir | mysqli_escape_string


mysqli_escape_string

(PHP 5)

mysqli_escape_string -- Alias de mysqli_real_escape_string()

Descripción

Esta función es un alias de mysqli_real_escape_string().

Anterior | Inicio | Siguiente
mysqli_error | Subir | mysqli_execute


mysqli_execute

(PHP 5)

mysqli_execute -- Alias de mysqli_stmt_execute()

Descripción

Esta función es un alias de mysqli_stmt_execute(). Para una descipció más detallada vea la descripción de mysqli_stmt_execute().

Nota: mysqli_execute() es obsoleta y será removida.

Ver también

mysqli_stmt_execute().

Anterior | Inicio | Siguiente
mysqli_escape_string | Subir | mysqli_fetch_array


mysqli_fetch_array

(PHP 5)

mysqli_fetch_array

(no version information, might be only in CVS)

result->fetch_array -- Obtiene una fila como una matriz asociativa, una matriz numérica o ambos

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_array ( mysqli resultado [, int tipo_de_resultado] )

Estilo orientado a objetos (método):

class mysqli_resultado {

mixto fetch_array ( [int tipo_de_resultado] )

}

Regresa una matrix que corresponde a las filas obtenidas o NULL si no hay más filas para el resultado, representado por el parámetro resultado.

mysqli_fetch_array() es una versión mejorada de la función mysqli_fetch_row(). Ademá de almacenar los datos en índices numéricos de la matriz resultante, la función mysqli_fetch_array() también puede almacenar los datos en índices asociativos, usando los nombre de los campos de el resultado como llaves.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Si dos o más columnas de el resultado tienen el mismo nombre, la última columna tomara precedencia y sobre escribirá lo primero. Para acceder a varias columnas con el mismo nombre, la forma de índice numérica debe ser usada.

El parámetro opcional tipo_de_resultado es una constante que indica qué tipo de matriz debe ser producido para la fila de datos actual. Los posibles valires para este parámetro son las constantes MYSQLI_ASSOC, MYSQLI_NUM, o MYSQLI_BOTH. Por defecto la función mysqli_fetch_array() asumirá el valor de MYSQLI_BOTH.

Al usar la constante MYSQLI_ASSOC, esta función se comportará identica a la función mysqli_fetch_assoc(), mientras que con MYSQLI_NUM se comportará identica a la función mysqli_fetch_row(). La opción final MYSQLI_BOTH creará una matriz con los atributos de ambos.

Valores retornados

Regresa una matriz que corresponde a las filas obtenidas o NULL si no hay más filas en el resultado.

Ver también

mysqli_fetch_assoc(),
mysqli_fetch_row(),
mysqli_fetch_object(),
mysqli_query(), y
mysqli_data_seek().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
$result->close();

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* numeric array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Anterior | Inicio | Siguiente
mysqli_execute | Subir | mysqli_fetch_assoc


mysqli_fetch_assoc

(PHP 5)

mysqli_fetch_assoc

(no version information, might be only in CVS)

mysqli->fetch_assoc -- Obtiene una fila del resultado como una matriz asociativa

Descripción

Estilo por procedimientos:

matriz mysqli_fetch_assoc ( mysqli_result resultado )

Estilo orientado a objetos (método):

class resultado {

matriz fetch_assoc ( void )

}

Regresa una matriz asociativa que corresponde a las filas obtenidas o NULL si no hay mas filas.

La función mysqli_fetch_assoc() es usada para regresar una representación asociativa de la siguiente fila en el resultado, representado por el parámetro resultado, donde cada llave en la matriz representa el nombre de las columnas en el resultado.

Si dos o más columnas de el resultado tienen el mismo nombre, la última columna tomara precedencia y sobre escribirá lo primero. Para acceder a varias columnas con el mismo nombre, la forma de índice numérica debe ser usada.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Valores retornados

Regresa una matriz que corresponde a las filas obtenidas o NULL si no hay más filas en el resultado.

Ver también

mysqli_fetch_array(),
mysqli_fetch_row(),
mysqli_fetch_object(),
mysqli_query(), y
mysqli_data_seek().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Anterior | Inicio | Siguiente
mysqli_fetch_array | Subir | mysqli_fetch_field_direct


mysqli_fetch_field_direct

(PHP 5)

mysqli_fetch_field_direct

(no version information, might be only in CVS)

result->fetch_field_direct -- Obtiene los metadatos de un campo

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_field_direct ( mysqli_result resultado, int indice_de_campo )

Estilo orientado a objetos (método):

class mysqli_result {

mixto fetch_field_direct ( int indice_de_campo )

}

La función mysqli_fetch_field_direct() regresa un objeto el cuál contiene información de la definición del campo del resultado específicado. El valor de indice_de_campo debe estar en el rango de 0 a número de campos -1.

Valores retornados

Regresa un objeto el cual contiene información de la definición del campo o FALSE si no hay información para el indice_de_campo específicado.

Tabla 1. Atributos del objeto

Atributo | Descripción
name | Nombre de la columna
orgname | Nombre original de la columna si se dió un alias
table | Nombre de la tabla a la que pertenece el campo
orgtable | Nombre original de la tabla si se dió un alias
def | El valor por defecto para este campo, representado como una cadena
max_length | La amplitud máxima de campo de el campo para el resultado
flags | Un entero que representa los bit bandera para el campo
type | Tipo de dato utilizado para este campo
decimals | Número de decimales usadas (para campos entero)

Ver también

mysqli_num_fields(),
mysqli_fetch_field(), y
mysqli_fetch_fields().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = mysqli_fetch_field_direct($result, 1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Anterior | Inicio | Siguiente
mysqli_fetch_assoc | Subir | mysqli_fetch_field


mysqli_fetch_field

(PHP 5)

mysqli_fetch_field

(no version information, might be only in CVS)

result->fetch_field -- Regresa metadatos de el campo en el resultado

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_field ( mysqlI_result resultado )

Estilo orientado a objetos (método):

class mysqli_result {

mixto fetch_field ( void )

}

La función mysqli_fetch_field() regresa un objeto con información de definición de un campo de un resultado. Ejecute esta función repetidamente para obtener la información de todas las columnas en un resultado. mysqli_fetch_field() regresa FALSE cuando no hay más columnas en el resultado.

Valores retornados

Regresa un objeto el cual contiene la información de la definición del campo o FALSE si no hay información disponible.

Tabla 1. Propiedades del objeto

Propiedad | Descripción
name | El nombre de la columna
orgname | Nombre original de la columna, si se específico un alias
table | El nombre de la tablaa la cuál pertenece
orgtable | Nombre original de la tabla si se específico un alias
def | El valor por defecto de este campo, representado con una cadena
max_length | La máma amplitud del campo para el resultado
flags | Un entero representando los bit de bandera para el campo
type | El tipo de dato usado para este campo
decimals | El número de decimales utilizadas (para campos numéricos)

Ver también

mysqli_num_fields(),
mysqli_fetch_field_direct(),
mysqli_fetch_fields(), y
mysqli_field_seek()

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Anterior | Inicio | Siguiente
mysqli_fetch_field_direct | Subir | mysqli_fetch_fields


mysqli_fetch_fields

(PHP 5)

mysqli_fetch_fields

(no version information, might be only in CVS)

result->fetch_fields -- Regresa una matriz de objetos representando los campos en un resultado

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_fields ( mysqli_result resultado )

Estilo orientado a objetos (método):

class mysqli_result {

mixto fetch_fields ( void )

}

Esta función sirve identica en propósito a la función mysqli-fetch-field() con la minima diferencia de que, en lugar de regresar un objeto a la vez para cada campo, las columnas son regresadas como una matiz de objetos.

Valores retornados

Regresa una matriz de objetos que contienen la información de definició de los campos o FALSE si no hay información del campo disponible.

Tabla 1. Propiedades del objeto

Propiedad | Descripción
name | El nombre de la columna
orgname | Nombre original de la columna, si se específico un alias
table | El nombre de la tablaa la cuál pertenece
orgtable | Nombre original de la tabla si se específico un alias
def | El valor por defecto de este campo, representado con una cadena
max_length | La máma amplitud del campo para el resultado
flags | Un entero representando los bit de bandera para el campo
type | El tipo de dato usado para este campo
decimals | El número de decimales utilizadas (para campos numéricos)

Ver también

mysqli_num_fields(),
mysqli_fetch_field(), y
mysqli_fetch_field_direct().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    $finfo = $result->fetch_fields();

    for ($i=0; $i < count($finfo); $i++) {
        printf("Name:     %s\n", $finfo[$i]->name);
        printf("Table:    %s\n", $finfo[$i]->table);
        printf("max. Len: %d\n", $finfo[$i]->max_length);
        printf("Flags:    %d\n", $finfo[$i]->flags);
        printf("Type:     %d\n\n", $finfo[$i]->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all columns */
    $finfo = mysqli_fetch_fields($result);

    for ($i=0; $i < count($finfo); $i++) {
        printf("Name:     %s\n", $finfo[$i]->name);
        printf("Table:    %s\n", $finfo[$i]->table);
        printf("max. Len: %d\n", $finfo[$i]->max_length);
        printf("Flags:    %d\n", $finfo[$i]->flags);
        printf("Type:     %d\n\n", $finfo[$i]->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Anterior | Inicio | Siguiente
mysqli_fetch_field | Subir | mysqli_fetch_lengths


mysqli_fetch_lengths

(PHP 5)

mysqli_fetch_lengths

(no version information, might be only in CVS)

result->lengths -- Regresa la longitud de las columnas de la fila actual en el resultado

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_lengths ( mysqli_result resultado )

Estilo orientado a objetos(propiedad):

class mysqli_result {

mixto lengths

}

La función mysqli_fetch_lengths() regresa una matriz conteniendo la longitud de cada columna de la fila actual en el resultado representado por el parámetro result. Si hay información regresa una matriz numéricamente ordenada representando la longitud de cada columna o FALSE si falla.

Valores retornados

Una matriz de enteros representando el tamaño de cada columna (sin incluir el caracter NULL al final de la columna). FALSE si ocurre un error.

mysqli_fetch_lengths()Es valida solo para la fila actual en el resultado. Regresa FALSE si se llama antes de ejecutar mysqli_fetch_row/array/object o después de obtener todas las filas en el resultado.

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* display column lengths */
    for ($i=0; $i < count($result->lengths); $i++) {
        printf("Field %2d has Length %2d\n", $i+1, $result->lengths[$i]);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

       $row = mysqli_fetch_row($result);

    /* display column lengths */
    $lengths = mysqli_fetch_lengths($result);
    for ($i=0; $i < count($lengths); $i++) {
        printf("Field %2d has Length %2d\n", $i+1, $lengths[$i]);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Field  1 has Length  3
Field  2 has Length  5
Field  3 has Length 13
Field  4 has Length  9
Field  5 has Length  6
Field  6 has Length  1
Field  7 has Length  6
Field  8 has Length  4
Field  9 has Length  6
Field 10 has Length  6
Field 11 has Length  5
Field 12 has Length 44
Field 13 has Length  7
Field 14 has Length  3
Field 15 has Length  2

Anterior | Inicio | Siguiente
mysqli_fetch_fields | Subir | mysqli_fetch_object


mysqli_fetch_object

(PHP 5)

mysqli_fetch_object

(no version information, might be only in CVS)

result->fetch_object -- Regresa la fila actual del resultado como un objeto

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_object ( mysqli_result resultado )

Estilo orientado a objetos (método):

class mysqli_result {

mixto fetch_object ( void )

}

La función mysqli_fetch_object() regresará la fila actual en el resultado como un objeto donde los atributos del objeto representan los nombre de los campos encontrados dentro del resultado. Si no hay más filas en el resultado, se regresa NULL

Valores retornados

Regresa un objeto que corresponde a la fila obtenida o NULL si no hay más filas en el resultado.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Ver también

mysqli_fetch_array(),
mysqli_fetch_assoc(),
mysqli_fetch_row(),
mysqli_query(), y
mysqli_data_seek().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Anterior | Inicio | Siguiente
mysqli_fetch_lengths | Subir | mysqli_fetch_row


mysqli_fetch_row

(PHP 5)

mysqli_fetch_row

(no version information, might be only in CVS)

result->fetch_row -- Obtiene una fila del resultado como una matriz enumerada

Descripción

Estilo por procedimientos:

mixto mysqli_fetch_row ( mysqli_result resultado )

Estilo orientado a objetos (método):

class mysqli_result {

mixto fetch_row ( void )

}

Regresa una matriz que corresponde a la fila obtenida, o NULL si no hay más filas.

La función mysqli_fetch_row() obtiene una fila de datos del resultado, representado por el parámetro result y lo regresa como una matriz enumerada, donde cada columna es almacenada en la matriz empezando de 0 (cero). Cada llamada subsecuente a la función mysqli_fetch_row() regresará la siguiente fila dentro del resultado, o NULL si no hay más filas.

Valores retornados

mysqli_fetch_row() regresa una matriz que corresponde a la fila obtenida o NULL si no hay más filas en el resultado.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Ver también

mysqli_fetch_array(),
mysqli_fetch_assoc(),
mysqli_fetch_object(),
mysqli_query(), y
mysqli_data_seek().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Anterior | Inicio | Siguiente
mysqli_fetch_object | Subir | mysqli_fetch


mysqli_fetch

(PHP 5)

mysqli_fetch -- Alias de mysqli_stmt_fetch()

Descripción

Esta función es un alias de mysqli_stmt_fetch(). Para una descripción más detallada vea mysqli_stmt_fetch().

Nota: mysqli_fetch() es obsoleta y será removida.

Ver también

mysqli_stmt_fetch().

Anterior | Inicio | Siguiente
mysqli_fetch_row | Subir | mysqli_field_count


mysqli_field_count

(PHP 5)

mysqli_field_count

(no version information, might be only in CVS)

mysqli->field_count -- Regresa el número de columnas para la consulta más reciente

Descripción

Estilo por procedimientos:

int mysqli_field_count ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

int field_count ( void )

}

Regresa el número de columnas para la más reciente consulta en la conexión representada por el parámetro identificador_de_enlace. Esta función puede ser usada cuando se use la función Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the mysqli_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Valores retornados

An integer representing the number of fields in a result set

Ejemplos

Ejemplo 1. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query($HTTP_POST_VARS['query']);

if (mysqli_field_count($link)) {
    /* this was a select/show or describe query */
    $result = $mysqli->store_result();

    /* process resultset */
    $row = $result->fetch_row();

    /* free resultset */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, $HTTP_POST_VARS['query']);

if (mysqli_field_count($link)) {
    /* this was a select/show or describe query */
    $result = mysqli_store_result($link);

    /* process resultset */
    $row = mysqli_fetch_row($result);

    /* free resultset */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Anterior | Inicio | Siguiente
mysqli_fetch | Subir | mysqli_field_seek


mysqli_field_seek

(PHP 5)

mysqli_field_seek

(no version information, might be only in CVS)

result->field_seek -- Fija el apuntador del resultado a una posicion específica

Descripción

Estilo por procedimientos:

int mysqli_field_seek ( mysqli_result resultado, int fieldnr )

Estilo orientado a objetos (método):

class mysqli_result {

int field_seek ( int fieldnr )

}

Fija el apuntador a la posición dada. En la siguiente llamada a la función mysqli_fetch_field(), traerá la definición de la columna asociada con esa posición.

Nota: Para encontrar el inicio de una fila, pase una posición con valor cero.

Valores retornados

mysqli_field_seek() Regresa la posición previa del apuntador de campo.

Ver también

mysqli_fetch_field().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for 2nd column */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for 2nd column */
    mysqli_field_seek($result, 1);
    $finfo = mysqli_fetch_field($result);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Anterior | Inicio | Siguiente
mysqli_field_count | Subir | mysqli_field_tell


mysqli_field_tell

(PHP 5)

mysqli_field_tell

(no version information, might be only in CVS)

result->current_field -- Obtiene la posición de desplazamiento del apuntador de un resultado

Descripción

Estilo por procedimientos:

int mysqli_field_tell ( mysqli_result resultado )

Estilo orientado a objetos (propiedad):

class mysqli_result {

int current_field

}

Regresa la posición del apuntador usada en la última llamada a mysqli_fetch_field(). Este valor puede ser usada como un argumento de mysqli_field_seek().

Valores retornados

Regresa la posición actual del apuntador de campo.

Ver también

mysqli_fetch_field(), y mysqli_field_seek().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        /* get fieldpointer offset */
        $currentfield = $result->current_field;

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        /* get fieldpointer offset */
        $currentfield = mysqli_field_tell($result);

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Column 1:
Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Column 2:
Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Anterior | Inicio | Siguiente
mysqli_field_seek | Subir | mysqli_free_result


mysqli_free_result

(PHP 5)

mysqli_free_result

(no version information, might be only in CVS)

result->free -- Libera la memoria asociada con el resultado

Descripción

Estilo por procedimientos:

void mysqli_free_result ( mysqli_result resultado )

Estilo orientado a objetos (método):

class mysqli_result {

void free ( void )

}

La función mysqli_free_result() libera la memoria asociada al resultado representado por el parámetro resultado, la cuál fue tomada por mysqli_query(), mysqli_store_result() o mysqli_use_result().

Nota: Usted debe siempre liberar el resultado con mysqli_free_result(), cuando su objeto resultado no se necesite más.

Valores retornados

Esta función no regresa ningun valor.

Ver también

mysqli_query(),
mysqli_stmt_store_result(),
mysqli_store_result(), y
mysqli_use_result().

Anterior | Inicio | Siguiente
mysqli_field_tell | Subir | mysqli_get_charset


mysqli_get_client_info

(PHP 5)

mysqli_get_client_info -- Regresa en una cadena la versión del cliente de MySQL

Descripción

cadena mysqli_get_client_info ( void )

La funció mysqli_get_client_info() es usada para regresar una cadena representando la versión del cliente utilizada en la extensión MySQLi.

Valores retornados

Una cadena que representa la versión de la libreria cliente de MySQL

Ver también

mysqli_get_client_version(),
mysqli_get_server_info(), y
mysqli_get_server_version().

Ejemplos

Ejemplo 1. mysqli_get_client_info

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %s\n", mysqli_get_client_info());
?>

Anterior | Inicio | Siguiente
mysqli_get_charset | Subir | mysqli_get_client_version


mysqli_get_client_version

(PHP 5)

mysqli_get_client_version -- Obtiene información del cliente MySQL

Descripción

int mysqli_get_client_version ( void )

Regresa el número de la versión del cliente como un entero.

Valores retornados

Un número que representa la versión de la libreria del cliente de MySQL en el formato : main_version*10000 + minor_version *100 + sub_version. Por ejemplo, 4.1.0 es regresado como 40100.

Esto es útil para determinar rápidamente la version de las librerias del cliente para saber si existen algunas capacidades.

Ver también

mysqli_get_client_info(),
mysqli_get_server_info(), y
mysqli_get_server_version().

Ejemplos

Ejemplo 1. mysqli_get_client_version

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

Anterior | Inicio | Siguiente
mysqli_get_client_info | Subir | mysqli_get_host_info


mysqli_get_host_info

(PHP 5)

mysqli_get_host_info

(no version information, might be only in CVS)

mysqli->get_host_info -- Regresa una cadena que representa el tipo de conexión usada

Descripción

Estilo por procedimientos:

cadena mysqli_get_host_info ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

cadena host_info

}

La función mysqli_get_host_info() regresa una cadena describiendo la conexión utilizada, representada por el parámetro identificador_de_enlace (incluyendo el nombre del servidor).

Valores retornados

Una cadena representando el nombre del servidor y tipo de conexión.

Ver también

mysqli_get_proto_info().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Host info: Localhost via UNIX socket

Anterior | Inicio | Siguiente
mysqli_get_client_version | Subir | mysqli_get_metadata


mysqli_get_metadata

(PHP 5)

mysqli_get_metadata -- Alias para mysqli_stmt_result_metadata()

Descripción

Esta función es un alias de mysqli_stmt_result_metadata(). Para una descripción detallada vea mysqli_stmt_result_metadata().

Nota: mysqli_get_metadata() es obsoleta y será removida.

Ver también

mysqli_stmt_result_metadata().

Anterior | Inicio | Siguiente
mysqli_get_host_info | Subir | mysqli_get_proto_info


mysqli_get_proto_info

(PHP 5)

mysqli_get_proto_info

(no version information, might be only in CVS)

mysqli->protocol_version -- Regresa la versión del protocolo de MySQL usado

Descripción

Estilo por procedimientos:

int mysqli_get_proto_info ( mysqlito identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

cadena protocol_version

}

Regresa un entero que representa la verión del protocolo MySQL usado por la conexión representada por el parámetro identificador_de_enlace.

Valores retornados

Regresa un entero representando la versión del protocolo.

Ver también

mysqli_get_host_info().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $mysqli->protocol_version);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Protocol version: 10

Anterior | Inicio | Siguiente
mysqli_get_metadata | Subir | mysqli_get_server_info


mysqli_get_server_info

(PHP 5)

mysqli_get_server_info

(no version information, might be only in CVS)

mysqli->server_info -- Regresa la version del servidor de MySQL

Descripción

Estilo por procedimientos:

cadena mysqli_get_server_info ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

cadena server_info

}

Regresa una cadena representando la versión del servidor MySQL a la que la extensión de MySQLi está conectado (representado por el parámetro identificador_de_enlace).

Valores retornados

Una cadena representando la versión del servidor.

Ver también

mysqli_get_client_info(),
mysqli_get_client_version(), y
mysqli_get_server_version().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", $mysqli->server_info);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", mysqli_get_server_info($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Server version: 4.1.2-alpha-debug

Anterior | Inicio | Siguiente
mysqli_get_proto_info | Subir | mysqli_get_server_version


mysqli_get_server_version

(PHP 5)

mysqli_get_server_version -- Regresa la versión del servidor MySQL como un entero

Descripción

Estilo por procedimientos:

int mysqli_get_server_version ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

int server_version

}

La función mysqli_get_server_version() regresa la versión del servidor al que está conectado (representado por el parámetro identificador_de_enlace) como un entero.

La forma del número de version es main_version * 10000 + minor_version * 100 + sub_version (i.e. version 4.1.0 is 40100).

Valores retornados

Un entero representando la versión del servidor.

Ver también

mysqli_get_client_info(),
mysqli_get_client_version(), y
mysqli_get_server_info().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", $mysqli->server_version);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", mysqli_get_server_version($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Server version: 40102

Anterior | Inicio | Siguiente
mysqli_get_server_info | Subir | mysqli_get_warnings


mysqli_info

(PHP 5)

mysqli_info

(no version information, might be only in CVS)

mysqli->info -- Obtiene información acerca de la consulta más recientemente ejecutada

Descripción

Estilo por procedimientos:

cadena mysqli_info ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad)

class mysqli {

cadena info

}

La función mysqli_info() regresa una cadena proveyendo información acerca de la consulta ejecutada más recientemente. La naturaleza de esta cadena es como sigue:

Tabla 1. Valores regresados posibles de mysqli_info

Tipo de Consulta | Ejemplo de cadena resultante
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Nota: La consultas que no sean una de las antes mencionadas no están soportadas. En esta situación, mysqli_info() regresará una cadena vacía.

Valores retornados

Una cadena representando información adicional acerca de la consulta más recientemente ejecutada.

Ver también

mysqli_affected_rows(),
mysqli_warning_count(), y
mysqli_num_rows().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Records: 150  Duplicates: 0  Warnings: 0

Anterior | Inicio | Siguiente
mysqli_get_warnings | Subir | mysqli_init


mysqli_init

(PHP 5)

mysqli_init -- Inicializa MySQLi y regresa un objeto para ser usado con mysqli_rea_connect

Descripción

mysqli mysqli_init ( void )

Asigna o inicializa un objeto MySQL conveniente para mysqli_options() y mysqli_real_connect().

Nota: Cualquier llamada subsecuente a cualquier funció de mysqli (excepto mysqli_options()) fallará hasta que sea llamada mysqli_real_connect().

Valores retornados

Regresa un objeto.

Ver también

mysqli_options(),
mysqli_close(),
mysqli_real_connect(), y
mysqli_connect().

Anterior | Inicio | Siguiente
mysqli_info | Subir | mysqli_insert_id


mysqli_insert_id

(PHP 5)

mysqli_insert_id

(no version information, might be only in CVS)

mysqli->insert_id -- Regresa el ID generado automáticamente en la última consulta

Descripción

Estilo por procedimientos:

mixto mysqli_insert_id ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

mixto insert_id

}

La función mysqli_insert_id() regresa el ID generado por una consulta en una tabla con una columna que tiene el atributo AUTO_INCREMENT. Si la última consulta no fue un estatuto INSERT o UPDATE o si la tabla modificada no tiene una columna con este atributo, está función regresará cero.

Nota: Ejecuta una sentencia INSERT o UPDATE usando la función LAST_INSERT_ID() también modificará el valor regresado por la función mysqli_insert_id().

Valores retornados

El valor de el campo AUTO_INCREMENT que fue actualizado por la consulta previa. Regresa cero si no hubo una consulta previa en la conexión o si la consulta no actualizo un valor AUTO_INCREMENT.

Nota: Si el número es mayor al entero máximo, mysqli_insert_id() regresará una cadena.

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("New Record has id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("New Record has id %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

New Record has id 1.

Anterior | Inicio | Siguiente
mysqli_init | Subir | mysqli_kill


mysqli_kill

(PHP 5)

mysqli_kill

(no version information, might be only in CVS)

mysqli->kill -- Le pide al servidor "matar" el proceso MySQL

Descripción

Estilo por procedimientos:

bool mysqli_kill ( mysqli identificador_de_enlace, int processid )

Estilo orientado a objetos (métod0)

class mysqli {

bool kill ( int processid )

}

Esta función es usada para pedir al servidor matar le proceso MySQL específicado por el parámetro processid. Este valor debe ser obtenido llamando la función mysqli_thread_id().

Nota: Para detenener una consulta que se está ejecutando, debes usar el commando KILL QUERY processid.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_thread_id().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: MySQL server has gone away

Anterior | Inicio | Siguiente
mysqli_insert_id | Subir | mysqli_master_query


mysqli_master_query

(PHP 5)

mysqli_master_query -- Hace cumplir la ejecución de una consulta en el servidor en una configuración cliente/servidor

Descripción

bool mysqli_master_query ( mysqli identificador_de_enlace, cadena consulta )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_kill | Subir | mysqli_more_results


mysqli_more_results

(PHP 5)

mysqli_more_results

(no version information, might be only in CVS)

mysqli->more_results -- Checa si hay má resultados de consultas de una consulta múltiple

Descripción

bool mysqli_more_results ( mysqli identificador_de_enlace )

mysqli_more_results() indica si uno o más resultados están disponibles de una llamada previa a mysqli_multi_query().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_multi_query(),
mysqli_next_result(),
mysqli_store_result(), y
mysqli_use_result().

Ejemplos

Vea mysqli_multi_query().

Anterior | Inicio | Siguiente
mysqli_master_query | Subir | mysqli_multi_query


mysqli_multi_query

(PHP 5)

mysqli_multi_query

(no version information, might be only in CVS)

mysqli->multi_query -- Ejecuta una consulta en la base de datos

Descripción

Estilo por procedimientos:

bool mysqli_multi_query ( mysqli identificador_de_enlace, cadena consulta )

Estilo orientado a objetos (método):

class mysqli {

bool multi_query ( cadena consulta )

}

La función mysqli_multi_query() ejecuta una o múltiples consultas las cuales estan concatenadas por un punto y coma.

Para obtener los resultados de la primera consulta tu puedes usar mysqli_use_result() o mysqli_store_result(). Todas las consultas subsecuentes pueden ser procesadas usando mysqli_more_results() y mysqli_next_result().

Valores retornados

mysqli_multi_query() solo regresa FALSE si falla la primera sentencia. Para obtener los errores subsecuentes de las otras sentencias tiene que llamar primero mysqli_next_result().

Ver también

mysqli_use_result(),
mysqli_store_result(),
mysqli_next_result(), y
mysqli_more_results().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Anterior | Inicio | Siguiente
mysqli_more_results | Subir | mysqli_next_result


mysqli_next_result

(PHP 5)

mysqli_next_result

(no version information, might be only in CVS)

mysqli->next_result -- Prepara el siguiente resultado de una consulta múltiple

Descripción

bool mysqli_next_result ( mysqli identificador_de_enlace )

La función mysqli_next_result() prepara el siguiente resultado de una llamada previa a mysqli_multi_query() el cuál puede ser obtenido por mysqli_store_result() o mysqli_use_result().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_multi_query(),
mysqli_more_results(),
mysqli_store_result(), y
mysqli_use_result().

Ejemplos

Vea mysqli_multi_query().

Anterior | Inicio | Siguiente
mysqli_multi_query | Subir | mysqli_num_fields


mysqli_num_fields

(PHP 5)

mysqli_num_fields

(no version information, might be only in CVS)

result->field_count -- Obtiene el número de campos en un resultado Get the number of fields in a result

Descripción

Estilo por procedimientos:

int mysqli_num_fields ( mysqli_result resultado )

Estilo orientado a objetos (propiedad

class mysqli_result {

int field_count

}

mysqli_num_fields() regresa el número de campos del resultado específicado.

Valores retornados

El númerp de campos en un resultado

Ver también

mysqli_fetch_field().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = $result->field_count;

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = mysqli_num_fields($result);

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Result set has 5 fields.

Anterior | Inicio | Siguiente
mysqli_next_result | Subir | mysqli_num_rows


mysqli_num_rows

(PHP 5)

mysqli_num_rows -- Obtiene el número de filas en un resultado

Descripción

Estilo por procedimientos:

mixto mysqli_num_rows ( mysqli_result resultado )

Estilo orientado a objetos (propiedad):

class mysqli_result {

mixto num_rows

}

Regresa el número de filas en el resultado.

El uso de mysqli_num_rows() depende de si se usa resultados con almacenamiento intermedio (buffered) o no. En caso de usar resultados sin almacenamiento intermedio, mysqli_num_rows() no dará el número correcto de filas hasta que se hayan obtenido todas las filas del resultado.

Valores retornados

Regresa el número de filas en el resultado.

Nota: Si el número de filas es superior al valor entero maximo, el número será regresado como una cadena.

Ver también

mysqli_affected_rows(),
mysqli_store_result(),
mysqli_use_result(), y
mysqli_query().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = mysqli_num_rows($result);

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Result set has 239 rows.

Anterior | Inicio | Siguiente
mysqli_num_fields | Subir | mysqli_options


mysqli_options

(PHP 5)

mysqli_options

(no version information, might be only in CVS)

mysqli->options -- Fija opciones

Descripción

Estilo por procedimientos:

bool mysqli_options ( mysqli identificador_de_enlace, int opción, mixto valor )

Estilo orientado a objetos (método)

class mysqli {

bool options ( int opción, mixto valor )

}

mysqli_options() puede ser usada para fijar opciones extra en la conexión y afectar el comportamiento para la conexión.

Esta función puede ser llamada múltiples veces para fijar diferentes opciones.

mysqli_options() debe ser llamada después de mysqli_init() y antes de mysqli_real_connect().

El parámetro opción es la opción que se busca cambiar, el parámetro valor es el valor para la opción. El parámetro opci´on puede ser una de las siguientes:

Tabla 1. Opciones validas

Nombre | Descripción
MYSQLI_OPT_CONNECT_TIMEOUT | Tiempo que espera para ser conectado en segundos
MYSQLI_OPT_LOCAL_INFILE | habilita/deshabilita el uso de LOAD LOCAL INFILE
MYSQLI_INIT_CMD | comando a ejecutar después cuando se conecte al servidor MySQL
MYSQLI_READ_DEFAULT_FILE | Lee las opciones del archivo de configuración específicado en vez demy.cnf
MYSQLI_READ_DEFAULT_GROUP | Lee las opciones del grupo del archivomy.cnf o del archivo específicado con MYSQL_READ_DEFAULT_FILE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_init(), y mysqli_real_connect().

Ejemplos

Vea mysqli_real_connect().

Anterior | Inicio | Siguiente
mysqli_num_rows | Subir | mysqli_param_count


mysqli_param_count

(PHP 5)

mysqli_param_count -- Alias para mysqli_stmt_param_count()

Descripción

Esta función es un alias de mysqli_stmt_param_count(). Para una descipción detallada vea mysqli_stmt_param_count().

Nota: mysqli_param_count() es obsoleta y será removida.

Ver también

mysqli_stmt_param_count().

Anterior | Inicio | Siguiente
mysqli_options | Subir | mysqli_ping


mysqli_ping

(PHP 5)

mysqli_ping

(no version information, might be only in CVS)

mysqli->ping -- Revisa una conexión al servidor o intenta reconectar si la conexión se ha perdido

Descripción

Estilo por procedimientos:

bool mysqli_ping ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

bool ping ( void )

}

Checa si la conexión al servidor está operando. Si se perdi´ y la opción global mysqli.reconnect esta activa se intenta una reconexión automática.

Esta función puede ser usada por clientes que duran mucho tiempo inactivos, para checar si el servidor ha verrado al conexión y reconectarse en caso necesario.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if ($mysqli->ping()) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if (mysqli_ping($link)) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Our connection is ok!

Anterior | Inicio | Siguiente
mysqli_param_count | Subir | mysqli_prepare


mysqli_prepare

(PHP 5)

mysqli_prepare

(no version information, might be only in CVS)

mysqli->prepare -- Prepara una sentencia SQL para su ejecución

Descripción

Estilo por procedimientos:

mixto mysqli_prepare ( mysqli identificador_de_enlace, cadena query )

Estilo orientado a objetos (método)

class mysqli {

mixto prepare ( cadena query )

}

mysqli_prepare() prepara la consulta SQL acentuada por la terminación en caracter nulo, y regresa un manejador para ser usado para las operaciones en la sentencia. La consulta debe consistir de un solo enunciado SQL.

Nota: No debe agregar el punto y coma al fina o \g al enunciado.

El parámetro query puede incluir uno o más marcadores de parámetros en la sentencia SQL, incluyendo el caracter (?) en las posiciones apropiadas.

Nota: Los marcadores son legales solo en ciertos lugares de la sentencia SQL. Por ejemplo, son permitidos en la lista de VALUES() de una sentencia INSERT (para específicar los valores de las columnas en la fila), o en una comparación con una columna en una clausula WHERE para especificar un valor de comparación.

Sin embargo, no son permitidos para identificadores (tales como nombres de tablas y columnas), en la selección de los nombres de las columnas a ser regresadas por la sentencia SELECT, o para especificar operadores binarios tales como = el signo de igual. La última restricción es necesaria porque sería imposible determinar el tipo del parámetro. No es permitido comparar los marcadores con NULL al poner ? IS NULL. En general, los parámetros son legales solo en las sentencias del lenguaje de manipulación de datos (DML), y no en las sentencias del lenguaje de definición de datos (DDL).

Los marcadores de parámetros deben estar ligados a variables de la aplicación usando mysqli_stmt_bind_param() y/o mysqli_stmt_bind_result() antes de ejecutar la sentencia SQL u obtener las filas.

Valores retornados

mysqli_prepare() regresa un objeto o FALSE si ocurre un erro.

Ver también

mysqli_stmt_execute(),
mysqli_stmt_fetch(),
mysqli_stmt_bind_param(),
mysqli_stmt_bind_result()>, y
mysqli_stmt_close().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Amersfoort is in district Utrecht

Anterior | Inicio | Siguiente
mysqli_ping | Subir | mysqli_query


mysqli_query

(PHP 5)

mysqli_query

(no version information, might be only in CVS)

mysqli->query -- Ejecuta una consulta en la base de datos

Descripción

Estilo por procedimientos:

mixto mysqli_query ( mysqli identificador_de_enlace, cadena consulta [, int resultmode] )

Estilo orientado a objetos (método):

class mysqli {

mixto query ( cadena consulta )

}

La funció mysqli_query() es usada para simplificar la acción de ejecutar una consulta sobre la base de datos representada por el parámetro identificador_de_enlace.

Funcionalmente, usar está función es identifo a llamar mysqli_real_query() seguida ya sea de mysqli_use_result() o mysqli_store_result() donde consulta es la cadena de la consulta y resultmode es una de las constantes MYSQLI_USE_RESULT o MYSQLI_STORE_RESULT dependiendo del comportamiento deseado. Por defecto, si no se da resultmode, MYSQLI_STORE_RESULT es usado.

Si usted ejecuta mysqli_query() con resultmode MYSQLI_USE_RESULT todas las llamadas subsecuentes regresarán el código de error Commands out of sync a menos que llame mysqli_free_result().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Para SELECT, SHOW, DESCRIBE o EXPLAIN mysqli_query() regresará un objeto resultante.

Ver también

mysqli_real_query(),
mysqli_multi_query(), y
mysqli_free_result().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

    /* free result set */
    mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Error: %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

El resultado del ejemplo seria:

Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

Anterior | Inicio | Siguiente
mysqli_prepare | Subir | mysqli_real_connect


mysqli_real_connect

(PHP 5)

mysqli_real_connect

(no version information, might be only in CVS)

mysqli->real_connect -- Abre una conexión a un servidor de MySQL

Descripción

Estilo por procedimientos

bool mysqli_real_connect ( mysqli link [, cadena equipo_huésped [, cadena usuario [, cadena contraseña [, cadena nombre_de_bd [, int puerto [, cadena socket [, int banderas]]]]]]] )

Estilo orientado a objetos (método)

class mysqli {

bool real_connect ( [cadena equipo_huésped [, cadena usuario [, cadena contraseña [, cadena nombre_de_bd [, int puerto [, cadena socket [, int banderas]]]]]]] )

}

mysqli_real_connect() Intenta establecer una conexión con un equipo que tiene ejecutando un servidor de MySQL representado por el parámetro equipo_huésped.

Esta función es diferente de mysqli_connect() en lo siguiente:

  • mysqli_real_connect() necesita un objeto valido el cual tiene que ser creado por la función mysqli_init()

  • Con la función mysqli_options() tu puedes fijar varias opciones por conexión.

  • Con el parámetro banderas tu puedes fijar diferentes opciones de la conexión:

    Tabla 1. Banderas soportadas

    Nombre | Descripción
    MYSQLI_CLIENT_COMPRESS | Usa el protocolo de compresión
    MYSQLI_CLIENT_FOUND_ROWS | Regresa el número de filas encontradas, no el número de filas afectadas
    MYSQLI_CLIENT_IGNORE_SPACE | Permite espacios despues de los nombres de las funciones. Hace palabras reservadas los nombres de las funciones.
    MYSQLI_CLIENT_INTERACTIVE | Permite los segundos interactive_timeout (en vez de wait_timeout) de inactividad antes de cerrar la conexión
    MYSQLI_CLIENT_SSL | Usa SSL (encriptación)

    Nota: Por razones de seguridad la bandera MULTI_STATEMENT no es permitida en PHP. Si quiere ejecutar consultas múltiples use la función mysqli_multi_query().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_connect(),
mysqli_init(),
mysqli_options(),
mysqli_ssl_set(), y
mysqli_close().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php

/* create a connection object which is not connected */
$mysqli = mysqli_init();

/* set connection options */
$mysqli->options(MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);

/* connect to server */
$mysqli->real_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("Connection: %s\n.", $mysqli->host_info);

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php

/* create a connection object which is not connected */
$link = mysqli_init();

/* set connection options */
mysqli_options($link, MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);

/* connect to server */
mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("Connection: %s\n.", mysqli_get_host_info($link));

mysqli_close($link);
?>

El resultado del ejemplo seria:

Connection: Localhost via UNIX socket

Anterior | Inicio | Siguiente
mysqli_query | Subir | mysqli_real_escape_string


mysqli_real_escape_string

(PHP 5)

mysqli_real_escape_string

(no version information, might be only in CVS)

mysqli->real_escape_string -- Protege caracteres especiales en una cadena para ser usada en una sentencia SQL, tomando en cuenta el conjunto de caracteres para la conexión

Descripción

Estilo por procedimientos:

cadena mysqli_real_escape_string ( mysqli identificador_de_enlace, cadena escapestr )

Estilo orientado a objetos (método):

class mysqli {

cadena real_escape_string ( cadena escapestr )

}

Esta función es usada para crear una cadena SQL legal que se puede usar en una sentencia SQL. La cadena escapestr está codificada para una cadena SQL protegida, tomando en cuenta el conjunto de caracteres actual para la conexión.

Los caracteres codificados son NUL (ASCII 0), \n, \r, \, ', ", y Control-Z.

Valores retornados

Regresa una cadena protegida.

Ver también

mysqli_character_set_name().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* this query with escaped $city will work */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: 42000
1 Row inserted.

Anterior | Inicio | Siguiente
mysqli_real_connect | Subir | mysqli_real_query


mysqli_real_query

(PHP 5)

mysqli_real_query

(no version information, might be only in CVS)

mysqli->real_query -- Ejecuta una consulta SQL

Descripción

Estilo por procedimientos

bool mysqli_real_query ( mysqli identificador_de_enlace, cadena consulta )

Estilo orientado a objetos (método):

class mysqli {

bool real_query ( cadena consulta )

}

La funciÓn mysqli_real_query() es usada para ejecutar solo una consulta sobre la base de datos representada por identificador_de_enlace cuyo resultado puede ser obtenido o almacenado usando las funciones mysqli_store_result() o mysqli_use_result().

Nota: Para determinar si una consulta data debe regresar un resultado o no, vea mysqli_field_count().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_query(),
mysqli_store_result(), y
mysqli_use_result().

Anterior | Inicio | Siguiente
mysqli_real_escape_string | Subir | mysqli_report


mysqli_report

(PHP 5)

mysqli_report -- Habilita o deshabilita las funciones internas de reporte

Descripción

bool mysqli_report ( int banderas )

mysqli_report() es una poderosa función para mejorar tus consultas y código durante las etapas de desarrollo y prueba. Dependiendo de las banderas reporta errores de las llamadas a las funciones o las consultas que no usan un índice (o usa un mal índice).

Tabla 1. Banderas permitidas

Nombre | Descripción
MYSQLI_REPORT_OFF | Deshabilita el reporteado
MYSQLI_REPORT_ERROR | Reporta errores de las llamadas a cualquier función
MYSQLI_REPORT_INDEX | Reporta si no se usa índice o si se usó un índice mal construido en una consulta
MYSQLI_REPORT_ALL | Fija todas las opciones (reporta todo)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_debug(), y mysqli_dump_debug_info().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this query should report a warning */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();

$mysqli->close();
?>

Anterior | Inicio | Siguiente
mysqli_real_query | Subir | mysqli_rollback


mysqli_rollback

(PHP 5)

mysqli_rollback

(no version information, might be only in CVS)

mysqli->rollback -- Regresa/deshace la transacción actual

Descripción

bool mysqli_rollback ( mysqli identificador_de_enlace )

class mysqli {

bool rollback ( void )

}

Regresa o deshace la transacción actual pra la base de datos específicada por el parámetro identificador_de_enlace.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_commit(), y mysqli_autocommit().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
$mysqli->autocommit(FALSE);

$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
$mysqli->commit();

/* delete all rows */
$mysqli->query("DELETE FROM myCity");

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Rollback */
$mysqli->rollback();

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Drop table myCity */
$mysqli->query("DROP TABLE myCity");

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
mysqli_commit($link);

/* delete all rows */
mysqli_query($link, "DELETE FROM myCity");

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Rollback */
mysqli_rollback($link);

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Drop table myCity */
mysqli_query($link, "DROP TABLE myCity");

mysqli_close($link);
?>

El resultado del ejemplo seria:

0 rows in table myCity.
50 rows in table myCity (after rollback).

Anterior | Inicio | Siguiente
mysqli_report | Subir | mysqli_rpl_parse_enabled


mysqli_rpl_parse_enabled

(PHP 5)

mysqli_rpl_parse_enabled -- Revisa si el analizador RPL está habilitado

Descripción

int mysqli_rpl_parse_enabled ( mysqli identificador_de_enlace )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_rollback | Subir | mysqli_rpl_probe


mysqli_rpl_probe

(PHP 5)

mysqli_rpl_probe -- Prueba RPL

Descripción

bool mysqli_rpl_probe ( mysqli identificador_de_enlace )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_rpl_parse_enabled | Subir | mysqli_rpl_query_type


mysqli_rpl_query_type

(PHP 5)

mysqli_rpl_query_type

(no version information, might be only in CVS)

mysqli->rpl_query_type -- Regresa el tipo de consulta RPL

Descripción

Estilo por procedimientos:

int mysqli_rpl_query_type ( mysqli link, string query )

Estilo orientado a objetos (método)

class mysqli {

int rpl_query_type ( string query )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_rpl_probe | Subir | mysqli_select_db


mysqli_select_db

(PHP 5)

mysqli_select_db

(no version information, might be only in CVS)

mysqli->select_db -- Selecciona la base de datos por defecto para las consultas de la base de datos

Descripción

bool mysqli_select_db ( mysqli identificador_de_enlace, cadena dbname )

La función mysqli_select_db() selecciona la base de datos por defecto (específicada por el parámetro dbname) a ser usada cuando se ejecuten consultas sobre la conexión de base de datos representada por el parámetro identificador_de_enlace parameter.

Nota: Esta función solo puede ser usada para cambiar la base de datos por defecto para la conexión. Usted puede seleccionar la base de datos en el cuarto parámetro en mysqli_connect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_connect(), y mysqli_real_connect().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* change db to world db */
$mysqli->select_db("world");

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* change db to world db */
mysqli_select_db($link, "world");

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

El resultado del ejemplo seria:

Default database is test.
Default database is world.

Anterior | Inicio | Siguiente
mysqli_rpl_query_type | Subir | mysqli_send_long_data


mysqli_send_long_data

(PHP 5)

mysqli_send_long_data -- Alias para mysqli_stmt_send_long_data()

Descripción

Esta funció es un alias de mysqli_stmt_send_long_data(). Para una descripción detallada vea mysqli_stmt_send_long_data().

Nota: mysqli_send_long_data() es obsoleta y será removida.

Ver también

mysqli_stmt_send_long_data().

Anterior | Inicio | Siguiente
mysqli_select_db | Subir | mysqli_send_query


mysqli_send_query

(PHP 5)

mysqli_send_query

(no version information, might be only in CVS)

mysqli->send_query -- Envía la consulta y regresa

Description

Procedural style:

bool mysqli_send_query ( mysqli link, string query )

Object oriented style (method)

class mysqli {

bool send_query ( string query )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_send_long_data | Subir | mysqli_server_end


mysqli_server_end

(PHP 5 <= 5.0.4)

mysqli_server_end -- Termina el proceso del Servidor

Descripción

void mysqli_server_end ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_send_query | Subir | mysqli_server_init


mysqli_server_init

(PHP 5 <= 5.0.4)

mysqli_server_init -- Inicializa un servidor embebido

Descripción

bool mysqli_server_init ( [array server [, array groups]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
mysqli_server_end | Subir | mysqli_set_charset


mysqli_set_opt

(PHP 5)

mysqli_set_opt -- Alias de mysqli_options()

Descripción

Esta función es un alias de mysqli_options().

Anterior | Inicio | Siguiente
mysqli_set_local_infile_handler | Subir | mysqli_slave_query


mysqli_sqlstate

(PHP 5)

mysqli_sqlstate

(no version information, might be only in CVS)

mysqli->sqlstate -- Regresa el error SQLSTATE de la operación MySQL previa

Descripción

Estilo por procedimientos:

cadena mysqli_sqlstate ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

int sqlstate

}

Regresa una cadena conteniendo el código de error SQLSTATE para el último error. El código de error consiste en cinco caracteres. '00000' significa que no hay error. Los valores están especificados por el SQL ANSI y ODBC. Para una lista de los valores posibles, vea http://dev.mysql.com/doc/mysql/en/error-handling.html.

Nota: Noete que no todos los errores de MySQL han sido mapeados a los de SQLSTATE. El valor HY000 (error general) es usado para errores no mapeados.

Valores retornados

Regresa una cadena conteniendo el código de error SQLSTAT para el último error. El código de error consiste en cinco caracteres. '00000' significa que no hubo error.

Ver también

mysqli_errno(), y mysqli_error().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

mysqli_close($link);
?>

El resultado del ejemplo seria:

Error - SQLSTATE 42S01.

Anterior | Inicio | Siguiente
mysqli_slave_query | Subir | mysqli_ssl_set


mysqli_ssl_set

(PHP 5)

mysqli_ssl_set

(no version information, might be only in CVS)

mysqli->ssl_set -- Usado para establecer conexiones seguras usando SSL

Descripción

Estilo por procedimientos:

bool mysqli_ssl_set ( mysqli identificador_de_enlace, cadena key, cadena cert, cadena ca, cadena capath, cadena cipher )

Estilo orientado a objetos (método):

class mysqli {

bool ssl_set ( cadena key, cadena cert, cadena ca, cadena capath, cadena cipher )

}

La función mysqli_ssl_set() es usada para establecer conexiones seguras usando SSL. Esta debe ser llamada antes de mysqli_real_connect(). Esta función no hace nada a menos que el soporte OpenSSL este activo.

key es la ubicación del archivo principal. cert es la ubicación del archivo del certificado. ca es la ubicación del archivo de autorización del certificado. capath es la ubicación del directorio que contiene los certificados SSL CA en que se confí en formato pem. cipher es una lista de los ciphes permitidos a usar para la encriptación SSL. Cualquier parámetro SSL sin usar, recibirá el valor NULL

Valores retornados

Está función siempre regresa el valor TRUE. Si la disposición de SSL está incorrecta mysqli_real_connect() regresará un error cuando se intente conectar.

Ver también

mysqli_options(), y mysqli_real_connect().

Anterior | Inicio | Siguiente
mysqli_sqlstate | Subir | mysqli_stat


mysqli_stat

(PHP 5)

mysqli_stat

(no version information, might be only in CVS)

mysqli->stat -- Obtiene el estado actual del sistema

Descripción

Estilo por procedimientos:

mixto mysqli_stat ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

mixto stat ( void )

}

mysqli_stat() regresa una cadena conteniendo información similar a la proveida por el comando 'mysqladmin status'. Esto incluye el tiempo total activo del servidor en segundos y en número de procesos ejecutandose, preguntas, recargas y tablas abiertas.

Valores retornados

Una cadena describiendo el estado del servidor. FALSE si un error ocurre.

Ver también

mysqli_get_server_info().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("System status: %s\n", $mysqli->stat());

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("System status: %s\n", mysqli_stat($link));

mysqli_close($link);
?>

El resultado del ejemplo seria:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Anterior | Inicio | Siguiente
mysqli_ssl_set | Subir | mysqli_stmt_affected_rows


mysqli_stmt_affected_rows

(PHP 5)

mysqli_stmt_affected_rows

(no version information, might be only in CVS)

mysqli_stmt->affected_rows -- Regresa el número total de filas cambiadas, borradas o insertadas por la última sentencia ejecutada

Descripción

Estilo por procedimientos :

mixto mysqli_stmt_affected_rows ( mysqli_stmt stmt )

EStilo orientado a objetos (propiedad):

class mysqli_stmt {

mixto affected_rows

}

mysqli_stmt_affected_rows() regresa el número de filas afectadas por consultas INSERT, UPDATE o DELETE. Si la última consulta fue invalida, esta función regresará -1

La función mysqli_stmt_affected_rows() solo funciona con consultas que actualizan tablas. Para obtener el número de filas de una consulta SELECT, use la función mysqli_stmt_num_rows().

Valores retornados

Un entero mayor a cero indica el número de filas afectadas u obtenidas. Cero indica que no hubo registros actualizados para sentencias UPDATE/DELETE, no hubo filas que concordaran la cláusula WHERE en la consulta o que no se ha ejecutado ninguna consulta todavía. -1 indifca que la consulta ha regresado un error.

Nota: Si el número de filas afectadas es mayor que el valor entero maximo de PHP, el número de filas afectadas será regresada como una cadena.

Ver también

mysqli_stmt_num_rows(), y mysqli_prepare().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = $mysqli->prepare($query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* execute statement */
    $stmt->execute();

      printf("rows inserted: %d\n", $stmt->affected_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* execute statement */
    mysqli_stmt_execute($stmt);

      printf("rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

rows inserted: 17

Anterior | Inicio | Siguiente
mysqli_stat | Subir | mysqli_stmt_attr_get


mysqli_stmt_bind_param

(PHP 5)

mysqli_stmt_bind_param

(no version information, might be only in CVS)

stmt->bind_param -- Enlaza variables como parámetros a una sentencia preparada

Descripción

Estilo por procedimientos:

bool mysqli_stmt_bind_param ( mysqli_stmt stmt, cadena types, mixto &var1 [, mixto & ...] )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool bind_param ( matriz types, mixto &var1 [, mixto & ...] )

}

mysqli_stmt_bind_param() es usada para enlazar variables para los marcadores de parámetros en la sentencia SQL que fue pasada a mysqli_prepare(). La cadena types contiene uno o más caracteres los cuales especifican los tipos para las variables enlazadas correspondientes.

Tabla 1. Especificación de caracteres de tipo

Caracter | Descripción
i | La variable correspondiente tiene tipo entero
d | La variable correspondiente tiene tipo doble
s | La variable correspondiente tiene tipo cadena
b | La variable correspondiente tiene tipo BLOB y será enviada en paquetes

Nota: Si el tamaño de los datos de la variable exceden el tamaño maximo permitido para un paquete (max_allowed_package), tienes que específicar b en types y usar mysqli_stmt_send_long_data() para enviar los datos en paquetes.

El número de variables y longitud de la cadena types debe coincidir los parámetros en la sentencia.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también

mysqli_stmt_bind_result(),
mysqli_stmt_execute(),
mysqli_stmt_fetch(),
mysqli_prepare(),
mysqli_stmt_send_long_data(),
mysqli_stmt_errno(), y
mysqli_stmt_error().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", $mysqli->affected_rows);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
mysqi_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

1 Row inserted.
1 Row deleted.

Anterior | Inicio | Siguiente
mysqli_stmt_attr_set | Subir | mysqli_stmt_bind_result


mysqli_stmt_bind_result

(PHP 5)

mysqli_stmt_bind_result

(no version information, might be only in CVS)

stmt->bind_result -- Enlaza variables a una sentencia preparada para el almacenamiento del resultado

Descripción

Estilo por procedimientos:

bool mysqli_stmt_bind_result ( mysqli_stmt stmt, mixto &var1 [, mixto & ...] )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool bind_result ( mixto &var1 [, mixto & ...] )

}

mysqli_stmt_bind_result() es usada para asociar (enlazar) columnas en el resultado a variables. Cuando mysqli_stmt_fetch() es llamada para obtener datos, el protocolo cliente/servidor de MySQL coloca los datos para las columnas delimitadas en las variables específicadas en var1, ....

Nota: Note que todas las columnas deben estar delimitadas antes de llamar mysqli_stmt_fetch(). Dependiendo en los tipos de columnas a las variables delimitadas pueden silenciosamente cambiar al tipo correspondiente en PHP.

Una columna puede ser delimitada o re-delimitada en cualquier momento, aún despues de que se ha recuperado parcialmente un resultado. La nueva delimitación toma efecto la siguiente vez que mysqli_stmt_fetch() es llamada.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_stmt_bind_param(),
mysqli_stmt_execute(),
mysqli_stmt_fetch(),
mysqli_prepare(),
mysqli_stmt_prepare(),
mysqli_stmt_init(),
mysqli_stmt_errno(), y
mysqli_stmt_error().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $stmt->execute();

    /* bind variables to prepared statement */
    $stmt->bind_result($col1, $col2);

    /* fetch values */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    $stmt->close();
}
/* close connection */
$mysqli->close();

?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);

    /* bind variables to prepared statement */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
       printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Anterior | Inicio | Siguiente
mysqli_stmt_bind_param | Subir | mysqli_stmt_close


mysqli_stmt_close

(PHP 5)

mysqli_stmt_close

(no version information, might be only in CVS)

mysqli_stmt->close -- Cierra la sentencia preparada

Descripción

Estilo por procedimientos:

bool mysqli_stmt_close ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool close ( void )

}

Cierra una sentencia preparada. mysqli_stmt_close() también desaloja el manejador de sentencias apuntado por stmt. Si la sentencia actual tiene resultados pendientes o no leídos, esta función los cancela de tal manera que la siguiente consulta pueda ser ejecutada.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_prepare().

Anterior | Inicio | Siguiente
mysqli_stmt_bind_result | Subir | mysqli_stmt_data_seek


mysqli_stmt_data_seek

(PHP 5)

mysqli_stmt_data_seek

(no version information, might be only in CVS)

stmt->data_seek -- Busca una fila arbitrariamente en el resultado

Descripción

Estilo por procedimientos:

bool mysqli_stmt_data_seek ( mysqli_stmt statement, int offset )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool data_seek ( int offset )

}

La función mysqli_stmt_data_seek() busca por una posición arbitraria en el resultado, especificada por offset en el resultado representado por statement. El parámetro offset debe ser un valor entre cero y el número total de filas menos 1 (0..mysqli_stmt_num_rows() - 1).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_prepare().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* store result */
    $stmt->store_result();

    /* seek to row no. 400 */
    $stmt->data_seek(399);

    /* fetch values */
    $stmt->fetch();

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* store result */
    mysqli_stmt_store_result($stmt);

    /* seek to row no. 400 */
    mysqli_stmt_data_seek($stmt, 399);

    /* fetch values */
    mysqli_stmt_fetch($stmt);

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

City: Benin City  Countrycode: NGA

Anterior | Inicio | Siguiente
mysqli_stmt_close | Subir | mysqli_stmt_errno


mysqli_stmt_errno

(PHP 5)

mysqli_stmt_errno

(no version information, might be only in CVS)

mysqli_stmt->errno -- Regresa el código de error para la llamada más reciente

Descripción

Estilo por procedimientos:

int mysqli_stmt_errno ( mysqli_stmt stmt )

Estilo orientado a objetos (propiedad):

class mysqli_stmt {

int errno

}

Para la sentencia específicada por stmt, mysqli_stmt_errno() regresa el código de error para la función más recientemente ejecutada, que pudo ser exitosa o fallar.

Nota: Los números de los mensajes de error del cliente están listados en el archivo de encabezados errmsg.h de MySQL, Los números de los mensajes de error del servidor están listados en mysqld_error.h. En la distribución de los fuentes de MySQL puede encontrar una lista completa de los mensajes de error y los números de error en el archivo Docs/mysqld_error.txt.

Valores retornados

Un valor de código de error. Cero significa que no ocurrió error.

Ver también

mysqli_stmt_error(), y mysqli_stmt_sqlstate().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %d.\n", $stmt->errno);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %d.\n", mysqli_stmt_errno($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: 1146.

Anterior | Inicio | Siguiente
mysqli_stmt_data_seek | Subir | mysqli_stmt_error


mysqli_stmt_error

(PHP 5)

mysqli_stmt_error

(no version information, might be only in CVS)

mysqli_stmt->error -- Regresa una descipción para el último error

Descripción

Estilo por procedimientos:

cadena mysqli_stmt_error ( mysqli_stmt stmt )

Estilo orientado a objetos (propiedad):

class mysqli_stmt {

cadena error

}

Para la sentencia específicada por stmt, mysqli_stmt_error() regresa un mensaje de error para la llamada más reciente a una sentencia SQL, que pudo ser exitosa o fallar.

Valores retornados

Una cadena que describe el error. Una cadena vacía si no hubo error.

Ver también

mysqli_stmt_errno(), y mysqli_stmt_sqlstate().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->error);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_error($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: Table 'world.myCountry' doesn't exist.

Anterior | Inicio | Siguiente
mysqli_stmt_errno | Subir | mysqli_stmt_execute


mysqli_stmt_execute

(PHP 5)

mysqli_stmt_execute

(no version information, might be only in CVS)

stmt->execute -- Ejecuta una consulta preparada

Descripción

Estilo por procedimientos:

bool mysqli_stmt_execute ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool execute ( void )

}

La función mysqli_stmt_execute() ejecuta una consulta que había sido previamente preparada usando la función mysqli_prepare() representada por el objeto stmt. Cuando se ejecuta cualquier marcador de parámetro que exista será automáticamente remplazado con los datos apropiados.

Si la sentencia es UPDATE, DELETE, o INSERT, el número total de filas afectadas puede ser determinada usabdo la función mysqli_stmt_affected_rows(). Asimismo, si la consulta produce un resultado la función mysqli_stmt_fetch() es usada.

Nota: Cuando se usa mysqli_stmt_execute(), la función mysqli_stmt_fetch() debe ser usada para recuperar los datos antes de realizar cualquier consulta adicional.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_prepare(), y mysqli_stmt_bind_param().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
$stmt->execute();

 close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    $result->close();
}

/* remove table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
mysqli_stmt_execute($stmt);

/* close statement */
mysqli_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    mysqli_free_result($result);
}

/* remove table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Anterior | Inicio | Siguiente
mysqli_stmt_error | Subir | mysqli_stmt_fetch


mysqli_stmt_fetch

(PHP 5)

mysqli_stmt_fetch

(no version information, might be only in CVS)

stmt->fetch -- Obtiene el resultado de una sentencia SQL preparada en las variables enlazadas

Descripción

Estilo por procedimientos:

mixto mysqli_stmt_fetch ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

mixto fetch ( void )

}

mysqli_stmt_fetch() obtiene el resultado de una sentencia preparada en las variables ligadas por mysqli_stmt_bind_result().

Nota: Note que todas las columnas deben estar enlazadas por la aplicación antes de llamar mysqli_stmt_fetch().

Valores retornados

Tabla 1. Valores retornados

Valor | Descripción
TRUE | Exito. Los datos han sido obtenidos
FALSE | Ocurrió un error
NULL | No existen más filas/datos

Ver también

mysqli_prepare(),
mysqli_stmt_errno(),
mysqli_stmt_error(), y
mysqli_stmt_bind_result().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

    /* execute statement */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* fetch values */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

    /* execute statement */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Anterior | Inicio | Siguiente
mysqli_stmt_execute | Subir | mysqli_stmt_field_count


mysqli_stmt_free_result

(PHP 5)

mysqli_stmt_free_result

(no version information, might be only in CVS)

stmt->free_result -- Libera la memoria donde se almacenó el resultado

Descripción

Estilo por procedimientos:

void mysqli_stmt_free_result ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

void free_result ( void )

}

La función mysqli_stmt_free_result() libera la memoria del resultado asociado con la sentencia representada por el parámetro stmt, el cual fue asignado por mysqli_stmt_store_result().

Valores retornados

Esta función no regresa ningun valor.

Ver también

mysqli_stmt_store_result().

Anterior | Inicio | Siguiente
mysqli_stmt_field_count | Subir | mysqli_stmt_get_warnings


mysqli_stmt_init

(PHP 5)

mysqli_stmt_init

(no version information, might be only in CVS)

mysqli->stmt_init -- Inicializa una sentencia y regresa un objeto para ser usado con mysqli_stmt_prepare

Descripción

Estilo por procedimientos :

mysqli_stmt mysqli_stmt_init ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

mysqli_stmt stmt_init ( void )

}

Asigna e inicializa una objeto de sentencia conveniente para mysqli_stmt_prepare().

Nota: Cualquier llamada subsecuente a cualquier función mysqli_stmt fallará hasta que sea llamada mysqli_stmt_prepare().

Valores retornados

Regresa un objeto.

Ver también

mysqli_stmt_prepare().

Anterior | Inicio | Siguiente
mysqli_stmt_get_warnings | Subir | mysqli_stmt_insert_id


mysqli_stmt_num_rows

(PHP 5)

mysqli_stmt_num_rows

(no version information, might be only in CVS)

stmt->num_rows -- Regresa el número de filas en un resultado de la sentencia

Descripción

Estilo por procedimientos :

mixto mysqli_stmt_num_rows ( mysqli_stmt stmt )

Estilo orientado a objetos (propiedad):

class mysqli_stmt {

int num_rows

}

Regresa el número de filas en el resultado. El uso de mysqli_stmt_num_rows() depende de que use mysqli_stmt_store_result() para almacenar todo el resultado en el manejador de la sentencia.

Si usa mysqli_stmt_store_result(), mysqli_stmt_num_rows() debe ser llamada inmediatamente.

Valores retornados

Un entero representando el número de filas en el resultado.

Ver también

mysqli_stmt_affected_rows(),
mysqli_prepare(), y
mysqli_stmt_store_result().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Number of rows: 20.

Anterior | Inicio | Siguiente
mysqli_stmt_insert_id | Subir | mysqli_stmt_param_count


mysqli_stmt_param_count

(PHP 5)

mysqli_stmt_param_count

(no version information, might be only in CVS)

stmt->param_count -- Regresa el número de parámetros para la sentencia dada

Descripción

Estilo por procedimientos:

int mysqli_stmt_param_count ( mysqli_stmt stmt )

Estilo orientado a objetos (propiedad):

class mysqli_stmt {

int param_count

}

mysqli_stmt_param_count() regresa el número de marcadores de parámetro presentes en la sentencia preparada.

Valores retornados

Regresa un entero representando el número de parámetros.

Ver también

mysqli_prepare().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = $stmt->param_count;
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = mysqli_stmt_param_count($stmt);
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Statement has 2 markers.

Anterior | Inicio | Siguiente
mysqli_stmt_num_rows | Subir | mysqli_stmt_prepare


mysqli_stmt_prepare

(PHP 5)

mysqli_stmt_prepare

(no version information, might be only in CVS)

stmt->prepare -- Prepara una sentencia SQL para su ejecución

Descripción

Estilo por procedimientos:

bool mysqli_stmt_prepare ( mysqli_stmt stmt, cadena query )

Estilo orientado a objetos (método)

class mysqli_stmtt {

mixto prepare ( cadena query )

}

mysqli_stmt_prepare() prepara la consulta SQL apuntada por la cadena de consulta terminada en NULL. El objeto de la sentencia tiene que ser asignado por mysqli_stmt_init(). La consulta debe consistir de una sentencia SQL sencilla.

Nota: No debe agregar al final el punto y coma o \g a la sentencia.

El parámetro query puede incluir uno o más marcadores de parámetro en la sentencia SQL, insertando el caracter interrogativo (?) en la posición apropiada.

Nota: Los marcadores son legales solo en ciertos lugares en la sentencia SQL. Por ejemplo, son permitidos en la lista VALUES() de una sentencia INSERT (para específicar calores de columnas para una fila), o en una comparación con una columna en una clausula WHERE para específicar un valor de comparación.

Sin embargo, no son permitidos para identificadores (tales como nombres de tabla o columna), en el listado de los nombres de las columnas a ser regresadas por la sentencia SELECT, o para específicar operadores de resultado binario, tales como = el signo de igual. La última restricción es necesaria porque serí imposuble determinar el tipo de parámetro. En general, los marcadores de parámetro son legales solo en las sentencias del lenguaje de manipulación de datos (DML), y no en las sentencias del lenguaje de definición de datos (DDL).

Los marcadores de parámetro deben estar enlazados a variables de aplicación usando mysqli_stmt_bind_param() y/o mysqli_stmt_bind_result() antes de ejecutar la sentencia u obtener las filas del resultado.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_stmt_init(),
mysqli_stmt_execute(),
mysqli_stmt_fetch(),
mysqli_stmt_bind_param(),
mysqli_stmt_bind_result(), y
mysqli_stmt_close().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt = mysqli_stmt_init();
if ($stmt = mysqli_stmt_prepare($stmt, "SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Amersfoort is in district Utrecht

Anterior | Inicio | Siguiente
mysqli_stmt_param_count | Subir | mysqli_stmt_reset


mysqli_stmt_result_metadata

(PHP 5)

mysqli_stmt_result_metadata -- Regresa metadatos del resultado de una sentencia preparada

Descripción

Estilo por procedimientos:

mixto mysqli_stmt_result_metadata ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

mixto result_metadata ( void )

}

Si una sentencia pasada a mysqli_prepare() es una que produce un resultado, mysqli_stmt_result_metadata() regresa el objeto del resultado que puede ser usado para procesar los metadatos de información tales como el número total de campos e información del campo individual.

Nota: Este apuntador del resultado puede ser pasado como un argumento a cualquiera de las funciones basadas en campos que procesan los metadatos del resultado tales como:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

La estructura del resultado debe ser liberada cuando haya terminado con esta, lo cual puede hacer pasandola a mysqli_free_result()

Nota: El resultado regresado por mysqli_stmt_result_metadata() contiene solo metadatos. No contiene ninguna fila del resultado. Las filas son obtenidas usando el manejador de la sentencia con mysqli_stmt_fetch().

Valores retornados

mysqli_stmt_result_metadata() regresa un objeto del resultado o FALSE si ocurrio un error.

Ver también

mysqli_prepare(), y mysqli_free_result().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = mysqli_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Anterior | Inicio | Siguiente
mysqli_stmt_reset | Subir | mysqli_stmt_send_long_data


mysqli_stmt_send_long_data

(PHP 5)

mysqli_stmt_send_long_data

(no version information, might be only in CVS)

stmt->send_long_data -- Envía los datos en bloques

Descripción

Estilo por procedimientos:

bool mysqli_stmt_send_long_data ( mysqli_stmt stmt, int param_nr, cadena data )

Estilo orientado a objetos (método)

class mysqli_stmt {

bool send_long_data ( int param_nr, cadena data )

}

Permite enviar datos de parámetro al servidor en piezas (o pedazos) ej. si el tamaño de un dato BLOB excede el tamaño de max_allowed_packet. Esta función puede ser llamada multiples veces para enviar las partes de un caracter o valor de datos binario de una columna, la cual debe ser uno de los tipos de datos TEXT o BLOB.

param_nr indica cual parámetro asociar con los datos. Los parámetros son numerados empezando desde cero. data es una cadena conteniendo los datos a ser enviados.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_prepare(), y mysqli_stmt_bind_param().

Anterior | Inicio | Siguiente
mysqli_stmt_result_metadata | Subir | mysqli_stmt_sqlstate


mysqli_stmt_sqlstate

(PHP 5)

mysqli_stmt_sqlstate -- Regresa el error SQLSTATE de la operación con sentencias previa

Descripción

cadena mysqli_stmt_sqlstate ( mysqli_stmt stmt )

Regresa una cadena conteniendo el código de error SQLSTATE para la sentencia preparada más recientemente invocada que pudo ser exitosa o fallar. El código de error consiste de cinco caracteres. '00000' significa que no hubo error. Los valores son específicados por ANSI SQL y ODBC. Para una lista de los posibles valores vea http://dev.mysql.com/doc/mysql/en/error-handling.html.

Nota: Note que no todos los errores de MySQL tienen un correspondiente en SQLSTATE. El valor HY000 (error general) es usado para errores que no tienen ese correspondiente.

Valores retornados

Regresa una candena conteniendo el código de error SQLSTATE para el último error. El código de error consiste de cinco caracteres. '00000' significa que no hubo error.

Ver también

mysqli_stmt_errno(), y mysqli_stmt_error().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->sqlstate);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: 42S02.

Anterior | Inicio | Siguiente
mysqli_stmt_send_long_data | Subir | mysqli_stmt_store_result


mysqli_stmt_store_result

(PHP 5)

mysqli_stmt_store_result

(no version information, might be only in CVS)

mysqli_stmt->store_result -- Transfiere un resultado de una sentencia preparada

Descripción

Estilo por procedimientos:

bool mysqli_stmt_store_result ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

mysqli_result store_result ( void )

}

Se debe llamar mysqli_stmt_store_result() para cada consulta que exitosamente produce un resultado (SELECT, SHOW, DESCRIBE, EXPLAIN), y solo si quiere almacenar el resultado completo en el lado del cliente, asi que las subsecuentes llamadas mysqli_stmt_fetch() regresarán los datos almacenados en la memoria intermedia (BUFFER).

Nota: Es inecesario llamar mysqli_stmt_store_result() para otras consultas, pero si lo hace, no dañará o causará cualquier cambio en el desempeño en cualquier caso. Puede detectar si la consulta produjo un resultado checando si mysqli_stmt_result_metadata() regresa NULL.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_prepare(),
mysqli_stmt_result_metadata(), y
mysqli_stmt_fetch().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* free result */
    $stmt->free_result();

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* free result */
    mysqli_stmt_free_result($stmt);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Number of rows: 20.

Anterior | Inicio | Siguiente
mysqli_stmt_sqlstate | Subir | mysqli_store_result


mysqli_store_result

(PHP 5)

mysqli_store_result

(no version information, might be only in CVS)

mysqli->store_result -- Transfiere un resultado de la última consulta

Descripción

Estilo por procedimientos:

objeto mysqli_store_result ( mysqli_stmt identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

objeto store_result ( void )

}

Transfiere el resultado de la última consulta en la conexión de base de datos representada por el parámetro identificador_de_enlace, para ser usado con la función mysqli_data_seek().

Nota: Aunque es siempre una buena practica liberar la memoria usada por el resultado de una consulta usando la función mysqli_free_result(), cuando se transfieren resultados de gran tamaño usando mysqli_store_result() en este caso esta practica se convierte particularmente importante.

Nota: mysqli_store_result() regresa FALSE en caso de que la consulta no regrese un resultado (si la consulta fue, por ejemplo una sentencia INSERT). Esta función también regresa FALSE si falla la lectura del resultado. Puede checar si obtuvo un error checando si mysqli_error() no regresa una cadena vacía, si mysqli_errno() regresa un valor diferente de cero o si mysqli_field_count() regresa un valor diferente de cero. También es una razón posible para que esta función regrese FALSE después que una llamada exitosa de mysqli_query() pueda ser demasiado grande el resultado (la memoria no lo puede contener). Si mysqli_field_count() regresa un valor no cero, la sentencia debió producir un resultado no vacío.

Valores retornados

Regresa un objeto resultado con almacenamiento intermedio (buffered) o FALSE si ocurre un error.

See also

mysqli_real_query(), y mysqli_use_result().

Ejemplos

Vea mysqli_multi_query().

Anterior | Inicio | Siguiente
mysqli_stmt_store_result | Subir | mysqli_thread_id


mysqli_thread_id

(PHP 5)

mysqli_thread_id

(no version information, might be only in CVS)

mysqli->thread_id -- Regresa el identificador del THREAD para la conexión actual

Descripción

Estilo por procedimientos:

int mysqli_thread_id ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

int thread_id

}

La finción mysqli_thread_id() regresa el identificador del THREAD para la conexión actual la cual puede ser entonces destruir usando la función mysqli_kill(). Si la conexión se pierde y se reconecta con mysqli_ping(), el identificador del THREAD será otro. Por lo tanto debe obtener el identificador del THREAD solo cuando lo necesite.

Nota: El identificador del THREAD es asignado en base a conexión. Por lo tanto si la conexión está rota y entonces se reestablece se le asignará un nuevo identificador de THREAD.

Para destruir una consulta que se está ejecutando use el comando SQL KILL QUERY processid.

Valores retornados

mysqli_thread_id() regresa el identificador del THREAD para la conexión actual.

Ver también

mysqli_kill().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: MySQL server has gone away

Anterior | Inicio | Siguiente
mysqli_store_result | Subir | mysqli_thread_safe


mysqli_thread_safe

(PHP 5)

mysqli_thread_safe -- Regresa si se ha dado un THREAD seguro o no Returns whether thread safety is given or not

Descripción

Estilo por procedimientos:

bool mysqli_thread_safe ( void )

mysqli_thread_safe() indica si la libreria del cliente ha sido compilada como thread seguro.

Valores retornados

TRUE si la libreria del client es thread seguro, en otro caso FALSE.

Anterior | Inicio | Siguiente
mysqli_thread_id | Subir | mysqli_use_result


mysqli_use_result

(PHP 5)

mysqli_use_result

(no version information, might be only in CVS)

mysqli->use_result -- Inicia una recuperación de un resultado

Descripción

Estilo por procedimientos:

mixto mysqli_use_result ( mysqli identificador_de_enlace )

Estilo orientado a objetos (método):

class mysqli {

mixto use_result ( void )

}

mysqli_use_result() es usada para iniciar la recuperación de un resultado de la última consulta ejecutada usando la función mysqli_real_query() en la conexión de base de datos específicda por el parámetro identificador_de_enlace. Esta o la funció mysqli_store_result() debe ser llamada antes de que el resultado de una consulta pueda ser recuperado, y una o la otra debe esr llamada para prevenir que falle la siguiente consulta en la conexión a la base de datos.

Nota: La función mysqli_use_result() no transfiere el resultado completo de la base de datos y por lo tanto no puede ser usadas funciones tales como mysqli_data_seek() para moverse a una fila indicada en el resultado. Para usar esta funcionalidad, el resultado debe ser almacenado usando mysqli_store_result(). No se debe usar mysqli_use_result() si se está haciendo demasiado procesamiento en el lado del cliente, puesto que esto sobrecargará el servidor y evitará que otros procesos puedan actualizar cualquier tabla de entre las cuales los datos están siendo obtenidos.

Valores retornados

Regresa el objeto resultante sin almacenamiento intermedio o FALSE si ha ocurrido un error.

Ver también

mysqli_real_query(), y mysqli_store_result().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Anterior | Inicio | Siguiente
mysqli_thread_safe | Subir | mysqli_warning_count


mysqli_warning_count

(PHP 5)

mysqli_warning_count

(no version information, might be only in CVS)

mysqli->warning_count -- Regresa el número de alertas de la última consulta para el identificador de enlace dado

Descripción

Estilo por procedimientos:

int mysqli_warning_count ( mysqli identificador_de_enlace )

Estilo orientado a objetos (propiedad):

class mysqli {

int warning_count

}

mysqli_warning_count() regresa el número de alertas de la última consulta en la conexión representada por el parámetro identificador_de_enlace.

Nota: Para recuperar los mensajes de alerta, puede usar el comando SQL SHOW WARNINGS [limit row_count].

Valores retornados

El Número de alertas o cero si no hay alertas.

Ver también

mysqli_errno(),
mysqli_error(), y
mysqli_sqlstate().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Warning (1264): Data truncated for column 'Name' at row 1

Anterior | Inicio | Siguiente
mysqli_use_result | Subir | Funciones de Control de Pantalla con Terminal Ncurses


Mohawk Software Session Handler Functions

Manual de PHP
Anterior Siguiente

XCII. Mohawk Software Session Handler Functions

Introducción

msession is an interface to a high speed session daemon which can run either locally or remotely. It is designed to provide consistent session management for a PHP web farm. More Information about msession and the session server software itself can be found at http://www.mohawksoft.org/?q=node/8.

Nota: Esta extensión no está disponible en plataformas Windows

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.3.

Requisitos

Instalación

To enable Msession support configure PHP --with-msession[=DIR], where DIR is the Msession install directory.

Configuración en tiempo de ejecución

Tipos de recursos

Constantes predefinidas

Tabla de contenidos
msession_connect -- Connect to msession server
msession_count -- Get session count
msession_create -- Create a session
msession_destroy -- Destroy a session
msession_disconnect -- Close connection to msession server
msession_find -- Find all sessions with name and value
msession_get_array -- Get array of msession variables
msession_get_data -- Get data session unstructured data
msession_get -- Get value from session
msession_inc -- Increment value in session
msession_list -- List all sessions
msession_listvar -- List sessions with variable
msession_lock -- Lock a session
msession_plugin -- Call an escape function within the msession personality plugin
msession_randstr -- Get random string
msession_set_array -- Set msession variables from an array
msession_set_data -- Set data session unstructured data
msession_set -- Set value in session
msession_timeout -- Set/get session timeout
msession_uniq -- Get unique id
msession_unlock -- Unlock a session

Anterior | Inicio | Siguiente
PDO_DBLIB DSN | Subir | msession_connect


msession_connect

(PHP 4 >= 4.2.0, PHP 5)

msession_connect -- Connect to msession server

Descripción

bool msession_connect ( string host, string port )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
Mohawk Software Session Handler Functions | Subir | msession_count


msession_count

(PHP 4 >= 4.2.0, PHP 5)

msession_count -- Get session count

Descripción

int msession_count ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_connect | Subir | msession_create


msession_create

(PHP 4 >= 4.2.0, PHP 5)

msession_create -- Create a session

Descripción

bool msession_create ( string session )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_count | Subir | msession_destroy


msession_destroy

(PHP 4 >= 4.2.0, PHP 5)

msession_destroy -- Destroy a session

Descripción

bool msession_destroy ( string name )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_create | Subir | msession_disconnect


msession_disconnect

(PHP 4 >= 4.2.0, PHP 5)

msession_disconnect -- Close connection to msession server

Descripción

void msession_disconnect ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_destroy | Subir | msession_find


msession_find

(PHP 4 >= 4.2.0, PHP 5)

msession_find -- Find all sessions with name and value

Descripción

array msession_find ( string name, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_disconnect | Subir | msession_get_array


msession_get_array

(PHP 4 >= 4.2.0, PHP 5)

msession_get_array -- Get array of msession variables

Descripción

array msession_get_array ( string session )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_find | Subir | msession_get_data


msession_get_data

(PHP 4 >= 4.2.0, PHP 5)

msession_get_data -- Get data session unstructured data

Descripción

string msession_get_data ( string session )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_get_array | Subir | msession_get


msession_get

(PHP 4 >= 4.2.0, PHP 5)

msession_get -- Get value from session

Descripción

string msession_get ( string session, string name, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_get_data | Subir | msession_inc


msession_inc

(PHP 4 >= 4.2.0, PHP 5)

msession_inc -- Increment value in session

Descripción

string msession_inc ( string session, string name )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_get | Subir | msession_list


msession_list

(PHP 4 >= 4.2.0, PHP 5)

msession_list -- List all sessions

Descripción

array msession_list ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_inc | Subir | msession_listvar


msession_listvar

(PHP 4 >= 4.2.0, PHP 5)

msession_listvar -- List sessions with variable

Descripción

array msession_listvar ( string name )

Used for searching sessions with common attributes.

Valores retornados

Returns an associative array of value/session for all sessions with a variable named name.

Anterior | Inicio | Siguiente
msession_list | Subir | msession_lock


msession_lock

(PHP 4 >= 4.2.0, PHP 5)

msession_lock -- Lock a session

Descripción

int msession_lock ( string name )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_listvar | Subir | msession_plugin


msession_plugin

(PHP 4 >= 4.2.0, PHP 5)

msession_plugin -- Call an escape function within the msession personality plugin

Descripción

string msession_plugin ( string session, string val [, string param] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_lock | Subir | msession_randstr


msession_randstr

(PHP 4 >= 4.2.0, PHP 5)

msession_randstr -- Get random string

Descripción

string msession_randstr ( int param )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_plugin | Subir | msession_set_array


msession_set_array

(PHP 4 >= 4.2.0, PHP 5)

msession_set_array -- Set msession variables from an array

Descripción

void msession_set_array ( string session, array tuples )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_randstr | Subir | msession_set_data


msession_set_data

(PHP 4 >= 4.2.0, PHP 5)

msession_set_data -- Set data session unstructured data

Descripción

bool msession_set_data ( string session, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_set_array | Subir | msession_set


msession_set

(PHP 4 >= 4.2.0, PHP 5)

msession_set -- Set value in session

Descripción

bool msession_set ( string session, string name, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_set_data | Subir | msession_timeout


msession_timeout

(PHP 4 >= 4.2.0, PHP 5)

msession_timeout -- Set/get session timeout

Descripción

int msession_timeout ( string session [, int param] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_set | Subir | msession_uniq


msession_uniq

(PHP 4 >= 4.2.0, PHP 5)

msession_uniq -- Get unique id

Descripción

string msession_uniq ( int param )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_timeout | Subir | msession_unlock


msession_unlock

(PHP 4 >= 4.2.0, PHP 5)

msession_unlock -- Unlock a session

Descripción

int msession_unlock ( string session, int key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
msession_uniq | Subir | Funciones mSQL


muscat Functions

Manual de PHP
Anterior Siguiente

XCV. muscat Functions

Introducción

This extension provides an interface to the Muscat 3.6 search system. Muscat doesn't exist anymore, but the Xapian project may provide you with a good alternative.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Instalación

These functions are only available if PHP was configured with --with-muscat[=DIR].

Tabla de contenidos
muscat_close -- Shuts down the muscat session
muscat_get -- Gets a line back from the core muscat API
muscat_give -- Sends string to the core muscat API
muscat_setup_net -- Creates a new muscat session
muscat_setup -- Creates a new local muscat session

Anterior | Inicio | Siguiente
mb_substr | Subir | muscat_close


muscat_close

(4.0.5 - 4.2.3 only, PECL)

muscat_close -- Shuts down the muscat session

Descripción

void muscat_close ( resource muscat_handle )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Shuts down the muscat session and releases any memory back to PHP.

Lista de parámetros

muscat_handle

A muscat session handler, returned by muscat_setup() or muscat_setup_net().

Valores retornados

No value is returned.

Ver también

muscat_setup()
muscat_setup_net()

Anterior | Inicio | Siguiente
muscat Functions | Subir | muscat_get


muscat_get

(4.0.5 - 4.2.3 only, PECL)

muscat_get -- Gets a line back from the core muscat API

Descripción

string muscat_get ( resource muscat_handle )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Gets a line back from the core muscat API.

Lista de parámetros

muscat_handle

A muscat session handler, returned by muscat_setup() or muscat_setup_net().

Valores retornados

Returns the muscat response, as a string.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ver también

muscat_give()

Anterior | Inicio | Siguiente
muscat_close | Subir | muscat_give


muscat_give

(4.0.5 - 4.2.3 only, PECL)

muscat_give -- Sends string to the core muscat API

Descripción

void muscat_give ( resource muscat_handle, string string )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sends a string to the core muscat API.

Lista de parámetros

muscat_handle

A muscat session handler, returned by muscat_setup() or muscat_setup_net().

string

The string to be sent

Valores retornados

No value is returned.

Ver también

muscat_get()

Anterior | Inicio | Siguiente
muscat_get | Subir | muscat_setup_net


muscat_setup_net

(4.0.5 - 4.2.3 only, PECL)

muscat_setup_net -- Creates a new muscat session

Descripción

resource muscat_setup_net ( string muscat_host, int port )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new muscat session.

Lista de parámetros

muscat_host

The host name to connect to

port

The port number to connect to

Valores retornados

Returns a session handler or FALSE on error.

Ver también

muscat_setup()
muscat_close()

Anterior | Inicio | Siguiente
muscat_give | Subir | muscat_setup


muscat_setup

(4.0.5 - 4.2.3 only, PECL)

muscat_setup -- Creates a new local muscat session

Descripción

resource muscat_setup ( int size [, string muscat_dir] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new local muscat session.

Lista de parámetros

size

The amount of memory in bytes to allocate for muscat

muscat_dir

The muscat installation dir e.g. "/usr/local/empower", it defaults to the compile time muscat directory.

Valores retornados

Returns a session handler or FALSE on error.

Ver también

muscat_setup_net()
muscat_close()

Anterior | Inicio | Siguiente
muscat_setup_net | Subir | Funciones MySQL


Funciones de Red

Manual de PHP
Anterior Siguiente

C. Funciones de Red

Introducción

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración de Red

Nombre | Predeterminado | Modificable | Cambios
define_syslog_variables | "0" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

define_syslog_variables boolean

Indica si deben definirse las diferentes variables syslog (p.ej. $LOG_PID, $LOG_CRON, etc.). Deshabilitar este parámetro es una buena idea desde el punto de vista del rendimiento. En tiempo de ejecución, puede definir estas variables con un llamado a define_syslog_variables().

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Las constantes listadas aqui están siempre disponibles a través del "núcleo PHP".

Tabla 2. Opciones de openlog()

Constante | Descripción
LOG_CONS | si hay un error durante el envío de datos al registro del sistema, escribir directamente a la consola de sistema
LOG_NDELAY | abrir la conexión con el registro inmediatamente
LOG_ODELAY | (predeterminado) retrasar la apertura de conexión hasta que el primer mensaje sea registrado
LOG_NOWAIT |
LOG_PERROR | imprimir mensajes de registro también en stderr
LOG_PID | incluir PID con cada mensaje

Tabla 3. Facilidades de openlog()

Constante | Descripción
LOG_AUTH | mensajes de seguridad/autorización (usar LOG_AUTHPRIV en su lugar en sistemas en donde tal constante está definida)
LOG_AUTHPRIV | mensajes de seguridad/autorización (privados)
LOG_CRON | daemonio de reloj (cron y at)
LOG_DAEMON | otros daemonios de sistema
LOG_KERN | mensajes de kernel
LOG_LOCAL0 ... LOG_LOCAL7 | reservadas para uso local, no están disponibles en Windows
LOG_LPR | subsistema de impresión de línea
LOG_MAIL | subsistema de correo
LOG_NEWS | subsistema de noticias USENET
LOG_SYSLOG | mensajes generados internamente por syslogd
LOG_USER | mensajes genéricos de nivel de usuario
LOG_UUCP | subsistema UUCP

Tabla 4. Prioridades de syslog() (en orden descendiente)

Constante | Descripción
LOG_EMERG | el sistema es inutilizable
LOG_ALERT | debe tomarse una acción inmediatamente
LOG_CRIT | condiciones críticas
LOG_ERR | condiciones de error
LOG_WARNING | condiciones de advertencia
LOG_NOTICE | condición normal, pero significativa
LOG_INFO | mensaje informativo
LOG_DEBUG | mensaje de nivel de depuración

Tabla 5. Opciones de dns_get_record()

Constante | Descripción
DNS_A | Recurso de Dirección IPv4
DNS_MX | Recurso de Intercambio de Correo
DNS_CNAME | Recurso Alias (Nombre Canónico)
DNS_NS | Recurso de Autoridad de Servidor de Nombres
DNS_PTR | Recurso de Apuntador
DNS_HINFO | Recurso de Información de Host (Vea los Nombres de Sistemas Operativos de IANA para consultar el significado de estos valores)
DNS_SOA | Comienzo de Recurso de Autoridad
DNS_TXT | Recurso de Texto
DNS_ANY | Cualquier Registro de Recurso. En la mayoría de sistemas, éste valor devuelve todos los registros de recurso, sin embargo, no debería confiarse en él para usos críticos. Pruebe con DNS_ALL en su lugar.
DNS_AAAA | Recurso de Dirección IPv6
DNS_ALL | Consultar el nombre de servidor iterativamente para cada tipo de registro disponible.
Tabla de contenidos
checkdnsrr -- Chequea registros DNS correspondientes a un nombre de host o dirección IP de Internet dado
closelog -- Cierra la conexión con el registro del sistema
debugger_off -- Deshabilita el depurador interno de PHP (PHP 3)
debugger_on -- Habilitar el depurador interno de PHP (PHP 3)
define_syslog_variables -- Inicializa todas las constantes relacionadas con syslog
dns_check_record -- Sinónimo para checkdnsrr()
dns_get_mx -- Sinónimo para getmxrr()
dns_get_record -- Recuperar Registros de Recursos DNS asociados con un nombre de servidor huésped
fsockopen -- Abrir una conexión de sockets de dominio de Internet o Unix
gethostbyaddr -- Obtener el nombre del host de Internet correspondiente a una dirección IP dada
gethostbyname -- Obtener la dirección IP correspondiente a un nombre de host de Internet dado
gethostbynamel -- Obtener una lista de direcciones IP correspondientes a un nombre de host de Internet dado
getmxrr -- Obtener los registros MX correspondientes a un nombre de host de Internet dado
getprotobyname -- Obtener el número de protocolo asociado con el nombre de protocolo
getprotobynumber -- Obtener el nombre de protocolo asociado con un número de protocolo
getservbyname -- Obtener el número de puerto asociado con un servicio y protocolo de Internet
getservbyport -- Obtener el servicio de Internet que corresponde con el puerto y protocolo
header -- Send a raw HTTP header
headers_list -- Returns a list of response headers sent (or ready to send)
headers_sent -- Checks if or where headers have been sent
inet_ntop -- Converts a packed internet address to a human readable representation
inet_pton -- Converts a human readable IP address to its packed in_addr representation
ip2long -- Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
long2ip -- Convierte una dirección de red Internet (IPv4) a una cadena en formato estándar de Internet con puntos
openlog -- Abrir una conexión con el registro del sistema
pfsockopen -- Abrir una conexión persistente de sockets de Internet o dominio Unix
setcookie -- Send a cookie
setrawcookie -- Send a cookie without urlencoding the cookie value
socket_get_status -- Alias of stream_get_meta_data()
socket_set_blocking -- Alias of stream_set_blocking()
socket_set_timeout -- Alias of stream_set_timeout()
syslog -- Generar un mensaje de registro de sistema

Anterior | Inicio | Siguiente
ncurses_wvline | Subir | checkdnsrr


checkdnsrr

(PHP 3, PHP 4, PHP 5)

checkdnsrr -- Chequea registros DNS correspondientes a un nombre de host o dirección IP de Internet dado

Descripción

int checkdnsrr ( string host [, string tipo] )

Realiza una búsqueda DNS por registros del tipo tipo correspondientes a host. Devuelve TRUE si se encuentra algún registro, devuelve FALSE si no se encontraron registros o si un error ha ocurrido.

tipo puede ser un valor cualquiera entre: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR o ANY. El valor predeterminado es MX.

host puede ser la dirección IP en notación cuaternio-puntuado o el nombre del host.

Nota: El tipo AAAA fue agregado con PHP 5.0.0

Nota: Esta función no está implementado en plataformas Windows. Intente con la clase de PEAR Net_DNS.

Vea también dns_get_record(),
getmxrr(), gethostbyaddr(),
gethostbyname(),
gethostbynamel(), y la página de manual
named(8).

Anterior | Inicio | Siguiente
Funciones de Red | Subir | closelog


closelog

(PHP 3, PHP 4, PHP 5)

closelog -- Cierra la conexión con el registro del sistema

Descripción

bool closelog ( void )

closelog() cierra el descriptor usado para escribir al registro del sistema. El uso de closelog() es opcional.

Vea también define_syslog_variables(), syslog() y openlog().

Anterior | Inicio | Siguiente
checkdnsrr | Subir | debugger_off


debugger_off

(PHP 3)

debugger_off -- Deshabilita el depurador interno de PHP (PHP 3)

Descripción

int debugger_off ( void )

Deshabilita el depurador interno de PHP. Esta función está disponible únicamente en PHP 3.

Para más información vea el apéndice sobre Depuración de PHP.

Anterior | Inicio | Siguiente
closelog | Subir | debugger_on


debugger_on

(PHP 3)

debugger_on -- Habilitar el depurador interno de PHP (PHP 3)

Descripción

int debugger_on ( string direccion )

Habilita el depurador interno de PHP, conectándolo a direccion. Esta función está disponible únicamente en PHP 3.

Para más información vea el apéndica sobre Depuración de PHP.

Anterior | Inicio | Siguiente
debugger_off | Subir | define_syslog_variables


define_syslog_variables

(PHP 3, PHP 4, PHP 5)

define_syslog_variables -- Inicializa todas las constantes relacionadas con syslog

Descripción

void define_syslog_variables ( void )

Inicializa todas las constantes usadas en las funciones syslog.

Vea también openlog(),
syslog() y
closelog().

Anterior | Inicio | Siguiente
debugger_on | Subir | dns_check_record


dns_check_record

(PHP 5)

dns_check_record -- Sinónimo para checkdnsrr()

Descripción

bool dns_check_record ( string host [, string tipo] )

Chequea los registros DNS correspondientes a un nombre de servidor huésped de Internet o dirección IP dada.

Anterior | Inicio | Siguiente
define_syslog_variables | Subir | dns_get_mx


dns_get_mx

(PHP 5)

dns_get_mx -- Sinónimo para getmxrr()

Descripción

bool dns_get_mx ( string nombre_host, array &hosts_mx [, array &peso] )

Obtener registros MX correspondientes a un nombre de servidor huésped de Internet dado.

Anterior | Inicio | Siguiente
dns_check_record | Subir | dns_get_record


dns_get_record

(PHP 5)

dns_get_record -- Recuperar Registros de Recursos DNS asociados con un nombre de servidor huésped

Descripción

array dns_get_record ( string nombre_host [, int tipo [, array &authns, array &addtl]] )

Nota: Esta función no está implementada en plataformas Windows, ni funciona (actualmente) en systemas *BSD. Pruebe con la clase PEAR Net_DNS.

Esta función devuelve una matriz de matrices asociativas. Cada matriz asociativa contiene por lo menos las siguientes claves:

Tabla 1. Atributos DNS básicos

Atributo | Significado
host | El registro en el espacio de nombres DNS al que hacen referencia el resto de datos asociados.
class | dns_get_record() devuelve únicamente registros de clase Internet y como tal, éste parámetro siempre devolverá IN.
type | Cadena que contiene el tipo de registro. Otros atributos adicionales serán contenidos también en la matriz resultante dependiendo del valor de type. Vea la tabla más adelante.
ttl | Valor Time To Live restante para este registro. Este no será igual al ttl original del registro, sino que será igual al ttl original menos cualquiera que haya sido la longitud de tiempo transcurrido desde que el servidor de nombres oficial fuera consultado.

nombre_host debe ser un nombre de servidor huésped DNS válido, como "www.example.com". Pueden generarse consultas revertidas usando la notación in-addr.arpa, pero gethostbyaddr() es más apropiada para la mayoría de consultas revertidas.

Por defecto, dns_get_record() buscará por cualquier registro de recurso asociado con nombre_host. Para limitar la consulta, especifique el parámetro opcional tipo. tipo puede ser cualquiera de los siguientes: DNS_A, DNS_CNAME, DNS_HINFO, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL o DNS_ANY. El valor predeterminado es DNS_ANY.

Nota: Debido a excentricidades en el rendimiento de libresolv entre plataformas, DNS_ANY no siempre devolverá todos los registros, la alternativa más lenta DNS_ALL recolectará todos los registros de forma más confiable.

Los opcionales tercer y cuarto argumento de esta función, authns y addtl son pasados por referencia y, si son usados, serán llenados con Registros de Recurso para los Servidores de Nombres Oficiales, y cualquier Registro Adicional respectivamente. Vea el ejemplo más adelante.

Tabla 2. Otras claves en las matrices asociativas, dependientes de 'type'

Tipo | Columnas Extra
A | ip: Una dirección IPv4 en notación decimal con puntos.
MX | pri: Prioridad del gestor de correo. Números bás bajos indican mayor prioridad. target: FQDN del gestor de correo. Vea también dns_get_mx().
CNAME | target: FQDN de la ubicación en el espacio de nombres DNS de la cual es alias el registro.
NS | target: FQDN del servidor de nombres que es la autoridad para este nombre de host.
PTR | target: Ubicación dentro del espacio de nombres DNS a la que apunta este registro.
TXT | txt: Cadena de datos arbitraria asociada con este registro.
HINFO | cpu: Número IANA que indica el CPU de la máquina referenciada por este registro. os: Número IANA que indica el Sistema Operativo en la máquina referenciada por este registro. Vea los Nombres de Sistemas Operativos de IANA para consultar el significado de estos valores.
SOA | mname: FQDN de la máquina desde donde se originaron los registros de recurso. rname: Dirección de correo electrónico del contacto administrativo para este dominio. serial: # serial de esta revisión del dominio solicitado. refresh: Intervalo de actualización (segundos) que deben usar los servidores de nombre secundarios cuando actualicen las copias remotas de este dominio. retry: Periodo de tiempo (segundos) para esperar después de una actualización fallida antes de hacer un segundo intento. expire: Periodo máximo de tiempo (segundos) que un servidor DNS secundario debe conservar copias remotas de los datos de zona sin una actualización exitosa antes de descartarlos. minimum-ttl: Periodo mínimo de tiempo (segundos) en el que un cliente puede continuar usando una resolución DNS antes de que deba solicitar una nueva resolución del servidor. Puede ser sobrescrito por registros de recurso individuales.
AAAA | ipv6: Dirección IPv6
A6(PHP >= 5.1.0) | masklen: Longitud (en bits) para heredar del destino especificado por chain. ipv6: Dirección para mezclar este registro específico con chain. chain: Registro padre a mezclar con los datos de ipv6.
SRV | pri: (Prioridad) las prioridades más bajas deben ser usadas primero. weight: Rangos para pesar cuál de los destinos comunmente con prioridades debe ser elegido al azar. target y port: nombre de servidor huésped y puerto en dondo puede encontrarse el servicio solicitado. Para más información, vea: RFC 2782
NAPTR | order y pref: Equivalente a pri y weight descritos anteriormente. flags, services, regex, y replacement: Parámetros, como se definen por RFC 2915.

Nota: Debido a estándares DNS, las direcciones de correo electrónico son dadas en formato usuario.host (por ejemplo: hostmaster.example.com en lugar de hostmaster@example.com), asegúrese de chequear este valor y modificarlo si es necesario antes de usarlo con funciones como mail().

Ejemplo 1. Uso de dns_get_record()

<?php
$resultado = dns_get_record("php.net");
print_r($resultado);
?>

Produce una salida similar a la siguiente:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Ya que es muy común desear la dirección IP de un servidor de correo una vez el registro MX ha sido resuelto, dns_get_record() también devuelve una matriz en addtl la cual contiene registros asociados. authns es devuelto también, conteniendo una lista de servidores de nombre oficiales.

Ejemplo 2. Uso de dns_get_record() y DNS_ANY

<?php

/* Solicitar "cualquier" registro para php.net, y crear las matrices
   $authns y $addtl conteniendo una lista de servidores de nombre y
   cualquier registro adicional que vaya con ellos */

$resultado = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Resultado = ";
print_r($resultado);
echo "Auth NS = ";
print_r($authns);
echo "Adicional = ";
print_r($addtl);
?>

Produce una salida similar a la siguiente:

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Vea también dns_get_mx(), y dns_check_record()

Anterior | Inicio | Siguiente
dns_get_mx | Subir | fsockopen


fsockopen

(PHP 3, PHP 4, PHP 5)

fsockopen -- Abrir una conexión de sockets de dominio de Internet o Unix

Descripción

resource fsockopen ( string destino [, int puerto [, int &errno [, string &errstr [, float tiempo_espera]]]] )

Inicia una conexión a través de sockets con el recurso especificado por destino. PHP soporta el uso de destinos en los dominios de Internet y Unix, tal y como se describe en Apéndice O. Una lista de transportes soportados puede recuperarse usando stream_get_transports().

Nota: Si necesita establecer un tiempo de espera para la lectura/escritura de datos a través del socket, use stream_set_timeout(), dado que el parámetro tiempo_espera de fsockopen() sólo se aplica cuando se conecta con el socket.

A partir de PHP 4.3.0, si ha compilado el soporte para OpenSSL, usted puede usar un prefijo sobre el nombre_host, ya sea 'ssl://' o 'tls://' para usar una conexión de cliente SSL o TLS sobre TCP/IP para conectarse con el host remoto.

fsockopen() devuelve un apuntador de archivo
el cual puede ser usado junto con otras funciones de archivos
(como fgets(), fgetss(),
fwrite(), fclose(), y
feof()).

Si la llamada falla, devolverá FALSE, y si los argumentos opcionales errno y errstr están presentes, serán modificados para indicar el error de nivel de sistema real que ocurrió en la llamada de sistema connect(). Si el valor devuelto en errno es 0 y la función devolvió FALSE, es un indicio de que el error ocurrió antes de la llamada a connect(). Lo más probable es que esto se deba a un problema con la inicialización del socket. Note que los argumentos errno y errstr siempre serán pasados por referencia.

Dependiendo del entorno, el dominio Unix o el tiempo de espera de conexión opcional pueden no estar disponibles.

El socket será abierto por defecto en modo de bloqueo. Puede cambiar a modo de no-bloqueo usando stream_set_blocking().

Ejemplo 1. Ejemplo de fsockopen()

<?php
$da = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$da) {
    echo "$errstr ($errno)<br />\n";
} else {
    $salida = "GET / HTTP/1.1\r\n";
    $salida .= "Host: www.example.com\r\n";
    $salida .= "Connection: Close\r\n\r\n";

    fwrite($da, $salida);
    while (!feof($da)) {
        echo fgets($da, 128);
    }
    fclose($da);
}
?>
El ejemplo a continuación presenta la forma de recuperar la fecha y hora desde el servicio UDP "daytime" (puerto 13) en su propia máquina.

Ejemplo 2. Uso de una conexión UDP

<?php
$da = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$da) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($da, "\n");
    echo fread($da, 26);
    fclose($da);
}
?>

Aviso

En ocasiones, los sockets UDP parecerán haber sido abiertos sin errores, incluso si el host remoto no puede ser contactado. El error sólo se percibirá cuando lea o escriba datos hacia/desde el socket. La razón es que UDP es un protocolo "sin conexión", lo que quiere decir que el sistema operativo no intenta establecer un enlace con el socket hasta que necesite realmente enviar o recibir datos.

Nota: Cuando se especifique una dirección numérica IPv6 (p.ej. fe80::1) se debe incluir la IP entre corchetes. Por ejemplo tcp://[fe80::1]:80.

Nota: El parámetro de tiempo de espera fue introducido en PHP 3.0.9 y el soporte para UDP fue añadido en PHP 4.

Vea también pfsockopen(), stream_set_blocking(), stream_set_timeout(), fgets(), fgetss(), fwrite(), fclose(), feof(), y la extensión Curl.

Anterior | Inicio | Siguiente
dns_get_record | Subir | gethostbyaddr


gethostbyaddr

(PHP 3, PHP 4, PHP 5)

gethostbyaddr -- Obtener el nombre del host de Internet correspondiente a una dirección IP dada

Descripción

string gethostbyaddr ( string direccion_ip )

Devuelve el nombre del host de Internet especificado por direccion_ip o una cadena que contiene el valor direccion_ip sin modificar si la función falla.

Ejemplo 1. Un ejemplo sencillo de gethostbyaddr()

<?php
$nombre_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $nombre_host;
?>

Vea también gethostbyname(), y gethostbynamel().

Anterior | Inicio | Siguiente
fsockopen | Subir | gethostbyname


gethostbyname

(PHP 3, PHP 4, PHP 5)

gethostbyname -- Obtener la dirección IP correspondiente a un nombre de host de Internet dado

Descripción

string gethostbyname ( string nombre_host )

Devuelve la dirección IP del host de Internet especificado por nombre_host o una cadena que contiene el valor nombre_host sin modificar si la función falla.

Ejemplo 1. Un ejemplo sencillo de gethostbyname()

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Vea también gethostbyaddr(), y gethostbynamel().

Anterior | Inicio | Siguiente
gethostbyaddr | Subir | gethostbynamel


gethostbynamel

(PHP 3, PHP 4, PHP 5)

gethostbynamel -- Obtener una lista de direcciones IP correspondientes a un nombre de host de Internet dado

Descripción

array gethostbynamel ( string nombre_host )

Devuelve una lista de direcciones IP a las que resuelve el host de Internet especificado por nombre_host. Devuelve FALSE if nombre_host no puede resolverse.

Ejemplo 1. Ejemplo de gethostbynamel()

<?php
  $hosts = gethostbynamel('www.example.com');
  print_r($hosts);
?>

La salida del programa anterior será:

Array
(
    [0] => 192.0.34.166
)

Vea también gethostbyname(),
gethostbyaddr(),
checkdnsrr(), getmxrr(), y
la págino de manual para named(8).

Anterior | Inicio | Siguiente
gethostbyname | Subir | getmxrr


getmxrr

(PHP 3, PHP 4, PHP 5)

getmxrr -- Obtener los registros MX correspondientes a un nombre de host de Internet dado

Descripción

bool getmxrr ( string nombre_host, array &hosts_mx [, array &peso] )

Busca en DNS por registros MX correspondientes a nombre_host. Devuelve TRUE si se encuentran registros; devuelve FALSE si no se encuentran registros o si ocurre un error.

Una lista de los registros MX encontrados es colocada en la matriz hosts_mx. Si la matriz peso es definida, será llenada con la información de peso recolectada.

Nota: Esta función no debe ser usada para propósitos de verificación de direcciones. Solo los puntos de intercambio de correo en DNS son devueltos, sin embargo, de acuerdo a RFC 2821, cuando no se listan puntos de intercambio de correo, nombre_host mismo debería ser usado como el único punto de intercambio de correo con una prioridad de 0.

Nota: Esta función no es implementada en plataformas Windows. Intente la clase de PEAR Net_DNS.

Vea también checkdnsrr(),
dns_get_record(),
gethostbyname(),
gethostbynamel(),
gethostbyaddr(), y la página de manual
para named(8).

Anterior | Inicio | Siguiente
gethostbynamel | Subir | getprotobyname


getprotobyname

(PHP 4, PHP 5)

getprotobyname -- Obtener el número de protocolo asociado con el nombre de protocolo

Descripción

int getprotobyname ( string nombre )

getprotobyname() devuelve el número de protocolo asociado con el nombre de protocolo, indicado por /etc/protocols.

Ejemplo 1. Ejemplo de getprotobyname()

<?php
$protocolo = 'tcp';
$obtener_prot = getprotobyname($protocolo);
if ($obtener_prot == -1) {
    // si no se encuentra nada, devuelve -1
    echo 'Protocolo Inv&aacute;lido';
} else {
    echo 'Protocolo #' . $obtener_prot;
}
?>

Vea también: getprotobynumber().

Anterior | Inicio | Siguiente
getmxrr | Subir | getprotobynumber


getprotobynumber

(PHP 4, PHP 5)

getprotobynumber -- Obtener el nombre de protocolo asociado con un número de protocolo

Descripción

string getprotobynumber ( int numero )

getprotobynumber() devuelve el nombre de protocolo asociado con el numero de procotolo, como lo indica /etc/protocols.

Vea también: getprotobyname().

Anterior | Inicio | Siguiente
getprotobyname | Subir | getservbyname


getservbyname

(PHP 4, PHP 5)

getservbyname -- Obtener el número de puerto asociado con un servicio y protocolo de Internet

Descripción

int getservbyname ( string servicio, string protocolo )

getservbyname() devuelve el puerto de Internet que corresponde a servicio para el protocolo especificado, de acuerdo a /etc/services. protocolo es un valor entre "tcp" o "udp" (es minúsculas). Devuelve FALSE si servicio o protocolo no son encontrados.

Ejemplo 1. Ejemplo de getservbyname()

<?php
$servicios = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($servicios as $servicio) {
    $puerto = getservbyname($servicio, 'tcp');
    echo $servicio . ": " . $puerto . "<br />\n";
}
?>

Para una lista completa de números de puerto vea: http://www.iana.org/assignments/port-numbers.

Vea también: getservbyport().

Anterior | Inicio | Siguiente
getprotobynumber | Subir | getservbyport


getservbyport

(PHP 4, PHP 5)

getservbyport -- Obtener el servicio de Internet que corresponde con el puerto y protocolo

Descripción

string getservbyport ( int puerto, string protocolo )

getservbyport() devuelve el servicio de Internet asociado con puerto para el protocolo especificado, de acuerdo a /etc/services. protocolo es un valor entre "tcp" o "udp" (en minúsculas).

Vea también: getservbyname().

Anterior | Inicio | Siguiente
getservbyname | Subir | header


inet_ntop

(PHP 5 >= 5.1.0RC1)

inet_ntop -- Converts a packed internet address to a human readable representation

Description

string inet_ntop ( string in_addr )

This function converts a 32bit IPv4, or 128bit IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate string representation. Returns FALSE on failure.

Ejemplo 1. inet_ntop() Example

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: ::1 */
echo $expanded;
?>

Nota: Esta función no está implementada en plataformas Windows.

See also long2ip(),
inet_pton(), and
ip2long().

Anterior | Inicio | Siguiente
headers_sent | Subir | inet_pton


inet_pton

(PHP 5 >= 5.1.0RC1)

inet_pton -- Converts a human readable IP address to its packed in_addr representation

Description

string inet_pton ( string address )

This function converts a human readable IPv4 or IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate 32bit or 128bit binary structure.

Ejemplo 1. inet_pton() Example

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');

?>

Nota: Esta función no está implementada en plataformas Windows.

See also ip2long(),
inet_ntop(), and
long2ip().

Anterior | Inicio | Siguiente
inet_ntop | Subir | ip2long


ip2long

(PHP 4, PHP 5)

ip2long -- Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada

Descripción

int ip2long ( string direccion_ip )

La función ip2long() genera una dirección de red Internet IPv4 desde su representación en formato estándar de Internet (cadena con puntos). Si direccion_ip es inválida, entonces se devuelve -1. Note que -1 no evalúa a FALSE en PHP.

Nota: A partir de PHP 5.0.0, ip2long() devuelve FALSE cuando ip_address es inválido.

Ejemplo 1. Ejemplo de ip2long()

<?php
$ip = gethostbyname('www.example.com');
$salida = "Las siguientes URLs son equivalentes:<br />\n";
$salida .= 'http://www.example.com/, http://' . $ip . '/, y http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $salida;
?>

Nota: Ya que el tipo entero de PHP tiene signo, y muchas direcciones IP resultarán en enteros negativos, necesita usar el especificador de formato "%u" de sprintf() o printf() para obtener la representación de cadena de la dirección IP sin signo.

Este segundo ejemplo muestra cómo imprimir una dirección convertida con la función printf() tanto en PHP 4 como en PHP 5:

Ejemplo 2. Desplegar una dirección IP (PHP 4)

<?php
$ip   = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
    echo 'IP inv&aacute;lida, por favor intente de nuevo';
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

ip2long() no debería usarse como la única forma de validación de IP. Combínela con long2ip():

Ejemplo 3. Validación de IP

<?php
// asegurarse de que las IP son validas. tambien convierte una IP
// no-completa en un cuarteto debidamente separado con puntos, como
// se explica mas adelante.
$ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1"
$ip = long2ip(ip2long("10.0.0")); // "10.0.0.0"
$ip = long2ip(ip2long("10.0.256")); // "10.0.1.0"
?>

ip2long() trabajará también con direcciones IP no-completas. Lea http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm para más información.

Nota: ip2long() devolverá FALSE para la IP 255.255.255.255 en PHP 5 <= 5.0.2. Fue corregido en PHP 5.0.3 cuando devolvía -1 (al igual que en PHP 4).

Vea también long2ip() y sprintf().

Anterior | Inicio | Siguiente
inet_pton | Subir | long2ip


long2ip

(PHP 4, PHP 5)

long2ip -- Convierte una dirección de red Internet (IPv4) a una cadena en formato estándar de Internet con puntos

Descripción

string long2ip ( int direccion_apropiada )

La función long2ip() genera una dirección de Internet en formato con puntos (esto quiere decir: aaa.bbb.ccc.ddd) a partir de su representación apropiada de dirección.

Vea también: ip2long()

Anterior | Inicio | Siguiente
ip2long | Subir | openlog


openlog

(PHP 3, PHP 4, PHP 5)

openlog -- Abrir una conexión con el registro del sistema

Descripción

bool openlog ( string id, int opcion, int recurso )

openlog() abre una conexión con el registro del sistema para un programa. La cadena id es agregada a cada mensaje. Los valores para opcion y recurso son dados más adelante. El argumento opcion es usado para indicar qué opciones de registro serán usadas cuando se genere un mensaje de registro. El argumento recurso es usado para especificar qué tipo de programa está registrando el mensaje. Esto le permite especificar (en la configuración de syslog de su máquina) cómo serán manejados los mensajes provenientes de diferentes recursos. El uso de openlog() es opcional. La función será llamada automáticamente por syslog() si es necesario, en cuyo caso el valor predeterminado para id será FALSE.

Tabla 1. Opciones de openlog()

Constante | Descripción
LOG_CONS | si hay un error mientras se envían datos al registro del sistema, escribirlos directamente a la consola del sistema
LOG_NDELAY | abrir la conexión con el registro inmediatamente
LOG_ODELAY | (predeterminado) retrasar la apertura de la conexión hasta que el primer mensaje sea registrado
LOG_PERROR | imprimir el mensaje de registro a la salida de errores estándar también
LOG_PID | incluir el valor PID con cada mensaje
Es posible usar una o más de estas opciones. Cuando se usen múltiples opciones, es necesario combinarlas mediante la operación OR, es decir, para abrir la conexión inmediatamente, escribir a la consola e incluir el PID en cada mensaje, se deberá usar: LOG_CONS | LOG_NDELAY | LOG_PID

Tabla 2. Recursos de openlog()

Constante | Descripción
LOG_AUTH | mensajes de seguridad/autorización (use LOG_AUTHPRIV en su lugar en sistemas en donde ésta última esté definida)
LOG_AUTHPRIV | mensajes de seguridad/autorización (privados)
LOG_CRON | daemonio de reloj (cron y at)
LOG_DAEMON | otros daemonios de sistema
LOG_KERN | mensajes de núcleo
LOG_LOCAL0 ... LOG_LOCAL7 | reservados para uso local, no están disponibles en Windows
LOG_LPR | subsistema de impresora de línea
LOG_MAIL | subsistema de correo
LOG_NEWS | subsistema de noticias USENET
LOG_SYSLOG | mensajes generados internamente por syslogd
LOG_USER | mensajes genéricos de nivel de usuario
LOG_UUCP | subsistema UUCP

Nota: LOG_USER es el único tipo de registro válido bajo sistemas operativos Windows

Vea también define_syslog_variables(), syslog() y closelog().

Anterior | Inicio | Siguiente
long2ip | Subir | pfsockopen


pfsockopen

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

pfsockopen -- Abrir una conexión persistente de sockets de Internet o dominio Unix

Descripción

resource pfsockopen ( string nombre_host [, int puerto [, int &errno [, string &errstr [, float tiempo_espera]]]] )

Esta función se comporta exactamente como fsockopen(), con la diferencia de que la conexión no es cerrada después de que el script finaliza. Es la versión persistente de fsockopen().

Anterior | Inicio | Siguiente
openlog | Subir | setcookie


socket_get_status

(PHP 4, PHP 5)

socket_get_status -- Alias of stream_get_meta_data()

Descripción

This function is an alias of: stream_get_meta_data().

Anterior | Inicio | Siguiente
setrawcookie | Subir | socket_set_blocking


socket_set_blocking

(PHP 4, PHP 5)

socket_set_blocking -- Alias of stream_set_blocking()

Descripción

This function is an alias of: stream_set_blocking().

Anterior | Inicio | Siguiente
socket_get_status | Subir | socket_set_timeout


socket_set_timeout

(PHP 4, PHP 5)

socket_set_timeout -- Alias of stream_set_timeout()

Descripción

This function is an alias of: stream_set_timeout().

Anterior | Inicio | Siguiente
socket_set_blocking | Subir | syslog


syslog

(PHP 3, PHP 4, PHP 5)

syslog -- Generar un mensaje de registro de sistema

Descripción

bool syslog ( int prioridad, string mensaje )

syslog() genera un mensaje de registro que será distribuido por el registro del sistema. prioridad es una combinación del recurso y el nivel, cuyos valores son dados en la siguiente sección. El argumento restante es el mensaje a enviar, excepto que los dos caracteres %m serán reemplazados por la cadena del mensaje de error (strerror) correspondiente al valor presente de errno.

Tabla 1. Prioridades de syslog() (en orden descendiente)

Constante | Descripción
LOG_EMERG | el sistema es inutilizable
LOG_ALERT | debe tomarse una acción inmediatamente
LOG_CRIT | condiciones críticas
LOG_ERR | condiciones de error
LOG_WARNING | condiciones de advertencia
LOG_NOTICE | condición normal, pero significativa
LOG_INFO | mensaje informativo
LOG_DEBUG | mensaje de nivel de depuración

Ejemplo 1. Uso de syslog()

<?php
definir_variables_syslog();
// abrir syslog, incluir el ID de proceso y enviar
// el registro a la salida de error estandar, usar
// tambien un mecanismo de registro definido por el
// usuario
openlog("registroDeMiScript", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// codigo cualquiera

if (cliente_autorizado()) {
    // hacer algo
} else {
    // cliente no autorizado!
    // registrar el intento
    $acceso = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Cliente no autorizado: $acceso $_SERVER[REMOTE_ADDR] ($_SERVER[HTTP_USER_AGENT])");
}

closelog();
?>
Información sobre la forma de preparar un gestor de registro definido por el usuario puede encontrarse en la página de manual Unix para syslog.conf(5). Más información sobre los recursos y opciones de syslog puede encontrarse en las páginas man para syslog(3) en máquinas Unix.

En Windows NT, el servicio syslog es emulado usando el Registro de Eventos.

Nota: El uso de los valores LOG_LOCAL0 a LOG_LOCAL7 para el parámetro recurso de openlog() no está disponible en Windows.

Vea también define_syslog_variables(), openlog() y closelog().

Anterior | Inicio | Siguiente
socket_set_timeout | Subir | Newt Functions


Funciones de Control de Pantalla con Terminal Ncurses

Manual de PHP
Anterior Siguiente

XCIX. Funciones de Control de Pantalla con Terminal Ncurses

Introducción

ncurses (new curses) es un sistema de emulación del paquete curses del Sistema V 4.0 (y superiores). Usa formatos terminfo, soporta pads, colores, resaltados múltiples, caracteres de formulario y asignaciones de funciones de teclado. Debido a la naturaleza interactiva de esta biblioteca, ésta será de poca utilidad para la escritura de aplicaciones Web, pero puede ser útil cuando se escriben scripts orientados al uso de PHP desde la línea de comandos.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ncurses se encuentra disponible para las siguientes plataformas:

  • AIX

  • BeOS

  • Cygwin

  • Digital Unix (aka OSF1)

  • FreeBSD

  • GNU/Linux

  • HPUX

  • IRIX

  • OS/2

  • SCO OpenServer

  • Solaris

  • SunOS

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 6.0.0

Requisitos

Necesita las bibliotecas ncurses y sus archivos de cabecera. Descargue la última versión desde ftp://ftp.gnu.org/pub/gnu/ncurses/ o algún otro mirror GNU.

Instalación

Para que estas funciones trabajen, debe compilar la versión CGI o CLI de PHP con --with-ncurses[=DIR].

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Códigos de error

En caso de fallos, las funciones ncurses devuelven NCURSES_ERR.

Colores

Tabla 1. constantes de color de ncurses

constante | significado
NCURSES_COLOR_BLACK | sin color (negro)
NCURSES_COLOR_WHITE | blanco
NCURSES_COLOR_RED | rojo - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_GREEN | verde - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_YELLOW | amarillo - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_BLUE | azul - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_CYAN | cyan - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_MAGENTA | magenta - soportado cuando la terminal se encuentra en modo de color

Teclas

Tabla 2. constantes de teclas ncurses

constante | significado
NCURSES_KEY_F0 - NCURSES_KEY_F64 | teclas de función F1 - F64
NCURSES_KEY_DOWN | flecha hacia abajo
NCURSES_KEY_UP | flecha hacia arriba
NCURSES_KEY_LEFT | flecha hacia la izquierda
NCURSES_KEY_RIGHT | flecha hacia la derecha
NCURSES_KEY_HOME | tecla home (flecha arriba+izquierda)
NCURSES_KEY_BACKSPACE | backspace
NCURSES_KEY_DL | eliminar línea
NCURSES_KEY_IL | insertar línea
NCURSES_KEY_DC | eliminar caracter
NCURSES_KEY_IC | insertar caracter o entrar en modo de inserción
NCURSES_KEY_EIC | salir de modo de inserción de caracteres
NCURSES_KEY_CLEAR | limpiar la pantalla
NCURSES_KEY_EOS | limpiar hasta el fin de la pantalla
NCURSES_KEY_EOL | limpiar hasta el fin de la línea
NCURSES_KEY_SF | desplazarse una línea hacia adelante
NCURSES_KEY_SR | desplazarse una línea hacia atrás
NCURSES_KEY_NPAGE | siguiente página
NCURSES_KEY_PPAGE | página anterior
NCURSES_KEY_STAB | definir tab
NCURSES_KEY_CTAB | eliminar tab
NCURSES_KEY_CATAB | eliminar todos los tabs
NCURSES_KEY_SRESET | reset suave (parcial)
NCURSES_KEY_RESET | reset o reset fuerte
NCURSES_KEY_PRINT | imprimir
NCURSES_KEY_LL | izquierda inferior
NCURSES_KEY_A1 | izquierda superior del teclado numérico
NCURSES_KEY_A3 | derecha superior del teclado numérico
NCURSES_KEY_B2 | centro del teclado numérico
NCURSES_KEY_C1 | izquierda inferior del teclado numérico
NCURSES_KEY_C3 | derecha inferior del teclado numérico
NCURSES_KEY_BTAB | tab hacia atrás
NCURSES_KEY_BEG | comienzo
NCURSES_KEY_CANCEL | cancelar
NCURSES_KEY_CLOSE | cerrar
NCURSES_KEY_COMMAND | cmd (comando)
NCURSES_KEY_COPY | copiar
NCURSES_KEY_CREATE | crear
NCURSES_KEY_END | fin
NCURSES_KEY_EXIT | salida
NCURSES_KEY_FIND | encontrar
NCURSES_KEY_HELP | ayuda
NCURSES_KEY_MARK | marca
NCURSES_KEY_MESSAGE | mensaje
NCURSES_KEY_MOVE | mover
NCURSES_KEY_NEXT | siguiente
NCURSES_KEY_OPEN | abrir
NCURSES_KEY_OPTIONS | opciones
NCURSES_KEY_PREVIOUS | anterior
NCURSES_KEY_REDO | rehacer
NCURSES_KEY_REFERENCE | ref (referencia)
NCURSES_KEY_REFRESH | refrescar
NCURSES_KEY_REPLACE | reemplazar
NCURSES_KEY_RESTART | reiniciar
NCURSES_KEY_RESUME | reiniciar
NCURSES_KEY_SAVE | guardar
NCURSES_KEY_SBEG | comienzo usando shift
NCURSES_KEY_SCANCEL | cancelar usando shift
NCURSES_KEY_SCOMMAND | comando usando shift
NCURSES_KEY_SCOPY | copiar usando shift
NCURSES_KEY_SCREATE | crear usando shift
NCURSES_KEY_SDC | eliminar caracter usando shift
NCURSES_KEY_SDL | eliminar línea usando shift
NCURSES_KEY_SELECT | seleccionar
NCURSES_KEY_SEND | final usando shift
NCURSES_KEY_SEOL | fin de línea usando shift
NCURSES_KEY_SEXIT | salida usando shift
NCURSES_KEY_SFIND | encontrar usando shift
NCURSES_KEY_SHELP | ayuda usando shift
NCURSES_KEY_SHOME | home usando shift
NCURSES_KEY_SIC | entrada usando shift
NCURSES_KEY_SLEFT | flecha hacia la izquierda usando shift
NCURSES_KEY_SMESSAGE | mensaje usando shift
NCURSES_KEY_SMOVE | mover usando shift
NCURSES_KEY_SNEXT | siguiente usando shift
NCURSES_KEY_SOPTIONS | opciones usando shift
NCURSES_KEY_SPREVIOUS | anterior usando shift
NCURSES_KEY_SPRINT | imprimir usando shift
NCURSES_KEY_SREDO | rehacer usando shift
NCURSES_KEY_SREPLACE | reemplazar usando shift
NCURSES_KEY_SRIGHT | flecha hacia la derecha usando shift
NCURSES_KEY_SRSUME | reiniciar usando shift
NCURSES_KEY_SSAVE | guardar usando shift
NCURSES_KEY_SSUSPEND | suspender usando shift
NCURSES_KEY_UNDO | deshacer
NCURSES_KEY_MOUSE | evento del mouse ha ocurrido
NCURSES_KEY_MAX | valor máximo de tecla

Mouse

Tabla 3. constantes de mouse

Constante | significado
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | botón (1-4) liberado
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | botón (1-4) presionado
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | botón (1-4) pulsado
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | botón (1-4) pulsado dos veces
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | botón (1-4) pulsado tres veces
NCURSES_BUTTON_CTRL | ctrl presionado durante el clic
NCURSES_BUTTON_SHIFT | shift presionado durante el clic
NCURSES_BUTTON_ALT | alt presionado durante el clic
NCURSES_ALL_MOUSE_EVENTS | reportar todos los eventos del mouse
NCURSES_REPORT_MOUSE_POSITION | reportar la posición del mouse
Tabla de contenidos
ncurses_addch -- Agregar un caracter en la posición actual y avanzar el cursor
ncurses_addchnstr -- Agregar cadena con atributos y longitud especificada en la posición actual
ncurses_addchstr -- Agregar una cadena con atributos en la posición actual
ncurses_addnstr -- Agregar una cadena con la longitud especificada en la posición actual
ncurses_addstr -- Imprimir texto en la posición actual
ncurses_assume_default_colors -- Definir colores predeterminados para el color 0
ncurses_attroff -- Deshabilitar los atributos dados
ncurses_attron -- Habilitar los atributos dados
ncurses_attrset -- Establecer los atributos dados
ncurses_baudrate -- Devuelve la tasa de baudios de la terminal
ncurses_beep -- Producir un beep en la terminal
ncurses_bkgd -- Establecer la propiedad de segundo plano para la pantalla de la terminal
ncurses_bkgdset -- Controla el segundo plano de la pantalla
ncurses_border -- Dibujar un borde alrededor de la pantalla usando caracteres con atributos
ncurses_bottom_panel -- Mueve un panel visible al fondo de la pila
ncurses_can_change_color -- Chequear si es posible cambiar los colores de la terminal
ncurses_cbreak -- Cambio de búferes de entrada
ncurses_clear -- Limpiar la pantalla
ncurses_clrtobot -- Limpiar la pantalla desde la posición actual al final
ncurses_clrtoeol -- Limpiar la pantalla desde la posición actual al final de la línea
ncurses_color_content -- Obtiene el valor RGB del color
ncurses_color_set -- Establecer los colores de primer y segundo plano
ncurses_curs_set -- Establecer el estado del cursor
ncurses_def_prog_mode -- Guarda los modos de terminal (programa)
ncurses_def_shell_mode -- Guarda los modos de terminal (intérprete de comandos)
ncurses_define_key -- Definir un código de tecla
ncurses_del_panel -- Remover un panel de la pila y eliminarlo (pero no la ventana asociada)
ncurses_delay_output -- Retrasar la salida en la terminal usando caracteres de relleno
ncurses_delch -- Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda
ncurses_deleteln -- Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba
ncurses_delwin -- Eliminar una ventana ncurses
ncurses_doupdate -- Escribir todas las actualizaciones preparadas sobre la terminal
ncurses_echo -- Activar la repetición de entrada del teclado
ncurses_echochar -- Salida de un caracter sencillo, incluyendo actualización
ncurses_end -- Dejar de usar ncurses, limpiar la pantalla
ncurses_erase -- Limpiar pantalla de terminal
ncurses_erasechar -- Devuelve el caracter de borrado actual
ncurses_filter -- Definir LINES para iniscr() y newterm() a 1
ncurses_flash -- Relampaguear la pantalla de terminal (campana visual)
ncurses_flushinp -- Volcar el búfer de entrada de teclado
ncurses_getch -- Leer un caracter desde el teclado
ncurses_getmaxyx -- Devuelve el tamaño de una ventana
ncurses_getmouse -- Lee un evento del mouse
ncurses_getyx -- Devuelve la posición de cursor actual para una ventana
ncurses_halfdelay -- Colocar la terminal en modo de medio retraso
ncurses_has_colors -- Chequear si la terminal tiene colores
ncurses_has_ic -- Chequear por el soporte de inserción y borrado
ncurses_has_il -- Chequea el soporte de inserción y borrado
ncurses_has_key -- Chequear por la presencia de una tecla de función en el teclado de la terminal
ncurses_hide_panel -- Remover un panel de la pila, haciéndolo invisible
ncurses_hline -- Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo
ncurses_inch -- Obtener el caracter y los atributos de la posición actual
ncurses_init_color -- Establecer un nuevo valor RGB para un color
ncurses_init_pair -- Reservar una pareja de color
ncurses_init -- Inicializar ncurses
ncurses_insch -- Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual
ncurses_insdelln -- Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)
ncurses_insertln -- Insertar una línea, mover el resto de la pantalla hacia abajo
ncurses_insstr -- Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha
ncurses_instr -- Lee una cadena desde la pantalla de terminal
ncurses_isendwin -- Ncurses se encuentra en modo endwin, puede efectuarse salida de pantalla normal
ncurses_keyok -- Habilitar o deshabilitar un código de tecla
ncurses_keypad -- Activa o desactiva el teclado numérico
ncurses_killchar -- Devuelve el caracter de eliminación de línea actual
ncurses_longname -- Devuelve la descripción de la terminal
ncurses_meta -- Habilita/deshabilita la meta-información de 8-bits de tecla
ncurses_mouse_trafo -- Transforma coordenadas
ncurses_mouseinterval -- Establecer el tiempo de espera para clics de botón del mouse
ncurses_mousemask -- Establece opciones del mouse
ncurses_move_panel -- Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]
ncurses_move -- Mover la posición de salida
ncurses_mvaddch -- Mover la posición actual y agregar un caracter
ncurses_mvaddchnstr -- Mover la posición y agregar una cadena con atributos con la longitud especificada
ncurses_mvaddchstr -- Mover la posición y agregar una cadena con atributos
ncurses_mvaddnstr -- Mover la posición y agregar una cadena con la longitud especificada
ncurses_mvaddstr -- Mover la posición y agregar una cadena
ncurses_mvcur -- Mover el cursor inmediatamente
ncurses_mvdelch -- Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda
ncurses_mvgetch -- Mover la posición y obtener el caracter en la nueva posición
ncurses_mvhline -- Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres
ncurses_mvinch -- Mover la posición y obtener el caracter con atributos en la nueva posición
ncurses_mvvline -- Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres
ncurses_mvwaddstr -- Agregar una cadena en una nueva posición al interior de una ventana
ncurses_napms -- Dormir
ncurses_new_panel -- Crear un nuevo panel y asociarlo con una ventana
ncurses_newpad -- Crea un nuevo pad (ventana)
ncurses_newwin -- Crear una nueva ventana
ncurses_nl -- Traducir línea nueva y retorno de carro / alimentación de línea
ncurses_nocbreak -- Cambiar la terminal a modo normal (cooked)
ncurses_noecho -- Desactivar la repetición de entrada del teclado
ncurses_nonl -- No traducir línea nueva y retorno de carro / alimentación de línea
ncurses_noqiflush -- No realizar volcados en caracteres de señales
ncurses_noraw -- Salir del modo puro en la terminal
ncurses_pair_content -- Obtiene el valor RGB del color
ncurses_panel_above -- Devuelve el panel encima del panel indicado
ncurses_panel_below -- Devuelve el panel por debajo del panel indicado
ncurses_panel_window -- Devuelve la ventana asociada con el panel
ncurses_pnoutrefresh -- Copia una región desde un pad a la pantalla virtual
ncurses_prefresh -- Copia una región desde un pad a la pantalla virtual
ncurses_putp -- Aplicar la información de márgenes a la cadena e imprimirla
ncurses_qiflush -- Producir volcado en caracteres de señales
ncurses_raw -- Colocar la terminal en modo puro
ncurses_refresh -- Refrescar la pantalla
ncurses_replace_panel -- Reemplaza la ventana asociada con el panel
ncurses_reset_prog_mode -- Restablece el modo de programa guardado por def_prog_mode
ncurses_reset_shell_mode -- Restablece el modo de intérprete de comandos guardado por def_shell_mode
ncurses_resetty -- Restablece el estado guardado de la terminal
ncurses_savetty -- Guarda el estado de la terminal
ncurses_scr_dump -- Vuelca el contenido de la pantalla en un archivo
ncurses_scr_init -- Inicializar la pantalla desde un volcado en un archivo
ncurses_scr_restore -- Recuperar la pantalla desde un volcado en un archivo
ncurses_scr_set -- Heredar la pantalla de un volcado en un archivo
ncurses_scrl -- Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual
ncurses_show_panel -- Coloca un panel invisible al comienzo de la pila, haciéndola visible
ncurses_slk_attr -- Devuelve el atributo de la etiqueta suave de teclado
ncurses_slk_attroff -- Deshabilitar los atributos dados para las etiquetas suaves de teclado
ncurses_slk_attron -- Habilitar los atributos dados para las etiquetas suaves de funciones de teclado
ncurses_slk_attrset -- Definir los atributos dados para las etiquetas suaves de funciones de teclado
ncurses_slk_clear -- Limpia las etiquetas suaves de la pantalla
ncurses_slk_color -- Establece el color para las etiquetas suaves de teclado
ncurses_slk_init -- Inicializa las etiquetas suaves de funciones de teclado
ncurses_slk_noutrefresh -- Copia las etiquetas suaves de teclado a la pantalla virtual
ncurses_slk_refresh -- Copia las etiquetas suaves de teclado a la pantalla
ncurses_slk_restore -- Recupera las etiquetas suaves de teclado
ncurses_slk_set -- Establece las etiquetas de teclado
ncurses_slk_touch -- Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh
ncurses_standend -- Dejar de usar el atributo 'standout'
ncurses_standout -- Comenzar a usar el atributo 'standout'
ncurses_start_color -- Comenzar a usar colores
ncurses_termattrs -- Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal
ncurses_termname -- Devuelve el nombre (corto) de la terminal
ncurses_timeout -- Establecer el tiempo de espera para secuencias especiales de teclas
ncurses_top_panel -- Mueve un panel visible al tope de la pila
ncurses_typeahead -- Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente
ncurses_ungetch -- Colocar un caracter de vuelta en la secuencia de entrada
ncurses_ungetmouse -- Coloca un evento de mouse en la cola
ncurses_update_panels -- Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila
ncurses_use_default_colors -- Asignar los colores predeterminados de la terminal al id de color -1
ncurses_use_env -- Controlar el uso de información del entorno sobre el tamaño de la terminal
ncurses_use_extended_names -- Controlar el uso de nombres extendidos en descripciones de información de terminal
ncurses_vidattr -- Desplegar la cadena en la terminal con el atributo de modo de video
ncurses_vline -- Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
ncurses_waddch -- Agrega un caracter en la posición actual de una ventana y avanza el cursor
ncurses_waddstr -- Imprime un texto en la posición actual de una ventana
ncurses_wattroff -- Deshabilita los atributos para una ventana
ncurses_wattron -- Habilita los atributos para una ventana
ncurses_wattrset -- Establecer los atributos para una ventana
ncurses_wborder -- Dibuja un borde alrededor de la ventana usando caracteres con atributos
ncurses_wclear -- Limpia la ventana
ncurses_wcolor_set -- Establece parejas de colores en la ventana
ncurses_werase -- Eliminar los contenidos de la ventana
ncurses_wgetch -- Lee un caracter desde el teclado (en la ventana)
ncurses_whline -- Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres
ncurses_wmouse_trafo -- Transforma coordenadas de ventana/stdscr
ncurses_wmove -- Mueve la posición de salida de la ventana
ncurses_wnoutrefresh -- Copia la ventana a la pantalla virtual
ncurses_wrefresh -- Refrescar la ventana en la pantalla de terminal
ncurses_wstandend -- Finaliza el modo standout para una ventana
ncurses_wstandout -- Ingresar a modo standout en una ventana
ncurses_wvline -- Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

Anterior | Inicio | Siguiente
mysqli_warning_count | Subir | ncurses_addch


ncurses_addch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_addch -- Agregar un caracter en la posición actual y avanzar el cursor

Descripción

int ncurses_addch ( int car )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

car

Anterior | Inicio | Siguiente
Funciones de Control de Pantalla con Terminal Ncurses | Subir | ncurses_addchnstr


ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_addchnstr -- Agregar cadena con atributos y longitud especificada en la posición actual

Descripción

int ncurses_addchnstr ( string s, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

s

n

Anterior | Inicio | Siguiente
ncurses_addch | Subir | ncurses_addchstr


ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_addchstr -- Agregar una cadena con atributos en la posición actual

Descripción

int ncurses_addchstr ( string s )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

s

Anterior | Inicio | Siguiente
ncurses_addchnstr | Subir | ncurses_addnstr


ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_addnstr -- Agregar una cadena con la longitud especificada en la posición actual

Descripción

int ncurses_addnstr ( string s, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

s

n

Anterior | Inicio | Siguiente
ncurses_addchstr | Subir | ncurses_addstr


ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_addstr -- Imprimir texto en la posición actual

Descripción

int ncurses_addstr ( string texto )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

texto

Anterior | Inicio | Siguiente
ncurses_addnstr | Subir | ncurses_assume_default_colors


ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5)

ncurses_assume_default_colors -- Definir colores predeterminados para el color 0

Descripción

int ncurses_assume_default_colors ( int fg, int bg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

fg

bg

Anterior | Inicio | Siguiente
ncurses_addstr | Subir | ncurses_attroff


ncurses_attroff

(PHP 4 >= 4.1.0, PHP 5)

ncurses_attroff -- Deshabilitar los atributos dados

Descripción

int ncurses_attroff ( int atributos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

atributos

Anterior | Inicio | Siguiente
ncurses_assume_default_colors | Subir | ncurses_attron


ncurses_attron

(PHP 4 >= 4.1.0, PHP 5)

ncurses_attron -- Habilitar los atributos dados

Descripción

int ncurses_attron ( int atributos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

attributes

Anterior | Inicio | Siguiente
ncurses_attroff | Subir | ncurses_attrset


ncurses_attrset

(PHP 4 >= 4.1.0, PHP 5)

ncurses_attrset -- Establecer los atributos dados

Descripción

int ncurses_attrset ( int atributos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

attributes

Anterior | Inicio | Siguiente
ncurses_attron | Subir | ncurses_baudrate


ncurses_baudrate

(PHP 4 >= 4.1.0, PHP 5)

ncurses_baudrate -- Devuelve la tasa de baudios de la terminal

Descripción

int ncurses_baudrate ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_attrset | Subir | ncurses_beep


ncurses_beep

(PHP 4 >= 4.1.0, PHP 5)

ncurses_beep -- Producir un beep en la terminal

Descripción

int ncurses_beep ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_beep() envía una alerta auditiva (campana), y si no es posible produce un relampagueo en la pantalla.

Ver también

ncurses_flash()

Anterior | Inicio | Siguiente
ncurses_baudrate | Subir | ncurses_bkgd


ncurses_bkgd

(PHP 4 >= 4.1.0, PHP 5)

ncurses_bkgd -- Establecer la propiedad de segundo plano para la pantalla de la terminal

Descripción

int ncurses_bkgd ( int atributo_caracter )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

atributo_caracter

Anterior | Inicio | Siguiente
ncurses_beep | Subir | ncurses_bkgdset


ncurses_bkgdset

(PHP 4 >= 4.1.0, PHP 5)

ncurses_bkgdset -- Controla el segundo plano de la pantalla

Descripción

void ncurses_bkgdset ( int atributo_caracter )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

attrchar

Anterior | Inicio | Siguiente
ncurses_bkgd | Subir | ncurses_border


ncurses_border

(PHP 4 >= 4.2.0, PHP 5)

ncurses_border -- Dibujar un borde alrededor de la pantalla usando caracteres con atributos

Descripción

int ncurses_border ( int izquierda, int derecha, int arriba, int abajo, int esquina_sup_izq, int esquina_sup_der, int esquina_inf_izq, int esquina_inf_der )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Dibuja las líneas y esquinas especificadas alrededor de la ventana principal.

¡Utilice ncurses_wborder() para los bordes alrededor de sub-ventanas!

Lista de parámetros

Cada parámetro espera 0 para dibujar una línea, o 1 para ignorarla.

izquierda

derecha

arriba

abajo

esquina_sup_izq

Esquina superior izquierda

esquina_sup_der

Esquina superior derecha

esquina_inf_izq

Esquina inferior izquierda

esquina_inf_der

Esquina inferior derecha

Ver también

ncurses_wborder()

Anterior | Inicio | Siguiente
ncurses_bkgdset | Subir | ncurses_bottom_panel


ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_bottom_panel -- Mueve un panel visible al fondo de la pila

Descripción

int ncurses_bottom_panel ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

panel

Anterior | Inicio | Siguiente
ncurses_border | Subir | ncurses_can_change_color


ncurses_can_change_color

(PHP 4 >= 4.1.0, PHP 5)

ncurses_can_change_color -- Chequear si es posible cambiar los colores de la terminal

Descripción

bool ncurses_can_change_color ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Indica si la terminal tiene soporte de colores, y si el programador puede modificarlos.

Valores retornados

Devuelve TRUE si la terminal tiene capacidad de usar colores y es posible modificarlos, FALSE de lo contrario.

Anterior | Inicio | Siguiente
ncurses_bottom_panel | Subir | ncurses_cbreak


ncurses_cbreak

(PHP 4 >= 4.1.0, PHP 5)

ncurses_cbreak -- Cambio de búferes de entrada

Descripción

bool ncurses_cbreak ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Deshabilita el uso de búferes de línea y el procesamiento de caracteres (los caracteres de interrupción y control de flujo no son alterados), haciendo que los caracteres escritos por el usuario sean entregados al programa inmediatamente.

Valores retornados

Devuelve TRUE o NCURSES_ERR si ocurre un error.

Ver también

ncurses_nocbreak()

Anterior | Inicio | Siguiente
ncurses_can_change_color | Subir | ncurses_clear


ncurses_clear

(PHP 4 >= 4.1.0, PHP 5)

ncurses_clear -- Limpiar la pantalla

Descripción

bool ncurses_clear ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Limpia la pantalla completamente sin usar caracteres en blanco.

Nota: ncurses_clear() limpia la pantalla sin usar caracteres en blanco, que tienen la misma apariencia del segundo plano actual. Para limpiar la pantalla con caracteres en blanco, use ncurses_erase().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ncurses_erase()

Anterior | Inicio | Siguiente
ncurses_cbreak | Subir | ncurses_clrtobot


ncurses_clrtobot

(PHP 4 >= 4.1.0, PHP 5)

ncurses_clrtobot -- Limpiar la pantalla desde la posición actual al final

Descripción

bool ncurses_clrtobot ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Elimina todas las líneas desde el cursor hasta el fin de la pantalla y crea caracteres en blanco. Los caracteres en blanco creados por ncurses_clrtobot() tienen la apariencia del segundo plano actual.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ncurses_clear()
ncurses_clrtoeol()

Anterior | Inicio | Siguiente
ncurses_clear | Subir | ncurses_clrtoeol


ncurses_clrtoeol

(PHP 4 >= 4.1.0, PHP 5)

ncurses_clrtoeol -- Limpiar la pantalla desde la posición actual al final de la línea

Descripción

bool ncurses_clrtoeol ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Elimina la línea actual desde la posición actual hasta el final. Los caracteres en blanco creados por ncurses_clrtoeol() tienen la apariencia del segundo plano actual.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ncurses_clear()
ncurses_clrtobot()

Anterior | Inicio | Siguiente
ncurses_clrtobot | Subir | ncurses_color_content


ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5)

ncurses_color_content -- Obtiene el valor RGB del color

Descripción

int ncurses_color_content ( int color, int &r, int &g, int &b )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

color

r

g

b

Anterior | Inicio | Siguiente
ncurses_clrtoeol | Subir | ncurses_color_set


ncurses_color_set

(PHP 4 >= 4.1.0, PHP 5)

ncurses_color_set -- Establecer los colores de primer y segundo plano

Descripción

int ncurses_color_set ( int pareja )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

pareja

Anterior | Inicio | Siguiente
ncurses_color_content | Subir | ncurses_curs_set


ncurses_curs_set

(PHP 4 >= 4.1.0, PHP 5)

ncurses_curs_set -- Establecer el estado del cursor

Descripción

int ncurses_curs_set ( int visibilidad )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

visibilidad

Anterior | Inicio | Siguiente
ncurses_color_set | Subir | ncurses_def_prog_mode


ncurses_def_prog_mode

(PHP 4 >= 4.1.0, PHP 5)

ncurses_def_prog_mode -- Guarda los modos de terminal (programa)

Descripción

bool ncurses_def_prog_mode ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Guarda los modos de terminal actuales para programa (en curses) para su uso por ncurses_reset_prog_mode().

Valores retornados

Devuelve FALSE en caso de éxito, TRUE de lo contrario.

Ver también

ncurses_reset_prog_mode()

Anterior | Inicio | Siguiente
ncurses_curs_set | Subir | ncurses_def_shell_mode


ncurses_def_shell_mode

(PHP 4 >= 4.1.0, PHP 5)

ncurses_def_shell_mode -- Guarda los modos de terminal (intérprete de comandos)

Descripción

bool ncurses_def_shell_mode ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Guarda los modos de terminal actuales de intérprete de comandos (no en curses) para su uso con ncurses_reset_shell_mode().

Valores retornados

Devuelve FALSE en caso de éxito, TRUE de lo contrario.

Ver también

ncurses_reset_shell_mode()

Anterior | Inicio | Siguiente
ncurses_def_prog_mode | Subir | ncurses_define_key


ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5)

ncurses_define_key -- Definir un código de tecla

Descripción

int ncurses_define_key ( string definicion, int codigo_tecla )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

definicion

codigo_tecla

Anterior | Inicio | Siguiente
ncurses_def_shell_mode | Subir | ncurses_del_panel


ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_del_panel -- Remover un panel de la pila y eliminarlo (pero no la ventana asociada)

Descripción

bool ncurses_del_panel ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

panel

Anterior | Inicio | Siguiente
ncurses_define_key | Subir | ncurses_delay_output


ncurses_delay_output

(PHP 4 >= 4.1.0, PHP 5)

ncurses_delay_output -- Retrasar la salida en la terminal usando caracteres de relleno

Descripción

int ncurses_delay_output ( int milisegundos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

milisegundos

Anterior | Inicio | Siguiente
ncurses_del_panel | Subir | ncurses_delch


ncurses_delch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_delch -- Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda

Descripción

bool ncurses_delch ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_delch() elimina el caracter bajo el cursor. Todos los caracteres a la derecha del cursor en la misma línea son desplazados una posición hacia la izquierda, y el último caracter en la línea es llenado con un caracter en blanco. La posición del cursor no cambia. Devuelve FALSE en caso de tener éxito, o TRUE de lo contrario.

Vea también: ncurses_deleteln()

Anterior | Inicio | Siguiente
ncurses_delay_output | Subir | ncurses_deleteln


ncurses_deleteln

(PHP 4 >= 4.1.0, PHP 5)

ncurses_deleteln -- Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba

Descripción

bool ncurses_deleteln ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_deleteln() elimina la línea actual bajo la posición del cursor. Todas las líneas por debajo de la línea actual son desplazadas una línea hacia arriba. La línea más baja es limpiada. La posición del cursor no cambia. Devuelve FALSE en caso de éxito, TRUE de lo contrario.

Vea también: ncurses_delch()

Anterior | Inicio | Siguiente
ncurses_delch | Subir | ncurses_delwin


ncurses_delwin

(PHP 4 >= 4.1.0, PHP 5)

ncurses_delwin -- Eliminar una ventana ncurses

Descripción

bool ncurses_delwin ( resource ventana )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_deleteln | Subir | ncurses_doupdate


ncurses_doupdate

(PHP 4 >= 4.1.0, PHP 5)

ncurses_doupdate -- Escribir todas las actualizaciones preparadas sobre la terminal

Descripción

bool ncurses_doupdate ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_doupdate() compara la pantalla virtual con la pantalla física y actualiza la pantalla física. De esta forma es más efectivo que usando múltiples llamadas de actualización. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ncurses_delwin | Subir | ncurses_echo


ncurses_echo

(PHP 4 >= 4.1.0, PHP 5)

ncurses_echo -- Activar la repetición de entrada del teclado

Descripción

bool ncurses_echo ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_echo() habilita el modo de repetición. Todos los caracteres escritos por el usuario son repetidos por ncurses_getch(). Devuelve FALSE de tener éxito, o TRUE si ocurrió algún error.

Para deshabilitar el modo de repetición, use ncurses_noecho().

Anterior | Inicio | Siguiente
ncurses_doupdate | Subir | ncurses_echochar


ncurses_echochar

(PHP 4 >= 4.1.0, PHP 5)

ncurses_echochar -- Salida de un caracter sencillo, incluyendo actualización

Descripción

int ncurses_echochar ( int caracter )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_echo | Subir | ncurses_end


ncurses_end

(PHP 4 >= 4.1.0, PHP 5)

ncurses_end -- Dejar de usar ncurses, limpiar la pantalla

Descripción

int ncurses_end ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_echochar | Subir | ncurses_erase


ncurses_erase

(PHP 4 >= 4.1.0, PHP 5)

ncurses_erase -- Limpiar pantalla de terminal

Descripción

bool ncurses_erase ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_erase() llena la pantalla de terminal con caracteres en blanco. Los caracteres creados tienen la apariencia del segundo plano actual, establecida por ncurses_bkgd(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también ncurses_bkgd(), y ncurses_clear()

Anterior | Inicio | Siguiente
ncurses_end | Subir | ncurses_erasechar


ncurses_erasechar

(PHP 4 >= 4.1.0, PHP 5)

ncurses_erasechar -- Devuelve el caracter de borrado actual

Descripción

string ncurses_erasechar ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_erasechar() devuelve el caracter de borrado actual.

Vea también: ncurses_killchar()

Anterior | Inicio | Siguiente
ncurses_erase | Subir | ncurses_filter


ncurses_filter

(PHP 4 >= 4.1.0, PHP 5)

ncurses_filter -- Definir LINES para iniscr() y newterm() a 1

Descripción

void ncurses_filter ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_erasechar | Subir | ncurses_flash


ncurses_flash

(PHP 4 >= 4.1.0, PHP 5)

ncurses_flash -- Relampaguear la pantalla de terminal (campana visual)

Descripción

bool ncurses_flash ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_flash() relampaguea la pantalla, y si no es posible, envía una aletra auditiva (campana). Devuelve FALSE de tener éxito, TRUE de lo contrario.

Vea también: ncurses_beep()

Anterior | Inicio | Siguiente
ncurses_filter | Subir | ncurses_flushinp


ncurses_flushinp

(PHP 4 >= 4.1.0, PHP 5)

ncurses_flushinp -- Volcar el búfer de entrada de teclado

Descripción

bool ncurses_flushinp ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_flushinp() envía cualquier contenido que haya sido escrito y no haya sido leido aun por su programa. Devuelve FALSE en caso de tener éxito, TRUE de lo contrario.

Anterior | Inicio | Siguiente
ncurses_flash | Subir | ncurses_getch


ncurses_getch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_getch -- Leer un caracter desde el teclado

Descripción

int ncurses_getch ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_flushinp | Subir | ncurses_getmaxyx


ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5)

ncurses_getmaxyx -- Devuelve el tamaño de una ventana

Descripción

void ncurses_getmaxyx ( resource ventana, int &y, int &x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_getmaxyx() coloca los tamaños horizontal y vertical de la ventana ventana en las variables y y x dadas. Las variables deben ser pasadas como referencias, de modo que sean actualizadas cuando el usuario cambie el tamaño de la terminal.

Anterior | Inicio | Siguiente
ncurses_getch | Subir | ncurses_getmouse


ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5)

ncurses_getmouse -- Lee un evento del mouse

Descripción

bool ncurses_getmouse ( array &evento_mouse )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_getmouse() lee un evento de mouse desde la cola. La función ncurses_getmouse() devolverá FALSE si un evento del mouse es visible en la ventana dada, o TRUE de lo contrario. Las opciones del evento serán entregadas en el parámetro evento_mouse, el cual debe ser una matriz, pasada por referencia (vea el ejemplo siguiente). En caso de éxito, se entregará una matriz asociativa con las siguientes claves:

  • "id" : Id para distinguir múltiples dispositivos

  • "x" : posición x de pantalla relativa en celdas de caracter

  • "y" : posición y de pantalla relativa en celdas de caracter

  • "z" : no soportado por el momento

  • "mmask" : acción del mouse

Ejemplo 1. Ejemplo de ncurses_getmouse()

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse(&$mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Guardar la posicion del mouse
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

Vea también ncurses_ungetmouse()

Anterior | Inicio | Siguiente
ncurses_getmaxyx | Subir | ncurses_getyx


ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5)

ncurses_getyx -- Devuelve la posición de cursor actual para una ventana

Descripción

void ncurses_getyx ( resource ventana, int &y, int &x )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_getmouse | Subir | ncurses_halfdelay


ncurses_halfdelay

(PHP 4 >= 4.1.0, PHP 5)

ncurses_halfdelay -- Colocar la terminal en modo de medio retraso

Descripción

int ncurses_halfdelay ( int decimo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_getyx | Subir | ncurses_has_colors


ncurses_has_colors

(PHP 4 >= 4.1.0, PHP 5)

ncurses_has_colors -- Chequear si la terminal tiene colores

Descripción

bool ncurses_has_colors ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_has_colors() devuelve TRUE o FALSE dependiendo de que la terminal tenga soporte de colores.

Vea también: ncurses_can_change_color()

Anterior | Inicio | Siguiente
ncurses_halfdelay | Subir | ncurses_has_ic


ncurses_has_ic

(PHP 4 >= 4.1.0, PHP 5)

ncurses_has_ic -- Chequear por el soporte de inserción y borrado

Descripción

bool ncurses_has_ic ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_has_ic() chequea el soporte de inserción y borrado de la terminal. Devuelve TRUE cuando la terminal tiene soporte de inserción/borrado, FALSE de lo contrario.

Vea también: ncurses_has_il()

Anterior | Inicio | Siguiente
ncurses_has_colors | Subir | ncurses_has_il


ncurses_has_il

(PHP 4 >= 4.1.0, PHP 5)

ncurses_has_il -- Chequea el soporte de inserción y borrado

Descripción

bool ncurses_has_il ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_has_il() chequea el soporte de inserción y borrado de líneas de la terminal. Devuelve TRUE cuando la terminal tiene soporte de inserción/borrado de líneas, FALSE de lo contrario.

Vea también: ncurses_has_ic()

Anterior | Inicio | Siguiente
ncurses_has_ic | Subir | ncurses_has_key


ncurses_has_key

(PHP 4 >= 4.1.0, PHP 5)

ncurses_has_key -- Chequear por la presencia de una tecla de función en el teclado de la terminal

Descripción

int ncurses_has_key ( int codigo_tecla )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_has_il | Subir | ncurses_hide_panel


ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_hide_panel -- Remover un panel de la pila, haciéndolo invisible

Descripción

int ncurses_hide_panel ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_has_key | Subir | ncurses_hline


ncurses_hline

(PHP 4 >= 4.2.0, PHP 5)

ncurses_hline -- Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo

Descripción

int ncurses_hline ( int caracter_atributos, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_hide_panel | Subir | ncurses_inch


ncurses_inch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_inch -- Obtener el caracter y los atributos de la posición actual

Descripción

string ncurses_inch ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_inch() devuelve el caracter de la posición actual.

Anterior | Inicio | Siguiente
ncurses_hline | Subir | ncurses_init_color


ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5)

ncurses_init_color -- Establecer un nuevo valor RGB para un color

Descripción

int ncurses_init_color ( int color, int r, int g, int b )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_inch | Subir | ncurses_init_pair


ncurses_init_pair

(PHP 4 >= 4.1.0, PHP 5)

ncurses_init_pair -- Reservar una pareja de color

Descripción

int ncurses_init_pair ( int pareja, int fg, int bg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_init_color | Subir | ncurses_init


ncurses_init

(PHP 4 >= 4.1.0, PHP 5)

ncurses_init -- Inicializar ncurses

Descripción

void ncurses_init ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_init() inicializa la interfaz ncurses y debe ser usada antes de cualquier otra función de ncurses.

Anterior | Inicio | Siguiente
ncurses_init_pair | Subir | ncurses_insch


ncurses_insch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_insch -- Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual

Descripción

int ncurses_insch ( int caracter )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_init | Subir | ncurses_insdelln


ncurses_insdelln

(PHP 4 >= 4.1.0, PHP 5)

ncurses_insdelln -- Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)

Descripción

int ncurses_insdelln ( int conteo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_insch | Subir | ncurses_insertln


ncurses_insertln

(PHP 4 >= 4.1.0, PHP 5)

ncurses_insertln -- Insertar una línea, mover el resto de la pantalla hacia abajo

Descripción

bool ncurses_insertln ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_insertln() inserta una nueva línea antes de la línea actual. La línea más baja se perderá.

Anterior | Inicio | Siguiente
ncurses_insdelln | Subir | ncurses_insstr


ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_insstr -- Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha

Descripción

int ncurses_insstr ( string texto )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_insertln | Subir | ncurses_instr


ncurses_instr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_instr -- Lee una cadena desde la pantalla de terminal

Descripción

int ncurses_instr ( string &bufer )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_instr() devuelve el número de caracteres leidos desde la posición del caracter actual hasta el fin de línea. bufer contiene los caracteres. Los atributos son retirados de los caracteres.

Anterior | Inicio | Siguiente
ncurses_insstr | Subir | ncurses_isendwin


ncurses_isendwin

(PHP 4 >= 4.1.0, PHP 5)

ncurses_isendwin -- Ncurses se encuentra en modo endwin, puede efectuarse salida de pantalla normal

Descripción

bool ncurses_isendwin ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_isendwin() devuelve TRUE si la función ncurses_endwin() ha sido llamada sin llamada subsiguiente alguna a ncurses_wrefresh(), o FALSE de lo contrario.

Vea también ncurses_endwin() y ncurses_wrefresh().

Anterior | Inicio | Siguiente
ncurses_instr | Subir | ncurses_keyok


ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5)

ncurses_keyok -- Habilitar o deshabilitar un código de tecla

Descripción

int ncurses_keyok ( int codigo_tecla, bool habilitar )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_isendwin | Subir | ncurses_keypad


ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5)

ncurses_keypad -- Activa o desactiva el teclado numérico

Descripción

int ncurses_keypad ( resource ventana, bool bf )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_keyok | Subir | ncurses_killchar


ncurses_killchar

(PHP 4 >= 4.1.0, PHP 5)

ncurses_killchar -- Devuelve el caracter de eliminación de línea actual

Descripción

string ncurses_killchar ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_killchar() devuelve el caracter de eliminación de línea actual.

Vea también: ncurses_erasechar()

Anterior | Inicio | Siguiente
ncurses_keypad | Subir | ncurses_longname


ncurses_longname

(PHP 4 >= 4.2.0, PHP 5)

ncurses_longname -- Devuelve la descripción de la terminal

Descripción

string ncurses_longname ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_longname() devuelve una descripción detallada de la terminal. La descripción es truncada a 128 caracteres. En caso de fallo, ncurses_longname() devuelve NULL.

Vea también: ncurses_termname()

Anterior | Inicio | Siguiente
ncurses_killchar | Subir | ncurses_meta


ncurses_meta

(PHP 4 >= 4.3.0, PHP 5)

ncurses_meta -- Habilita/deshabilita la meta-información de 8-bits de tecla

Descripción

int ncurses_meta ( resource ventana, bool 8bit )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_longname | Subir | ncurses_mouse_trafo


ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mouse_trafo -- Transforma coordenadas

Descripción

bool ncurses_mouse_trafo ( int &y, int &x, bool a_pantalla )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_meta | Subir | ncurses_mouseinterval


ncurses_mouseinterval

(PHP 4 >= 4.1.0, PHP 5)

ncurses_mouseinterval -- Establecer el tiempo de espera para clics de botón del mouse

Descripción

int ncurses_mouseinterval ( int milisegundos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mouse_trafo | Subir | ncurses_mousemask


ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mousemask -- Establece opciones del mouse

Descripción

int ncurses_mousemask ( int nueva_mascara, int &vieja_mascara )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_mousemask() establecerá los eventos del mouse a ser reportados. Por defecto, ningún evento del mouse será reportado. La función ncurses_mousemask() devolverá una máscara para indicar cúales de los eventos especificados en el parámetro nueva_mascara pueden ser reportados. En caso de un total fracaso, devuelve 0. En el parámetro vieja_mascara, el cual es pasado por referencia, ncurses_mousemask() devuelve el valor previo de la máscara de eventos del mouse. Los eventos del mouse son representados por NCURSES_KEY_MOUSE en la secuencia de entrada ncurses_wgetch(). Para leer los datos del evento y recuperar el evento de la cola, llame a ncurses_getmouse().

Como efecto secundario, definir una máscara del mouse como 0 en nueva_mascara deshabilita el puntero del mouse. Definir un valor distinto de cero habilita el puntero del mouse.

Las opciones de máscara del mouse pueden definirse con las siguientes constantes predefinidas:

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

Ejemplo 1. Ejemplo de ncurses_mousemask()

<?php
$nueva_mascara = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mascara = ncurses_mousemask($nueva_mascara, &$vieja_mascara);
if ($mascara & $nueva_mascara){
  printf ("Todas las opciones del mouse especificadas ser&aacute;n soportadas\n");
}
?>

Vea también ncurses_getmouse(),
ncurses_ungetmouse() y
ncurese_getch().

Anterior | Inicio | Siguiente
ncurses_mouseinterval | Subir | ncurses_move_panel


ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_move_panel -- Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]

Descripción

int ncurses_move_panel ( resource panel, int comienzo_x, int comienzo_y )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mousemask | Subir | ncurses_move


ncurses_move

(PHP 4 >= 4.1.0, PHP 5)

ncurses_move -- Mover la posición de salida

Descripción

int ncurses_move ( int y, int x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_move_panel | Subir | ncurses_mvaddch


ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvaddch -- Mover la posición actual y agregar un caracter

Descripción

int ncurses_mvaddch ( int y, int x, int c )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_move | Subir | ncurses_mvaddchnstr


ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvaddchnstr -- Mover la posición y agregar una cadena con atributos con la longitud especificada

Descripción

int ncurses_mvaddchnstr ( int y, int x, string s, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvaddch | Subir | ncurses_mvaddchstr


ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvaddchstr -- Mover la posición y agregar una cadena con atributos

Descripción

int ncurses_mvaddchstr ( int y, int x, string s )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvaddchnstr | Subir | ncurses_mvaddnstr


ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvaddnstr -- Mover la posición y agregar una cadena con la longitud especificada

Descripción

int ncurses_mvaddnstr ( int y, int x, string s, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvaddchstr | Subir | ncurses_mvaddstr


ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvaddstr -- Mover la posición y agregar una cadena

Descripción

int ncurses_mvaddstr ( int y, int x, string s )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvaddnstr | Subir | ncurses_mvcur


ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvcur -- Mover el cursor inmediatamente

Descripción

int ncurses_mvcur ( int viejo_y, int viejo_x, int nuevo_y, int nuevo_x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvaddstr | Subir | ncurses_mvdelch


ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvdelch -- Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda

Descripción

int ncurses_mvdelch ( int y, int x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvcur | Subir | ncurses_mvgetch


ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvgetch -- Mover la posición y obtener el caracter en la nueva posición

Descripción

int ncurses_mvgetch ( int y, int x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvdelch | Subir | ncurses_mvhline


ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvhline -- Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_mvhline ( int y, int x, int caracter_atributos, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvgetch | Subir | ncurses_mvinch


ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvinch -- Mover la posición y obtener el caracter con atributos en la nueva posición

Descripción

int ncurses_mvinch ( int y, int x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvhline | Subir | ncurses_mvvline


ncurses_mvvline

(no version information, might be only in CVS)

ncurses_mvvline -- Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_mvvline ( int y, int x, int caracter_atributos, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvinch | Subir | ncurses_mvwaddstr


ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_mvwaddstr -- Agregar una cadena en una nueva posición al interior de una ventana

Descripción

int ncurses_mvwaddstr ( resource ventana, int y, int x, string texto )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvvline | Subir | ncurses_napms


ncurses_napms

(PHP 4 >= 4.1.0, PHP 5)

ncurses_napms -- Dormir

Descripción

int ncurses_napms ( int milisegundos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_mvwaddstr | Subir | ncurses_new_panel


ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_new_panel -- Crear un nuevo panel y asociarlo con una ventana

Descripción

resource ncurses_new_panel ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_napms | Subir | ncurses_newpad


ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5)

ncurses_newpad -- Crea un nuevo pad (ventana)

Descripción

resource ncurses_newpad ( int filas, int columnas )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_new_panel | Subir | ncurses_newwin


ncurses_newwin

(PHP 4 >= 4.1.0, PHP 5)

ncurses_newwin -- Crear una nueva ventana

Descripción

int ncurses_newwin ( int filas, int columnas, int y, int x )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_newwin() crea una nueva ventana en donde dibujar elementos. Las ventanas pueden ser posicionadas usando x, y, filas y columnas. Cuando se creen ventanas adicionales, recuerde usar ncurses_getmaxyx() para verificar el espacio disponible, ya que el tamaño de terminal es individual y puede variar. El valor de retorno es un ID de recurso usado para cambiar entre múltiples ventanas.

Anterior | Inicio | Siguiente
ncurses_newpad | Subir | ncurses_nl


ncurses_nl

(PHP 4 >= 4.1.0, PHP 5)

ncurses_nl -- Traducir línea nueva y retorno de carro / alimentación de línea

Descripción

bool ncurses_nl ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_newwin | Subir | ncurses_nocbreak


ncurses_nocbreak

(PHP 4 >= 4.1.0, PHP 5)

ncurses_nocbreak -- Cambiar la terminal a modo normal (cooked)

Descripción

bool ncurses_nocbreak ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La rutina ncurses_nocbreak() devuelve la terminal a modo normal (cooked). Inicialmente la terminal puede o no estar en modo cbreak, ya que el modo se hereda. De tal modo que un programa debería llamar a ncurses_cbreak() y ncurses_nocbreak() explícitamente. Devuelve TRUE si ocurrió un error, o FALSE de lo contrario.

Vea también: ncurses_cbreak()

Anterior | Inicio | Siguiente
ncurses_nl | Subir | ncurses_noecho


ncurses_noecho

(PHP 4 >= 4.1.0, PHP 5)

ncurses_noecho -- Desactivar la repetición de entrada del teclado

Descripción

bool ncurses_noecho ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_noecho() previene la repetición de los caracteres escritos por el usuario. Devuelve TRUE si ocurre un error, o FALSE de lo contrario.

Vea también: ncurses_echo(), ncurses_getch()

Anterior | Inicio | Siguiente
ncurses_nocbreak | Subir | ncurses_nonl


ncurses_nonl

(PHP 4 >= 4.1.0, PHP 5)

ncurses_nonl -- No traducir línea nueva y retorno de carro / alimentación de línea

Descripción

bool ncurses_nonl ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_noecho | Subir | ncurses_noqiflush


ncurses_noqiflush

(PHP 4 >= 4.1.0, PHP 5)

ncurses_noqiflush -- No realizar volcados en caracteres de señales

Descripción

void ncurses_noqiflush ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_nonl | Subir | ncurses_noraw


ncurses_noraw

(PHP 4 >= 4.1.0, PHP 5)

ncurses_noraw -- Salir del modo puro en la terminal

Descripción

bool ncurses_noraw ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_noraw() retira la terminal del modo puro. El modo puro (raw) es similar al modo cbrek, en tanto que los caracteres escritos son pasados inmediatamente al programa del usuario. Las diferencias consisten en que, en modo puro, los caracteres de control de interrupción, salida, suspensión y flujo son todos pasados sin ser interpretados, en lugar de generar una señal. Devuelve TRUE si ocurrió un error, o FALSE de lo contrario.

Vea también: ncurses_raw(),
ncurses_cbreak(),
ncurses_nocbreak()

Anterior | Inicio | Siguiente
ncurses_noqiflush | Subir | ncurses_pair_content


ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5)

ncurses_pair_content -- Obtiene el valor RGB del color

Descripción

int ncurses_pair_content ( int pareja, int &f, int &b )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_noraw | Subir | ncurses_panel_above


ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5)

ncurses_panel_above -- Devuelve el panel encima del panel indicado

Descripción

resource ncurses_panel_above ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Si el panel es null, devuelve el panel al fondo de la pila.

Anterior | Inicio | Siguiente
ncurses_pair_content | Subir | ncurses_panel_below


ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5)

ncurses_panel_below -- Devuelve el panel por debajo del panel indicado

Descripción

resource ncurses_panel_below ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Si el panel no existe, devuelve el panel más arriba en la pila

Anterior | Inicio | Siguiente
ncurses_panel_above | Subir | ncurses_panel_window


ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5)

ncurses_panel_window -- Devuelve la ventana asociada con el panel

Descripción

resource ncurses_panel_window ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_panel_below | Subir | ncurses_pnoutrefresh


ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5)

ncurses_pnoutrefresh -- Copia una región desde un pad a la pantalla virtual

Descripción

int ncurses_pnoutrefresh ( resource pad, int p_fil_min, int p_col_min, int s_fil_min, int s_col_min, int s_fil_max, int s_col_max )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_panel_window | Subir | ncurses_prefresh


ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5)

ncurses_prefresh -- Copia una región desde un pad a la pantalla virtual

Descripción

int ncurses_prefresh ( resource pad, int p_fil_min, int p_col_min, int s_fil_min, int s_col_min, int s_fil_max, int s_col_max )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_pnoutrefresh | Subir | ncurses_putp


ncurses_putp

(PHP 4 >= 4.2.0, PHP 5)

ncurses_putp -- Aplicar la información de márgenes a la cadena e imprimirla

Descripción

int ncurses_putp ( string texto )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_prefresh | Subir | ncurses_qiflush


ncurses_qiflush

(PHP 4 >= 4.1.0, PHP 5)

ncurses_qiflush -- Producir volcado en caracteres de señales

Descripción

void ncurses_qiflush ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_putp | Subir | ncurses_raw


ncurses_raw

(PHP 4 >= 4.1.0, PHP 5)

ncurses_raw -- Colocar la terminal en modo puro

Descripción

bool ncurses_raw ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_raw() coloca la terminal en modo puro. El modo puro es similar al modo cbreak, en tanto que los caracteres escritos son pasados inmediatamente al programa del usuario. Las diferencias consisten en que, en modo puro, los caracteres de control de interrupción, salida, suspensión y flujo son todos pasados sin ser interpretados, en lugar de generar una señal. Devuelve TRUE si ocurre algún error, o FALSE de lo contrario.

Vea también: ncurses_noraw(),
ncurses_cbreak(),
ncurses_nocbreak()

Anterior | Inicio | Siguiente
ncurses_qiflush | Subir | ncurses_refresh


ncurses_refresh

(PHP 4 >= 4.1.0, PHP 5)

ncurses_refresh -- Refrescar la pantalla

Descripción

int ncurses_refresh ( int ch )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_raw | Subir | ncurses_replace_panel


ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_replace_panel -- Reemplaza la ventana asociada con el panel

Descripción

int ncurses_replace_panel ( resource panel, resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_refresh | Subir | ncurses_reset_prog_mode


ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5)

ncurses_reset_prog_mode -- Restablece el modo de programa guardado por def_prog_mode

Descripción

int ncurses_reset_prog_mode ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_replace_panel | Subir | ncurses_reset_shell_mode


ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5)

ncurses_reset_shell_mode -- Restablece el modo de intérprete de comandos guardado por def_shell_mode

Descripción

int ncurses_reset_shell_mode ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_reset_prog_mode | Subir | ncurses_resetty


ncurses_resetty

(PHP 4 >= 4.1.0, PHP 5)

ncurses_resetty -- Restablece el estado guardado de la terminal

Descripción

bool ncurses_resetty ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_resetty() recupera el estado de la terminal, el cual fue guardado previamente al llamar ncurses_savetty(). Esta función siempre devuelve FALSE.

Vea también: ncurses_savetty()

Anterior | Inicio | Siguiente
ncurses_reset_shell_mode | Subir | ncurses_savetty


ncurses_savetty

(PHP 4 >= 4.1.0, PHP 5)

ncurses_savetty -- Guarda el estado de la terminal

Descripción

bool ncurses_savetty ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_savetty() guarda el estado actual de la terminal. El estado de terminal guardado puede ser recuperado con la función ncurses_resetty(). ncurses_savetty() siempre devuelve FALSE.

Vea también: ncurses_resetty()

Anterior | Inicio | Siguiente
ncurses_resetty | Subir | ncurses_scr_dump


ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5)

ncurses_scr_dump -- Vuelca el contenido de la pantalla en un archivo

Descripción

int ncurses_scr_dump ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_savetty | Subir | ncurses_scr_init


ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5)

ncurses_scr_init -- Inicializar la pantalla desde un volcado en un archivo

Descripción

int ncurses_scr_init ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_scr_dump | Subir | ncurses_scr_restore


ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5)

ncurses_scr_restore -- Recuperar la pantalla desde un volcado en un archivo

Descripción

int ncurses_scr_restore ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_scr_init | Subir | ncurses_scr_set


ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5)

ncurses_scr_set -- Heredar la pantalla de un volcado en un archivo

Descripción

int ncurses_scr_set ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_scr_restore | Subir | ncurses_scrl


ncurses_scrl

(PHP 4 >= 4.1.0, PHP 5)

ncurses_scrl -- Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual

Descripción

int ncurses_scrl ( int conteo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_scr_set | Subir | ncurses_show_panel


ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_show_panel -- Coloca un panel invisible al comienzo de la pila, haciéndola visible

Descripción

int ncurses_show_panel ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_scrl | Subir | ncurses_slk_attr


ncurses_slk_attr

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_attr -- Devuelve el atributo de la etiqueta suave de teclado

Descripción

bool ncurses_slk_attr ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_slk_attr() devuelve el atributo de la etiqueta suave de teclado actual. En caso de fallo, devuelve TRUE, FALSE de lo contrario.

Anterior | Inicio | Siguiente
ncurses_show_panel | Subir | ncurses_slk_attroff


ncurses_slk_attroff

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_attroff -- Deshabilitar los atributos dados para las etiquetas suaves de teclado

Descripción

int ncurses_slk_attroff ( int arg_int )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_attr | Subir | ncurses_slk_attron


ncurses_slk_attron

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_attron -- Habilitar los atributos dados para las etiquetas suaves de funciones de teclado

Descripción

int ncurses_slk_attron ( int intarg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_attroff | Subir | ncurses_slk_attrset


ncurses_slk_attrset

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_attrset -- Definir los atributos dados para las etiquetas suaves de funciones de teclado

Descripción

int ncurses_slk_attrset ( int intarg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_attron | Subir | ncurses_slk_clear


ncurses_slk_clear

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_clear -- Limpia las etiquetas suaves de la pantalla

Descripción

bool ncurses_slk_clear ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_slk_clear() limpia las etiquetas suaves de teclado de la pantalla. Devuelve TRUE en caso de fallo, o FALSE de lo contrario.

Anterior | Inicio | Siguiente
ncurses_slk_attrset | Subir | ncurses_slk_color


ncurses_slk_color

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_color -- Establece el color para las etiquetas suaves de teclado

Descripción

int ncurses_slk_color ( int intarg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_clear | Subir | ncurses_slk_init


ncurses_slk_init

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_init -- Inicializa las etiquetas suaves de funciones de teclado

Descripción

bool ncurses_slk_init ( int formato )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_slk_init() debe ser llamada antes de ncurses_initscr() o de que ncurses_newterm() sea llamada. Si ncurses_initscr() usa eventualmente una línea de stdscr para emular las etiquetas suaves, entonces formato determina el modo en que las etiquetas son acomodadas en la pantalla. Al definir formato como 0, se indica un arreglo 3-2-3 de las etiquetas, 1 indica un arreglo 4-4 y 2 indica el modo estándar de PC 4-4-4, pero adicionalmente se creará una línea de índice.

Anterior | Inicio | Siguiente
ncurses_slk_color | Subir | ncurses_slk_noutrefresh


ncurses_slk_noutrefresh

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_noutrefresh -- Copia las etiquetas suaves de teclado a la pantalla virtual

Descripción

bool ncurses_slk_noutrefresh ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_init | Subir | ncurses_slk_refresh


ncurses_slk_refresh

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_refresh -- Copia las etiquetas suaves de teclado a la pantalla

Descripción

bool ncurses_slk_refresh ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_slk_refresh() copia etiquetas suaves de teclado desde la pantalla virtual a la pantalla física. Devuelve TRUE en caso de fallo, o FALSE de lo contrario.

Anterior | Inicio | Siguiente
ncurses_slk_noutrefresh | Subir | ncurses_slk_restore


ncurses_slk_restore

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_restore -- Recupera las etiquetas suaves de teclado

Descripción

bool ncurses_slk_restore ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_slk_restore() recupera las etiquetas suaves de teclado después de que se ha completado un proceso ncurses_slk_clear().

Anterior | Inicio | Siguiente
ncurses_slk_refresh | Subir | ncurses_slk_set


ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5)

ncurses_slk_set -- Establece las etiquetas de teclado

Descripción

bool ncurses_slk_set ( int num_etiqueta, string etiqueta, int formato )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_restore | Subir | ncurses_slk_touch


ncurses_slk_touch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_slk_touch -- Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh

Descripción

bool ncurses_slk_touch ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

La función ncurses_slk_touch() obliga a que todas las etiquetas suaves sean desplegadas la próxima vez que se realiza un llamado a ncurses_slk_noutrefresh().

Anterior | Inicio | Siguiente
ncurses_slk_set | Subir | ncurses_standend


ncurses_standend

(PHP 4 >= 4.1.0, PHP 5)

ncurses_standend -- Dejar de usar el atributo 'standout'

Descripción

int ncurses_standend ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_slk_touch | Subir | ncurses_standout


ncurses_standout

(PHP 4 >= 4.1.0, PHP 5)

ncurses_standout -- Comenzar a usar el atributo 'standout'

Descripción

int ncurses_standout ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_standend | Subir | ncurses_start_color


ncurses_start_color

(PHP 4 >= 4.1.0, PHP 5)

ncurses_start_color -- Comenzar a usar colores

Descripción

int ncurses_start_color ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_standout | Subir | ncurses_termattrs


ncurses_termattrs

(PHP 4 >= 4.1.0, PHP 5)

ncurses_termattrs -- Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal

Descripción

bool ncurses_termattrs ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_start_color | Subir | ncurses_termname


ncurses_termname

(PHP 4 >= 4.2.0, PHP 5)

ncurses_termname -- Devuelve el nombre (corto) de la terminal

Descripción

string ncurses_termname ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_termname() devuelve el nombre corto de las terminales. El nombre corto es truncado a 14 caracteres. En caso de fallo, ncurses_termname() devuelve NULL.

Vea también: ncurses_longname()

Anterior | Inicio | Siguiente
ncurses_termattrs | Subir | ncurses_timeout


ncurses_timeout

(PHP 4 >= 4.1.0, PHP 5)

ncurses_timeout -- Establecer el tiempo de espera para secuencias especiales de teclas

Descripción

void ncurses_timeout ( int milisegundos )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_termname | Subir | ncurses_top_panel


ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5)

ncurses_top_panel -- Mueve un panel visible al tope de la pila

Descripción

int ncurses_top_panel ( resource panel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_timeout | Subir | ncurses_typeahead


ncurses_typeahead

(PHP 4 >= 4.1.0, PHP 5)

ncurses_typeahead -- Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente

Descripción

int ncurses_typeahead ( int da )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_top_panel | Subir | ncurses_ungetch


ncurses_ungetch

(PHP 4 >= 4.1.0, PHP 5)

ncurses_ungetch -- Colocar un caracter de vuelta en la secuencia de entrada

Descripción

int ncurses_ungetch ( int codigo_tecla )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_typeahead | Subir | ncurses_ungetmouse


ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5)

ncurses_ungetmouse -- Coloca un evento de mouse en la cola

Descripción

bool ncurses_ungetmouse ( array evento_mouse )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_getmouse() coloca un evento KEY_MOUSE en la cola de eventos devueltos y asocia con él los datos de estado y coordenadas relativas-a-pantalla de celda de caracter especificadas en evento_mouse. Las opciones del evento son especificadas en la matriz asociativa evento_mouse:

  • "id" : Id para distinguir múltiples dispositivos

  • "x" : posición x relativa a la pantalla en celdas de caracter

  • "y" : posición y relativa a la pantalla en celdas de caracter

  • "z" : por el momento sin soporte

  • "mmask" : acción del mouse

ncurses_ungetmouse() devuelve FALSE en caso de éxito, o TRUE de lo contrario.

Vea también: ncurses_getmouse()

Anterior | Inicio | Siguiente
ncurses_ungetch | Subir | ncurses_update_panels


ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5)

ncurses_update_panels -- Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila

Descripción

void ncurses_update_panels ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_ungetmouse | Subir | ncurses_use_default_colors


ncurses_use_default_colors

(PHP 4 >= 4.1.0, PHP 5)

ncurses_use_default_colors -- Asignar los colores predeterminados de la terminal al id de color -1

Descripción

bool ncurses_use_default_colors ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_update_panels | Subir | ncurses_use_env


ncurses_use_env

(PHP 4 >= 4.1.0, PHP 5)

ncurses_use_env -- Controlar el uso de información del entorno sobre el tamaño de la terminal

Descripción

void ncurses_use_env ( bool bandera )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_use_default_colors | Subir | ncurses_use_extended_names


ncurses_use_extended_names

(PHP 4 >= 4.1.0, PHP 5)

ncurses_use_extended_names -- Controlar el uso de nombres extendidos en descripciones de información de terminal

Descripción

int ncurses_use_extended_names ( bool bandera )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_use_env | Subir | ncurses_vidattr


ncurses_vidattr

(PHP 4 >= 4.1.0, PHP 5)

ncurses_vidattr -- Desplegar la cadena en la terminal con el atributo de modo de video

Descripción

int ncurses_vidattr ( int intarg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_use_extended_names | Subir | ncurses_vline


ncurses_vline

(PHP 4 >= 4.2.0, PHP 5)

ncurses_vline -- Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_vline ( int caracter_atributos, int n )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_vidattr | Subir | ncurses_waddch


ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5)

ncurses_waddch -- Agrega un caracter en la posición actual de una ventana y avanza el cursor

Descripción

int ncurses_waddch ( resource ventana, int ch )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_vline | Subir | ncurses_waddstr


ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5)

ncurses_waddstr -- Imprime un texto en la posición actual de una ventana

Descripción

int ncurses_waddstr ( resource ventana, string cadena [, int n] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_waddch | Subir | ncurses_wattroff


ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wattroff -- Deshabilita los atributos para una ventana

Descripción

int ncurses_wattroff ( resource ventana, int atributos )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_waddstr | Subir | ncurses_wattron


ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wattron -- Habilita los atributos para una ventana

Descripción

int ncurses_wattron ( resource ventana, int atributos )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wattroff | Subir | ncurses_wattrset


ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wattrset -- Establecer los atributos para una ventana

Descripción

int ncurses_wattrset ( resource ventana, int atributos )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wattron | Subir | ncurses_wborder


ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wborder -- Dibuja un borde alrededor de la ventana usando caracteres con atributos

Descripción

int ncurses_wborder ( resource ventana, int izquierda, int derecha, int arriba, int abajo, int esq_sup_izq, int esq_sup_der, int esq_inf_izq, int esq_inf_der )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

ncurses_wborder() dibuja las líneas y esquinas indicadas alrededor de la ventana ventana dada. Cada parámetro espera 0 para dibujar una línea, y 1 para saltarla. Las esquinas son la superior izquierda, la superior derecha, la inferior izquierda y la inferior derecha.

Utilice ncurses_border() para bordes alrededor de la ventana principal.

Vea también ncurses_border().

Anterior | Inicio | Siguiente
ncurses_wattrset | Subir | ncurses_wclear


ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wclear -- Limpia la ventana

Descripción

int ncurses_wclear ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wborder | Subir | ncurses_wcolor_set


ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wcolor_set -- Establece parejas de colores en la ventana

Descripción

int ncurses_wcolor_set ( resource ventana, int pareja_color )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wclear | Subir | ncurses_werase


ncurses_werase

(PHP 4 >= 4.3.0, PHP 5)

ncurses_werase -- Eliminar los contenidos de la ventana

Descripción

int ncurses_werase ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wcolor_set | Subir | ncurses_wgetch


ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wgetch -- Lee un caracter desde el teclado (en la ventana)

Descripción

int ncurses_wgetch ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_werase | Subir | ncurses_whline


ncurses_whline

(PHP 4 >= 4.3.0, PHP 5)

ncurses_whline -- Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres

Descripción

int ncurses_whline ( resource ventana, int caracter_atributos, int n )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wgetch | Subir | ncurses_wmouse_trafo


ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wmouse_trafo -- Transforma coordenadas de ventana/stdscr

Descripción

bool ncurses_wmouse_trafo ( resource ventana, int &y, int &x, bool a_pantalla )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_whline | Subir | ncurses_wmove


ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wmove -- Mueve la posición de salida de la ventana

Descripción

int ncurses_wmove ( resource ventana, int y, int x )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wmouse_trafo | Subir | ncurses_wnoutrefresh


ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wnoutrefresh -- Copia la ventana a la pantalla virtual

Descripción

int ncurses_wnoutrefresh ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wmove | Subir | ncurses_wrefresh


ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5)

ncurses_wrefresh -- Refrescar la ventana en la pantalla de terminal

Descripción

int ncurses_wrefresh ( resource ventana )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wnoutrefresh | Subir | ncurses_wstandend


ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wstandend -- Finaliza el modo standout para una ventana

Descripción

int ncurses_wstandend ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wrefresh | Subir | ncurses_wstandout


ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wstandout -- Ingresar a modo standout en una ventana

Descripción

int ncurses_wstandout ( resource ventana )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wstandend | Subir | ncurses_wvline


ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5)

ncurses_wvline -- Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

Descripción

int ncurses_wvline ( resource ventana, int caracter_atributos, int n )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ncurses_wstandout | Subir | Funciones de Red


Lotus Notes Functions

Manual de PHP
Anterior Siguiente

LXXV. Lotus Notes Functions

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/notes.

Aviso

This extension is currently not supported, thus looking for a maintainer.

Tabla de contenidos
notes_body -- Open the message msg_number in the specified mailbox on the specified server (leave serv
notes_copy_db -- Copy a Lotus Notes database
notes_create_db -- Create a Lotus Notes database
notes_create_note -- Create a note using form form_name
notes_drop_db -- Drop a Lotus Notes database
notes_find_note -- Returns a note id found in database_name
notes_header_info -- Open the message msg_number in the specified mailbox on the specified server (leave serv
notes_list_msgs -- Returns the notes from a selected database_name
notes_mark_read -- Mark a note_id as read for the User user_name
notes_mark_unread -- Mark a note_id as unread for the User user_name
notes_nav_create -- Create a navigator name, in database_name
notes_search -- Find notes that match keywords in database_name
notes_unread -- Returns the unread note id's for the current User user_name
notes_version -- Get the version Lotus Notes

Anterior | Inicio | Siguiente
libxml_use_internal_errors | Subir | notes_body


notes_body

(PHP 4 >= 4.0.5, PECL)

notes_body -- Open the message msg_number in the specified mailbox on the specified server (leave serv

Descripción

array notes_body ( string server, string mailbox, int msg_number )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
Lotus Notes Functions | Subir | notes_copy_db


notes_copy_db

(PHP 4 >= 4.0.5, PECL)

notes_copy_db -- Copy a Lotus Notes database

Descripción

bool notes_copy_db ( string from_database_name, string to_database_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_body | Subir | notes_create_db


notes_create_db

(PHP 4 >= 4.0.5, PECL)

notes_create_db -- Create a Lotus Notes database

Descripción

bool notes_create_db ( string database_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_copy_db | Subir | notes_create_note


notes_create_note

(PHP 4 >= 4.0.5, PECL)

notes_create_note -- Create a note using form form_name

Descripción

bool notes_create_note ( string database_name, string form_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_create_db | Subir | notes_drop_db


notes_drop_db

(PHP 4 >= 4.0.5, PECL)

notes_drop_db -- Drop a Lotus Notes database

Descripción

bool notes_drop_db ( string database_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_create_note | Subir | notes_find_note


notes_find_note

(PHP 4 >= 4.0.5, PECL)

notes_find_note -- Returns a note id found in database_name

Descripción

int notes_find_note ( string database_name, string name [, string type] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_drop_db | Subir | notes_header_info


notes_header_info

(PHP 4 >= 4.0.5, PECL)

notes_header_info -- Open the message msg_number in the specified mailbox on the specified server (leave serv

Descripción

object notes_header_info ( string server, string mailbox, int msg_number )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_find_note | Subir | notes_list_msgs


notes_list_msgs

(PHP 4 >= 4.0.5, PECL)

notes_list_msgs -- Returns the notes from a selected database_name

Descripción

bool notes_list_msgs ( string db )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_header_info | Subir | notes_mark_read


notes_mark_read

(PHP 4 >= 4.0.5, PECL)

notes_mark_read -- Mark a note_id as read for the User user_name

Descripción

bool notes_mark_read ( string database_name, string user_name, string note_id )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_list_msgs | Subir | notes_mark_unread


notes_mark_unread

(PHP 4 >= 4.0.5, PECL)

notes_mark_unread -- Mark a note_id as unread for the User user_name

Descripción

bool notes_mark_unread ( string database_name, string user_name, string note_id )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_mark_read | Subir | notes_nav_create


notes_nav_create

(PHP 4 >= 4.0.5, PECL)

notes_nav_create -- Create a navigator name, in database_name

Descripción

bool notes_nav_create ( string database_name, string name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_mark_unread | Subir | notes_search


notes_search

(PHP 4 >= 4.0.5, PECL)

notes_search -- Find notes that match keywords in database_name

Descripción

array notes_search ( string database_name, string keywords )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_nav_create | Subir | notes_unread


notes_unread

(PHP 4 >= 4.0.5, PECL)

notes_unread -- Returns the unread note id's for the current User user_name

Descripción

array notes_unread ( string database_name, string user_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_search | Subir | notes_version


notes_version

(PHP 4 >= 4.0.5, PECL)

notes_version -- Get the version Lotus Notes

Descripción

float notes_version ( string database_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
notes_unread | Subir | LZF Functions


NSAPI-specific Functions

Manual de PHP
Anterior Siguiente

CII. NSAPI-specific Functions

Introducción

These functions are only available when running PHP as a NSAPI module in Netscape/iPlanet/Sun webservers.

Instalación

For PHP installation on Netscape/iPlanet/Sun webservers see the NSAPI section (UNIX, Windows) in the installation chapter.

Configuración en tiempo de ejecución

The behaviour of the NSAPI PHP module is affected by settings in php.ini. Configuration settings from php.ini may be overridden by additional parameters to the php4_execute call in obj.conf

Tabla 1. NSAPI configuration options

Name | Default | Changeable | Changelog
nsapi.read_timeout | "60" | PHP_INI_ALL | Available since PHP 4.3.3.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

nsapi.read_timeout integer

Sets the time in seconds the plugin is waiting for POST data from the client.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ver también

NSAPI implements a subset of the functions from the Apache module for maximum compatibility.

Tabla 2. Apache functions implemented by NSAPI

Apache function (only as alias) | NSAPI function | Description
apache_request_headers() | nsapi_request_headers() | Fetch all HTTP request headers
apache_response_headers() | nsapi_response_headers() | Fetch all HTTP response headers
getallheaders() | nsapi_request_headers() | Fetch all HTTP request headers
virtual() | nsapi_virtual() | Make NSAPI sub-request

Tabla de contenidos
nsapi_request_headers -- Fetch all HTTP request headers
nsapi_response_headers -- Fetch all HTTP response headers
nsapi_virtual -- Perform an NSAPI sub-request

Anterior | Inicio | Siguiente
newt_win_ternary | Subir | nsapi_request_headers


nsapi_request_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_request_headers -- Fetch all HTTP request headers

Descripción

array nsapi_request_headers ( void )

nsapi_request_headers() gets all the HTTP headers in the current request. This is only supported when PHP runs as a NSAPI module.

Nota: Prior to PHP 4.3.3, getallheaders() was only available for the Apache servers. After PHP 4.3.3, getallheaders() is an alias for nsapi_request_headers() if you use the NSAPI module.

Nota: You can also get at the value of the common CGI variables by reading them from the $_SERVER superglobal, which works whether or not you are using PHP as a NSAPI module.

Valores retornados

Returns an associative array with all the HTTP headers.

Ejemplos

Ejemplo 1. nsapi_request_headers() example

<?php
$headers = nsapi_request_headers();

foreach ($headers as $header => $value) {
  echo "$header: $value <br />\n";
}
?>

Anterior | Inicio | Siguiente
NSAPI-specific Functions | Subir | nsapi_response_headers


nsapi_response_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_response_headers -- Fetch all HTTP response headers

Descripción

array nsapi_response_headers ( void )

Gets all the NSAPI response headers.

Valores retornados

Returns an associative array with all the NSAPI response headers.

Ver también

nsapi_request_headers()
headers_sent()

Anterior | Inicio | Siguiente
nsapi_request_headers | Subir | nsapi_virtual


nsapi_virtual

(PHP 4 >= 4.3.3, PHP 5)

nsapi_virtual -- Perform an NSAPI sub-request

Descripción

bool nsapi_virtual ( string uri )

nsapi_virtual() is an NSAPI-specific function which is equivalent to <!--#include virtual...--> in SSI (.shtml files). It does an NSAPI sub-request. It is useful for including CGI scripts or .shtml files, or anything else that you'd parse through webserver.

To run the sub-request, all buffers are terminated and flushed to the browser, pending headers are sent too.

You cannot make recursive requests with this function to other PHP scripts. If you want to include PHP scripts, use include() or require().

Nota: This function depends on a undocumented feature of the Netscape/iPlanet/Sun webservers. Use phpinfo() to determine if it is available. In the Unix environment it should always work, in Windows it depends on the name of a ns-httpdXX.dll file.

Read the note about subrequests in the NSAPI section (UNIX, Windows) if you experience this problem.

Lista de parámetros

uri

The URI of the script.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
nsapi_response_headers | Subir | Object Aggregation/Composition Functions


ODBC functions

Manual de PHP
Anterior Siguiente

CVI. ODBC functions

Tabla de contenidos
odbc_autocommit -- Interruptor de comportamiento de auto-entrega
odbc_binmode -- Manejo de campos de datos binarios
odbc_close_all -- Cierra todas las conexiones ODBC
odbc_close -- Cierra una conexion ODBC
odbc_columnprivileges -- Returns a result identifier that can be used to fetch a list of columns and associated privileges
odbc_columns -- Lists the column names in specified tables
odbc_commit -- Entrega una transaccion ODBC
odbc_connect -- Conecta a una fuente de datos
odbc_cursor -- Toma un nombre de cursor
odbc_data_source -- Returns information about a current connection
odbc_do -- sinonimo de odbc_exec()
odbc_error -- Get the last error code
odbc_errormsg -- Get the last error message
odbc_exec -- Prepara o ejecuta una declaracion SQL
odbc_execute -- ejecuta una declaracion preparada
odbc_fetch_array -- Fetch a result row as an associative array
odbc_fetch_into -- Busca un registro de resutados dentro de un vector
odbc_fetch_object -- Fetch a result row as an object
odbc_fetch_row -- Busca un registro
odbc_field_len -- Da la longitud de un campo
odbc_field_name -- Devuelve el nombre de campo
odbc_field_num -- Devuelve el numero de campo
odbc_field_precision -- Synonym for odbc_field_len()
odbc_field_scale -- Get the scale of a field
odbc_field_type -- Tipo de datos de un campo
odbc_foreignkeys -- Returns a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table
odbc_free_result -- recursos libres asociados con un resultado
odbc_gettypeinfo -- Returns a result identifier containing information about data types supported by the data source
odbc_longreadlen -- manejo de LONGITUD de columnas
odbc_next_result -- Checks if multiple results are available
odbc_num_fields -- numero de campos de un resultado
odbc_num_rows -- Numero de campos en un resultado
odbc_pconnect -- Abre una conexion permanente de base de datos
odbc_prepare -- Prepara una declaracion para su ejecucion
odbc_primarykeys -- Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table
odbc_procedurecolumns -- Retrieve information about parameters to procedures
odbc_procedures -- Get the list of procedures stored in a specific data source
odbc_result_all -- Print result as HTML table
odbc_result -- coge informacion de un campo
odbc_rollback -- Volver a pasar una transacion
odbc_setoption -- Ajusta la configuracion de ODBC. Devuelve FALSE en caso de error, en otro caso TRUE.
odbc_specialcolumns -- Returns either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction
odbc_statistics -- Retrieve statistics about a table
odbc_tableprivileges -- Lists tables and the privileges associated with each table
odbc_tables -- Get the list of table names stored in a specific data source

Anterior | Inicio | Siguiente
ociwritetemporarylob | Subir | odbc_autocommit


odbc_autocommit

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_autocommit -- Interruptor de comportamiento de auto-entrega

Descripcion

int odbc_autocommit ( int connection_id [, int OnOff] )

Sin el parametro OnOff, esta funcion devuelve el estado de auto-entrega para connection_id. Devuelve TRUE si auto-entrega esta habilitado, y FALSE si no lo esta o ha ocurrido un error.

Si OnOff es TRUE, auto-entrega esta activado, si es FALSE auto-entrega esta desactivado. Devuelve TRUE cuando se cumple, FALSE cuando falla.

Por defecto, auto-entrega es para una conexion. Desabilitar auto-entrega es como comenzar una transaccion.

Ver tambien odbc_commit() y odbc_rollback().

Anterior | Inicio | Siguiente
ODBC functions | Subir | odbc_binmode


odbc_binmode

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_binmode -- Manejo de campos de datos binarios

Descripcion

int odbc_binmode ( int result_id, int mode )

(Elementos afectados ODBC SQL: BINARY, VARBINARY, LONGVARBINARY)

  • ODBC_BINMODE_PASSTHRU: Paso a traves de datos binarios

  • ODBC_BINMODE_RETURN: Devuelve como es

  • ODBC_BINMODE_CONVERT: Devuelve convertido en caracter

Cuando los datos binarios en SQL son convertidos a datos caracter en C, cada byte (8 bits) de datos fuente es representada como dos caracteres en ASCII. Esos caracteres son la representacion en ASCII de los numeros en su forma Hexadecimal. Por ejemplo, un 00000001 binario es convertido a "01" y un 11111111 binario es convertido a "FF".

Tabla 1. Manejo de LONGVARBINARY

modo binario | longreadlen | resultado
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | passthru
ODBC_BINMODE_CONVERT | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_PASSTHRU | >0 | passthru
ODBC_BINMODE_RETURN | >0 | Devuleve como es
ODBC_BINMODE_CONVERT | >0 | Devuelve como caracter

Si usamos odbc_fetch_into(), passthru significara que una cadena vacia es devuelta por esas campos.

Si result_id es 0, las definiciones se aplican por defecto para nuevos resultados.

Nota: Por defecto, longreadlen es 4096 y el modo binario por defecto es ODBC_BINMODE_RETURN. El manejo de campos binarias largas tambien esta afectado por odbc_longreadlen()

Anterior | Inicio | Siguiente
odbc_autocommit | Subir | odbc_close_all


odbc_close_all

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_close_all -- Cierra todas las conexiones ODBC

Descripcion

void odbc_close_all ( void )

odbc_close_all() cerrara todas las conexiones a servidor(es) de bases de datos.

Nota: Esta funcion fallara si hay transacciones abiertas sobre esta conexion. La conexion quedara abierta en ese caso.

Anterior | Inicio | Siguiente
odbc_binmode | Subir | odbc_close


odbc_close

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_close -- Cierra una conexion ODBC

Descripcion

void odbc_close ( int connection_id )

odbc_close() cerrara la conexion al servidor de bases datos asociado con el identificador de conexion dado.

Nota: Esta funcion fallara si hay transacciones abiertas sobre esta conexion. La conexion quedara abierta en ese caso.

Anterior | Inicio | Siguiente
odbc_close_all | Subir | odbc_columnprivileges


odbc_columnprivileges

(PHP 4, PHP 5)

odbc_columnprivileges -- Returns a result identifier that can be used to fetch a list of columns and associated privileges

Description

resource odbc_columnprivileges ( resource connection_id, string qualifier, string owner, string table_name, string column_name )

Lists columns and associated privileges for the given table. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER

  • TABLE_OWNER

  • TABLE_NAME

  • GRANTOR

  • GRANTEE

  • PRIVILEGE

  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

The column_name argument accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

Anterior | Inicio | Siguiente
odbc_close | Subir | odbc_columns


odbc_columns

(PHP 4, PHP 5)

odbc_columns -- Lists the column names in specified tables

Description

resource odbc_columns ( resource connection_id [, string qualifier [, string schema [, string table_name [, string column_name]]]] )

Lists all columns in the requested range. Returns an ODBC result identifier containing the information or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER

  • TABLE_SCHEM

  • TABLE_NAME

  • COLUMN_NAME

  • DATA_TYPE

  • TYPE_NAME

  • PRECISION

  • LENGTH

  • SCALE

  • RADIX

  • NULLABLE

  • REMARKS

The result set is ordered by TABLE_QUALIFIER, TABLE_SCHEM and TABLE_NAME.

The schema, table_name and column_name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

See also odbc_columnprivileges() to retrieve associated privileges.

Anterior | Inicio | Siguiente
odbc_columnprivileges | Subir | odbc_commit


odbc_commit

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_commit -- Entrega una transaccion ODBC

Descripcion

int odbc_commit ( int connection_id )

Devuelve: TRUE si la operacion se realiza con exito, FALSE si falla. Todas las transacciones pendientes sobre connection_id son entregadas.

Anterior | Inicio | Siguiente
odbc_columns | Subir | odbc_connect


odbc_connect

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_connect -- Conecta a una fuente de datos

Descripcion

int odbc_connect ( string dsn, string user, string password [, int cursor_type] )

Devuelve una conexion ODBC id, o 0 (FALSE) cuando ocurre un error.

La conexion id devuelta por estas funciones es necesaria para otras funciones ODBC. Se pueden tener multiples conexiones abiertas a la vez. El opcional cuarto parametro asigna el tipo de cursor que va a ser usado para esta conexion. Este parametro normalmente no es necesario, pero puede ser util para trabajar sobre problemas con algunos drivers ODBC.

Con algunos drivers ODBC, si ejecutamos un procedimiento complejo, este puede fallar con un error similar a: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Usando SQL_CUR_USE_ODBC se puede evitar ese error. Algunos drivers tampoco soportan el parametro row_number en odbc_fetch_row(). SQL_CUR_USE_ODBC tambien podria ayudar en ese caso.

Las siguientes constantes son definidas por tipos de cursor:

  • SQL_CUR_USE_IF_NEEDED

  • SQL_CUR_USE_ODBC

  • SQL_CUR_USE_DRIVER

  • SQL_CUR_DEFAULT

Para conexiones persistentes ver odbc_pconnect().

Anterior | Inicio | Siguiente
odbc_commit | Subir | odbc_cursor


odbc_cursor

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_cursor -- Toma un nombre de cursor

Descripcion

string odbc_cursor ( int result_id )

odbc_cursor devolvera un nombre de cursor para el result_id dado.

Anterior | Inicio | Siguiente
odbc_connect | Subir | odbc_data_source


odbc_data_source

(PHP 4 >= 4.3.0, PHP 5)

odbc_data_source -- Returns information about a current connection

Description

array odbc_data_source ( resource connection_id, int fetch_type )

Returns FALSE on error, and an array upon success.

This function will return the list of available DNS (after calling it several times). The connection_id is required to be a valid ODBC connection. The fetch_type can be one of two constant types: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST the first time this function is called, thereafter use the SQL_FETCH_NEXT.

Anterior | Inicio | Siguiente
odbc_cursor | Subir | odbc_do


odbc_do

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_do -- sinonimo de odbc_exec()

Descripcion

string odbc_do ( int conn_id, string query )

odbc_do ejecutara una consulta (query) sobre la conexion dada

Anterior | Inicio | Siguiente
odbc_data_source | Subir | odbc_error


odbc_error

(PHP 4 >= 4.0.5, PHP 5)

odbc_error -- Get the last error code

Description

string odbc_error ( [resource connection_id] )

Returns a six-digit ODBC state, or an empty string if there has been no errors. If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

See also: odbc_errormsg() and odbc_exec().

Anterior | Inicio | Siguiente
odbc_do | Subir | odbc_errormsg


odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5)

odbc_errormsg -- Get the last error message

Description

string odbc_errormsg ( [resource connection_id] )

Returns a string containing the last ODBC error message, or an empty string if there has been no errors. If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

See also: odbc_error() and odbc_exec().

Anterior | Inicio | Siguiente
odbc_error | Subir | odbc_exec


odbc_exec

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_exec -- Prepara o ejecuta una declaracion SQL

Descripcion

int odbc_exec ( int connection_id, string query_string )

Devuelve FALSE en caso de error. Devuelve un indetificador ODBC si el comando SQL fue ejecutado satisfactoriamente.

odbc_exec() enviara una declaracion SQL al servidor de bases de datos specificado por connection_id. Este parametro debe ser un indetificador valido devuelto por odbc_connect() o odbc_pconnect().

Ver tambien: odbc_prepare() y odbc_execute() para ejecucion multiple de declaraciones SQL.

Anterior | Inicio | Siguiente
odbc_errormsg | Subir | odbc_execute


odbc_execute

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_execute -- ejecuta una declaracion preparada

Descripcion

int odbc_execute ( int result_id [, array parameters_array] )

Ejecuta uan declaracion preparada con odbc_prepare(). Devuelve TRUE cuando la ejecucion es satisfactoria, FALSE en otro caso. Introducir el vector arameters_array solo es necesario si realmente tenemos parametros en la declaracion.

Anterior | Inicio | Siguiente
odbc_exec | Subir | odbc_fetch_array


odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_array -- Fetch a result row as an associative array

Descripción

array odbc_fetch_array ( resource result [, int rownumber] )

Fetch an associative array from an ODBC query. See the changelog below for when this function is available.

Lista de parámetros

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

Valores retornados

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Registro de cambios

Versión | Descripción
4.3.3 | This function exists when compiled with IBM DB2 or UnixODBC support.
4.3.2 | This function exists when compiled for Windows.
4.0.2 | This function exists when compiled with DBMaker support.

Ver también

odbc_fetch_row()
odbc_fetch_object()
odbc_num_rows()

Anterior | Inicio | Siguiente
odbc_execute | Subir | odbc_fetch_into


odbc_fetch_into

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_fetch_into -- Busca un registro de resutados dentro de un vector

Descripcion

int odbc_fetch_into ( int result_id [, int rownumber, array result_array] )

Devuelve el numero de campos en el resultado; FALSE on error. result_array debe ser pasado por referencia, pero puede ser de cualquier tipo, desde este sera convertido a tipo vector. El vector contendra el valor de campo inicial empezando en indice de vector 0.

Anterior | Inicio | Siguiente
odbc_fetch_array | Subir | odbc_fetch_object


odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_object -- Fetch a result row as an object

Descripción

object odbc_fetch_object ( resource result [, int rownumber] )

Fetch an object from an ODBC query. See the changelog below for when this function is available.

Lista de parámetros

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

Valores retornados

Returns an object that corresponds to the fetched row, or FALSE if there are no more rows.

Registro de cambios

Versión | Descripción
4.3.3 | This function exists when compiled with IBM DB2 or UnixODBC support.
4.3.2 | This function exists when compiled for Windows.
4.0.2 | This function exists when compiled with DBMaker support.

Ver también

odbc_fetch_row()
odbc_fetch_array()
odbc_num_rows()

Anterior | Inicio | Siguiente
odbc_fetch_into | Subir | odbc_fetch_row


odbc_fetch_row

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_fetch_row -- Busca un registro

Descripcion

int odbc_fetch_row ( int result_id [, int row_number] )

Si odbc_fetch_row() fue succesful (there was a row), TRUE is returned. If there are no more rows, FALSE is returned.

odbc_fetch_row() busca un registro de datos
que fue devuelta por odbc_do() /
odbc_exec().  Despues de que
odbc_fetch_row() sea llamado, se puede acceder a los campos
de este registro con odbc_result().

Si no se especifica row_number, odbc_fetch_row() intentara buscar el siguiente registro en los resultados. Lamar a odbc_fetch_row() con o sin row_number puede ser mezclado.

Para pasar a traves del resultado mas de una vez, se puede llamar a odbc_fetch_row() con row_number 1, y despues continuar haciendo odbc_fetch_row() sin row_number para revisar el resultado. Si un driver no admitiese busquedas de registros por numero, el parametro row_number seria ignorado.

Anterior | Inicio | Siguiente
odbc_fetch_object | Subir | odbc_field_len


odbc_field_len

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_field_len -- Da la longitud de un campo

Descripcion

int odbc_field_len ( int result_id, int field_number )

odbc_field_len() devolvera la longitud de un campo referenciado por numero en un identificador ODBC La numeracion de campos comienza en 1.

Anterior | Inicio | Siguiente
odbc_fetch_row | Subir | odbc_field_name


odbc_field_name

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_field_name -- Devuelve el nombre de campo

Descripcion

string odbc_field_name ( int result_id, int field_number )

odbc_field_name() devolvera el nombre del campo almacenado en el numero de campo elegido dentro del identificador ODBC. La numeracion de campos comienza en 1. En caso de error devolveria FALSE.

Anterior | Inicio | Siguiente
odbc_field_len | Subir | odbc_field_num


odbc_field_num

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_field_num -- Devuelve el numero de campo

Descripcion

int odbc_field_num ( int result_id, string field_name )

odbc_field_num() devolvera el numero de campo que corresponda con el campo llamado en el identificador ODBC. La numeracion de campos comienza en 1. En caso de error devolveria FALSE.

Anterior | Inicio | Siguiente
odbc_field_name | Subir | odbc_field_precision


odbc_field_precision

(PHP 4, PHP 5)

odbc_field_precision -- Synonym for odbc_field_len()

Description

int odbc_field_precision ( resource result_id, int field_number )

odbc_field_precision() will return the precision of the field referenced by number in the given ODBC result identifier.

See also: odbc_field_scale() to get the scale of a floating point number.

Anterior | Inicio | Siguiente
odbc_field_num | Subir | odbc_field_scale


odbc_field_scale

(PHP 4, PHP 5)

odbc_field_scale -- Get the scale of a field

Description

int odbc_field_scale ( resource result_id, int field_number )

odbc_field_scale() will return the scale of the field referenced by number in the given ODBC result identifier.

Anterior | Inicio | Siguiente
odbc_field_precision | Subir | odbc_field_type


odbc_field_type

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_field_type -- Tipo de datos de un campo

Descripcion

string odbc_field_type ( int result_id, int field_number )

odbc_field_type() Devolvera el tipo SQL de un campo referenciado por numero en el identificador ODBC. identifier. La numeracion de campos comienza en 1.

Anterior | Inicio | Siguiente
odbc_field_scale | Subir | odbc_foreignkeys


odbc_foreignkeys

(PHP 4, PHP 5)

odbc_foreignkeys -- Returns a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table

Description

resource odbc_foreignkeys ( resource connection_id, string pk_qualifier, string pk_owner, string pk_table, string fk_qualifier, string fk_owner, string fk_table )

odbc_foreignkeys() retrieves information about foreign keys. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • PKTABLE_QUALIFIER

  • PKTABLE_OWNER

  • PKTABLE_NAME

  • PKCOLUMN_NAME

  • FKTABLE_QUALIFIER

  • FKTABLE_OWNER

  • FKTABLE_NAME

  • FKCOLUMN_NAME

  • KEY_SEQ

  • UPDATE_RULE

  • DELETE_RULE

  • FK_NAME

  • PK_NAME

If pk_table contains a table name, odbc_foreignkeys() returns a result set containing the primary key of the specified table and all of the foreign keys that refer to it.

If fk_table contains a table name, odbc_foreignkeys() returns a result set containing all of the foreign keys in the specified table and the primary keys (in other tables) to which they refer.

If both pk_table and fk_table contain table names, odbc_foreignkeys() returns the foreign keys in the table specified in fk_table that refer to the primary key of the table specified in pk_table. This should be one key at most.

Anterior | Inicio | Siguiente
odbc_field_type | Subir | odbc_free_result


odbc_free_result

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_free_result -- recursos libres asociados con un resultado

Descripcion

int odbc_free_result ( int result_id )

Always returns TRUE.

odbc_free_result() solo necesita ser llamado en caso de preocupacion por demasiado uso de memoria cuando se ejecuta un script. Toda la memoria resultante quedara automaticamente liberada cuando el script finalice. Pero si es seguro que no se vaya a necesitar la informacion nada mas que en un script, se debera llamar a la funcion odbc_free_result(), y la memoria asociada con result_id sera liberada.

Nota: Si la auto-entrega no esta activada la (ver odbc_autocommit()) y se ejecuta odbc_free_result() antes de la entrega, todo queda pendiente de las transaciones que esten en lista.

Anterior | Inicio | Siguiente
odbc_foreignkeys | Subir | odbc_gettypeinfo


odbc_gettypeinfo

(PHP 4, PHP 5)

odbc_gettypeinfo -- Returns a result identifier containing information about data types supported by the data source

Description

resource odbc_gettypeinfo ( resource connection_id [, int data_type] )

Retrieves information about data types supported by the data source. Returns an ODBC result identifier or FALSE on failure. The optional argument data_type can be used to restrict the information to a single data type.

The result set has the following columns:

  • TYPE_NAME

  • DATA_TYPE

  • PRECISION

  • LITERAL_PREFIX

  • LITERAL_SUFFIX

  • CREATE_PARAMS

  • NULLABLE

  • CASE_SENSITIVE

  • SEARCHABLE

  • UNSIGNED_ATTRIBUTE

  • MONEY

  • AUTO_INCREMENT

  • LOCAL_TYPE_NAME

  • MINIMUM_SCALE

  • MAXIMUM_SCALE

The result set is ordered by DATA_TYPE and TYPE_NAME.

Anterior | Inicio | Siguiente
odbc_free_result | Subir | odbc_longreadlen


odbc_longreadlen

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_longreadlen -- manejo de LONGITUD de columnas

Descripcion

int odbc_longreadlen ( int result_id, int length )

(ODBC SQL tipos relaccionados: LONG, LONGVARBINARY) El numero de bytes devueltos para PHP es controlado por el parametro length. Si es asignado a 0, la longitud del campo es pasado al cliente.

Nota: El manejo de campos LONGVARBINARY tambien esta afectado por odbc_binmode()

Anterior | Inicio | Siguiente
odbc_gettypeinfo | Subir | odbc_next_result


odbc_next_result

(PHP 4 >= 4.0.5, PHP 5)

odbc_next_result -- Checks if multiple results are available

Description

bool odbc_next_result ( resource result_id )

odbc_next_result() returns TRUE if there are more result sets available as well as allowing access to the next result set via odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

This function returns FALSE on error.

The argument is a valid result identifier returned by odbc_exec().

Ejemplo 1. odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump first result set";
var_dump($a_Row1, $a_Row2);

echo "Get second results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump second result set ";
var_dump($a_Row1, $a_Row2);

echo "Get third results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump third result set ";
var_dump($a_Row1, $a_Row2);

echo "Try for a fourth result set ";
var_dump(odbc_next_result($r_Results));
?>

El resultado del ejemplo seria:

Dump first result set array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Get second results set bool(true)
Dump second result set array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Get third results set bool(true)
Dump third result set array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Try for a fourth result set bool(false)

Anterior | Inicio | Siguiente
odbc_longreadlen | Subir | odbc_num_fields


odbc_num_fields

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_num_fields -- numero de campos de un resultado

Descripcion

int odbc_num_fields ( int result_id )

odbc_num_fields() devolvera el numero de campos dentro de un ODBC. Esta funcion devolvera -1 en caso de error. El argumento es un identificador valido devuelto por odbc_exec().

Anterior | Inicio | Siguiente
odbc_next_result | Subir | odbc_num_rows


odbc_num_rows

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_num_rows -- Numero de campos en un resultado

Descripcion

int odbc_num_rows ( int result_id )

odbc_num_rows() devolvera el numero de registros de un ODBC. Esta funcion devolvera -1 en caso de error. Para declaraciones INSERT, UPDATE y DELETE odbc_num_rows() devolvera el numero de registros afectados. Para una clausula SELECT esta puede ser el numero de registros permitidos.

Nota: El uso de odbc_num_rows() para determinar el numero de registros permitidos despues de un SELECT devolvera -1.

Anterior | Inicio | Siguiente
odbc_num_fields | Subir | odbc_pconnect


odbc_pconnect

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_pconnect -- Abre una conexion permanente de base de datos

Descripcion

int odbc_pconnect ( string dsn, string user, string password [, int cursor_type] )

Devuelve un identificador de conexion ODBC o 0 (FALSE) en caso de error. Esta funcion es odbc_connect(), excepto que la conexion no sea realmente cerrada cuando el script ha finalizado. Las respuestas futuras para una conexion con la misma combinacion dsn, user, password (via odbc_connect() y odbc_pconnect()) puede reusar la conexion permanente.

Nota: Las conexiones permanentes no tienen efecto si PHP es usado como programa CGI.

Para informacion acerca del paramentor opcional cursor_type ver la funcion odbc_connect(). Para mas informacion sobre conexiones permanentes, ir al apartado PHP FAQ.

Anterior | Inicio | Siguiente
odbc_num_rows | Subir | odbc_prepare


odbc_prepare

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_prepare -- Prepara una declaracion para su ejecucion

Descripcion

int odbc_prepare ( int connection_id, string query_string )

Devuelve FALSE en caso de error.

Devuelve un identificador ODBC si el comando SQL esta preparado. El identificador resultante puede ser usado mas tarde para ejecutar la declaracion con odbc_execute().

Anterior | Inicio | Siguiente
odbc_pconnect | Subir | odbc_primarykeys


odbc_primarykeys

(PHP 4, PHP 5)

odbc_primarykeys -- Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table

Description

resource odbc_primarykeys ( resource connection_id, string qualifier, string owner, string table )

Returns the column names that comprise the primary key for a table. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER

  • TABLE_OWNER

  • TABLE_NAME

  • COLUMN_NAME

  • KEY_SEQ

  • PK_NAME

Anterior | Inicio | Siguiente
odbc_prepare | Subir | odbc_procedurecolumns


odbc_procedurecolumns

(PHP 4, PHP 5)

odbc_procedurecolumns -- Retrieve information about parameters to procedures

Description

resource odbc_procedurecolumns ( resource connection_id [, string qualifier, string owner, string proc, string column] )

Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • PROCEDURE_QUALIFIER

  • PROCEDURE_OWNER

  • PROCEDURE_NAME

  • COLUMN_NAME

  • COLUMN_TYPE

  • DATA_TYPE

  • TYPE_NAME

  • PRECISION

  • LENGTH

  • SCALE

  • RADIX

  • NULLABLE

  • REMARKS

The result set is ordered by PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME and COLUMN_TYPE.

The owner, proc and column arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Anterior | Inicio | Siguiente
odbc_primarykeys | Subir | odbc_procedures


odbc_procedures

(PHP 4, PHP 5)

odbc_procedures -- Get the list of procedures stored in a specific data source

Description

resource odbc_procedures ( resource connection_id [, string qualifier, string owner, string name] )

Lists all procedures in the requested range. Returns an ODBC result identifier containing the information or FALSE on failure.

The result set has the following columns:

  • PROCEDURE_QUALIFIER

  • PROCEDURE_OWNER

  • PROCEDURE_NAME

  • NUM_INPUT_PARAMS

  • NUM_OUTPUT_PARAMS

  • NUM_RESULT_SETS

  • REMARKS

  • PROCEDURE_TYPE

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Anterior | Inicio | Siguiente
odbc_procedurecolumns | Subir | odbc_result_all


odbc_result_all

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_result_all -- Print result as HTML table

Descripcion

int odbc_result_all ( int result_id [, string format] )

En caso de error, como resultado, devuelve FALSE.

odbc_result_all() Imprimira todos los registros de un identificador prducidoo por odbc_exec(). El resultado es impreso en una tabla formato HTML. Con el argumento de cadena opcional format, ademas, todas los formatos de tablas pueden ser realizadas.

Anterior | Inicio | Siguiente
odbc_procedures | Subir | odbc_result


odbc_result

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_result -- coge informacion de un campo

Descripcion

string odbc_result ( int result_id, mixed field )

Devuelve el contenido de un campo.

field puede ser cualquier contenido del campo que queramos; o puede ser una cadena que contenga el nombre del campo; Por ejemplo:

$item_3 = odbc_result($Query_ID, 3 );
     $item_val = odbc_result($Query_ID, "val");

La primera sentencia odbc_result() devuelve el valor del tercer campo detro del registro actual de la cola resultante. La segunda funcion llama a odbc_result() y devuelve el valor de un campo cuyo nombre es "val" en el registro actual de la cola resultante. Ocurre un error si un numero de columna para un campo es menor que uno o excede el numero de campos en el registro actual. Similarmente, ocurre un error si un campo con un nombre que no sea uno de los nombres de campo de una talba o tablas que sea o sean encoladas.

Los indices de campo comienzan en 1. Recordando el metodo binario de campos con gran informacion, es devuleto con referencia a odbc_binmode () y odbc_longreadlen().

Anterior | Inicio | Siguiente
odbc_result_all | Subir | odbc_rollback


odbc_rollback

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_rollback -- Volver a pasar una transacion

Descripcion

int odbc_rollback ( int connection_id )

Vuelve a pasar todas las declaraciones pendientes connection_id. Devuelve TRUE cuando el resultado es satisfactorio, FALSE cuando no lo es.

Anterior | Inicio | Siguiente
odbc_result | Subir | odbc_setoption


odbc_setoption

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

odbc_setoption -- Ajusta la configuracion de ODBC. Devuelve FALSE en caso de error, en otro caso TRUE.

Descripcion

int odbc_setoption ( int id, int function, int option, int param )

Esta funcion permite buscar las opciones ODBC para una conexion particular o consulta resultante. Esto esta escrito para trabajar sobre problemas en peculiaries drivers ODBC. Esta funcion Solo se deberia usar siendo un programador de ODBC y entendiendo los efectos que las opciones tendran. Debemos tener la certeza de que necesitamos una buena referencia de reference to explicar todas las diferentes opciones y valores que pueden ser usados. Las diferentes versiones de drivers soportan diferentes opciones.

Ya que los efectos pueden variar dependiendo del driver ODBC, deberiamos usar la function en scripts para ser hecho publico lo que permitira que sea fuertemente desalentado. Algunas opciones ODBC no estan permitidas para esta funcion porque debe ser configurada antes de que la conexion sea establecida o la consulta este preparada. Sin embargo, si un determinado trabajo hace la tarea de PHP, el jefe no contaria con nosotros para usar un producto comercial, esto es lo que realmente suele pasar.

Id es una coexion id o resultado id sobre la que cambiaremos la configuracion. Para SQLSetConnectOption(), esta es una conexion id. Para SQLSetStmtOption(), este es un resultado id.

function es la funcion ODBC a usar. El valor deberia ser 1 para SQLSetConnectOption() y 2 para SQLSetStmtOption().

Parmeter option es la opcion a configurar.

El parametro param es el valor para la escogida opcion option.

Ejemplo 1. Ejemplos ODBC Setoption

// 1. Option 102 of SQLSetConnectOption() is SQL_AUTOCOMMIT.
//    Value 1 of SQL_AUTOCOMMIT is SQL_AUTOCOMMIT_ON.
//    Este ejemplo tiene el mismo efecto que
//    odbc_autocommit($conn, true);

odbc_setoption ($conn, 1, 102, 1);

// 2. Option 0 of SQLSetStmtOption() is SQL_QUERY_TIMEOUT.
//    Este ejemplo asigna el tiempo de espera de la consulta a 30 segundos.

$result = odbc_prepare ($conn, $sql);
odbc_setoption ($result, 2, 0, 30);
odbc_execute ($result);

Anterior | Inicio | Siguiente
odbc_rollback | Subir | odbc_specialcolumns


odbc_specialcolumns

(PHP 4, PHP 5)

odbc_specialcolumns -- Returns either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction

Description

resource odbc_specialcolumns ( resource connection_id, int type, string qualifier, string owner, string table, int scope, int nullable )

When the type argument is SQL_BEST_ROWID, odbc_specialcolumns() returns the column or columns that uniquely identify each row in the table.

When the type argument is SQL_ROWVER, odbc_specialcolumns() returns the column or columns in the specified table, if any, that are automatically updated by the data source when any value in the row is updated by any transaction.

Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • SCOPE

  • COLUMN_NAME

  • DATA_TYPE

  • TYPE_NAME

  • PRECISION

  • LENGTH

  • SCALE

  • PSEUDO_COLUMN

The result set is ordered by SCOPE.

Anterior | Inicio | Siguiente
odbc_setoption | Subir | odbc_statistics


odbc_statistics

(PHP 4, PHP 5)

odbc_statistics -- Retrieve statistics about a table

Description

resource odbc_statistics ( resource connection_id, string qualifier, string owner, string table_name, int unique, int accuracy )

Get statistics about a table and its indexes. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER

  • TABLE_OWNER

  • TABLE_NAME

  • NON_UNIQUE

  • INDEX_QUALIFIER

  • INDEX_NAME

  • TYPE

  • SEQ_IN_INDEX

  • COLUMN_NAME

  • COLLATION

  • CARDINALITY

  • PAGES

  • FILTER_CONDITION

The result set is ordered by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME and SEQ_IN_INDEX.

Anterior | Inicio | Siguiente
odbc_specialcolumns | Subir | odbc_tableprivileges


odbc_tableprivileges

(PHP 4, PHP 5)

odbc_tableprivileges -- Lists tables and the privileges associated with each table

Description

resource odbc_tableprivileges ( resource connection_id, string qualifier, string owner, string name )

Lists tables in the requested range and the privileges associated with each table. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER

  • TABLE_OWNER

  • TABLE_NAME

  • GRANTOR

  • GRANTEE

  • PRIVILEGE

  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Anterior | Inicio | Siguiente
odbc_statistics | Subir | odbc_tables


odbc_tables

(PHP 3 >= 3.0.17, PHP 4, PHP 5)

odbc_tables -- Get the list of table names stored in a specific data source

Description

resource odbc_tables ( resource connection_id [, string qualifier [, string owner [, string name [, string types]]]] )

Lists all tables in the requested range. Returns an ODBC result identifier containing the information or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER

  • TABLE_OWNER

  • TABLE_NAME

  • TABLE_TYPE

  • REMARKS

The result set is ordered by TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

To support enumeration of qualifiers, owners, and table types, the following special semantics for the qualifier, owner, name, and table_type are available:

  • If qualifier is a single percent character (%) and owner and name are empty strings, then the result set contains a list of valid qualifiers for the data source. (All columns except the TABLE_QUALIFIER column contain NULLs.)

  • If owner is a single percent character (%) and qualifier and name are empty strings, then the result set contains a list of valid owners for the data source. (All columns except the TABLE_OWNER column contain NULLs.)

  • If table_type is a single percent character (%) and qualifier, owner and name are empty strings, then the result set contains a list of valid table types for the data source. (All columns except the TABLE_TYPE column contain NULLs.)

If table_type is not an empty string, it must contain a list of comma-separated values for the types of interest; each value may be enclosed in single quotes (') or unquoted. For example, "'TABLE','VIEW'" or "TABLE, VIEW". If the data source does not support a specified table type, odbc_tables() does not return any results for that type.

See also odbc_tableprivileges() to retrieve associated privileges.

Anterior | Inicio | Siguiente
odbc_tableprivileges | Subir | ODBC and DB2 Functions (PDO_ODBC)


Object Aggregation/Composition Functions

Manual de PHP
Anterior Siguiente

CIII. Object Aggregation/Composition Functions

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Introducción

In Object Oriented Programming, it is common to see the composition of simple classes (and/or instances) into a more complex one. This is a flexible strategy for building complicated objects and object hierarchies and can function as a dynamic alternative to multiple inheritance. There are two ways to perform class (and/or object) composition depending on the relationship between the composed elements: Association and Aggregation.

An Association is a composition of independently constructed and externally visible parts. When we associate classes or objects, each one keeps a reference to the ones it is associated with. When we associate classes statically, one class will contain a reference to an instance of the other class. For example:

Ejemplo 1. Class association

<?php
class DateTime {

   function DateTime()
   {
       // empty constructor
   }

   function now()
   {
       return date("Y-m-d H:i:s");
   }
}

class Report {
   var $_dt;
   // more properties ...

   function Report()
   {
       $this->_dt = new DateTime();
       // initialization code ...
   }

   function generateReport()
   {
       $dateTime = $this->_dt->now();
       // more code ...
   }

   // more methods ...
}

$rep = new Report();
?>
We can also associate instances at runtime by passing a reference in a constructor (or any other method), which allow us to dynamically change the association relationship between objects. We will modify the example above to illustrate this point:

Ejemplo 2. Object association

<?php
class DateTime {
   // same as previous example
}

class DateTimePlus {
   var $_format;

   function DateTimePlus($format="Y-m-d H:i:s")
   {
       $this->_format = $format;
   }

   function now()
   {
       return date($this->_format);
   }
}

class Report {
   var $_dt;    // we'll keep the reference to DateTime here
   // more properties ...

   function Report()
   {
       // do some initialization
   }

   function setDateTime(&$dt)
   {
       $this->_dt =& $dt;
   }

   function generateReport()
   {
       $dateTime = $this->_dt->now();
       // more code ...
   }

   // more methods ...
}

$rep = new Report();
$dt = new DateTime();
$dtp = new DateTimePlus("l, F j, Y (h:i:s a, T)");

// generate report with simple date for web display
$rep->setDateTime(&$dt);
echo $rep->generateReport();

// later on in the code ...

// generate report with fancy date
$rep->setDateTime(&$dtp);
$output = $rep->generateReport();
// save $output in database
// ... etc ...
?>

Aggregation, on the other hand, implies encapsulation (hidding) of the parts of the composition. We can aggregate classes by using a (static) inner class (PHP does not yet support inner classes), in this case the aggregated class definition is not accessible, except through the class that contains it. The aggregation of instances (object aggregation) involves the dynamic creation of subobjects inside an object, in the process, expanding the properties and methods of that object.

Object aggregation is a natural way of representing a whole-part relationship, (for example, molecules are aggregates of atoms), or can be used to obtain an effect equivalent to multiple inheritance, without having to permanently bind a subclass to two or more parent classes and their interfaces. In fact object aggregation can be more flexible, in which we can select what methods or properties to "inherit" in the aggregated object.

Ejemplos

We define 3 classes, each implementing a different storage method:

Ejemplo 3. storage_classes.inc

<?php
class FileStorage {
    var $data;

    function FileStorage($data)
    {
        $this->data = $data;
    }

    function write($name)
    {
        $fp = fopen(name, "w");
        fwrite($fp, $this->data);
        fclose($data);
    }
}

class WDDXStorage {
    var $data;
    var $version = "1.0";
    var $_id; // "private" variable

    function WDDXStorage($data)
    {
        $this->data = $data;
        $this->_id = $this->_genID();
    }

    function store()
    {
        if ($this->_id) {
            $pid = wddx_packet_start($this->_id);
            wddx_add_vars($pid, "this->data");
            $packet = wddx_packet_end($pid);
        } else {
            $packet = wddx_serialize_value($this->data);
        }
        $dbh = dba_open("varstore", "w", "gdbm");
        dba_insert(md5(uniqid("", true)), $packet, $dbh);
        dba_close($dbh);
    }

    // a private method
    function _genID()
    {
        return md5(uniqid(rand(), true));
    }
}

class DBStorage {
    var $data;
    var $dbtype = "mysql";

    function DBStorage($data)
    {
        $this->data = $data;
    }

    function save()
    {
        $dbh = mysql_connect();
        mysql_select_db("storage", $dbh);
        $serdata = serialize($this->data);
        mysql_query("insert into vars ('$serdata',now())", $dbh);
        mysql_close($dbh);
    }
}

?>

We then instantiate a couple of objects from the defined classes, and perform some aggregations and deaggregations, printing some object information along the way:

Ejemplo 4. test_aggregation.php

<?php
include "storageclasses.inc";

// some utilty functions

function p_arr($arr)
{
    foreach ($arr as $k => $v)
        $out[] = "\t$k => $v";
    return implode("\n", $out);
}

function object_info($obj)
{
    $out[] = "Class: " . get_class($obj);
    foreach (get_object_vars($obj) as $var=>$val) {
        if (is_array($val)) {
            $out[] = "property: $var (array)\n" . p_arr($val);
        } else {
            $out[] = "property: $var = $val";
        }
    }
    foreach (get_class_methods($obj) as $method) {
        $out[] = "method: $method";
    }
    return implode("\n", $out);
}

$data = array(M_PI, "kludge != cruft");

// we create some basic objects
$fs = new FileStorage($data);
$ws = new WDDXStorage($data);

// print information on the objects
echo "\$fs object\n";
echo object_info($fs) . "\n";
echo "\n\$ws object\n";
echo object_info($ws) . "\n";

// do some aggregation

echo "\nLet's aggregate \$fs to the WDDXStorage class\n";
aggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nNow let us aggregate it to the DBStorage class\n";
aggregate($fs, "DBStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nAnd finally deaggregate WDDXStorage\n";
deaggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

?>

We will now consider the output to understand some of the side-effects and limitation of object aggregation in PHP. First, the newly created $fs and $ws objects give the expected output (according to their respective class declaration). Note that for the purposes of object aggregation, private elements of a class/object begin with an underscore character ("_"), even though there is not real distinction between public and private class/object elements in PHP.

$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
method: filestorage
method: write

$ws object
Class: wddxstorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: version = 1.0
property: _id = ID::9bb2b640764d4370eb04808af8b076a5
method: wddxstorage
method: store
method: _genid

We then aggregate $fs with the WDDXStorage class, and print out the object information. We can see now that even though nominally the $fs object is still of FileStorage, it now has the property $version, and the method store(), both defined in WDDXStorage. One important thing to note is that it has not aggregated the private elements defined in the class, which are present in the $ws object. Also absent is the constructor from WDDXStorage, which will not be logical to aggegate.

Let's aggregate $fs to the WDDXStorage class
$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: version = 1.0
method: filestorage
method: write
method: store

The process of aggregation is cumulative, so when we aggregate $fs with the class DBStorage, generating an object that can use the storage methods of all the defined classes.

Now let us aggregate it to the DBStorage class
$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: version = 1.0
property: dbtype = mysql
method: filestorage
method: write
method: store
method: save

Finally, the same way we aggregated properties and methods dynamically, we can also deaggregate them from the object. So, if we deaggregate the class WDDXStorage from $fs, we will obtain:

And deaggregate the WDDXStorage methods and properties
$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: dbtype = mysql
method: filestorage
method: write
method: save

One point that we have not mentioned above, is that the process of aggregation will not override existing properties or methods in the objects. For example, the class FileStorage defines a $data property, and the class WDDXStorage also defines a similar property which will not override the one in the object acquired during instantiation from the class FileStorage.

Tabla de contenidos
aggregate_info -- Returns an associative array of the methods and properties from each class that has been aggregated to the object
aggregate_methods_by_list -- Selective dynamic class methods aggregation to an object
aggregate_methods_by_regexp -- Selective class methods aggregation to an object using a regular expression
aggregate_methods -- Dynamic class and object aggregation of methods
aggregate_properties_by_list -- Selective dynamic class properties aggregation to an object
aggregate_properties_by_regexp -- Selective class properties aggregation to an object using a regular expression
aggregate_properties -- Dynamic aggregation of class properties to an object
aggregate -- Dynamic class and object aggregation of methods and properties
aggregation_info -- Alias of aggregate_info()
deaggregate -- Removes the aggregated methods and properties from an object

Anterior | Inicio | Siguiente
nsapi_virtual | Subir | aggregate_info


aggregate_info

(no version information, might be only in CVS)

aggregate_info -- Returns an associative array of the methods and properties from each class that has been aggregated to the object

Description

array aggregate_info ( object object )

Will return the aggregation information for a particular object as an associative array of arrays of methods and properties. The key for the main array is the name of the aggregated class.

For example the code below

Ejemplo 1. Using aggregate_info()

<?php

class Slicer {
    var $vegetable;

    function Slicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function slice_it($num_cuts)
    {
        echo "Doing some simple slicing\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some slicing
        }
    }
}

class Dicer {
    var $vegetable;
    var $rotation_angle = 90;   // degrees

    function Dicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function dice_it($num_cuts)
    {
        echo "Cutting in one direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some cutting
        }
        $this->rotate($this->rotation_angle);
        echo "Cutting in a second direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some more cutting
        }
    }

    function rotate($deg)
    {
        echo "Now rotating {$this->vegetable} {$deg} degrees\n";
    }

    function _secret_super_dicing($num_cuts)
    {
        // so secret we cannot show you ;-)
    }
}

$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>

Will produce the output

Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)
As you can see, all properties and methods of the Dicer class have been aggregated into our new object, with the exception of the class constructor and the method _secret_super_dicing

See also
aggregate(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
deaggregate()

Anterior | Inicio | Siguiente
Object Aggregation/Composition Functions | Subir | aggregate_methods_by_list


aggregate_methods_by_list

(PHP 4 >= 4.2.0)

aggregate_methods_by_list -- Selective dynamic class methods aggregation to an object

Description

void aggregate_methods_by_list ( object object, string class_name, array methods_list [, bool exclude] )

Aggregates methods from a class to an existing object using a list of method names. The optional parameter exclude is used to decide whether the list contains the names of methods to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

See also
aggregate(),
aggregate_info(),
aggregate_methods(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_info | Subir | aggregate_methods_by_regexp


aggregate_methods_by_regexp

(PHP 4 >= 4.2.0)

aggregate_methods_by_regexp -- Selective class methods aggregation to an object using a regular expression

Description

void aggregate_methods_by_regexp ( object object, string class_name, string regexp [, bool exclude] )

Aggregates methods from a class to an existing object using a regular expression to match method names. The optional parameter exclude is used to decide whether the regular expression will select the names of methods to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

See also
aggregate(),
aggregate_info(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_methods_by_list | Subir | aggregate_methods


aggregate_methods

(PHP 4 >= 4.2.0)

aggregate_methods -- Dynamic class and object aggregation of methods

Description

void aggregate_methods ( object object, string class_name )

Aggregates all methods defined in a class to an existing object, except for the class constructor, or methods whose names start with an underscore character (_) which are considered private to the aggregated class.

See also
aggregate(),
aggregate_info(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_methods_by_regexp | Subir | aggregate_properties_by_list


aggregate_properties_by_list

(PHP 4 >= 4.2.0)

aggregate_properties_by_list -- Selective dynamic class properties aggregation to an object

Description

void aggregate_properties_by_list ( object object, string class_name, array properties_list [, bool exclude] )

Aggregates properties from a class to an existing object using a list of property names. The optional parameter exclude is used to decide whether the list contains the names of class properties to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

See also
aggregate(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_regexp(),
aggregate_info(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_methods | Subir | aggregate_properties_by_regexp


aggregate_properties_by_regexp

(PHP 4 >= 4.2.0)

aggregate_properties_by_regexp -- Selective class properties aggregation to an object using a regular expression

Description

void aggregate_properties_by_regexp ( object object, string class_name, string regexp [, bool exclude] )

Aggregates properties from a class to an existing object using a regular expression to match their names. The optional parameter exclude is used to decide whether the regular expression will select the names of class properties to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

See also
aggregate(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_info(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_properties_by_list | Subir | aggregate_properties


aggregate_properties

(PHP 4 >= 4.2.0)

aggregate_properties -- Dynamic aggregation of class properties to an object

Description

void aggregate_properties ( object object, string class_name )

Aggregates all properties defined in a class to an existing object, except for properties whose names start with an underscore character (_) which are considered private to the aggregated class.

See also
aggregate(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
aggregate_info(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_properties_by_regexp | Subir | aggregate


aggregate

(PHP 4 >= 4.2.0)

aggregate -- Dynamic class and object aggregation of methods and properties

Description

void aggregate ( object object, string class_name )

Aggregates methods and properties defined in a class to an existing object. Methods and properties with names starting with an underscore character (_) are considered private to the aggregated class and are not used, constructors are also excluded from the aggregation procedure.

See also
aggregate_info(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
deaggregate()

Anterior | Inicio | Siguiente
aggregate_properties | Subir | aggregation_info


aggregation_info

(PHP 4 >= 4.2.0)

aggregation_info -- Alias of aggregate_info()

Descripción

This function is an alias of: aggregate_info().

Anterior | Inicio | Siguiente
aggregate | Subir | deaggregate


deaggregate

(PHP 4 >= 4.2.0)

deaggregate -- Removes the aggregated methods and properties from an object

Description

void deaggregate ( object object [, string class_name] )

Removes the methods and properties from classes that were aggregated to an object. If the optional class_name parameters is passed, only those methods and properties defined in that class are removed, otherwise all aggregated methods and properties are eliminated.

See also
aggregate(),
aggregate_methods(),
aggregate_methods_by_list(),
aggregate_methods_by_regexp(),
aggregate_properties(),
aggregate_properties_by_list(),
aggregate_properties_by_regexp(),
aggregate_info()

Anterior | Inicio | Siguiente
aggregation_info | Subir | Object property and method call overloading


Funciones de Oracle

Manual de PHP
Anterior Siguiente

CV. Funciones de Oracle

Introducción

Estas funciones le permiten acceder a bases de datos Oracle 10, Oracle 9, Oracle 8 y Oracle 7 usando la Interfaz de Llamados Oracle (OCI por sus siglas en inglés). Ellas soportan la vinculación de variables PHP a recipientes Oracle, tienen soporte completo LOB, FILE y ROWID, y le permiten usar variables de definición entregadas por el usuario.

Requisitos

Es necesario contar con las bibliotecas de cliente Oracle para usar esta extensión. Los usuarios de Windows necesitarán bibliotecas con una versión de al menos 10 para usar php_oci8.dll.

La forma más conveniente de instalar todos los archivos requeridos es usar el Cliente Instantáneo de Oracle, que está disponible en: http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html. Para trabajar con el módulo OCI8, la versión "básica" del Cliente Instantáneo de Oracle es suficiente. El Cliente Instantáneo no necesita que estén definidas las variables de entorno ORACLE_SID o ORACLE_HOME. Sin embargo, puede que aun necesite definir LD_LIBRARY_PATH y NLS_LANG.

Antes de usar esta extensión, asegúrese de haber configurado apropiadamente sus variables de entorno Oracle para que correspondan con el usuario de Oracle, así como su usuario del demonio web. Estas variables deben ser configuradas antes de iniciar su servidor web. Las variables que necesita definir son las siguientes:

  • ORACLE_HOME

  • ORACLE_SID

  • LD_PRELOAD

  • LD_LIBRARY_PATH

  • NLS_LANG

Para más información sobre variables de entorno de Oracle usadas con menos frecuencia como TNS_ADMIN, TWO_TASK, ORA_TZFILE, y los varios parámetros de globalización de Oracle como ORA_NLS33, ORA_NLS10 y las variables NLS_* refiérase a la documentación de Oracle.

Después de definir las variables de entorno para su usuario de servidor web, asegúrese también de agregar al usuario del servidor web (nobody, www) al grupo oracle.

Si su servidor web no arranca, o falla al arrancar: Verifique que Apache esté enlazado con la biblioteca pthread:

# ldd /www/apache/bin/httpd
    libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
    libm.so.6 => /lib/libm.so.6 (0x4002f000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
    libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
    libc.so.6 => /lib/libc.so.6 (0x4007e000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Si libpthread no se encuentra en la lista, necesita re-instalar Apache:

# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install

Por favor note que en algunos sistemas, como UnixWare, se trata de libthread en lugar de libpthread. PHP y Apache deben configurarse con EXTRA_LIBS=-lthread.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. OCI8 Configuration Options

Name | Default | Changeable | Changelog
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.

A continuación se presenta una corta explicación de las directivas de configuración.

oci8.privileged_connect boolean

This option enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA).

oci8.max_persistent int

The maximum number of persistent OCI8 connections per process. Setting this option to -1 means that there is no limit.

oci8.persistent_timeout int

The maximum length of time (in seconds) that a given process is allowed to maintain an idle persistent connection. Setting this option to -1 means that idle persistent connections will be maintained forever.

oci8.ping_interval int

The length of time (in seconds) that must pass before issuing a ping during oci_pconnect(). When set to 0, persistent connections will be pinged every time they are reused. To disable pings completely, set this option to -1.

Nota: Disabling pings will cause oci_pconnect() calls to operate at the highest efficiency, but may cause PHP to not detect faulty connections, such as those caused by network partitions, or if the Oracle server has gone down since PHP connected, until later in the script. Consult the oci_pconnect() documentation for more information.

oci8.statement_cache_size int

This option enables statement caching, and specifies how many statements to cache. To disable statement caching just set this option to 0.

Nota: A larger cache can result in improved performance, at the cost of increased memory usage.

oci8.default_prefetch int

This option enables statement prefetching and sets the default number of rows that will be fetched automatically after statement execution.

Nota: A larger prefetch can result in improved performance, at the cost of increased memory usage.

oci8.old_oci_close_semantics boolean

This option controls oci_close() behaviour. Enabling it means that oci_close() will do nothing; the connection will not be closed until the end of the script. This is for backward compatibility only. If you find that you need to enable this setting, you are strongly encouraged to remove the oci_close() calls from your application instead of enabling this option.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

OCI_DEFAULT (integer)

Statement execution mode. Statement is not committed automatically when using this mode.

OCI_DESCRIBE_ONLY (integer)

Statement execution mode. Use this mode if you don't want to execute the query, but get the select-list's description.

OCI_COMMIT_ON_SUCCESS (integer)

Statement execution mode. Statement is automatically committed after oci_execute() call.

OCI_EXACT_FETCH (integer)

Statement fetch mode. Used when the application knows in advance exactly how many rows it will be fetching. This mode turns prefetching off for Oracle release 8 or later mode. Cursor is cancelled after the desired rows are fetched and may result in reduced server-side resource usage.

OCI_SYSDATE (integer)

OCI_B_BFILE (integer)

Used with oci_bind_by_name() when binding BFILEs.

OCI_B_CFILEE (integer)

Used with oci_bind_by_name() when binding CFILEs.

OCI_B_CLOB (integer)

Used with oci_bind_by_name() when binding CLOBs.

OCI_B_BLOB (integer)

Used with oci_bind_by_name() when binding BLOBs.

OCI_B_ROWID (integer)

Used with oci_bind_by_name() when binding ROWIDs.

OCI_B_CURSOR (integer)

Used with oci_bind_by_name() when binding cursors, previously allocated with oci_new_descriptor().

OCI_B_NTY (integer)

Used with oci_bind_by_name() when binding named data types. Note: in PHP < 5.0 it was called OCI_B_SQLT_NTY.

OCI_B_BIN (integer)

SQLT_BFILEE (integer)

The same as OCI_B_BFILE.

SQLT_CFILEE (integer)

The same as OCI_B_CFILEE.

SQLT_CLOB (integer)

The same as OCI_B_CLOB.

SQLT_BLOB (integer)

The same as OCI_B_BLOB.

SQLT_RDD (integer)

The same as OCI_B_ROWID.

SQLT_NTY (integer)

The same as OCI_B_NTY.

SQLT_LNG (integer)

Used with oci_bind_by_name() to bind LONG values.

SQLT_LBI (integer)

Used with oci_bind_by_name() to bind LONG RAW values.

SQLT_BIN (integer)

Used with oci_bind_by_name() to bind RAW values.

SQLT_NUM (integer)

Used with oci_bind_array_by_name() to bind arrays of NUMBER.

SQLT_INT (integer)

Used with oci_bind_array_by_name() to bind arrays of INTEGER.

SQLT_AFC (integer)

Used with oci_bind_array_by_name() to bind arrays of CHAR.

SQLT_CHR (integer)

Used with oci_bind_array_by_name() to bind arrays of VARCHAR2. Also used with oci_bind_by_name().

SQLT_VCS (integer)

Used with oci_bind_array_by_name() to bind arrays of VARCHAR.

SQLT_AVC (integer)

Used with oci_bind_array_by_name() to bind arrays of CHARZ.

SQLT_STR (integer)

Used with oci_bind_array_by_name() to bind arrays of STRING.

SQLT_LVC (integer)

Used with oci_bind_array_by_name() to bind arrays of LONG VARCHAR.

SQLT_FLT (integer)

Used with oci_bind_array_by_name() to bind arrays of FLOAT.

SQLT_ODT (integer)

Used with oci_bind_array_by_name() to bind arrays of LONG.

SQLT_BDOUBLE (integer)

SQLT_BFLOAT (integer)

OCI_FETCHSTATEMENT_BY_COLUMN (integer)

Default mode of oci_fetch_all().

OCI_FETCHSTATEMENT_BY_ROW (integer)

Alternative mode of oci_fetch_all().

OCI_ASSOC (integer)

Used with oci_fetch_all() and oci_fetch_array() to get an associative array as a result.

OCI_NUM (integer)

Used with oci_fetch_all() and oci_fetch_array() to get an enumerated array as a result.

OCI_BOTH (integer)

Used with oci_fetch_all() and oci_fetch_array() to get an array with both associative and number indices.

OCI_RETURN_NULLS (integer)

Used with oci_fetch_array() to get empty array elements if field's value is NULL.

OCI_RETURN_LOBS (integer)

Used with oci_fetch_array() to get value of LOB instead of the descriptor.

OCI_DTYPE_FILE (integer)

This flag tells oci_new_descriptor() to initialize new FILE descriptor.

OCI_DTYPE_LOB (integer)

This flag tells oci_new_descriptor() to initialize new LOB descriptor.

OCI_DTYPE_ROWID (integer)

This flag tells oci_new_descriptor() to initialize new ROWID descriptor.

OCI_D_FILE (integer)

The same as OCI_DTYPE_FILE.

OCI_D_LOB (integer)

The same as OCI_DTYPE_LOB.

OCI_D_ROWID (integer)

The same as OCI_DTYPE_ROWID.

OCI_SYSOPER (integer)

Used with oci_connect() to connect as SYSOPER using external credentials (oci8.privileged_connect should be enabled for this).

OCI_SYSDBA (integer)

Used with oci_connect() to connect as SYSDBA using external credentials (oci8.privileged_connect should be enabled for this).

OCI_LOB_BUFFER_FREE (integer)

Used with OCI-Lob->flush to free buffers used.

OCI_TEMP_CLOB (integer)

Used with OCI-Lob->writeTemporary to indicate explicilty that temporary CLOB should be created.

OCI_TEMP_BLOB (integer)

Used with OCI-Lob->writeTemporary to indicate explicilty that temporary BLOB should be created.

Ejemplos

Ejemplo 1. Consulta básica

<?php

  $conexion = oci_connect('hr', 'hr', 'orcl');
  if (!$conexion) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
  }

  $consulta = 'SELECT * FROM DEPARTMENTS';

  $id_sentencia = oci_parse($conexion, $consulta);
  if (!$id_sentencia) {
    $e = oci_error($conexion);
    print htmlentities($e['message']);
    exit;
  }

  $r = oci_execute($id_sentencia, OCI_DEFAULT);
  if (!$r) {
    $e = oci_error($id_sentencia);
    echo htmlentities($e['message']);
    exit;
  }

  print '<table border="1">';
  while ($fila = oci_fetch_array($id_sentencia, OCI_RETURN_NULLS)) {
    print '<tr>';
       foreach ($fila as $item) {
         print '<td>'.($item?htmlentities($item):'&nbsp;').'</td>';
       }
       print '</tr>';
  }
  print '</table>';

  oci_close($conexion);
?>

Ejemplo 2. Insertar con variables enlazadas

<?php

  // Antes de ejecutar, cree la tabla:
  //   CREATE TABLE MITABLA (mid NUMBER, myd VARCHAR2(20));

  $conexion = oci_connect('scott', 'tiger', 'orcl');

  $consulta = 'INSERT INTO MITABLA VALUES(:myid, :mydata)';

  $id_sentencia = oci_parse($conexion, $consulta);

  $id = 60;
  $datos = 'Algún dato';

  oci_bind_by_name($id_sentencia, ':myid', $id);
  oci_bind_by_name($id_sentencia, ':mydata', $datos);

  $r = oci_execute($id_sentencia);

  if ($r)
    print "Una fila insertada";

  oci_close($conexion);

?>

Ejemplo 3. Inserción de datos en una columna CLOB

<?php

// Antes de ejecutar, cree la tabla:
//     CREATE TABLE mitabla (miclave NUMBER, miclob CLOB);

$conexion = oci_connect('scott', 'tiger', 'orcl');

$mi_clave = 12343;  // clave arbitraria para este ejemplo

$sql = "INSERT INTO mitabla (miclave, miclob)
        VALUES (:miclave, EMPTY_CLOB())
        RETURNING miclob INTO :miclob";

$id_sentencia = oci_parse($conexion, $sql);
$clob = oci_new_descriptor($conexion, OCI_D_LOB);
oci_bind_by_name($id_sentencia, ":miclave", $mi_clave, 5);
oci_bind_by_name($id_sentencia, ":miclob", $clob, -1, OCI_B_CLOB);
oci_execute($id_sentencia, OCI_DEFAULT);
$clob->save("Una cadena muy larga");

oci_commit($conexion);

// Recuperación de datos CLOB

$consulta = 'SELECT miclob FROM mitabla WHERE miclave = :miclave';

$id_sentencia = oci_parse ($conexion, $consulta);
oci_bind_by_name($id_sentencia, ":miclave", $mi_clave, 5);
oci_execute($id_sentencia, OCI_DEFAULT);

print '<table border="1">';
while ($fila = oci_fetch_array($id_sentencia, OCI_ASSOC)) {
  $resultado = $fila['MYCLOB']->load();
  print '<tr><td>'.$resultado.'</td></tr>';
}
print '</table>';

?>

Es posible acceder fácilmente a procedimientos almacenados en la misma forma en que lo haría desde la línea de comandos.

Ejemplo 4. Uso de Procedimientos Almacenados

<?php
// por webmaster arroba remoterealty punto com
$sth = oci_parse($dbh, "begin proc_nueva_dir( :id_direccion, '$nombre',
 '$apellido', '$companyia', '$dir1', '$dir2', '$ciudad', '$estado',
 '$cod_postal', '$pais', :cod_error );end;");

// Esto llama al procedimiento almacenado proc_nueva_dir, en donde
// :id_direccion es una variable de entrada/salida y :cod_error es una
// variable de salida.
// Entonces crea la vinculación:

   oci_bind_by_name($sth, ":id_direccion", $id_direccion, 10);
   oci_bind_by_name($sth, ":cod_error", $cod_error, 10);
   oci_execute($sth);

?>

Manejo de Conexiones

La extensión oci8 le ofrece 3 funciones diferentes para conectarse con Oracle. Depende de usted usar la función más apropiada para su aplicación, y la información en esta sección tiene la intención de ayudarle a realizar una selección informada.

Conectarse a un servidor Oracle es una operación razonablemente costosa, en términos del tiempo que toma en ser completada. La función oci_pconnect() usa un caché persistente de conexiones que puede ser re-usado a través de peticiones de diferentes scripts. Esto quiere decir que usualmente sólo se incurrirá en el costo de conexión una vez por proceso php (o hijo de apache).

Si su aplicación se conecta a Oracle usando un conjunto de credenciales diferente para cada usuario web, el caché persistente usado por oci_pconnect() será menos útil a medida que el número de usuarios concurrentes se incrementa, al punto en que puede empezar a afectar adversamente el rendimiento general de su servidor Oracle debido al mantenimiento de demasiadas conexiones en reposo. Si su aplicación está estructurada de este modo, es recomendable que configure su aplicación usando los parmámetros oci8.max_persistent y oci8.persistent_timeout (estos le darán control sobre el tamaño y tiempo de vida del caché de conexiones persistentes) o use oci_connect() en su lugar.

Tanto oci_connect() como oci_pconnect() emplean un caché de conexiones; si realiza múltiples llamadas a oci_connect() en un script dado, usando los mismo parámetros, la segunda llamada y demás después de ésta devolverán el gestor de conexión existente. El caché usado por oci_connect() es limpiado al final de la ejecución del script, o cuando se cierra el gestor de conexión explícitamente. oci_pconnect() tiene un comportamiento similar, aunque su caché es mantenido por separado y sobrevive entre múltiples peticiones.

Es importante recordar esta característica del uso de cachés, ya que da la apariencia de que dos gestores no están aislados transaccionalmente (en realidad son el mismo gestor de conexión, así que no hay separación de ningún tipo). Si su aplicación necesita dos conexiones separadas, aisladas transaccionalmente, debería usar oci_new_connect().

oci_new_connect() siempre crea una nueva conexión al servidor Oracle, independientemente de cualquier otra conexión que pueda existir. Las aplicaciones con alto tráfico web deberúan tratar de evitar el uso de oci_new_connect(), especialmente en las secciones más ocupadas de la aplicación.

Tipos de datos soportados por el controlador

Tabla 2. El controlador soporta los siguientes tipos cuando enlaza parámetros con la función oci_bind_by_name():

Tipo | Asociación
SQLT_NTY | Asigna un tipo nativo de colección desde un objeto colección PHP, tal como aquellos creados por oci_new_collection().
SQLT_BFILEE | Asigna un descriptor nativo, tal como aquellos creados por oci_new_descriptor().
SQLT_CFILEE | Asigna un descriptor nativo, tal como aquellos creados por oci_new_descriptor().
SQLT_CLOB | Asigna un descriptor nativo, tal como aquellos creados por oci_new_descriptor().
SQLT_BLOB | Asigna un descriptor nativo, tal como aquellos creados por oci_new_descriptor().
SQLT_RDD | Asigna un descriptor nativo, tal como aquellos creados por oci_new_descriptor().
SQLT_NUM | Convierte el parámetro PHP a un tipo largo 'C', y lo enlaza a ese valor.
SQLT_RSET | Asigna un gestor de sentencia nativo, tal como aquellos creados por oci_parse() o aquellos recuperados desde otras consultas OCI.
SQLT_CHR y cualquier otro tipo | Convierte el parámetro PHP a un tipo cadena y lo enlaza como una cadena.

Tabla 3. Los siguientes tipos son soportados cuando se recuperan columnas desde un conjunto de resultados:

Tipo | Asociación
SQLT_RSET | Crea un recurso de sentencia oci para representar el cursor.
SQLT_RDD | Crea un objeto ROWID.
SQLT_BLOB | Crea un objeto LOB.
SQLT_CLOB | Crea un objeto LOB.
SQLT_BFILE | Crea un objeto LOB.
SQLT_LNG | Enlazado como SQLT_CHR, devuelto como una cadena
SQLT_LBI | Enlazado como SQLT_BIN, devuelto como una cadena
Any other type | Enlazado como SQLT_BIN, devuelto como una cadena
Tabla de contenidos
oci_bind_array_by_name -- Binds PHP array to Oracle PL/SQL array by name
oci_bind_by_name -- Binds the PHP variable to the Oracle placeholder
oci_cancel -- Cancels reading from cursor
oci_close -- Closes Oracle connection
OCI-Collection->append -- Appends element to the collection
OCI-Collection->assign -- Assigns a value to the collection from another existing collection
OCI-Collection->assignElem -- Assigns a value to the element of the collection
OCI-Collection->free -- Frees the resources associated with the collection object
OCI-Collection->getElem -- Returns value of the element
OCI-Collection->max -- Returns the maximum number of elements in the collection
OCI-Collection->size -- Returns size of the collection
OCI-Collection->trim -- Trims elements from the end of the collection
oci_commit -- Commits outstanding statements
oci_connect -- Establishes a connection to the Oracle server
oci_define_by_name -- Uses a PHP variable for the define-step during a SELECT
oci_error -- Returns the last error found
oci_execute -- Executes a statement
oci_fetch_all -- Fetches all rows of result data into an array
oci_fetch_array -- Returns the next row from the result data as an associative or numeric array, or both
oci_fetch_assoc -- Returns the next row from the result data as an associative array
oci_fetch_object -- Returns the next row from the result data as an object
oci_fetch_row -- Returns the next row from the result data as a numeric array
oci_fetch -- Fetches the next row into result-buffer
oci_field_is_null -- Checks if the field is NULL
oci_field_name -- Returns the name of a field from the statement
oci_field_precision -- Tell the precision of a field
oci_field_scale -- Tell the scale of the field
oci_field_size -- Returns field's size
oci_field_type_raw -- Tell the raw Oracle data type of the field
oci_field_type -- Returns field's data type
oci_free_statement -- Frees all resources associated with statement or cursor
oci_internal_debug -- Enables or disables internal debug output
OCI-Lob->append -- Appends data from the large object to another large object
OCI-Lob->close -- Closes LOB descriptor
oci_lob_copy -- Copies large object
OCI-Lob->eof -- Tests for end-of-file on a large object's descriptor
OCI-Lob->erase -- Erases a specified portion of the internal LOB data
OCI-Lob->export -- Exports LOB's contents to a file
OCI-Lob->flush -- Flushes/writes buffer of the LOB to the server
OCI-Lob->free -- Frees resources associated with the LOB descriptor
OCI-Lob->getBuffering -- Returns current state of buffering for the large object
OCI-Lob->import -- Imports file data to the LOB
oci_lob_is_equal -- Compares two LOB/FILE locators for equality
OCI-Lob->load -- Returns large object's contents
OCI-Lob->read -- Reads part of the large object
OCI-Lob->rewind -- Moves the internal pointer to the beginning of the large object
OCI-Lob->save -- Saves data to the large object
OCI-Lob->saveFile -- Alias of oci_lob_import()
OCI-Lob->seek -- Sets the internal pointer of the large object
OCI-Lob->setBuffering -- Changes current state of buffering for the large object
OCI-Lob->size -- Returns size of large object
OCI-Lob->tell -- Returns current position of internal pointer of large object
OCI-Lob->truncate -- Truncates large object
OCI-Lob->write -- Writes data to the large object
OCI-Lob->writeTemporary -- Writes temporary large object
OCI-Lob->writeToFile -- Alias of oci_lob_export()
oci_new_collection -- Allocates new collection object
oci_new_connect -- Establishes a new connection to the Oracle server
oci_new_cursor -- Allocates and returns a new cursor (statement handle)
oci_new_descriptor -- Initializes a new empty LOB or FILE descriptor
oci_num_fields -- Returns the number of result columns in a statement
oci_num_rows -- Returns number of rows affected during statement execution
oci_parse -- Prepares Oracle statement for execution
oci_password_change -- Changes password of Oracle's user
oci_pconnect -- Connect to an Oracle database using a persistent connection
oci_result -- Returns field's value from the fetched row
oci_rollback -- Rolls back outstanding transaction
oci_server_version -- Returns server version
oci_set_prefetch -- Sets number of rows to be prefetched
oci_statement_type -- Returns the type of an OCI statement
OCIBindByName -- Enlaza una variable PHP a un Placeholder de Oracle
ocicancel -- Alias of oci_cancel()
ocicloselob -- Alias of OCI-Lob->close
ocicollappend -- Alias of OCI-Collection->append
ocicollassign -- Alias of OCI-Collection->assign
ocicollassignelem -- Alias of OCI-Collection->assignElem
ocicollgetelem -- Alias of OCI-Collection->getElem
ocicollmax -- Alias of OCI-Collection->max
ocicollsize -- Alias of OCI-Collection->size
ocicolltrim -- Alias of OCI-Collection->trim
OCIColumnIsNULL -- comprueba si una una columna es NULL
OCIColumnName -- Devuelve el nombre de una columna.
ocicolumnprecision -- Alias of oci_field_precision()
ocicolumnscale -- Alias of oci_field_scale()
OCIColumnSize -- devuelve el tamaño de la columna
OCIColumnType -- Devuelve el tipo de dato de una columna.
ocicolumntyperaw -- Alias of oci_field_type_raw()
OCICommit -- Confirma transacciones pendientes
OCIDefineByName -- Usa una variable de PHP para el define-step durante una sentencia SELECT
OCIError -- Devuelve el último error de stmt|conn|global. Si no ocurre ningún error devuelve falso.
OCIExecute -- Ejecuta una sentencia
OCIFetch -- Busca la siguiente fila en el result-buffer
OCIFetchInto -- Busca la siguiente fila dentro del result-array
OCIFetchStatement -- Busca todas la filas de un resultset dentro de un array.
ocifreecollection -- Alias of OCI-Collection->free
OCIFreeCursor -- Libera todos los recursos asociados con cursor.
ocifreedesc -- Alias of OCI-Lob->free
OCIFreeStatement -- Libera todos los recursos asociados con una sentencia.
OCIInternalDebug -- Habilita o deshabilita la salida del depurador interno. Por defecto este está deshabiltado
ociloadlob -- Alias of OCI-Lob->load
OCILogOff -- Termina la conexion con Oracle
ocilogon -- Alias of oci_connect()
ocinewcollection -- Alias of oci_new_collection()
OCINewCursor -- devuelve un cursor nuevo (Statement-Handle) - use esto para enlazar ref-cursors!
OCINewDescriptor -- Inicializa un nuevo descriptor vacío LOB/FILE (LOB por defecto)
ocinlogon -- Alias of oci_new_connect()
OCINumCols -- Devuelve el número de columnas resultantes en una sentencia
OCIParse -- Analiza una consulta y devuelve una sentencia
ociplogon -- Alias of oci_pconnect()
OCIResult -- Devuelve el valor de una columna en la fila buscada
OCIRollback -- Restablece todas las transaciones sin confirmar
OCIRowCount -- Obtiene el número de filas afectadas
ocisavelob -- Alias of OCI-Lob->save
ocisavelobfile -- Alias of OCI-Lob->import
OCIServerVersion -- Devuelve una cadena conteniendo información a cerca de la version del servidor.
ocisetprefetch -- Alias of oci_set_prefetch()
OCIStatementType -- Devuelve el tipo de una sentencia OCI.
ociwritelobtofile -- Alias of OCI-Lob->export
ociwritetemporarylob -- Alias of OCI-Lob->writeTemporary

Anterior | Inicio | Siguiente
overload | Subir | oci_bind_array_by_name


oci_bind_by_name

(PHP 5)

oci_bind_by_name -- Binds the PHP variable to the Oracle placeholder

Descripción

bool oci_bind_by_name ( resource statement, string ph_name, mixed &variable [, int maxlength [, int type]] )

Binds the PHP variable variable to the Oracle placeholder ph_name. Whether it will be used for input or output will be determined at run-time and the necessary storage space will be allocated.

Lista de parámetros

statement

An OCI statement.

ph_name

The placeholder.

variable

The PHP variable.

maxlength

Sets the maximum length for the bind. If you set it to -1, this function will use the current length of variable to set the maximum length.

type

If you need to bind an abstract datatype (LOB/ROWID/BFILE) you need to allocate it first using the oci_new_descriptor() function. The length is not used for abstract datatypes and should be set to -1. The type parameter tells Oracle which descriptor is used. Possible values are:

  • SQLT_FILE - for BFILEs;

  • SQLT_CFILE - for CFILEs;

  • SQLT_CLOB - for CLOBs;

  • SQLT_BLOB - for BLOBs;

  • SQLT_RDD - for ROWIDs;

  • SQLT_NTY - for named datatypes;

  • SQLT_INT - for integers;

  • SQLT_CHR - for VARCHARs;

  • SQLT_BIN - for RAW columns;

  • SQLT_LNG - for LONG columns;

  • SQLT_LBI - for LONG RAW columns;

  • SQLT_RSET - for cursors, that were created before with oci_new_cursor().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. oci_bind_by_name()example

<?php
/* oci_bind_by_name example thies at thieso dot net (980221)
  inserts 3 records into emp, and uses the ROWID for updating the
  records just after the insert.
*/

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "
                          INSERT INTO
                                     emp (empno, ename)
                                              VALUES
                                     (:empno,:ename)
                            RETURNING
                                     ROWID
                                 INTO
                                     :rid
                                         ");

$data = array(
              1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim"
             );

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);

oci_bind_by_name($stmt, ":empno", $empno, 32);
oci_bind_by_name($stmt, ":ename", $ename, 32);
oci_bind_by_name($stmt, ":rid",   $rowid, -1, OCI_B_ROWID);

$update = oci_parse($conn, "
                            UPDATE
                                  emp
                               SET
                                  sal = :sal
                             WHERE
                                  ROWID = :rid
                             ");
oci_bind_by_name($update, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($update, ":sal", $sal,   32);

$sal = 10000;

foreach ($data as $empno => $ename) {
    oci_execute($stmt);
    oci_execute($update);
}

$rowid->free();

oci_free_statement($update);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "
                          SELECT
                                *
                            FROM
                                emp
                           WHERE
                                empno
                              IN
                                (1111,2222,3333)
                              ");
oci_execute($stmt);

while ($row = oci_fetch_assoc($stmt)) {
    var_dump($row);
}

oci_free_statement($stmt);

/* delete our "junk" from the emp table.... */
$stmt = oci_parse($conn, "
                          DELETE FROM
                                     emp
                                WHERE
                                     empno
                                   IN
                                     (1111,2222,3333)
                                   ");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Remember, this function strips trailing whitespaces. See the following example:

Ejemplo 2. oci_bind_by_name() example

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, :text)";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_bind_by_name($statement, ":text", "trailing spaces follow     ");
    oci_execute($statement);
    /*
     This code will insert into DB string 'trailing spaces follow', without
     trailing spaces
    */
?>

Ejemplo 3. oci_bind_by_name() example

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, 'trailing spaces follow      ')";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_execute($statement);
    /*
     And this code will add 'trailing spaces follow      ', preserving
     trailing whitespaces
    */
?>

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Aviso

Do not use magic_quotes_gpc or addslashes() and oci_bind_by_name() simultaneously as no quoting is needed and any magically applied quotes will be written into your database as oci_bind_by_name() is not able to distinguish magically added quotings from those added intentionally.

Nota: In PHP versions before 5.0.0 you must use ocibindbyname() instead. This name still can be used, it was left as alias of oci_bind_by_name() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_bind_array_by_name | Subir | oci_cancel


oci_cancel

(PHP 5)

oci_cancel -- Cancels reading from cursor

Descripción

bool oci_cancel ( resource statement )

Invalidates a cursor, freeing all associated resources and cancels the ability to read from it.

Lista de parámetros

statement

An OCI statement.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
oci_bind_by_name | Subir | oci_close


oci_close

(PHP 5)

oci_close -- Closes Oracle connection

Descripción

bool oci_close ( resource connection )

Closes the Oracle connection.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Starting from the version 1.1 oci_close() correctly closes the Oracle connection. Use oci8.old_oci_close_semantics option to restore old behaviour of this function.

Anterior | Inicio | Siguiente
oci_cancel | Subir | OCI-Collection->append


OCI-Collection->append

(no version information, might be only in CVS)

OCI-Collection->append -- Appends element to the collection

Descripción

class OCI-Collection {

bool append ( mixed value )

}

Appends element to the end of the collection.

Lista de parámetros

value

The value to be added to the collection. Can be a string or a number.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Collection->assign

Anterior | Inicio | Siguiente
oci_close | Subir | OCI-Collection->assign


OCI-Collection->assign

(no version information, might be only in CVS)

OCI-Collection->assign -- Assigns a value to the collection from another existing collection

Descripción

class OCI-Collection {

bool assign ( OCI-Collection from )

}

Assigns a value to the collection from another, previously created collection. Both collections must be created with oci_new_collection() prior to using them.

Lista de parámetros

from

An instance of OCI-Collection.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Collection->append

Anterior | Inicio | Siguiente
OCI-Collection->append | Subir | OCI-Collection->assignElem


OCI-Collection->free

(no version information, might be only in CVS)

OCI-Collection->free -- Frees the resources associated with the collection object

Descripción

class OCI-Collection {

bool free ( void )

}

Frees the resources associated with the collection object.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

oci_new_collection

Anterior | Inicio | Siguiente
OCI-Collection->assignElem | Subir | OCI-Collection->getElem


OCI-Collection->max

(no version information, might be only in CVS)

OCI-Collection->max -- Returns the maximum number of elements in the collection

Descripción

class OCI-Collection {

int max ( void )

}

Returns the maximum number of elements in the collection.

Valores retornados

Returns the maximum number as an integer, or FALSE on errors.

If the returned value is 0, then the number of elements is not limited.

Ver también

OCI-Collection->size

Anterior | Inicio | Siguiente
OCI-Collection->getElem | Subir | OCI-Collection->size


OCI-Collection->size

(no version information, might be only in CVS)

OCI-Collection->size -- Returns size of the collection

Descripción

class OCI-Collection {

int size ( void )

}

Returns the size of the collection.

Valores retornados

Returns the number of elements in the collection or FALSE on error.

Ver también

OCI-Collection->max

Anterior | Inicio | Siguiente
OCI-Collection->max | Subir | OCI-Collection->trim


OCI-Collection->trim

(no version information, might be only in CVS)

OCI-Collection->trim -- Trims elements from the end of the collection

Descripción

class OCI-Collection {

bool trim ( int num )

}

Trims num of elements from the end of the collection.

Lista de parámetros

num

The number of elements to be trimmed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Collection->size

Anterior | Inicio | Siguiente
OCI-Collection->size | Subir | oci_commit


oci_commit

(PHP 5)

oci_commit -- Commits outstanding statements

Descripción

bool oci_commit ( resource connection )

Commits all outstanding statements for the active transaction on the Oracle connection.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. oci_commit() example

<?php
// Login to Oracle server
$conn = oci_connect('scott', 'tiger');

// Parse SQL
$stmt = oci_parse($conn, "
                          INSERT INTO
                                     employees (name, surname)
                               VALUES
                                     ('Maxim', 'Maletsky')
                         ");

/* Execute statement
   OCI_DEFAULT tells oci_execute()
   not to commit statement immediately */
oci_execute($stmt, OCI_DEFAULT);

/*
....
Parsing and executing other statements here ...
....
*/

// Commit transaction
$committed = oci_commit($conn);

// Test whether commit was successful. If error occurred, return error message
if (!$committed) {
    $error = oci_error($conn);
    echo 'Commit failed. Oracle reports: ' . $error['message'];
}

?>

Notes

Nota: Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.

Ver también

oci_rollback()
oci_execute()

Anterior | Inicio | Siguiente
OCI-Collection->trim | Subir | oci_connect


oci_connect

(PHP 5)

oci_connect -- Establishes a connection to the Oracle server

Descripción

resource oci_connect ( string username, string password [, string db [, string charset [, int session_mode]]] )

Rturns a connection identifier needed for most other OCI calls.

Lista de parámetros

username

The Oracle user name.

password

The password for username.

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

Si usais Oracle server v.9.2 ó superior, podeis definir el parametro charset, el cual será utilizado en la nueva conexión. Si utilizais una version < 9.2, este parámetro será ignorado y la variable de entorno NLS_LANG será usada en su lugar.

session_mode

This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

Valores retornados

Returns a connection identifier or FALSE on error.

Ejemplos

Ejemplo 1. oci_connect() example

<?php
echo "<pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_connect("scott", "tiger", $db);

function create_table($conn)
{
  $stmt = oci_parse($conn, "create table scott.hallo (test varchar2(64))");
  oci_execute($stmt);
  echo $conn . " created table\n\n";
}

function drop_table($conn)
{
  $stmt = oci_parse($conn, "drop table scott.hallo");
  oci_execute($stmt);
  echo $conn . " dropped table\n\n";
}

function insert_data($conn)
{
  $stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " inserted hallo\n\n";
}

function delete_data($conn)
{
  $stmt = oci_parse($conn, "delete from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " deleted hallo\n\n";
}

function commit($conn)
{
  oci_commit($conn);
  echo $conn . " committed\n\n";
}

function rollback($conn)
{
  oci_rollback($conn);
  echo $conn . " rollback\n\n";
}

function select_data($conn)
{
  $stmt = oci_parse($conn, "select * from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn."----selecting\n\n";
  while (oci_fetch($stmt)) {
    echo $conn . " [" . oci_result($stmt, "TEST") . "]\n\n";
  }
  echo $conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);   // Insert a row using c1
insert_data($c2);   // Insert a row using c2

select_data($c1);   // Results of both inserts are returned
select_data($c2);

rollback($c1);      // Rollback using c1

select_data($c1);   // Both inserts have been rolled back
select_data($c2);

insert_data($c2);   // Insert a row using c2
commit($c2);        // Commit using c2

select_data($c1);   // Result of c2 insert is returned

delete_data($c1);   // Delete all rows in table using c1
select_data($c1);   // No rows returned
select_data($c2);   // No rows returned
commit($c1);        // Commit using c1

select_data($c1);   // No rows returned
select_data($c2);   // No rows returned

drop_table($c1);
echo "</pre>";
?>

Notes

Nota: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

Nota: The second and subsequent calls to oci_connect() with the same parameters will return the connection handle returned from the first call. This means that queries issued against one handle are also applied to the other handles, because they are the same handle. This behaviour is demonstrated in Example 1 below. If you require two handles to be transactionally isolated from each other, you should use oci_new_connect() instead.

Nota: In PHP versions before 5.0.0 you must use ocilogon() instead. This name still can be used, it was left as the alias of oci_connect() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_pconnect()
oci_new_connect()
oci_close()

Anterior | Inicio | Siguiente
oci_commit | Subir | oci_define_by_name


oci_define_by_name

(PHP 5)

oci_define_by_name -- Uses a PHP variable for the define-step during a SELECT

Descripción

bool oci_define_by_name ( resource statement, string column_name, mixed &variable [, int type] )

Defines PHP variables for fetches of SQL-Columns.

Lista de parámetros

statement

A valid OCI statement identifier.

column_name

The column name. Must be uppercased.

Take into consideration that Oracle uses ALL-UPPERCASE column names, whereby in your select you can also use lowercase. If you define a variable that doesn't exists in your select statement, no error will be issued.

variable

The PHP variable.

type

If you need to define an abstract datatype (LOB/ROWID/BFILE) you must allocate it first using oci_new_descriptor(). See also the oci_bind_by_name() function.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. oci_define_by_name() example

<?php
/* oci_define_by_name example - thies at thieso dot net (980219) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "SELECT empno, ename FROM emp");

/* the define MUST be done BEFORE oci_execute! */

oci_define_by_name($stmt, "EMPNO", $empno);
oci_define_by_name($stmt, "ENAME", $ename);

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "empno:" . $empno . "\n";
    echo "ename:" . $ename . "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocidefinebyname() instead. This name still can be used, it was left as alias of oci_define_by_name() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_connect | Subir | oci_error


oci_error

(PHP 5)

oci_error -- Returns the last error found

Descripción

array oci_error ( [resource source] )

Returns the last error found.

Lista de parámetros

source

For most errors, the parameter is the most appropriate resource
handle. For connection errors with oci_connect(),
oci_new_connect() or
oci_pconnect() do not pass a parameter.

Valores retornados

If no error is found, oci_error() returns FALSE. oci_error() returns the error as an associative array. In this array, code consists the oracle error code and message the oracle error string.

Registro de cambios

Versión | Descripción
4.3 | offset and sqltext will also be included in the return array to indicate the location of the error and the original SQL text which caused it.

Ejemplos

Ejemplo 1. Displaying the Oracle error message after a connection error

$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
  $e = oci_error();   // For oci_connect errors pass no handle
  echo htmlentities($e['message']);
}

Ejemplo 2. Displaying the Oracle error message after a parsing error

$stmt = @oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stmt) {
  $e = oci_error($conn);  // For oci_parse errors pass the connection handle
  echo htmlentities($e['message']);
}

Ejemplo 3. Displaying the Oracle error message and problematic statement after an execution error

$r = oci_execute($stmt);
if (!$r) {
  $e = oci_error($stmt); // For oci_execute errors pass the statementhandle
  echo htmlentities($e['message']);
  echo "<pre>";
  echo htmlentities($e['sqltext']);
  printf("\n%".($e['offset']+1)."s", "^");
  echo "</pre>";
}

Notes

Nota: In PHP versions before 5.0.0 you must use ocierror() instead. This name still can be used, it was left as alias of oci_error() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_define_by_name | Subir | oci_execute


oci_execute

(PHP 5)

oci_execute -- Executes a statement

Descripción

bool oci_execute ( resource statement [, int mode] )

Executes a previously parsed statement.

Lista de parámetros

statement

A valid OCI statement identifier.

mode

Allows you to specify the execution mode (default is OCI_COMMIT_ON_SUCCESS).

If you don't want statements to be committed automatically, you should specify OCI_DEFAULT as your mode.

When using OCI_DEFAULT mode, you're creating a transaction. Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: In PHP versions before 5.0.0 you must use ociexecute() instead. This name still can be used, it was left as alias of oci_execute() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_parse()

Anterior | Inicio | Siguiente
oci_error | Subir | oci_fetch_all


oci_fetch_all

(PHP 5)

oci_fetch_all -- Fetches all rows of result data into an array

Descripción

int oci_fetch_all ( resource statement, array &output [, int skip [, int maxrows [, int flags]]] )

Fetches all the rows from a result into a user-defined array.

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

Lista de parámetros

statement

A valid OCI statement identifier.

output

Nota: Esta funcion define campos NULL como valores PHP NULL.

skip

The number of initial rows to ignore when fetching the result (default value of 0, to start at the first line).

maxrows

The number of rows to read, starting at the skipth row (default to -1, meaning all the rows).

flags

Parameter flags can be any combination of the following:

OCI_FETCHSTATEMENT_BY_ROW
OCI_FETCHSTATEMENT_BY_COLUMN (default value)
OCI_NUM
OCI_ASSOC

Valores retornados

Returns the number of rows fetched or FALSE in case of an error.

Ejemplos

Ejemplo 1. oci_fetch_all() example

<?php
/* oci_fetch_all example mbritton at verinet dot com (990624) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
   echo "<table border=\"1\">\n";
   echo "<tr>\n";
   foreach ($results as $key => $val) {
      echo "<th>$key</th>\n";
   }
   echo "</tr>\n";

   for ($i = 0; $i < $nrows; $i++) {
      echo "<tr>\n";
      foreach ($results as $data) {
         echo "<td>$data[$i]</td>\n";
      }
      echo "</tr>\n";
   }
   echo "</table>\n";
} else {
   echo "No data found<br />\n";
}
echo "$nrows Records Selected<br />\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocifetchstatement() instead. This name still can be used, it was left as alias of oci_fetch_all() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_execute | Subir | oci_fetch_array


oci_fetch_array

(PHP 5)

oci_fetch_array -- Returns the next row from the result data as an associative or numeric array, or both

Descripción

array oci_fetch_array ( resource statement [, int mode] )

Returns an array, which corresponds to the next result row.

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

It should be mentioned here, that oci_fetch_array() is insignificantly slower, than oci_fetch_row(), but much more handy.

Lista de parámetros

statement

A valid OCI statement identifier.

statement

An optional second parameter can be any combination of the following constants:

OCI_BOTH - return an array with both associative and numeric indices (the same as OCI_ASSOC + OCI_NUM). This is the default behavior.
OCI_ASSOC - return an associative array (as oci_fetch_assoc() works).
OCI_NUM - return a numeric array, (as oci_fetch_row() works).
OCI_RETURN_NULLS - create empty elements for the NULL fields.
OCI_RETURN_LOBS - return the value of a LOB of the descriptor.

Default mode is OCI_BOTH.

Valores retornados

Returns an array with both associative and numeric indices, or FALSE if there are no more rows in the statement.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Nota: Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.

Ejemplos

Ejemplo 1. oci_fetch_array() with OCI_BOTH example

<?php
$connection = oci_connect("apelsin", "kanistra");

$query = "SELECT id, name FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
    echo $row[0]." and ".$row['ID']." is the same<br>";
    echo $row[1]." and ".$row['NAME']." is the same<br>";
}
?>

Ejemplo 2. oci_fetch_array() with OCI_NUM example

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_NUM)) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row[2]->read(100)."<br>";  //this will output first 100 bytes from LOB
}
?>

Ejemplo 3. oci_fetch_array() with OCI_ASSOC example

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_ASSOC)) {
    echo $row['ID']."<br>";
    echo $row['NAME']."<br>";
    echo $row['LOB_FIELD']."<br>";  //this will output "Object id #1"
}
?>

Ejemplo 4. oci_fetch_array() with OCI_RETURN_LOBS example

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, (OCI_NUM+OCI_RETURN_LOBS))) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row['LOB_FIELD']."<br>";  //this will output LOB's content
}
?>

Ver también

oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_fetch_all()

Anterior | Inicio | Siguiente
oci_fetch_all | Subir | oci_fetch_assoc


oci_fetch_assoc

(PHP 5)

oci_fetch_assoc -- Returns the next row from the result data as an associative array

Descripción

array oci_fetch_assoc ( resource statement )

Returns the next row from the result data as an associative array.

Calling oci_fetch_assoc() is identical to calling oci_fetch_array() with OCI_ASSOC.

A subsequent call to oci_fetch_assoc() will return the next row or FALSE if there are no more rows.

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Returns an associative array, or FALSE if there are no more rows in the statement.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Nota: Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.

Ver también

oci_fetch_array()
oci_fetch_object()
oci_fetch_row()
oci_fetch_all()

Anterior | Inicio | Siguiente
oci_fetch_array | Subir | oci_fetch_object


oci_fetch_object

(PHP 5)

oci_fetch_object -- Returns the next row from the result data as an object

Descripción

object oci_fetch_object ( resource statement )

Returns the next row from the result data as an object.

Subsequent calls to oci_fetch_object() will return the next row from the result or FALSE if there are no more rows.

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Returns an object, which attributes correspond to fields in statement, or FALSE if there are no more rows in the statement.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Nota: Oracle returns all field names in uppercase and associative indices in the result object will be uppercased too.

Ver también

oci_fetch_array()
oci_fetch_assoc()
oci_fetch_row()
oci_fetch_all()

Anterior | Inicio | Siguiente
oci_fetch_assoc | Subir | oci_fetch_row


oci_fetch_row

(PHP 5)

oci_fetch_row -- Returns the next row from the result data as a numeric array

Descripción

array oci_fetch_row ( resource statement )

Returns the next row from the result data as an indexed array.

Calling oci_fetch_row() is identical to calling oci_fetch_array() with OCI_NUM.

Subsequent calls to oci_fetch_row() will return the next row from the result data or FALSE if there are no more rows.

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Returns an indexed array with the field information, or FALSE if there are no more rows in the statement.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Ver también

oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_all()

Anterior | Inicio | Siguiente
oci_fetch_object | Subir | oci_fetch


oci_fetch

(PHP 5)

oci_fetch -- Fetches the next row into result-buffer

Descripción

bool oci_fetch ( resource statement )

Fetches the next row (for SELECT statements) into the internal result-buffer.

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: In PHP versions before 5.0.0 you must use ocifetch() instead. This name still can be used, it was left as alias of oci_fetch() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_fetch_row | Subir | oci_field_is_null


oci_field_is_null

(PHP 5)

oci_field_is_null -- Checks if the field is NULL

Descripción

bool oci_field_is_null ( resource statement, mixed field )

Checks if the given field from the statement is NULL.

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be a field's index or a field's name (uppercased).

Valores retornados

Returns TRUE if field is NULL, FALSE otherwise.

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumnisnull() instead. This name still can be used, it was left as alias of oci_field_is_null() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_fetch | Subir | oci_field_name


oci_field_name

(PHP 5)

oci_field_name -- Returns the name of a field from the statement

Descripción

string oci_field_name ( resource statement, int field )

Returns the name of the field.

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valores retornados

Returns the name as a string, or FALSE on errors.

Ejemplos

Ejemplo 1. oci_field_name() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";
oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumnname() instead. This name still can be used, it was left as alias of oci_field_name() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_num_fields()
oci_field_type()
oci_field_size()

Anterior | Inicio | Siguiente
oci_field_is_null | Subir | oci_field_precision


oci_field_precision

(PHP 5)

oci_field_precision -- Tell the precision of a field

Descripción

int oci_field_precision ( resource statement, int field )

Returns precision of the field.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valores retornados

Returns the precision as an integer, or FALSE on errors.

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumnprecision() instead. This name still can be used, it was left as alias of oci_field_precision() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_field_scale()
oci_field_type()

Anterior | Inicio | Siguiente
oci_field_name | Subir | oci_field_scale


oci_field_scale

(PHP 5)

oci_field_scale -- Tell the scale of the field

Descripción

int oci_field_scale ( resource statement, int field )

Returns the scale of the column with field index.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valores retornados

Returns the scale as an integer, or FALSE on errors.

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumnscale() instead. This name still can be used, it was left as alias of oci_field_scale() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_field_precision()
oci_field_type()

Anterior | Inicio | Siguiente
oci_field_precision | Subir | oci_field_size


oci_field_size

(PHP 5)

oci_field_size -- Returns field's size

Descripción

int oci_field_size ( resource statement, mixed field )

Returns the size of a field.

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valores retornados

Returns the size of a field in bytes, or FALSE on errors.

Ejemplos

Ejemplo 1. oci_field_size()example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);
    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>";

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumnsize() instead. This name still can be used, it was left as alias of oci_field_size() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_num_fields()
oci_field_name()

Anterior | Inicio | Siguiente
oci_field_scale | Subir | oci_field_type_raw


oci_field_type_raw

(PHP 5)

oci_field_type_raw -- Tell the raw Oracle data type of the field

Descripción

int oci_field_type_raw ( resource statement, int field )

Returns Oracle's raw data type of the field.

However, if you want to get field's type, then oci_field_type() will suit you better.

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valores retornados

Returns Oracle's raw data type as a string, or FALSE on errors.

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumntyperaw() instead. This name still can be used, it was left as alias of oci_field_type_raw() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_field_size | Subir | oci_field_type


oci_field_type

(PHP 5)

oci_field_type -- Returns field's data type

Descripción

mixed oci_field_type ( resource statement, int field )

Returns a field's data type.

Lista de parámetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valores retornados

Returns the field data type as a string, or FALSE on errors.

Valores retornados

Ejemplo 1. oci_field_type() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocicolumntype() instead. This name still can be used, it was left as alias of oci_field_type() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_num_fields()
oci_field_name()
oci_field_size()

Anterior | Inicio | Siguiente
oci_field_type_raw | Subir | oci_free_statement


oci_free_statement

(PHP 5)

oci_free_statement -- Frees all resources associated with statement or cursor

Descripción

bool oci_free_statement ( resource statement )

Frees resources associated with Oracle's cursor or statement, which was received from as a result of oci_parse() or obtained from Oracle.

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
oci_field_type | Subir | oci_internal_debug


oci_internal_debug

(PHP 5)

oci_internal_debug -- Enables or disables internal debug output

Descripción

void oci_internal_debug ( int onoff )

Enables or disables internal debug output.

Lista de parámetros

onoff

Set this to 0 to turn debug output off or 1 to turn it on.

Valores retornados

No value is returned.

Notes

Nota: In PHP versions before 5.0.0 you must use ociinternaldebug() instead. This name still can be used, it was left as alias of oci_internal_debug() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_free_statement | Subir | OCI-Lob->append


OCI-Lob->append

(no version information, might be only in CVS)

OCI-Lob->append -- Appends data from the large object to another large object

Descripción

class OCI-Lob {

bool append ( OCI-Lob lob_from )

}

Appends data from the large object to the end of another large object.

Writing to the large object with this method will fail if buffering was previously enabled. You must disable buffering before appending. You may need to flush buffers with OCI-Lob->flush before disabling buffering.

Lista de parámetros

lob_from

The copied LOB.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->flush
OCI-Lob->setBuffering
OCI-Lob->getBuffering

Anterior | Inicio | Siguiente
oci_internal_debug | Subir | OCI-Lob->close


OCI-Lob->close

(no version information, might be only in CVS)

OCI-Lob->close -- Closes LOB descriptor

Descripción

class OCI-Lob {

bool close ( void )

}

Closes descriptor of LOB or FILE. This function should be used only with OCI-Lob->writeTemporary.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->writeTemporary

Anterior | Inicio | Siguiente
OCI-Lob->append | Subir | oci_lob_copy


oci_lob_copy

(PHP 5)

oci_lob_copy -- Copies large object

Descripción

bool oci_lob_copy ( OCI-Lob lob_to, OCI-Lob lob_from [, int length] )

Copies a large object or a part of a large object to another large object. Old LOB-recipient data will be overwritten.

If you need to copy a particular part of a LOB to a particular position of a LOB, use oci_lob_seek() to move LOB internal pointers.

Lista de parámetros

lob_to

The destination LOB.

lob_from

The copied LOB.

length

Indicates the length of data to be copied.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
OCI-Lob->close | Subir | OCI-Lob->eof


OCI-Lob->eof

(no version information, might be only in CVS)

OCI-Lob->eof -- Tests for end-of-file on a large object's descriptor

Descripción

class OCI-Lob {

bool eof ( void )

}

Tells whether the internal pointer of large object is at the end of LOB.

Valores retornados

Returns TRUE if internal pointer of large object is at the end of LOB. Otherwise returns FALSE.

Ver también

OCI-Lob->size

Anterior | Inicio | Siguiente
oci_lob_copy | Subir | OCI-Lob->erase


OCI-Lob->erase

(no version information, might be only in CVS)

OCI-Lob->erase -- Erases a specified portion of the internal LOB data

Descripción

class OCI-Lob {

int erase ( [int offset [, int length]] )

}

Erases a specified portion of the internal LOB data starting at a specified offset. If called without parameters, it erases all LOB data.

For BLOBs, erasing means that the existing LOB value is overwritten with zero-bytes. For CLOBs, the existing LOB value is overwritten with spaces.

Lista de parámetros

offset

length

Valores retornados

Returns the actual number of characters/bytes erased or FALSE in case of error.

Ver también

OCI-Lob->truncate

Anterior | Inicio | Siguiente
OCI-Lob->eof | Subir | OCI-Lob->export


OCI-Lob->export

(no version information, might be only in CVS)

OCI-Lob->export -- Exports LOB's contents to a file

Descripción

class OCI-Lob {

bool export ( string filename [, int start [, int length]] )

}

Exports LOB contents to a file.

Lista de parámetros

filename

Path to the file.

start

Indicates from where to start exporting.

length

Indicates the length of data to be exported.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->import

Anterior | Inicio | Siguiente
OCI-Lob->erase | Subir | OCI-Lob->flush


OCI-Lob->flush

(no version information, might be only in CVS)

OCI-Lob->flush -- Flushes/writes buffer of the LOB to the server

Descripción

class OCI-Lob {

bool flush ( [int flag] )

}

OCI-Lob->flush() actually writes data to the server.

Lista de parámetros

flag

By default, resources are not freed, but using flag OCI_LOB_BUFFER_FREE you can do it explicitly. Be sure you know what you're doing - next read/write operation to the same part of LOB will involve a round-trip to the server and initialize new buffer resources. It is recommended to use OCI_LOB_BUFFER_FREE flag only when you are not going to work with the LOB anymore.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Returns FALSE if buffering was not enabled or an error occurred.

Ver también

OCI-Lob->getBuffering
OCI-Lob->setBuffering

Anterior | Inicio | Siguiente
OCI-Lob->export | Subir | OCI-Lob->free


OCI-Lob->import

(no version information, might be only in CVS)

OCI-Lob->import -- Imports file data to the LOB

Descripción

class OCI-Lob {

bool import ( string filename )

}

Writes data from the filename in to the current position of large object.

Lista de parámetros

filename

Path to the file.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->export
OCI-Lob->write

Anterior | Inicio | Siguiente
OCI-Lob->getBuffering | Subir | oci_lob_is_equal


oci_lob_is_equal

(PHP 5)

oci_lob_is_equal -- Compares two LOB/FILE locators for equality

Descripción

bool oci_lob_is_equal ( OCI-Lob lob1, OCI-Lob lob2 )

Compares two LOB/FILE locators.

Lista de parámetros

lob1

A LOB identifier.

lob2

A LOB identifier.

Valores retornados

Returns TRUE if these objects are equal, FALSE otherwise.

Anterior | Inicio | Siguiente
OCI-Lob->import | Subir | OCI-Lob->load


OCI-Lob->load

(no version information, might be only in CVS)

OCI-Lob->load -- Returns large object's contents

Descripción

class OCI-Lob {

string load ( void )

}

Returns large object's contents. As script execution is terminated when the memory_limit is reached, ensure that the LOB does not exceed this limit. In most cases it's recommended to use OCI-Lob->read instead.

Valores retornados

Returns the contents of the object, or FALSE on errors.

Ver también

OCI-Lob->read

Anterior | Inicio | Siguiente
oci_lob_is_equal | Subir | OCI-Lob->read


OCI-Lob->read

(no version information, might be only in CVS)

OCI-Lob->read -- Reads part of the large object

Descripción

class OCI-Lob {

string read ( int length )

}

Reads length bytes from the current position of LOB's internal pointer.

Reading stops when length bytes have been read or end of the large object is reached. Internal pointer of the large object will be shifted on the amount of bytes read.

Lista de parámetros

length

The length of data to read, in bytes.

Valores retornados

Returns the contents as a string, or FALSE in case of error.

Ver también

OCI-Lob->load
OCI-Lob->write

Anterior | Inicio | Siguiente
OCI-Lob->load | Subir | OCI-Lob->rewind


OCI-Lob->rewind

(no version information, might be only in CVS)

OCI-Lob->rewind -- Moves the internal pointer to the beginning of the large object

Descripción

class OCI-Lob {

bool rewind ( void )

}

Sets the internal pointer to the beginning of the large object.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->seek
OCI-Lob->tell

Anterior | Inicio | Siguiente
OCI-Lob->read | Subir | OCI-Lob->save


OCI-Lob->save

(no version information, might be only in CVS)

OCI-Lob->save -- Saves data to the large object

Descripción

class OCI-Lob {

bool save ( string data [, int offset] )

}

Saves data to the large object.

Lista de parámetros

data

The data to be saved.

offset

Can be used to indicate offset from the beginning of the large object.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->write
OCI-Lob->import

Anterior | Inicio | Siguiente
OCI-Lob->rewind | Subir | OCI-Lob->saveFile


OCI-Lob->seek

(no version information, might be only in CVS)

OCI-Lob->seek -- Sets the internal pointer of the large object

Descripción

class OCI-Lob {

bool seek ( int offset [, int whence] )

}

Sets the internal pointer of the large object.

Lista de parámetros

offset

Indicates the amount of bytes, on which internal pointer should be moved from the position, pointed by whence.

whence

May be one of:

OCI_SEEK_SET - sets the position equal to offset
OCI_SEEK_CUR - adds offset bytes to the current position
OCI_SEEK_END - adds offset bytes to the end of large object (use negative value to move to a position before the end of large object)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->rewind
OCI-Lob->tell
OCI-Lob->eof

Anterior | Inicio | Siguiente
OCI-Lob->saveFile | Subir | OCI-Lob->setBuffering


OCI-Lob->size

(no version information, might be only in CVS)

OCI-Lob->size -- Returns size of large object

Descripción

class OCI-Lob {

int size ( void )

}

Gets the size of the large object.

Valores retornados

Returns length of large object value or FALSE in case of error. Empty objects have zero length.

Anterior | Inicio | Siguiente
OCI-Lob->setBuffering | Subir | OCI-Lob->tell


OCI-Lob->tell

(no version information, might be only in CVS)

OCI-Lob->tell -- Returns current position of internal pointer of large object

Descripción

class OCI-Lob {

int tell ( void )

}

Gets the current position of a LOB's internal pointer.

Valores retornados

Returns current position of a LOB's internal pointer or FALSE if an error occurred.

Ver también

OCI-Lob->rewind
OCI-Lob->size
OCI-Lob->eof

Anterior | Inicio | Siguiente
OCI-Lob->size | Subir | OCI-Lob->truncate


OCI-Lob->truncate

(no version information, might be only in CVS)

OCI-Lob->truncate -- Truncates large object

Descripción

class OCI-Lob {

bool truncate ( [int length] )

}

Truncates the LOB.

Lista de parámetros

length

If provided, this method will truncate the LOB to length bytes. Otherwise, it will completrely purge the LOB.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->erase

Anterior | Inicio | Siguiente
OCI-Lob->tell | Subir | OCI-Lob->write


OCI-Lob->write

(no version information, might be only in CVS)

OCI-Lob->write -- Writes data to the large object

Descripción

class OCI-Lob {

int write ( string data [, int length] )

}

Writes data from the parameter data into the current position of LOB's internal pointer.

Lista de parámetros

data

The data to write in the LOB.

length

If this parameter is given, writing will stop after length bytes have been written or the end of data is reached, whichever comes first.

Valores retornados

Returns the number of bytes written or FALSE in case of error.

Ver también

OCI-Lob->read

Anterior | Inicio | Siguiente
OCI-Lob->truncate | Subir | OCI-Lob->writeTemporary


oci_new_collection

(PHP 5)

oci_new_collection -- Allocates new collection object

Descripción

OCI-Collection oci_new_collection ( resource connection, string tdo [, string schema] )

Allocates a new collection object.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

tdo

Should be a valid named type (uppercase).

schema

Should point to the scheme, where the named type was created. The name of the current user is the default value.

Valores retornados

Returns a new OCICollection object or FALSE on error.

Notes

Nota: In PHP versions before 5.0.0 you must use ocinewcollection() instead. This name still can be used, it was left as alias of oci_new_collection() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
OCI-Lob->writeToFile | Subir | oci_new_connect


oci_new_connect

(PHP 5)

oci_new_connect -- Establishes a new connection to the Oracle server

Descripción

resource oci_new_connect ( string username, string password [, string db [, string charset [, int session_mode]]] )

Establishes a new connection to an Oracle server and logs on.

Unlike oci_connect() and oci_pconnect(), oci_new_connect() does not cache connections and will always return a brand-new freshly opened connection handle. This is useful if your application needs transactional isolation between two sets of queries.

Lista de parámetros

username

The Oracle user name.

password

The password for username.

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

Si usais Oracle server v.9.2 ó superior, podeis definir el parametro charset, el cual será utilizado en la nueva conexión. Si utilizais una version < 9.2, este parámetro será ignorado y la variable de entorno NLS_LANG será usada en su lugar.

session_mode

This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

Valores retornados

Returns a connection identifier or FALSE on error.

Ejemplos

The following demonstrates how you can separate connections.

Ejemplo 1. oci_new_connect() example

<?php
echo "<html><pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_new_connect("scott", "tiger", $db);

function create_table($conn)
{
  $stmt = oci_parse($conn, "create table scott.hallo (test
varchar2(64))");
  oci_execute($stmt);
  echo $conn . " created table\n\n";
}

function drop_table($conn)
{
  $stmt = oci_parse($conn, "drop table scott.hallo");
  oci_execute($stmt);
  echo $conn . " dropped table\n\n";
}

function insert_data($conn)
{
  $stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " inserted hallo\n\n";
}

function delete_data($conn)
{
  $stmt = oci_parse($conn, "delete from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " deleted hallo\n\n";
}

function commit($conn)
{
  oci_commit($conn);
  echo $conn . " committed\n\n";
}

function rollback($conn)
{
  oci_rollback($conn);
  echo $conn . " rollback\n\n";
}

function select_data($conn)
{
  $stmt = oci_parse($conn, "select * from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . "----selecting\n\n";
  while (oci_fetch($stmt)) {
    echo $conn . " <" . oci_result($stmt, "TEST") . ">\n\n";
  }
  echo $conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);

select_data($c1);
select_data($c2);

rollback($c1);

select_data($c1);
select_data($c2);

insert_data($c2);
commit($c2);

select_data($c1);

delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);

select_data($c1);
select_data($c2);

drop_table($c1);
echo "</pre></html>";
?>

Notes

Nota: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

Nota: In PHP versions before 5.0.0 you must use ocinlogon() instead. This name still can be used, it was left as alias of oci_new_connect() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_connect()
oci_pconnect()

Anterior | Inicio | Siguiente
oci_new_collection | Subir | oci_new_cursor


oci_new_cursor

(PHP 5)

oci_new_cursor -- Allocates and returns a new cursor (statement handle)

Descripción

resource oci_new_cursor ( resource connection )

Allocates a new statement handle on the specified connection.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

Valores retornados

Returns a new statement handle, or FALSE on error.

Ejemplos

Ejemplo 1. Using REF CURSOR in an Oracle's stored procedure

<?php
// suppose your stored procedure info.output returns a ref cursor in :data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while ($data = oci_fetch_row($curs)) {
    var_dump($data);
}

oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

Ejemplo 2. Using REF CURSOR in an Oracle's select statement

<?php
echo "<html><body>";
$conn = oci_connect("scott", "tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = oci_parse($conn, "select deptno,dname,$count_cursor");

oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>DEPT NAME</th>";
echo "<th>DEPT #</th>";
echo "<th># EMPLOYEES</th>";
echo "</tr>";

while ($data = oci_fetch_assoc($stmt)) {
    echo "<tr>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    echo "<td>$dname</td>";
    echo "<td>$deptno</td>";
    oci_execute($data["EMPCNT"]);
    while ($subdata = oci_fetch_assoc($data["EMPCNT"])) {
        $num_emps = $subdata["NUM_EMPS"];
        echo  "<td>$num_emps</td>";
    }
    echo "</tr>";
}
echo "</table>";
echo "</body></html>";
oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocinewcursor() instead. This name still can be used, it was left as alias of oci_new_cursor() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_new_connect | Subir | oci_new_descriptor


oci_new_descriptor

(PHP 5)

oci_new_descriptor -- Initializes a new empty LOB or FILE descriptor

Descripción

OCI-Lob oci_new_descriptor ( resource connection [, int type] )

Allocates resources to hold descriptor or LOB locator.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

type

Valid values for type are: OCI_D_FILE, OCI_D_LOB and OCI_D_ROWID.

Valores retornados

Returns a new LOB or FILE descriptor on success, FALSE on error.

Ejemplos

Ejemplo 1. oci_new_descriptor() example

<?php
/* This script is designed to be called from a HTML form.
 * It expects $user, $password, $table, $where, and $commitsize
 * to be passed in from the form.  The script then deletes
 * the selected rows using the ROWID and commits after each
 * set of $commitsize rows. (Use with care, there is no rollback)
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
    $nrows = oci_num_rows($stmt);
    $delete = oci_parse($conn, "delete from $table where ROWID = :rid");
    oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
    oci_execute($delete);
    echo "$nrows\n";
    if (($nrows % $commitsize) == 0) {
        oci_commit($conn);
    }
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
    /* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <form action="upload.php" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ...
     */
  if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  } else {

     // $lob_upload contains the temporary filename of the uploaded file

     // see also the features section on file upload,
     // if you would like to use secure uploads

     $conn = oci_connect($user, $password);
     $lob = oci_new_descriptor($conn, OCI_D_LOB);
     $stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
     oci_execute($stmt, OCI_DEFAULT);
     if ($lob->savefile($lob_upload)){
        oci_commit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     oci_free_descriptor($lob);
     oci_free_statement($stmt);
     oci_close($conn);
  }
?>

Ejemplo 2. oci_new_descriptor() example

<?php
/* Calling PL/SQL stored procedures which contain clobs as input
 * parameters (PHP 4 >= 4.0.6).
 * Example PL/SQL stored procedure signature is:
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocinewdescriptor() instead. This name still can be used, it was left as alias of oci_new_descriptor() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_new_cursor | Subir | oci_num_fields


oci_num_fields

(PHP 5)

oci_num_fields -- Returns the number of result columns in a statement

Descripción

int oci_num_fields ( resource statement )

Gets the number of columns in the given statement.

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Returns the number of columns as an integer, or FALSE on errors.

Ejemplos

Ejemplo 1. oci_num_fields() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "\n";
    $ncols = oci_num_fields($stmt);
    for ($i = 1; $i <= $ncols; $i++) {
        $column_name  = oci_field_name($stmt, $i);
        $column_value = oci_result($stmt, $i);
        echo $column_name . ': ' . $column_value . "\n";
    }
    echo "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocinumcols() instead. This name still can be used, it was left as alias of oci_num_fields() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_new_descriptor | Subir | oci_num_rows


oci_num_rows

(PHP 5)

oci_num_rows -- Returns number of rows affected during statement execution

Descripción

int oci_num_rows ( resource statement )

Gets the number of rows affected during statement execution.

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Returns the number of rows affected as an integer, or FALSE on errors.

Ejemplos

Ejemplo 1. oci_num_rows() example

<?php
$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "create table emp2 as select * from emp");
oci_execute($stmt);
echo oci_num_rows($stmt) . " rows inserted.<br />";
oci_free_statement($stmt);

$stmt = oci_parse($conn, "delete from emp2");
oci_execute($stmt, OCI_DEFAULT);
echo oci_num_rows($stmt) . " rows deleted.<br />";
oci_commit($conn);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "drop table emp2");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Notes

Nota: This function does not return number of rows selected! For SELECT statements this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.

Nota: In PHP versions before 5.0.0 you must use ocirowcount() instead. This name still can be used, it was left as alias of oci_num_rows() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_num_fields | Subir | oci_parse


oci_parse

(PHP 5)

oci_parse -- Prepares Oracle statement for execution

Descripción

resource oci_parse ( resource connection, string query )

Prepares the queryusing connection and returns the statement identifier, which can be used with oci_bind_by_name(), oci_execute() and other functions.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

query

The SQL query.

Valores retornados

Returns a statement handler on success, or FALSE on error.

Notes

Nota: This function does not validate query. The only way to find out if query is valid SQL or PL/SQL statement - is to execute it.

Nota: In PHP versions before 5.0.0 you must use ociparse() instead. This name still can be used, it was left as alias of oci_parse() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_num_rows | Subir | oci_password_change


oci_password_change

(PHP 5)

oci_password_change -- Changes password of Oracle's user

Descripción

bool oci_password_change ( resource connection, string username, string old_password, string new_password )

resource oci_password_change ( string dbname, string username, string old_password, string new_password )

Changes password for user with username.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

username

The Oracle user name.

old_password

The old password.

new_password

The new password to be set.

dbname

The database name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: The second oci_password_change() syntax is available since version 1.1.

Nota: In PHP versions before 5.0.0 you must use ocipasswordchange() instead. This name still can be used, it was left as alias of oci_password_change() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_parse | Subir | oci_pconnect


oci_pconnect

(PHP 5)

oci_pconnect -- Connect to an Oracle database using a persistent connection

Descripción

resource oci_pconnect ( string username, string password [, string db [, string charset [, int session_mode]]] )

Creates a persistent connection to an Oracle server and logs on.

Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FastCGI/CGI process). See the Persistent Database Connections section for more information.

Lista de parámetros

username

The Oracle user name.

password

The password for username.

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

Si usais Oracle server v.9.2 ó superior, podeis definir el parametro charset, el cual será utilizado en la nueva conexión. Si utilizais una version < 9.2, este parámetro será ignorado y la variable de entorno NLS_LANG será usada en su lugar.

session_mode

This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

Valores retornados

Returns a connection identifier or FALSE on error.

Notes

Nota: Starting with version 1.1 of the oci8 extension, the lifetime and maximum amount of persistent Oracle connections can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.

Nota: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

Nota: In PHP versions before 5.0.0 you must use ociplogon() instead. This name still can be used, it was left as alias of oci_pconnect() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_connect()
oci_new_connect()

Anterior | Inicio | Siguiente
oci_password_change | Subir | oci_result


oci_result

(PHP 5)

oci_result -- Returns field's value from the fetched row

Descripción

mixed oci_result ( resource statement, mixed field )

Returns the data from field in the current row, fetched by oci_fetch().

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

Lista de parámetros

statement

field

Can be either use the column number (1-based) or the column name (in uppercase).

Valores retornados

Returns everything as strings except for abstract types (ROWIDs, LOBs and FILEs). Returns FALSE on error.

Notes

Nota: In PHP versions before 5.0.0 you must use ociresult() instead. This name still can be used, it was left as alias of oci_result() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_fetch_all()

Anterior | Inicio | Siguiente
oci_pconnect | Subir | oci_rollback


oci_rollback

(PHP 5)

oci_rollback -- Rolls back outstanding transaction

Descripción

bool oci_rollback ( resource connection )

Rolls back all outstanding statements for the Oracle connection.

Lista de parámetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.

Nota: In PHP versions before 5.0.0 you must use ocirollback() instead. This name still can be used, it was left as alias of oci_rollback() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci_commit()

Anterior | Inicio | Siguiente
oci_result | Subir | oci_server_version


oci_server_version

(PHP 5)

oci_server_version -- Returns server version

Descripción

string oci_server_version ( resource connection )

Returns a string with version information of the Oracle server, which uses the provided connection.

Lista de parámetros

connection

Valores retornados

Returns the version information as a string or FALSE on error.

Ejemplos

Ejemplo 1. oci_server_version() example

<?php
    $conn = oci_connect("scott", "tiger");
    echo "Server Version: " . oci_server_version($conn);
    oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ociserverversion() instead. This name still can be used, it was left as alias of oci_server_version() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_rollback | Subir | oci_set_prefetch


oci_set_prefetch

(PHP 5)

oci_set_prefetch -- Sets number of rows to be prefetched

Descripción

bool oci_set_prefetch ( resource statement [, int rows] )

Sets the number of rows to be prefetched after successful call to oci_execute().

Lista de parámetros

statement

rows

The default value for rows is 1.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: In PHP versions before 5.0.0 you must use ocisetprefetch() instead. This name still can be used, it was left as alias of oci_set_prefetch() for downwards compatability. This, however, is deprecated and not recommended.

Ver también

oci8_.default_prefetch ini option

Anterior | Inicio | Siguiente
oci_server_version | Subir | oci_statement_type


oci_statement_type

(PHP 5)

oci_statement_type -- Returns the type of an OCI statement

Descripción

string oci_statement_type ( resource statement )

Returns the type of the provided OCI statement.

Lista de parámetros

statement

A valid OCI statement identifier.

Valores retornados

Returns the query type ofstatement as one of the following values:

  1. SELECT

  2. UPDATE

  3. DELETE

  4. INSERT

  5. CREATE

  6. DROP

  7. ALTER

  8. BEGIN

  9. DECLARE

  10. CALL (since PHP 5.2.1 and OCI8 1.2.3)

  11. UNKNOWN

Returns FALSE on error.

Ejemplos

Ejemplo 1. oci_statement_type() example

<?php
    $conn = oci_connect("scott", "tiger");
    $sql  = "delete from emp where deptno = 10";

    $stmt = oci_parse($conn, $sql);
    if (oci_statement_type($stmt) == "DELETE") {
        die("You are not allowed to delete from this table<br />");
    }

    oci_close($conn);
?>

Notes

Nota: In PHP versions before 5.0.0 you must use ocistatementtype() instead. This name still can be used, it was left as alias of oci_statement_type() for downwards compatability. This, however, is deprecated and not recommended.

Anterior | Inicio | Siguiente
oci_set_prefetch | Subir | OCIBindByName


OCIBindByName

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIBindByName -- Enlaza una variable PHP a un Placeholder de Oracle

Descripción

int OCIBindByName ( int stmt, string ph_name, mixed & variable, int length [, int type] )

OCIBindByName() enlaza la variable PHP variable a un placeholder de Oracle ph_name. Si esta será usada para entrada o salida se determinará en tiempo de ejecución, y sera resevado el espacio necesario de almacenamiento. El parámetro length establece el tamaño máximo del enlace. Si establece length a -1 OCIBindByName() usará el tamaño de la variable para establecer el tamaño máximo.

Si necesita enlazar tipos de datos abstractos (LOB/ROWID/BFILE) necesitará primero reservar la memoria con la función OCINewDescriptor(). length no se usa para tipos de datos abstractos y debería establecerse a -1. La variable type le informa a Oracle, que tipo de descriptor queremos usar. Los valores posibles son: OCI_B_FILE (Binary-File), OCI_B_CFILE (Character-File), OCI_B_CLOB (Character-LOB), OCI_B_BLOB (Binary-LOB) and OCI_B_ROWID (ROWID).

Ejemplo 1. OCIDefineByName

<?php
/* OCIBindByPos example thies@digicol.de (980221)

  inserts 3 resords into emp, and uses the ROWID for updating the
  records just after the insert.
*/

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"insert into emp (empno, ename) ".
                       "values (:empno,:ename) ".
                       "returning ROWID into :rid");

$data = array(1111 => "Larry", 2222 => "Bill", 3333 => "Jim");

$rowid = OCINewDescriptor($conn,OCI_D_ROWID);

OCIBindByName($stmt,":empno",&$empno,32);
OCIBindByName($stmt,":ename",&$ename,32);
OCIBindByName($stmt,":rid",&$rowid,-1,OCI_B_ROWID);

$update = OCIParse($conn,"update emp set sal = :sal where ROWID = :rid");
OCIBindByName($update,":rid",&$rowid,-1,OCI_B_ROWID);
OCIBindByName($update,":sal",&$sal,32);

$sal = 10000;

while (list($empno,$ename) = each($data)) {
    OCIExecute($stmt);
    OCIExecute($update);
}

$rowid->free();

OCIFreeStatement($update);
OCIFreeStatement($stmt);

$stmt = OCIParse($conn,"select * from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
while (OCIFetchInto($stmt,&$arr,OCI_ASSOC)) {
    var_dump($arr);
}
OCIFreeStatement($stmt);

/* delete our "junk" from the emp table.... */
$stmt = OCIParse($conn,"delete from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
OCIFreeStatement($stmt);

OCILogoff($conn);
?>

Anterior | Inicio | Siguiente
oci_statement_type | Subir | ocicancel


ocicancel

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ocicancel -- Alias of oci_cancel()

Descripción

This function is an alias of: oci_cancel().

Anterior | Inicio | Siguiente
OCIBindByName | Subir | ocicloselob


ocicloselob

(no version information, might be only in CVS)

ocicloselob -- Alias of OCI-Lob->close

Descripción

This function is an alias of: OCI-Lob->close.

Anterior | Inicio | Siguiente
ocicancel | Subir | ocicollappend


ocicollappend

(PHP 4 >= 4.0.6, PHP 5)

ocicollappend -- Alias of OCI-Collection->append

Descripción

This function is an alias of: OCI-Collection->append.

Anterior | Inicio | Siguiente
ocicloselob | Subir | ocicollassign


ocicollassign

(PHP 4 >= 4.0.6)

ocicollassign -- Alias of OCI-Collection->assign

Descripción

This function is an alias of: OCI-Collection->assign.

Anterior | Inicio | Siguiente
ocicollappend | Subir | ocicollassignelem


ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5)

ocicollassignelem -- Alias of OCI-Collection->assignElem

Descripción

This function is an alias of: OCI-Collection->assignElem.

Anterior | Inicio | Siguiente
ocicollassign | Subir | ocicollgetelem


ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5)

ocicollgetelem -- Alias of OCI-Collection->getElem

Descripción

This function is an alias of: OCI-Collection->getElem.

Anterior | Inicio | Siguiente
ocicollassignelem | Subir | ocicollmax


ocicollmax

(PHP 4 >= 4.0.6, PHP 5)

ocicollmax -- Alias of OCI-Collection->max

Descripción

This function is an alias of: OCI-Collection->max.

Anterior | Inicio | Siguiente
ocicollgetelem | Subir | ocicollsize


ocicollsize

(PHP 4 >= 4.0.6, PHP 5)

ocicollsize -- Alias of OCI-Collection->size

Descripción

This function is an alias of: OCI-Collection->size.

Anterior | Inicio | Siguiente
ocicollmax | Subir | ocicolltrim


ocicolltrim

(PHP 4 >= 4.0.6, PHP 5)

ocicolltrim -- Alias of OCI-Collection->trim

Descripción

This function is an alias of: OCI-Collection->trim.

Anterior | Inicio | Siguiente
ocicollsize | Subir | OCIColumnIsNULL


OCIColumnIsNULL

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIColumnIsNULL -- comprueba si una una columna es NULL

Descripción

int OCIColumnIsNULL ( int stmt, mixed column )

OCIColumnIsNULL() devuelve vedadero si la columna devuelta column en el resultset de la sentencia stmt es NULL. Puede usar el número de la columna (1-Based) o el nombre de la columa indicado por el parámetro col.

Anterior | Inicio | Siguiente
ocicolltrim | Subir | OCIColumnName


OCIColumnName

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIColumnName -- Devuelve el nombre de una columna.

Descripción

string OCIColumnName ( int stmt, int col )

OCIColumnName() Devuelve el nombre de la columna correspondiente al número de la columna (1-based) que es pasado.

Ejemplo 1. OCIColumnName

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>Name</TH>";
    print "<TH>Type</TH>";
    print "<TH>Length</TH>";
    print "</TR>";
    $ncols = OCINumCols($stmt);
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        $column_type  = OCIColumnType($stmt,$i);
        $column_size  = OCIColumnSize($stmt,$i);
        print "<TR>";
        print "<TD>$column_name</TD>";
        print "<TD>$column_type</TD>";
        print "<TD>$column_size</TD>";
        print "</TR>";
    }
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

Vea también OCINumCols(), OCIColumnType(), y OCIColumnSize().

Anterior | Inicio | Siguiente
OCIColumnIsNULL | Subir | ocicolumnprecision


ocicolumnprecision

(PHP 4, PHP 5)

ocicolumnprecision -- Alias of oci_field_precision()

Descripción

This function is an alias of: oci_field_precision().

Anterior | Inicio | Siguiente
OCIColumnName | Subir | ocicolumnscale


ocicolumnscale

(PHP 4, PHP 5)

ocicolumnscale -- Alias of oci_field_scale()

Descripción

This function is an alias of: oci_field_scale().

Anterior | Inicio | Siguiente
ocicolumnprecision | Subir | OCIColumnSize


OCIColumnSize

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIColumnSize -- devuelve el tamaño de la columna

Descripción

int OCIColumnSize ( int stmt, mixed column )

OCIColumnSize() devuelve el tamaño de la columna indicada por Oracle Puede utilizar el número de la columna (1-Based) o el nombre indicado en el parámetro col.

Ejemplo 1. OCIColumnSize

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>Name</TH>";
    print "<TH>Type</TH>";
    print "<TH>Length</TH>";
    print "</TR>";
    $ncols = OCINumCols($stmt);
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        $column_type  = OCIColumnType($stmt,$i);
        $column_size  = OCIColumnSize($stmt,$i);
        print "<TR>";
        print "<TD>$column_name</TD>";
        print "<TD>$column_type</TD>";
        print "<TD>$column_size</TD>";
        print "</TR>";
    }
    print "</TABLE>";
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

Vea también OCINumCols(), OCIColumnName(), y OCIColumnSize().

Anterior | Inicio | Siguiente
ocicolumnscale | Subir | OCIColumnType


OCIColumnType

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIColumnType -- Devuelve el tipo de dato de una columna.

Descripción

mixed OCIColumnType ( int stmt, int col )

OCIColumnType() devuelve el tipo de dato de una columna correspondiente al número de la columna (1-based) que es pasado.

Ejemplo 1. OCIColumnType

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>Name</TH>";
    print "<TH>Type</TH>";
    print "<TH>Length</TH>";
    print "</TR>";
    $ncols = OCINumCols($stmt);
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        $column_type  = OCIColumnType($stmt,$i);
        $column_size  = OCIColumnSize($stmt,$i);
        print "<TR>";
        print "<TD>$column_name</TD>";
        print "<TD>$column_type</TD>";
        print "<TD>$column_size</TD>";
        print "</TR>";
    }
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

Vea también OCINumCols(), OCIColumnName(), y OCIColumnSize().

Anterior | Inicio | Siguiente
OCIColumnSize | Subir | ocicolumntyperaw


ocicolumntyperaw

(PHP 4, PHP 5)

ocicolumntyperaw -- Alias of oci_field_type_raw()

Descripción

This function is an alias of: oci_field_type_raw().

Anterior | Inicio | Siguiente
OCIColumnType | Subir | OCICommit


OCICommit

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

OCICommit -- Confirma transacciones pendientes

Descripción

int OCICommit ( int connection )

OCICommit() confirma todas las sentencias pendientes para la conexión con Oracle connection.

Anterior | Inicio | Siguiente
ocicolumntyperaw | Subir | OCIDefineByName


OCIDefineByName

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

OCIDefineByName -- Usa una variable de PHP para el define-step durante una sentencia SELECT

Descripción

int OCIDefineByName ( int stmt, string Column-Name, mixed & variable [, int type] )

OCIDefineByName() busca el valor de las Columnas-SQL dentro de variables PHP definidas por el usuario. Cuidado que Oracle nombra todas las columnas en MAYUSCULAS, mientras que en su select puede usar también minúsculas write lower-case. OCIDefineByName() espera que Column-Name esté en mayúsculas. Si define una variable que no existe en la sentecia SELECT, no se producirá ningún error.

Si necesita definir un tipo de dato abstracto (LOB/ROWID/BFILE) tendrá que alojarlo primero usando la función OCINewDescriptor() function. Vea también la función OCIBindByName().

Ejemplo 1. OCIDefineByName

<?php
/* OCIDefineByPos example thies@digicol.de (980219) */

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"select empno, ename from emp");

/* la definición DEBE hacerse ANTES del ociexecute! */

OCIDefineByName($stmt,"EMPNO",&$empno);
OCIDefineByName($stmt,"ENAME",&$ename);

OCIExecute($stmt);

while (OCIFetch($stmt)) {
    echo "empno:".$empno."\n";
    echo "ename:".$ename."\n";
}

OCIFreeStatement($stmt);
OCILogoff($conn);
?>

Anterior | Inicio | Siguiente
OCICommit | Subir | OCIError


OCIError

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

OCIError -- Devuelve el último error de stmt|conn|global. Si no ocurre ningún error devuelve falso.

Descripción

array OCIError ( [int stmt|conn|global] )

OCIError() devuelve el último error encontrado. Si el parámetro opcional stmt|conn|global no es usado, es devuelto el último error encontrado. Si no se encuentra ningún error, OCIError() devuelve falso. OCIError() devuelve el error como un array asociativo. En este array, code consiste en el código de error de Oracle y message en la cadena de descripción del error.

Anterior | Inicio | Siguiente
OCIDefineByName | Subir | OCIExecute


OCIExecute

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIExecute -- Ejecuta una sentencia

Descripción

int OCIExecute ( int statement [, int mode] )

OCIExecute() ejecuta una sentencia previamente analizada. (see OCIParse()). El parámetro opcional mode le permite especificar el modo de ejecución (default is OCI_COMMIT_ON_SUCCESS). Si no desea que las sentencias se confirmen automaticamente, especifique OCI_DEFAULT como su modo.

Anterior | Inicio | Siguiente
OCIError | Subir | OCIFetch


OCIFetch

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIFetch -- Busca la siguiente fila en el result-buffer

Descripción

int OCIFetch ( int statement )

OCIFetch() Busca la siguiente fila (para sentencias SELECT) dentro del result-buffer interno.

Anterior | Inicio | Siguiente
OCIExecute | Subir | OCIFetchInto


OCIFetchInto

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIFetchInto -- Busca la siguiente fila dentro del result-array

Descripción

int OCIFetchInto ( int stmt, array & result [, int mode] )

OCIFetchInto() busca la siguiente fila (for SELECT statements) dentro del array result. OCIFetchInto() sobreescribirá el contenido previo de result. Por defecto result contendrá un array basado en todas las columnas que no son NULL.

El parámetro mode le permite cambiar el comportamineto por defecto. Puede especificar más de una flag simplemente añadiendolas (ej. OCI_ASSOC+OCI_RETURN_NULLS). Las flags son:

OCI_ASSOC Devuelve un array asociativo.
OCI_NUM Devuelve un array numerado empezando en 1. (POR DEFECTO)
OCI_RETURN_NULLS Devuelve columnas vacias.
OCI_RETURN_LOBS Devuelve el valor de un LOB en vez de el descriptor.

Anterior | Inicio | Siguiente
OCIFetch | Subir | OCIFetchStatement


OCIFetchStatement

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

OCIFetchStatement -- Busca todas la filas de un resultset dentro de un array.

Descripción

int OCIFetchStatement ( int stmt, array & variable )

OCIFetchStatement() busca todas las filas de un resultset dentro de un array definido por el usuario. OCIFetchStatement() devuelve el numero de filas buscadas.

Ejemplo 1. OCIFetchStatement

<?php
/* OCIFetchStatement example mbritton@verinet.com (990624) */

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"select * from emp");

OCIExecute($stmt);

$nrows = OCIFetchStatement($stmt,$results);
if ( $nrows > 0 ) {
   print "<TABLE BORDER=\"1\">\n";
   print "<TR>\n";
   while ( list( $key, $val ) = each( $results ) ) {
      print "<TH>$key</TH>\n";
   }
   print "</TR>\n";

   for ( $i = 0; $i < $nrows; $i++ ) {
      reset($results);
      print "<TR>\n";
      while ( $column = each($results) ) {
         $data = $column['value'];
         print "<TD>$data[$i]</TD>\n";
      }
      print "</TR>\n";
   }
   print "</TABLE>\n";
} else {
   echo "No data found<BR>\n";
}
print "$nrows Records Selected<BR>\n";

OCIFreeStatement($stmt);
OCILogoff($conn);

?>

Anterior | Inicio | Siguiente
OCIFetchInto | Subir | ocifreecollection


ocifreecollection

(PHP 4 >= 4.1.0, PHP 5)

ocifreecollection -- Alias of OCI-Collection->free

Descripción

This function is an alias of: OCI-Collection->free.

Anterior | Inicio | Siguiente
OCIFetchStatement | Subir | OCIFreeCursor


OCIFreeCursor

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

OCIFreeCursor -- Libera todos los recursos asociados con cursor.

Descripción

int OCIFreeCursor ( int stmt )

OCIFreeCursor() devuelve cierto si la operacion se lleva a cabo, o falso en caso contrario.

Anterior | Inicio | Siguiente
ocifreecollection | Subir | ocifreedesc


ocifreedesc

(PHP 4, PHP 5)

ocifreedesc -- Alias of OCI-Lob->free

Descripción

This function is an alias of: OCI-Lob->free.

Anterior | Inicio | Siguiente
OCIFreeCursor | Subir | OCIFreeStatement


OCIFreeStatement

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

OCIFreeStatement -- Libera todos los recursos asociados con una sentencia.

Descripción

int OCIFreeStatement ( int stmt )

OCIFreeStatement() devuelve cierto si la operacion se lleva a cabo, o falso en caso contrario.

Anterior | Inicio | Siguiente
ocifreedesc | Subir | OCIInternalDebug


OCIInternalDebug

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIInternalDebug -- Habilita o deshabilita la salida del depurador interno. Por defecto este está deshabiltado

Descripción

void OCIInternalDebug ( int onoff )

OCIInternalDebug() habilita la salida del depurador interno. Asigne 0 a onoff para deshabilitar la salida y 1 para habilitarla.

Anterior | Inicio | Siguiente
OCIFreeStatement | Subir | ociloadlob


ociloadlob

(PHP 4, PHP 5)

ociloadlob -- Alias of OCI-Lob->load

Descripción

This function is an alias of: OCI-Lob->load.

Anterior | Inicio | Siguiente
OCIInternalDebug | Subir | OCILogOff


OCILogOff

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCILogOff -- Termina la conexion con Oracle

Descripción

int OCILogOff ( int connection )

OCILogOff() cierra una conexión con Oracle.

Anterior | Inicio | Siguiente
ociloadlob | Subir | ocilogon


ocilogon

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ocilogon -- Alias of oci_connect()

Descripción

This function is an alias of: oci_connect().

Anterior | Inicio | Siguiente
OCILogOff | Subir | ocinewcollection


ocinewcollection

(PHP 4 >= 4.0.6, PHP 5)

ocinewcollection -- Alias of oci_new_collection()

Descripción

This function is an alias of: oci_new_collection().

Anterior | Inicio | Siguiente
ocilogon | Subir | OCINewCursor


OCINewCursor

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

OCINewCursor -- devuelve un cursor nuevo (Statement-Handle) - use esto para enlazar ref-cursors!

Descripción

int OCINewCursor ( int conn )

OCINewCursor() allocates a new statement handle on the specified connection.

Ejemplo 1. Usando un REF CURSOR de un procedimiento almacenado

<?php
// suppose your stored procedure info.output returns a ref cursor in :data

$conn = OCILogon("scott","tiger");
$curs = OCINewCursor($conn);
$stmt = OCIParse($conn,"begin info.output(:data); end;");

ocibindbyname($stmt,"data",&$curs,-1,OCI_B_CURSOR);
ociexecute($stmt);
ociexecute($curs);

while (OCIFetchInto($curs,&$data)) {
    var_dump($data);
}

OCIFreeCursor($stmt);
OCIFreeStatement($curs);
OCILogoff($conn);
?>

Ejemplo 2. Usando un REF CURSOR en una sentencia select

<?php
print "<HTML><BODY>";
$conn = OCILogon("scott","tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = OCIParse($conn,"select deptno,dname,$count_cursor");

ociexecute($stmt);
print "<TABLE BORDER=\"1\">";
print "<TR>";
print "<TH>DEPT NAME</TH>";
print "<TH>DEPT #</TH>";
print "<TH># EMPLOYEES</TH>";
print "</TR>";

while (OCIFetchInto($stmt,&$data,OCI_ASSOC)) {
    print "<TR>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    print "<TD>$dname</TD>";
    print "<TD>$deptno</TD>";
    ociexecute($data[ "EMPCNT" ]);
    while (OCIFetchInto($data[ "EMPCNT" ],&$subdata,OCI_ASSOC)) {
        $num_emps = $subdata["NUM_EMPS"];
        print  "<TD>$num_emps</TD>";
    }
    print "</TR>";
}
print "</TABLE>";
print "</BODY></HTML>";
OCIFreeStatement($stmt);
OCILogoff($conn);
?>

Anterior | Inicio | Siguiente
ocinewcollection | Subir | OCINewDescriptor


OCINewDescriptor

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

OCINewDescriptor -- Inicializa un nuevo descriptor vacío LOB/FILE (LOB por defecto)

Descripción

string OCINewDescriptor ( int connection [, int type] )

OCINewDescriptor() Reserva espacio para mantener descriptores o localizadores LOB. Los valores válidos para el tipo type son OCI_D_FILE, OCI_D_LOB, OCI_D_ROWID. Para descriptores LOB, los métodos load, save, y savefile están asociados con el descriptor, para BFILE sólo el método load existe. Vea el segundo ejemplo.

Ejemplo 1. OCINewDescriptor

<?php
    /* This script is designed to be called from a HTML form.
     * It expects $user, $password, $table, $where, and $commitsize
     * to be passed in from the form.  The script then deletes
     * the selected rows using the ROWID and commits after each
     * set of $commitsize rows. (Use with care, there is no rollback)
     */
    $conn = OCILogon($user, $password);
    $stmt = OCIParse($conn,"select rowid from $table $where");
    $rowid = OCINewDescriptor($conn,OCI_D_ROWID);
    OCIDefineByName($stmt,"ROWID",&$rowid);
    OCIExecute($stmt);
    while ( OCIFetch($stmt) ) {
       $nrows = OCIRowCount($stmt);
       $delete = OCIParse($conn,"delete from $table where ROWID = :rid");
       OCIBindByName($delete,":rid",&$rowid,-1,OCI_B_ROWID);
       OCIExecute($delete);
       print "$nrows\n";
       if ( ($nrows % $commitsize) == 0 ) {
           OCICommit($conn);
       }
    }
    $nrows = OCIRowCount($stmt);
    print "$nrows deleted...\n";
    OCIFreeStatement($stmt);
    OCILogoff($conn);
?>
<?php
    /* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <form action="upload.php3" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload">
     * ...
     */
  if(!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php3" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload"><br>
<input type="submit" value="Upload"> - <input type="reset">
</form>
<?php
  } else {
     // $lob_upload contains the temporary filename of the uploaded file
     $conn = OCILogon($user, $password);
     $lob = OCINewDescriptor($conn, OCI_D_LOB);
     $stmt = OCIParse($conn,"insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     OCIBindByName($stmt, ':the_blob', &$lob, -1, OCI_B_BLOB);
     OCIExecute($stmt);
     if($lob->savefile($lob_upload)){
        OCICommit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     OCIFreeDescriptor($lob);
     OCIFreeStatement($stmt);
     OCILogoff($conn);
  }
?>

Anterior | Inicio | Siguiente
OCINewCursor | Subir | ocinlogon


ocinlogon

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ocinlogon -- Alias of oci_new_connect()

Descripción

This function is an alias of: oci_new_connect().

Anterior | Inicio | Siguiente
OCINewDescriptor | Subir | OCINumCols


OCINumCols

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCINumCols -- Devuelve el número de columnas resultantes en una sentencia

Descripción

int OCINumCols ( int stmt )

OCINumCols() devuelve el número de columnas en una sentencia

Ejemplo 1. OCINumCols

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    while ( OCIFetch($stmt) ) {
        print "\n";
        $ncols = OCINumCols($stmt);
        for ( $i = 1; $i <= $ncols; $i++ ) {
            $column_name  = OCIColumnName($stmt,$i);
            $column_value = OCIResult($stmt,$i);
            print $column_name . ': ' . $column_value . "\n";
        }
        print "\n";
    }
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

Anterior | Inicio | Siguiente
ocinlogon | Subir | OCIParse


OCIParse

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIParse -- Analiza una consulta y devuelve una sentencia

Descripción

int OCIParse ( int conn, strint query )

OCIParse() analiza la query usando conn. Devuelve el identificador de la sentencia si la consulta es válida, y falso si no lo es. La query puede ser cualquier sentencia SQL válida.

Anterior | Inicio | Siguiente
OCINumCols | Subir | ociplogon


ociplogon

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ociplogon -- Alias of oci_pconnect()

Descripción

This function is an alias of: oci_pconnect().

Anterior | Inicio | Siguiente
OCIParse | Subir | OCIResult


OCIResult

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIResult -- Devuelve el valor de una columna en la fila buscada

Descripción

mixed OCIResult ( int statement, mixed column )

OCIResult() devuelve el valor de la columna column de la fila actual (vea OCIFetch()).OCIResult() devolverá todo como una cadena excepto para los tipo de datos abstractos (ROWIDs, LOBs and FILEs).

Anterior | Inicio | Siguiente
ociplogon | Subir | OCIRollback


OCIRollback

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

OCIRollback -- Restablece todas las transaciones sin confirmar

Descripción

int OCIRollback ( int connection )

OCIRollback() restablece todas las transacciones sin confirmar para la conexión Oracle connection.

Anterior | Inicio | Siguiente
OCIResult | Subir | OCIRowCount


OCIRowCount

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

OCIRowCount -- Obtiene el número de filas afectadas

Descripción

int OCIRowCount ( int statement )

OCIRowCount() devuelve el número de filas afectadas, por ej. en sentencias de actualización. !Esta función no indicará el número de de filas que devuelve una sentencia SELECT!

Ejemplo 1. OCIRowCount

<?php
    print "<HTML><PRE>";
    $conn = OCILogon("scott","tiger");
    $stmt = OCIParse($conn,"create table emp2 as select * from emp");
    OCIExecute($stmt);
    print OCIRowCount($stmt) . " rows inserted.<BR>";
    OCIFreeStatement($stmt);
    $stmt = OCIParse($conn,"delete from emp2");
    OCIExecute($stmt);
    print OCIRowCount($stmt) . " rows deleted.<BR>";
    OCICommit($conn);
    OCIFreeStatement($stmt);
    $stmt = OCIParse($conn,"drop table emp2");
    OCIExecute($stmt);
    OCIFreeStatement($stmt);
    OCILogOff($conn);
    print "</PRE></HTML>";
?>

Anterior | Inicio | Siguiente
OCIRollback | Subir | ocisavelob


ocisavelob

(PHP 4, PHP 5)

ocisavelob -- Alias of OCI-Lob->save

Descripción

This function is an alias of: OCI-Lob->save.

Anterior | Inicio | Siguiente
OCIRowCount | Subir | ocisavelobfile


ocisavelobfile

(PHP 4, PHP 5)

ocisavelobfile -- Alias of OCI-Lob->import

Descripción

This function is an alias of: OCI-Lob->import.

Anterior | Inicio | Siguiente
ocisavelob | Subir | OCIServerVersion


OCIServerVersion

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

OCIServerVersion -- Devuelve una cadena conteniendo información a cerca de la version del servidor.

Descripción

string OCIServerVersion ( int conn )

Ejemplo 1. OCIServerVersion

<?php
   $conn = OCILogon("scott","tiger");
   print "Server Version: " . OCIServerVersion($conn);
   OCILogOff($conn);
?>

Anterior | Inicio | Siguiente
ocisavelobfile | Subir | ocisetprefetch


ocisetprefetch

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

ocisetprefetch -- Alias of oci_set_prefetch()

Descripción

This function is an alias of: oci_set_prefetch().

Anterior | Inicio | Siguiente
OCIServerVersion | Subir | OCIStatementType


OCIStatementType

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

OCIStatementType -- Devuelve el tipo de una sentencia OCI.

Descripción

string OCIStatementType ( int stmt )

OCIStatementType() devuelve uno de los siguiente valores:

  1. "SELECT"

  2. "UPDATE"

  3. "DELETE"

  4. "INSERT"

  5. "CREATE"

  6. "DROP"

  7. "ALTER"

  8. "BEGIN"

  9. "DECLARE"

  10. "UNKNOWN"

Ejemplo 1. Code examples

<?php
    print "<HTML><PRE>";
    $conn = OCILogon("scott","tiger");
    $sql  = "delete from emp where deptno = 10";

    $stmt = OCIParse($conn,$sql);
    if ( OCIStatementType($stmt) == "DELETE" ) {
        die "You are not allowed to delete from this table<BR>";
    }

    OCILogoff($conn);
    print "</PRE></HTML>";
?>

Anterior | Inicio | Siguiente
ocisetprefetch | Subir | ociwritelobtofile


ociwritelobtofile

(PHP 4, PHP 5)

ociwritelobtofile -- Alias of OCI-Lob->export

Descripción

This function is an alias of: OCI-Lob->export.

Anterior | Inicio | Siguiente
OCIStatementType | Subir | ociwritetemporarylob


ociwritetemporarylob

(no version information, might be only in CVS)

ociwritetemporarylob -- Alias of OCI-Lob->writeTemporary

Descripción

This function is an alias of: OCI-Lob->writeTemporary.

Anterior | Inicio | Siguiente
ociwritelobtofile | Subir | ODBC functions


OpenAL Audio Bindings

Manual de PHP
Anterior Siguiente

CIX. OpenAL Audio Bindings

Introducción

Platform independent audio bindings. Requires the OpenAL library.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/openal.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

This extension defines four resource types:
Open AL(Device) - Returned by openal_device_open(),
Open AL(Context) - Returned by openal_context_create(),
Open AL(Buffer) - Returned by openal_buffer_create(),
and Open AL(Source) - Returned by openal_source_create().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

ALC_FREQUENCY (integer)

Context Attribute

ALC_REFRESH (integer)

Context Attribute

ALC_SYNC (integer)

Context Attribute

AL_FREQUENCY (integer)

Buffer Setting

AL_BITS (integer)

Buffer Setting

AL_CHANNELS (integer)

Buffer Setting

AL_SIZE (integer)

Buffer Setting

AL_BUFFER (integer)

Source/Listener Setting (Integer)

AL_SOURCE_RELATIVE (integer)

Source/Listener Setting (Integer)

AL_SOURCE_STATE (integer)

Source/Listener Setting (Integer)

AL_PITCH (integer)

Source/Listener Setting (Float)

AL_GAIN (integer)

Source/Listener Setting (Float)

AL_MIN_GAIN (integer)

Source/Listener Setting (Float)

AL_MAX_GAIN (integer)

Source/Listener Setting (Float)

AL_MAX_DISTANCE (integer)

Source/Listener Setting (Float)

AL_ROLLOFF_FACTOR (integer)

Source/Listener Setting (Float)

AL_CONE_OUTER_GAIN (integer)

Source/Listener Setting (Float)

AL_CONE_INNER_ANGLE (integer)

Source/Listener Setting (Float)

AL_CONE_OUTER_ANGLE (integer)

Source/Listener Setting (Float)

AL_REFERENCE_DISTANCE (integer)

Source/Listener Setting (Float)

AL_POSITION (integer)

Source/Listener Setting (Float Vector)

AL_VELOCITY (integer)

Source/Listener Setting (Float Vector)

AL_DIRECTION (integer)

Source/Listener Setting (Float Vector)

AL_ORIENTATION (integer)

Source/Listener Setting (Float Vector)

AL_FORMAT_MONO8 (integer)

PCM Format

AL_FORMAT_MONO16 (integer)

PCM Format

AL_FORMAT_STEREO8 (integer)

PCM Format

AL_FORMAT_STEREO16 (integer)

PCM Format

AL_INITIAL (integer)

Source State

AL_PLAYING (integer)

Source State

AL_PAUSED (integer)

Source State

AL_STOPPED (integer)

Source State

AL_LOOPING (integer)

Source State

AL_TRUE (integer)

Boolean value recognized by OpenAL

AL_FALSE (integer)

Boolean value recognized by OpenAL

Tabla de contenidos
openal_buffer_create -- Generate OpenAL buffer
openal_buffer_data -- Load a buffer with data
openal_buffer_destroy -- Destroys an OpenAL buffer
openal_buffer_get -- Retrieve an OpenAL buffer property
openal_buffer_loadwav -- Load a .wav file into a buffer
openal_context_create -- Create an audio processing context
openal_context_current -- Make the specified context current
openal_context_destroy -- Destroys a context
openal_context_process -- Process the specified context
openal_context_suspend -- Suspend the specified context
openal_device_close -- Close an OpenAL device
openal_device_open -- Initialize the OpenAL audio layer
openal_listener_get -- Retrieve a listener property
openal_listener_set -- Set a listener property
openal_source_create -- Generate a source resource
openal_source_destroy -- Destroy a source resource
openal_source_get -- Retrieve an OpenAL source property
openal_source_pause -- Pause the source
openal_source_play -- Start playing the source
openal_source_rewind -- Rewind the source
openal_source_set -- Set source property
openal_source_stop -- Stop playing the source
openal_stream -- Begin streaming on a source

Anterior | Inicio | Siguiente
Usage | Subir | openal_buffer_create


openal_buffer_create

(PECL)

openal_buffer_create -- Generate OpenAL buffer

Descripción

resource openal_buffer_create ( void )

Valores retornados

Returns an Open AL(Buffer) resource on success or FALSE on failure.

Ver también

openal_buffer_loadwav()
openal_buffer_data()

Anterior | Inicio | Siguiente
OpenAL Audio Bindings | Subir | openal_buffer_data


openal_buffer_data

(PECL)

openal_buffer_data -- Load a buffer with data

Descripción

bool openal_buffer_data ( resource buffer, int format, string data, int freq )

Lista de parámetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8, y AL_FORMAT_STEREO16

data

Block of binary audio data in the format and freq specified.

freq

Frequency of data given in Hz.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_buffer_loadwav()
openal_stream()

Anterior | Inicio | Siguiente
openal_buffer_create | Subir | openal_buffer_destroy


openal_buffer_destroy

(PECL)

openal_buffer_destroy -- Destroys an OpenAL buffer

Descripción

bool openal_buffer_destroy ( resource buffer )

Lista de parámetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_buffer_create()

Anterior | Inicio | Siguiente
openal_buffer_data | Subir | openal_buffer_get


openal_buffer_get

(PECL)

openal_buffer_get -- Retrieve an OpenAL buffer property

Descripción

int openal_buffer_get ( resource buffer, int property )

Lista de parámetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

property

Specific property, one of: AL_FREQUENCY, AL_BITS, AL_CHANNELS, y AL_SIZE.

Valores retornados

Returns an integer value appropriate to the property requested or FALSE on failure.

Ver también

openal_buffer_create()

Anterior | Inicio | Siguiente
openal_buffer_destroy | Subir | openal_buffer_loadwav


openal_buffer_loadwav

(PECL)

openal_buffer_loadwav -- Load a .wav file into a buffer

Descripción

bool openal_buffer_loadwav ( resource buffer, string wavfile )

Lista de parámetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

wavfile

Path to .WAV file on local file system.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_buffer_data()
openal_stream()

Anterior | Inicio | Siguiente
openal_buffer_get | Subir | openal_context_create


openal_context_create

(PECL)

openal_context_create -- Create an audio processing context

Descripción

resource openal_context_create ( resource device )

Lista de parámetros

device

An Open AL(Device) resource (previously created by openal_device_open()).

Valores retornados

Returns an Open AL(Context) resource on success or FALSE on failure.

Ver también

openal_device_open()
openal_context_destroy()

Anterior | Inicio | Siguiente
openal_buffer_loadwav | Subir | openal_context_current


openal_context_current

(PECL)

openal_context_current -- Make the specified context current

Descripción

bool openal_context_current ( resource context )

Lista de parámetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_context_create()

Anterior | Inicio | Siguiente
openal_context_create | Subir | openal_context_destroy


openal_context_destroy

(PECL)

openal_context_destroy -- Destroys a context

Descripción

bool openal_context_destroy ( resource context )

Lista de parámetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_context_create()

Anterior | Inicio | Siguiente
openal_context_current | Subir | openal_context_process


openal_context_process

(PECL)

openal_context_process -- Process the specified context

Descripción

bool openal_context_process ( resource context )

Lista de parámetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_context_create()
openal_context_current()
openal_context_suspend()

Anterior | Inicio | Siguiente
openal_context_destroy | Subir | openal_context_suspend


openal_context_suspend

(PECL)

openal_context_suspend -- Suspend the specified context

Descripción

bool openal_context_suspend ( resource context )

Lista de parámetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_context_create()
openal_context_current()
openal_context_process()

Anterior | Inicio | Siguiente
openal_context_process | Subir | openal_device_close


openal_device_close

(PECL)

openal_device_close -- Close an OpenAL device

Descripción

bool openal_device_close ( resource device )

Lista de parámetros

device

An Open AL(Device) resource (previously created by openal_device_open()) to be closed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_device_open()

Anterior | Inicio | Siguiente
openal_context_suspend | Subir | openal_device_open


openal_device_open

(PECL)

openal_device_open -- Initialize the OpenAL audio layer

Descripción

resource openal_device_open ( [string device_desc] )

Lista de parámetros

device_desc

Open an audio device optionally specified by device_desc. If device_desc is not specified the first available audio device will be used.

Valores retornados

Returns an Open AL(Device) resource on success or FALSE on failure.

Ver también

openal_device_close()
openal_context_create()

Anterior | Inicio | Siguiente
openal_device_close | Subir | openal_listener_get


openal_listener_get

(PECL)

openal_listener_get -- Retrieve a listener property

Descripción

mixed openal_listener_get ( int property )

Lista de parámetros

property

Property to retrieve, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)), y
AL_ORIENTATION (array(float,float,float)).

Valores retornados

Returns a float or array of floats (as appropriate), or FALSE on failure.

Ver también

openal_listener_set()

Anterior | Inicio | Siguiente
openal_device_open | Subir | openal_listener_set


openal_listener_set

(PECL)

openal_listener_set -- Set a listener property

Descripción

bool openal_listener_set ( int property, mixed setting )

Lista de parámetros

property

Property to set, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)), y
AL_ORIENTATION (array(float,float,float)).

setting

Value to set, either float, or an array of floats as appropriate.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_listener_get()

Anterior | Inicio | Siguiente
openal_listener_get | Subir | openal_source_create


openal_source_create

(PECL)

openal_source_create -- Generate a source resource

Descripción

resource openal_source_create ( void )

Valores retornados

Returns an Open AL(Source) resource on success or FALSE on failure.

Ver también

openal_source_set()
openal_source_play()
openal_source_destroy()

Anterior | Inicio | Siguiente
openal_listener_set | Subir | openal_source_destroy


openal_source_destroy

(PECL)

openal_source_destroy -- Destroy a source resource

Descripción

bool openal_source_destroy ( resource source )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_source_create()

Anterior | Inicio | Siguiente
openal_source_create | Subir | openal_source_get


openal_source_get

(PECL)

openal_source_get -- Retrieve an OpenAL source property

Descripción

mixed openal_source_get ( resource source, int property )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to get, one of: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

Valores retornados

Returns the type associated with the property being retrieved or FALSE on failure.

Ver también

openal_source_create()
openal_source_set()
openal_source_play()

Anterior | Inicio | Siguiente
openal_source_destroy | Subir | openal_source_pause


openal_source_pause

(PECL)

openal_source_pause -- Pause the source

Descripción

bool openal_source_pause ( resource source )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_source_stop()
openal_source_play()
openal_source_rewind()

Anterior | Inicio | Siguiente
openal_source_get | Subir | openal_source_play


openal_source_play

(PECL)

openal_source_play -- Start playing the source

Descripción

bool openal_source_play ( resource source )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_source_stop()
openal_source_pause()
openal_source_rewind()

Anterior | Inicio | Siguiente
openal_source_pause | Subir | openal_source_rewind


openal_source_rewind

(PECL)

openal_source_rewind -- Rewind the source

Descripción

bool openal_source_rewind ( resource source )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_source_stop()
openal_source_pause()
openal_source_play()

Anterior | Inicio | Siguiente
openal_source_play | Subir | openal_source_set


openal_source_set

(PECL)

openal_source_set -- Set source property

Descripción

bool openal_source_set ( resource source, int property, mixed setting )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to set, one of: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

Value to assign to specified property. Refer to the description of property for a description of the value(s) expected.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_source_create()
openal_source_get()
openal_source_play()

Anterior | Inicio | Siguiente
openal_source_rewind | Subir | openal_source_stop


openal_source_stop

(PECL)

openal_source_stop -- Stop playing the source

Descripción

bool openal_source_stop ( resource source )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

openal_source_play()
openal_source_pause()
openal_source_rewind()

Anterior | Inicio | Siguiente
openal_source_set | Subir | openal_stream


openal_stream

(PECL)

openal_stream -- Begin streaming on a source

Descripción

resource openal_stream ( resource source, int format, int rate )

Lista de parámetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8, y AL_FORMAT_STEREO16

rate

Frequency of data to stream given in Hz.

Valores retornados

Returns a stream resource on success, or FALSE on failure.

Ver también

openal_source_create()
fwrite()

Anterior | Inicio | Siguiente
openal_source_stop | Subir | OpenSSL Functions


OpenSSL Functions

Manual de PHP
Anterior Siguiente

CX. OpenSSL Functions

Introducción

This module uses the functions of OpenSSL for generation and verification of signatures and for sealing (encrypting) and opening (decrypting) data. OpenSSL offers many features that this module currently doesn't support. Some of these may be added in the future.

Requisitos

In order to use the OpenSSL functions you need to install the OpenSSL package. PHP between versions 4.0.5 and 4.3.1 will work with OpenSSL >= 0.9.5. Other versions (PHP <=4.0.4 and >= 4.3.2) require OpenSSL >= 0.9.6.

Aviso

You are strongly encouraged to use the most recent OpenSSL version, otherwise your web server could be vulnerable to attack.

Instalación

To use PHP's OpenSSL support you must also compile PHP --with-openssl[=DIR].

Note to Win32 Users: In order to enable this module on a Windows environment, you must copy libeay32.dll from the DLL folder of the PHP/Win32 binary package to the SYSTEM32 folder of your Windows machine. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)

Additionally, if you are planning to use the key generation and certificate signing functions, you will need to install a valid openssl.cnf on your system. As of PHP 4.3.0, we include a sample configuration file in the openssl folder of our win32 binary distribution. If you are using PHP 4.2.0 or later and are missing the file, you can obtain it from the OpenSSL home page or by downloading the PHP 4.3.0 release and using the configuration file from there.

Note to Win32 Users: PHP will search for the openssl.cnf using the following logic:

  • the OPENSSL_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.

  • the SSLEAY_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.

  • The file openssl.cnf will be assumed to be found in the default certificate area, as configured at the time that the openssl DLL was compiled. This is usually means that the default filename is c:\usr\local\ssl\openssl.cnf.

In your installation, you need to decide whether to install the configuration file at c:\usr\local\ssl\openssl.cnf or whether to install it someplace else and use environmental variables (possibly on a per-virtual-host basis) to locate the configuration file. Note that it is possible to override the default path from the script using the configargs of the functions that require a configuration file.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Key/Certificate parameters

Quite a few of the openssl functions require a key or a certificate parameter. PHP 4.0.5 and earlier have to use a key or certificate resource returned by one of the openssl_get_xxx functions. Later versions may use one of the following methods:

  • Certificates

    1. An X.509 resource returned from openssl_x509_read()

    2. A string having the format file://path/to/cert.pem; the named file must contain a PEM encoded certificate

    3. A string containing the content of a certificate, PEM encoded

  • Public/Private Keys

    1. A key resource returned from openssl_get_publickey() or openssl_get_privatekey()

    2. For public keys only: an X.509 resource

    3. A string having the format file://path/to/file.pem - the named file must contain a PEM encoded certificate/private key (it may contain both)

    4. A string containing the content of a certificate/key, PEM encoded

    5. For private keys, you may also use the syntax array($key, $passphrase) where $key represents a key specified using the file:// or textual content notation above, and $passphrase represents a string containing the passphrase for that private key

Certificate Verification

When calling a function that will verify a signature/certificate, the cainfo parameter is an array containing file and directory names that specify the locations of trusted CA files. If a directory is specified, then it must be a correctly formed hashed directory as the openssl command would use.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Purpose checking flags

X509_PURPOSE_SSL_CLIENT (integer)

X509_PURPOSE_SSL_SERVER (integer)

X509_PURPOSE_NS_SSL_SERVER (integer)

X509_PURPOSE_SMIME_SIGN (integer)

X509_PURPOSE_SMIME_ENCRYPT (integer)

X509_PURPOSE_CRL_SIGN (integer)

X509_PURPOSE_ANY (integer)

Padding flags

OPENSSL_PKCS1_PADDING (integer)

OPENSSL_SSLV23_PADDING (integer)

OPENSSL_NO_PADDING (integer)

OPENSSL_PKCS1_OAEP_PADDING (integer)

Key types

OPENSSL_KEYTYPE_RSA (integer)

OPENSSL_KEYTYPE_DSA (integer)

OPENSSL_KEYTYPE_DH (integer)

PKCS7 Flags/Constants

The S/MIME functions make use of flags which are specified using a bitfield which can include one or more of the following values:

Tabla 1. PKCS7 CONSTANTS

Constant | Description
PKCS7_TEXT | Adds text/plain content type headers to encrypted/signed message. If decrypting or verifying, it strips those headers from the output - if the decrypted or verified message is not of MIME type text/plain then an error will occur.
PKCS7_BINARY | Normally the input message is converted to "canonical" format which is effectively using CR and LF as end of line: as required by the S/MIME specification. When this options is present, no translation occurs. This is useful when handling binary data which may not be in MIME format.
PKCS7_NOINTERN | When verifying a message, certificates (if any) included in the message are normally searched for the signing certificate. With this option only the certificates specified in the extracerts parameter of openssl_pkcs7_verify() are used. The supplied certificates can still be used as untrusted CAs however.
PKCS7_NOVERIFY | Do not verify the signers certificate of a signed message.
PKCS7_NOCHAIN | Do not chain verification of signers certificates: that is don't use the certificates in the signed message as untrusted CAs.
PKCS7_NOCERTS | When signing a message the signer's certificate is normally included - with this option it is excluded. This will reduce the size of the signed message but the verifier must have a copy of the signers certificate available locally (passed using the extracerts to openssl_pkcs7_verify() for example).
PKCS7_NOATTR | Normally when a message is signed, a set of attributes are included which include the signing time and the supported symmetric algorithms. With this option they are not included.
PKCS7_DETACHED | When signing a message, use cleartext signing with the MIME type multipart/signed. This is the default if you do not specify any flags to openssl_pkcs7_sign(). If you turn this option off, the message will be signed using opaque signing, which is more resistant to translation by mail relays but cannot be read by mail agents that do not support S/MIME.
PKCS7_NOSIGS | Don't try and verify the signatures on a message

Nota: These constants were added in 4.0.6.

Signature Algorithms

OPENSSL_ALGO_SHA1 (integer)

Used as default algorithm by openssl_sign() and openssl_verify().

OPENSSL_ALGO_MD5 (integer)

OPENSSL_ALGO_MD4 (integer)

OPENSSL_ALGO_MD2 (integer)

Nota: These constants were added in 5.0.0.

Ciphers

OPENSSL_CIPHER_RC2_40 (integer)

OPENSSL_CIPHER_RC2_128 (integer)

OPENSSL_CIPHER_RC2_64 (integer)

OPENSSL_CIPHER_DES (integer)

OPENSSL_CIPHER_3DES (integer)

Nota: These constants were added in 4.3.0.

Version constants

OPENSSL_VERSION_TEXT (string)

OPENSSL_VERSION_NUMBER (integer)

Nota: These constants were added in 5.2.0.

Tabla de contenidos
openssl_csr_export_to_file -- Exports a CSR to a file
openssl_csr_export -- Exports a CSR as a string
openssl_csr_get_public_key -- Returns the public key of a CERT
openssl_csr_get_subject -- Returns the subject of a CERT
openssl_csr_new -- Generates a CSR
openssl_csr_sign -- Sign a CSR with another certificate (or itself) and generate a certificate
openssl_error_string -- Return openSSL error message
openssl_free_key -- Free key resource
openssl_get_privatekey -- Alias of openssl_pkey_get_private()
openssl_get_publickey -- Alias of openssl_pkey_get_public()
openssl_open -- Open sealed data
openssl_pkcs7_decrypt -- Decrypts an S/MIME encrypted message
openssl_pkcs7_encrypt -- Encrypt an S/MIME message
openssl_pkcs7_sign -- Sign an S/MIME message
openssl_pkcs7_verify -- Verifies the signature of an S/MIME signed message
openssl_pkey_export_to_file -- Gets an exportable representation of a key into a file
openssl_pkey_export -- Gets an exportable representation of a key into a string
openssl_pkey_free -- Frees a private key
openssl_pkey_get_details -- Returns an array with the key details (bits, pkey, type)
openssl_pkey_get_private -- Get a private key
openssl_pkey_get_public -- Extract public key from certificate and prepare it for use
openssl_pkey_new -- Generates a new private key
openssl_private_decrypt -- Decrypts data with private key
openssl_private_encrypt -- Encrypts data with private key
openssl_public_decrypt -- Decrypts data with public key
openssl_public_encrypt -- Encrypts data with public key
openssl_seal -- Seal (encrypt) data
openssl_sign -- Generate signature
openssl_verify -- Verify signature
openssl_x509_check_private_key -- Checks if a private key corresponds to a certificate
openssl_x509_checkpurpose -- Verifies if a certificate can be used for a particular purpose
openssl_x509_export_to_file -- Exports a certificate to file
openssl_x509_export -- Exports a certificate as a string
openssl_x509_free -- Free certificate resource
openssl_x509_parse -- Parse an X509 certificate and return the information as an array
openssl_x509_read -- Parse an X.509 certificate and return a resource identifier for it

Anterior | Inicio | Siguiente
openal_stream | Subir | openssl_csr_export_to_file


openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export_to_file -- Exports a CSR to a file

Description

bool openssl_csr_export_to_file ( resource csr, string outfilename [, bool notext] )

openssl_csr_export_to_file() takes the Certificate Signing Request represented by csr and saves it as ascii-armoured text into the file named by outfilename.

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also openssl_csr_export(),
openssl_csr_new() and
openssl_csr_sign().

Anterior | Inicio | Siguiente
OpenSSL Functions | Subir | openssl_csr_export


openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export -- Exports a CSR as a string

Description

bool openssl_csr_export ( resource csr, string &out [, bool notext] )

openssl_csr_export() takes the Certificate Signing Request represented by csr and stores it as ascii-armoured text into out, which is passed by reference.

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also openssl_csr_export_to_file(),
openssl_csr_new() and
openssl_csr_sign().

Anterior | Inicio | Siguiente
openssl_csr_export_to_file | Subir | openssl_csr_get_public_key


openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_new -- Generates a CSR

Description

mixed openssl_csr_new ( array dn, resource &privkey [, array configargs [, array extraattribs]] )

openssl_csr_new() generates a new CSR (Certificate Signing Request) based on the information provided by dn, which represents the Distinguished Name to be used in the certificate.

privkey should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

extraattribs is used to specify additional configuration options for the CSR. Both dn and extraattribs are associative arrays whose keys are converted to OIDs and applied to the relevant part of the request.

Nota: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

By default, the information in your system openssl.conf is used to initialize the request; you can specify a configuration file section by setting the config_section_section key of configargs. You can also specify an alternative openssl configuration file by setting the value of the config key to the path of the file you want to use. The following keys, if present in configargs behave as their equivalents in the openssl.conf, as listed in the table below.

Tabla 1. Configuration overrides

configargs key | type | openssl.conf equivalent | description
digest_alg | string | default_md | Selects which digest method to use
x509_extensions | string | x509_extensions | Selects which extensions should be used when creating an x509 certificate
req_extensions | string | req_extensions | Selects which extensions should be used when creating a CSR
private_key_bits | integer | default_bits | Specifies how many bits should be used to generate a private key
private_key_type | integer | none | Specifies the type of private key to create. This can be one of OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH or OPENSSL_KEYTYPE_RSA. The default value is OPENSSL_KEYTYPE_RSA which is currently the only supported key type.
encrypt_key | boolean | encrypt_key | Should an exported key (with passphrase) be encrypted?

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. openssl_csr_new() example - creating a self-signed-certificate

<?php
// Fill in data for the distinguished name to be used in the cert
// You must change the values of these keys to match your name and
// company, or more precisely, the name and company of the person/site
// that you are generating the certificate for.
// For SSL certificates, the commonName is usually the domain name of
// that will be using the certificate, but for S/MIME certificates,
// the commonName will be the name of the individual who will use the
// certificate.
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Generate a new private (and public) key pair
$privkey = openssl_pkey_new();

// Generate a certificate signing request
$csr = openssl_csr_new($dn, $privkey);

// You will usually want to create a self-signed certificate at this
// point until your CA fulfills your request.
// This creates a self-signed cert that is valid for 365 days
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Now you will want to preserve your private key, CSR and self-signed
// cert so that they can be installed into your web server, mail server
// or mail client (depending on the intended use of the certificate).
// This example shows how to get those things into variables, but you
// can also store them directly into files.
// Typically, you will send the CSR on to your CA who will then issue
// you with the "real" certificate.
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

Anterior | Inicio | Siguiente
openssl_csr_get_subject | Subir | openssl_csr_sign


openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_sign -- Sign a CSR with another certificate (or itself) and generate a certificate

Description

resource openssl_csr_sign ( mixed csr, mixed cacert, mixed priv_key, int days [, array configargs [, int serial]] )

openssl_csr_sign() generates an x509 certificate resource from the csr previously generated by openssl_csr_new(), but it can also be the path to a PEM encoded CSR when specified as file://path/to/csr or an exported string generated by openssl_csr_export(). The generated certificate will be signed by cacert. If cacert is NULL, the generated certificate will be a self-signed certificate. priv_key is the private key that corresponds to cacert. days specifies the length of time for which the generated certificate will be valid, in days. You can finetune the CSR signing by configargs. See openssl_csr_new() for more information about configargs. Since PHP 4.3.3 you can specify the serial number of issued certificate by serial. In earlier versions, it was always 0.

Returns an x509 certificate resource on success, FALSE on failure.

Nota: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Ejemplo 1. openssl_csr_sign() example - signing a CSR (how to implement your own CA)

<?php
// Let's assume that this script is set to receive a CSR that has
// been pasted into a textarea from another page
$csrdata = $_POST["CSR"];

// We will sign the request using our own "certificate authority"
// certificate.  You can use any certificate to sign another, but
// the process is worthless unless the signing certificate is trusted
// by the software/users that will deal with the newly signed certificate

// We need our CA cert and its private key
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");

$userscert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Now display the generated certificate so that the user can
// copy and paste it into their local configuration (such as a file
// to hold the certificate for their SSL server)
openssl_x509_export($usercert, $certout);
echo $certout;

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

Anterior | Inicio | Siguiente
openssl_csr_new | Subir | openssl_error_string


openssl_error_string

(PHP 4 >= 4.0.6, PHP 5)

openssl_error_string -- Return openSSL error message

Description

string openssl_error_string ( void )

Returns an error message string, or FALSE if there are no more error messages to return.

openssl_error_string() returns the last error from the openSSL library. Error messages are stacked, so this function should be called multiple times to collect all of the information.

Ejemplo 1. openssl_error_string() example

<?php
// lets assume you just called an openssl function that failed
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>

Anterior | Inicio | Siguiente
openssl_csr_sign | Subir | openssl_free_key


openssl_free_key

(PHP 4 >= 4.0.4, PHP 5)

openssl_free_key -- Free key resource

Description

void openssl_free_key ( resource key_identifier )

openssl_free_key() frees the key associated with the specified key_identifier from memory.

Anterior | Inicio | Siguiente
openssl_error_string | Subir | openssl_get_privatekey


openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_privatekey -- Alias of openssl_pkey_get_private()

Descripción

This function is an alias of: openssl_pkey_get_private().

Anterior | Inicio | Siguiente
openssl_free_key | Subir | openssl_get_publickey


openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_publickey -- Alias of openssl_pkey_get_public()

Descripción

This function is an alias of: openssl_pkey_get_public().

Anterior | Inicio | Siguiente
openssl_get_privatekey | Subir | openssl_open


openssl_open

(PHP 4 >= 4.0.4, PHP 5)

openssl_open -- Open sealed data

Description

bool openssl_open ( string sealed_data, string &open_data, string env_key, mixed priv_key_id )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. If successful the opened data is returned in open_data.

openssl_open() opens (decrypts) sealed_data using the private key associated with the key identifier priv_key_id and the envelope key env_key, and fills open_data with the decrypted data. The envelope key is generated when the data are sealed and can only be used by one specific private key. See openssl_seal() for more information.

Ejemplo 1. openssl_open() example

<?php
// $sealed and $env_key are assumed to contain the sealed data
// and our envelope key, both given to us by the sealer.

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// decrypt the data and store it in $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "here is the opened data: ", $open;
} else {
    echo "failed to open data";
}

// free the private key from memory
openssl_free_key($pkeyid);
?>

See also openssl_seal().

Anterior | Inicio | Siguiente
openssl_get_publickey | Subir | openssl_pkcs7_decrypt


openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_decrypt -- Decrypts an S/MIME encrypted message

Description

bool openssl_pkcs7_decrypt ( string infilename, string outfilename, mixed recipcert [, mixed recipkey] )

Decrypts the S/MIME encrypted message contained in the file specified by infilename using the certificate and its associated private key specified by recipcert and recipkey.

The decrypted message is output to the file specified by outfilename

Ejemplo 1. openssl_pkcs7_decrypt() example

<?php
// $cert and $key are assumed to contain your personal certificate and private
// key pair, and that you are the recipient of an S/MIME message
$infilename = "encrypted.msg";  // this file holds your encrypted message
$outfilename = "decrypted.msg"; // make sure you can write to this file

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
    echo "decrypted!";
} else {
    echo "failed to decrypt!";
}
?>

Anterior | Inicio | Siguiente
openssl_open | Subir | openssl_pkcs7_encrypt


openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encrypt -- Encrypt an S/MIME message

Description

bool openssl_pkcs7_encrypt ( string infile, string outfile, mixed recipcerts, array headers [, int flags [, int cipherid]] )

openssl_pkcs7_encrypt() takes the contents of the file named infile and encrypts them using an RC2 40-bit cipher so that they can only be read by the intended recipients specified by recipcerts, which is either a lone X.509 certificate, or an array of X.509 certificates. headers is an array of headers that will be prepended to the data after it has been encrypted. flags can be used to specify options that affect the encoding process - see PKCS7 constants. headers can be either an associative array keyed by header name, or an indexed array, where each element contains a single header line. Cipher can be selected with cipherid since PHP 5.

Ejemplo 1. openssl_pkcs7_encrypt() example

<?php
// the message you want to encrypt and send to your secret agent
// in the field, known as nighthawk.  You have his certificate
// in the file nighthawk.pem
$data = <<<EOD
Nighthawk,

Top secret, for your eyes only!

The enemy is closing in! Meet me at the cafe at 8.30am
to collect your forged passport!

HQ
EOD;

// load key
$key = file_get_contents("nighthawk.pem");

// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "nighthawk@example.com", // keyed syntax
          "From: HQ <hq@example.com>", // indexed syntax
          "Subject" => "Eyes only"))) {
    // message encrypted - send it!
    exec(ini_get("sendmail_path") . " < enc.txt");
}
?>

Anterior | Inicio | Siguiente
openssl_pkcs7_decrypt | Subir | openssl_pkcs7_sign


openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_sign -- Sign an S/MIME message

Description

bool openssl_pkcs7_sign ( string infilename, string outfilename, mixed signcert, mixed privkey, array headers [, int flags [, string extracerts]] )

openssl_pkcs7_sign() takes the contents of the file named infilename and signs them using the certificate and its matching private key specified by signcert and privkey parameters.

headers is an array of headers that will be prepended to the data after it has been signed (see openssl_pkcs7_encrypt() for more information about the format of this parameter.

flags can be used to alter the output - see PKCS7 constants - if not specified, it defaults to PKCS7_DETACHED.

extracerts specifies the name of a file containing a bunch of extra certificates to include in the signature which can for example be used to help the recipient to verify the certificate that you used.

Ejemplo 1. openssl_pkcs7_sign() example

<?php
// the message you want to sign so that recipient can be sure it was you that
// sent it
$data = <<<EOD

You have my authorization to spend $10,000 on dinner expenses.

The CEO
EOD;
// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
    array("file://mycert.pem", "mypassphrase"),
    array("To" => "joes@example.com", // keyed syntax
          "From: HQ <ceo@example.com>", // indexed syntax
          "Subject" => "Eyes only")
    )) {
    // message signed - send it!
    exec(ini_get("sendmail_path") . " < signed.txt");
}
?>

Anterior | Inicio | Siguiente
openssl_pkcs7_encrypt | Subir | openssl_pkcs7_verify


openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verify -- Verifies the signature of an S/MIME signed message

Description

mixed openssl_pkcs7_verify ( string filename, int flags [, string outfilename [, array cainfo [, string extracerts [, string content]]]] )

openssl_pkcs7_verify() reads the S/MIME message contained in the filename specified by filename and examines the digital signature. It returns TRUE if the signature is verified, FALSE if it is not correct (the message has been tampered with, or the signing certificate is invalid), or -1 on error.

flags can be used to affect how the signature is verified - see PKCS7 constants for more information.

If the outfilename is specified, it should be a string holding the name of a file into which the certificates of the persons that signed the messages will be stored in PEM format.

If the cainfo is specified, it should hold information about the trusted CA certificates to use in the verification process - see certificate verification for more information about this parameter.

If the extracerts is specified, it is the filename of a file containing a bunch of certificates to use as untrusted CAs.

You can specify a filename with content that will be filled with the verified data, but with the signature information stripped. This was added as of PHP 5.1.0.

Anterior | Inicio | Siguiente
openssl_pkcs7_sign | Subir | openssl_pkey_export_to_file


openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export_to_file -- Gets an exportable representation of a key into a file

Description

bool openssl_pkey_export_to_file ( mixed key, string outfilename [, string passphrase [, array configargs]] )

openssl_pkey_export_to_file() saves an ascii-armoured (PEM encoded) rendition of key into the file named by outfilename. The key can be optionally protected by a passphrase. configargs can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about configargs. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Anterior | Inicio | Siguiente
openssl_pkcs7_verify | Subir | openssl_pkey_export


openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export -- Gets an exportable representation of a key into a string

Description

bool openssl_pkey_export ( mixed key, string &out [, string passphrase [, array configargs]] )

openssl_pkey_export() exports key as a PEM encoded string and stores it into out (which is passed by reference). The key is optionally protected by passphrase. configargs can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about configargs. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Anterior | Inicio | Siguiente
openssl_pkey_export_to_file | Subir | openssl_pkey_free


openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_private -- Get a private key

Description

resource openssl_pkey_get_private ( mixed key [, string passphrase] )

Returns a positive key resource identifier on success, or FALSE on error.

openssl_get_privatekey() parses key and prepares it for use by other functions. key can be one of the following:

  1. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).

  2. A PEM formatted private key.

The optional parameter passphrase must be used if the specified key is encrypted (protected by a passphrase).

Anterior | Inicio | Siguiente
openssl_pkey_get_details | Subir | openssl_pkey_get_public


openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_public -- Extract public key from certificate and prepare it for use

Description

resource openssl_pkey_get_public ( mixed certificate )

Returns a positive key resource identifier on success, or FALSE on error.

openssl_get_publickey() extracts the public key from certificate and prepares it for use by other functions. certificate can be one of the following:

  1. an X.509 certificate resource

  2. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).

  3. A PEM formatted private key.

Anterior | Inicio | Siguiente
openssl_pkey_get_private | Subir | openssl_pkey_new


openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_new -- Generates a new private key

Description

resource openssl_pkey_new ( [array configargs] )

openssl_pkey_new() generates a new private and public key pair. The public component of the key can be obtained using openssl_pkey_get_public(). You can finetune the key generation (such as specifying the number of bits) using configargs. See openssl_csr_new() for more information about configargs.

Nota: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Anterior | Inicio | Siguiente
openssl_pkey_get_public | Subir | openssl_private_decrypt


openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_decrypt -- Decrypts data with private key

Description

bool openssl_private_decrypt ( string data, string &decrypted, mixed key [, int padding] )

openssl_private_decrypt() decrypts data that was previous encrypted via openssl_public_encrypt() and stores the result into decrypted. key must be the private key corresponding that was used to encrypt the data. padding defaults to OPENSSL_PKCS1_PADDING, but can also be one of OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

You can use this function e.g. to decrypt data which were supposed only to you.

See also openssl_public_encrypt() and openssl_public_decrypt().

Anterior | Inicio | Siguiente
openssl_pkey_new | Subir | openssl_private_encrypt


openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_encrypt -- Encrypts data with private key

Description

bool openssl_private_encrypt ( string data, string &crypted, mixed key [, int padding] )

openssl_private_encrypt() encrypts data with private key and stores the result into crypted. Encrypted data can be decrypted via openssl_public_decrypt(). padding defaults to OPENSSL_PKCS1_PADDING, but can also be OPENSSL_NO_PADDING.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function can be used e.g. to sign data (or its hash) to prove that it is not written by someone else.

See also openssl_public_decrypt() and openssl_public_encrypt().

Anterior | Inicio | Siguiente
openssl_private_decrypt | Subir | openssl_public_decrypt


openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decrypt -- Decrypts data with public key

Description

bool openssl_public_decrypt ( string data, string &decrypted, mixed key [, int padding] )

openssl_public_decrypt() decrypts data that was previous encrypted via openssl_private_encrypt() and stores the result into decrypted. key must be the public key corresponding that was used to encrypt the data. padding defaults to OPENSSL_PKCS1_PADDING, but can also be OPENSSL_NO_PADDING.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

You can use this function e.g. to check if the message was written by the owner of the private key.

See also openssl_private_encrypt() and openssl_private_decrypt().

Anterior | Inicio | Siguiente
openssl_private_encrypt | Subir | openssl_public_encrypt


openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_encrypt -- Encrypts data with public key

Description

bool openssl_public_encrypt ( string data, string &crypted, mixed key [, int padding] )

openssl_public_encrypt() encrypts data with public key and stores the result into crypted. Encrypted data can be decrypted via openssl_private_decrypt(). padding defaults to OPENSSL_PKCS1_PADDING, but can also be one of OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function can be used e.g. to encrypt message which can be then read only by owner of the private key. It can be also used to store secure data in database.

See also openssl_private_decrypt() and openssl_private_encrypt().

Anterior | Inicio | Siguiente
openssl_public_decrypt | Subir | openssl_seal


openssl_seal

(PHP 4 >= 4.0.4, PHP 5)

openssl_seal -- Seal (encrypt) data

Description

int openssl_seal ( string data, string &sealed_data, array &env_keys, array pub_key_ids )

Returns the length of the sealed data on success, or FALSE on error. If successful the sealed data is returned in sealed_data, and the envelope keys in env_keys.

openssl_seal() seals (encrypts) data by using RC4 with a randomly generated secret key. The key is encrypted with each of the public keys associated with the identifiers in pub_key_ids and each encrypted key is returned in env_keys. This means that one can send sealed data to multiple recipients (provided one has obtained their public keys). Each recipient must receive both the sealed data and the envelope key that was encrypted with the recipient's public key.

Ejemplo 1. openssl_seal() example

<?php
// $data is assumed to contain the data to be sealed

// fetch public keys for our recipients, and ready them
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repeat for second recipient
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// seal message, only owners of $pk1 and $pk2 can decrypt $sealed with keys
// $ekeys[0] and $ekeys[1] respectively.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// free the keys from memory
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

See also openssl_open().

Anterior | Inicio | Siguiente
openssl_public_encrypt | Subir | openssl_sign


openssl_sign

(PHP 4 >= 4.0.4, PHP 5)

openssl_sign -- Generate signature

Description

bool openssl_sign ( string data, string &signature, mixed priv_key_id [, int signature_alg] )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. If successful the signature is returned in signature.

openssl_sign() computes a signature for the specified data by using SHA1 for hashing followed by encryption using the private key associated with priv_key_id. Note that the data itself is not encrypted.

Nota: Optional 4th parameter signature_alg was added in version 5.0.0. Its default value is OPENSSL_ALGO_SHA1. For more information see the list of Signature Algorithms.

Ejemplo 1. openssl_sign() example

<?php
// $data is assumed to contain the data to be signed

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// compute signature
openssl_sign($data, $signature, $pkeyid);

// free the key from memory
openssl_free_key($pkeyid);
?>

See also openssl_verify().

Anterior | Inicio | Siguiente
openssl_seal | Subir | openssl_verify


openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify -- Verify signature

Description

int openssl_verify ( string data, string signature, mixed pub_key_id [, int signature_alg] )

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

openssl_verify() verifies that the signature is correct for the specified data using the public key associated with pub_key_id. This must be the public key corresponding to the private key used for signing.

Nota: Optional 4th parameter signature_alg was added in version 5.2.0. Its default value is OPENSSL_ALGO_SHA1. For more information see the list of Signature Algorithms.

Ejemplo 1. openssl_verify() example

<?php
// $data and $signature are assumed to contain the data and the signature

// fetch public key from certificate and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);

// state whether signature is okay or not
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "good";
} elseif ($ok == 0) {
    echo "bad";
} else {
    echo "ugly, error checking signature";
}
// free the key from memory
openssl_free_key($pubkeyid);
?>

See also openssl_sign().

Anterior | Inicio | Siguiente
openssl_sign | Subir | openssl_x509_check_private_key


openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_check_private_key -- Checks if a private key corresponds to a certificate

Description

bool openssl_x509_check_private_key ( mixed cert, mixed key )

openssl_x509_check_private_key() returns TRUE if key is the private key that corresponds to cert, or FALSE otherwise.

Anterior | Inicio | Siguiente
openssl_verify | Subir | openssl_x509_checkpurpose


openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_checkpurpose -- Verifies if a certificate can be used for a particular purpose

Description

int openssl_x509_checkpurpose ( mixed x509cert, int purpose [, array cainfo [, string untrustedfile]] )

Returns TRUE if the certificate can be used for the intended purpose, FALSE if it cannot, or -1 on error.

openssl_x509_checkpurpose() examines the certificate specified by x509cert to see if it can be used for the purpose specified by purpose.

cainfo should be an array of trusted CA files/dirs as described in Certificate Verification. It defaults to an empty array.

untrustedfile, if specified, is the name of a PEM encoded file holding certificates that can be used to help verify the certificate, although no trust in placed in the certificates that come from that file.

Tabla 1. openssl_x509_checkpurpose() purposes

Constant | Description
X509_PURPOSE_SSL_CLIENT | Can the certificate be used for the client side of an SSL connection?
X509_PURPOSE_SSL_SERVER | Can the certificate be used for the server side of an SSL connection?
X509_PURPOSE_NS_SSL_SERVER | Can the cert be used for Netscape SSL server?
X509_PURPOSE_SMIME_SIGN | Can the cert be used to sign S/MIME email?
X509_PURPOSE_SMIME_ENCRYPT | Can the cert be used to encrypt S/MIME email?
X509_PURPOSE_CRL_SIGN | Can the cert be used to sign a certificate revocation list (CRL)?
X509_PURPOSE_ANY | Can the cert be used for Any/All purposes?
These options are not bitfields - you may specify one only!

Anterior | Inicio | Siguiente
openssl_x509_check_private_key | Subir | openssl_x509_export_to_file


openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export_to_file -- Exports a certificate to file

Description

bool openssl_x509_export_to_file ( mixed x509, string outfilename [, bool notext] )

openssl_x509_export_to_file() stores x509 into a file named by outfilename in a PEM encoded format.

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
openssl_x509_checkpurpose | Subir | openssl_x509_export


openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export -- Exports a certificate as a string

Description

bool openssl_x509_export ( mixed x509, string &output [, bool notext] )

openssl_x509_export() stores x509 into a string named by output in a PEM encoded format.

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
openssl_x509_export_to_file | Subir | openssl_x509_free


openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_free -- Free certificate resource

Description

void openssl_x509_free ( resource x509cert )

openssl_x509_free() frees the certificate associated with the specified x509cert resource from memory.

Anterior | Inicio | Siguiente
openssl_x509_export | Subir | openssl_x509_parse


openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_parse -- Parse an X509 certificate and return the information as an array

Description

array openssl_x509_parse ( mixed x509cert [, bool shortnames] )

openssl_x509_parse() returns information about the supplied x509cert, including fields such as subject name, issuer name, purposes, valid from and valid to dates etc. shortnames controls how the data is indexed in the array - if shortnames is TRUE (the default) then fields will be indexed with the short name form, otherwise, the long name form will be used - e.g.: CN is the shortname form of commonName.

The structure of the returned data is (deliberately) not yet documented, as it is still subject to change.

Anterior | Inicio | Siguiente
openssl_x509_free | Subir | openssl_x509_read


openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_read -- Parse an X.509 certificate and return a resource identifier for it

Description

resource openssl_x509_read ( mixed x509certdata )

openssl_x509_read() parses the certificate supplied by x509certdata and returns a resource identifier for it.

Anterior | Inicio | Siguiente
openssl_x509_parse | Subir | Funciones Oracle


Funciones Oracle

Manual de PHP
Anterior Siguiente

CXI. Funciones Oracle

Tabla de contenidos
Ora_Bind -- Vincula una variable PHP a un parámetro Oracle
Ora_Close -- Cierra un cursor Oracle
Ora_ColumnName -- toma el nombre de una columna de resultados Oracle
ora_columnsize -- Returns the size of an Oracle result column
Ora_ColumnType -- toma el tipo de una columna de resultados Oracle
Ora_Commit -- realiza una transacción Oracle
Ora_CommitOff -- deshabilita el modo automatico de ejecucion de tareas (autocommit)
Ora_CommitOn -- Habilita la ejecucion automática de tareas (autocommit)
ora_do -- Parse, Exec, Fetch
Ora_Error -- toma los mensajes de error de Oracle
Ora_ErrorCode -- captura el código de error Oracle
Ora_Exec -- ejecuta las declaraciones interpretadas en un cursor Oracle
ora_fetch_into -- Fetch a row into the specified result array
Ora_Fetch -- extrae una fila de datos a partir de un cursor
Ora_GetColumn -- toma datos de la fila extraída
Ora_Logoff -- cierra una conexión Oracle
Ora_Logon -- Abre una conexión Oracle
ora_numcols -- Returns the number of columns
ora_numrows -- Returns the number of rows
Ora_Open -- abre un cursor Oracle
Ora_Parse -- interpreta una declaración SQL
ora_plogon -- Open a persistent Oracle connection
Ora_Rollback -- retrocede en la lista de transacciones (hace un roll back)

Anterior | Inicio | Siguiente
openssl_x509_read | Subir | Ora_Bind


Ora_Bind

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Bind -- Vincula una variable PHP a un parámetro Oracle

Descripción

int ora_bind ( int cursor, string nombre de variable PHP, string nombre de parámetro SQL, int longitud [, int tipo] )

Devuelve verdadero si el vínculo se realiza con éxito, y sino devuelve falso. Los detalles de los errores pueden examinarse usando la funciones ora_error() y ora_errorcode().

Esta función liga la variable PHP nombrada con el parámetro SQL. El parámtro SQL debe estar en la forma ":name". Con el parámetro optativo tipo, se define si el parámetro SQL se trata de un parámetro de entrada/salida (0 y por defecto), entrada (1) o salida (2). Como en PHP 3.0.1, se puede usar las constantes ORA_BIND_INOUT, ORA_BIND_IN y ORA_BIND_OUT en lugar de los números.

ora_bind debe ser llamada después de ora_parse() y antes de ora_exec(). Los valores de entrada pueden pasarse por asignación a las variables PHP vinculadas, despues de la llamada a ora_exec() dichas variables contendrán los valores de salida, si éstos estuvieran disponibles.

<?php
ora_parse($curs, "declare tmp INTEGER; begin tmp := :in; :out := tmp; :x := 7.77; end;");
ora_bind($curs, "result", ":x", $len, 2);
ora_bind($curs, "input", ":in", 5, 1);
ora_bind($curs, "output", ":out", 5, 2);
$input = 765;
ora_exec($curs);
echo "Result: $result<BR>Out: $output<BR>In: $input";
?>

Anterior | Inicio | Siguiente
Funciones Oracle | Subir | Ora_Close


Ora_Close

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Close -- Cierra un cursor Oracle

Descripción

int ora_close ( int cursor )

Devuelve verdadero si el cierre fué exitoso, o falso de lo contrario. Los detalles de los errores se recuperan usando las funciones ora_error() y ora_errorcode().

Esta función cierra un cursor de datos abierto con ora_open().

Anterior | Inicio | Siguiente
Ora_Bind | Subir | Ora_ColumnName


Ora_ColumnName

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_ColumnName -- toma el nombre de una columna de resultados Oracle

Descripción

string Ora_ColumnName ( int cursor, int column )

Devuelve el nomre de un campo/columna column en el cursor cursor. el nombre devuelto estará en letras mayúsculas.

Anterior | Inicio | Siguiente
Ora_Close | Subir | ora_columnsize


ora_columnsize

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_columnsize -- Returns the size of an Oracle result column

Descripción

int ora_columnsize ( resource cursor, int column )

Returns the size of a column on the cursor.

Lista de parámetros

cursor

An Oracle cursor, opened with ora_open().

column

The column number. First is 0.

Valores retornados

Returns the size as an integer, or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | The oracle extension is deprecated in favor of oci8.

Notes

When using oci8 as a replacement for the deprecated oracle extension, consider using:

oci_field_size()

Anterior | Inicio | Siguiente
Ora_ColumnName | Subir | Ora_ColumnType


Ora_ColumnType

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_ColumnType -- toma el tipo de una columna de resultados Oracle

Descripción

string Ora_ColumnType ( int cursor, int column )

Devuelve el nombre del tipo de datos del campo o columna column en el cursor cursor. Se devolverá un tipo de datos, de entre los siguientes:

"VARCHAR2"
"VARCHAR"
"CHAR"
"NUMBER"
"LONG"
"LONG RAW"
"ROWID"
"DATE"
"CURSOR"

Anterior | Inicio | Siguiente
ora_columnsize | Subir | Ora_Commit


Ora_Commit

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Commit -- realiza una transacción Oracle

Descripción

int ora_commit ( int conn )

Devuelve verdadero si es exitosa, de lo cantrario devuelve falso. Puede verse los detalles del error usando las funciones ora_error() y ora_errorcode(). Esta función realiza una transacción Oracle. Se define como transacción cualquier cambio en una conexión dada, desde la última tarea/retroceso en la ejecucion (rollback), anulación de la ejecución automática de tareas (autocommit), o cuando se ha establecido la conexión.

Anterior | Inicio | Siguiente
Ora_ColumnType | Subir | Ora_CommitOff


Ora_CommitOff

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_CommitOff -- deshabilita el modo automatico de ejecucion de tareas (autocommit)

Descripción

int ora_commitoff ( int conn )

Devuelve verdadero si se ejecuta con éxito, sino devuelve falso. Los pormenores del error en cuestion, pueden revisarse invocando las funciones ora_error() y ora_errorcode().

Esta función deshabilita la ejecucion automatica luego de cada instancia ora_exec().

Anterior | Inicio | Siguiente
Ora_Commit | Subir | Ora_CommitOn


Ora_CommitOn

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_CommitOn -- Habilita la ejecucion automática de tareas (autocommit)

Descripción

int ora_commiton ( int conn )

Esta función habilita la ejecucion automatica luego de cada instancia ora_exec() en la conexión dada.

Devuelve verdadero si se ejecuta con éxito, sino devuelve falso. Los pormenores del error en cuestion, pueden revisarse invocando las funciones ora_error() y ora_errorcode().

Anterior | Inicio | Siguiente
Ora_CommitOff | Subir | ora_do


ora_do

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_do -- Parse, Exec, Fetch

Descripción

resource ora_do ( resource connection, string query )

Parse and execute a statement, then fetch the first result row.

This function is a quick combination of ora_parse(), ora_exec() and ora_fetch().

Lista de parámetros

connection

A connection identifier, opened with ora_logon().

query

The SQL statement.

Valores retornados

This function returns a cursor index or FALSE on failure. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

Registro de cambios

Versión | Descripción
5.1.0 | The oracle extension is deprecated in favor of oci8.

Notes

There is no direct replacement for ora_do() in oci8. Instead, use a sequence of oci_parse(), oci_excute(), and one of the oci_fetch_*() functions.

Ver también

ora_parse()
ora_exec()
ora_fetch()

Anterior | Inicio | Siguiente
Ora_CommitOn | Subir | Ora_Error


Ora_Error

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Error -- toma los mensajes de error de Oracle

Descripción

string Ora_Error ( int cursor_or_connection )

Devuelve los mensajes de error en la forma XXX-NNNNN donde XXX es la procedencia del error y NNNNN es la identificación del mensaje de error.

Nota: El soporte para las identificaciones de conexión fue agregado en la versión 3.0.4.

En las versiones UNIX de Oracle, pueden encontrarse detalles acerca de un mensaje de error como este: $ oerr ora 00001 00001, 00000, "unique constraint (%s.%s) violated" // *Cause: An update or insert statement attempted to insert a duplicate key // For Trusted ORACLE configured in DBMS MAC mode, you may see // this message if a duplicate entry exists at a different level. // *Action: Either remove the unique restriction or do not insert the key

Anterior | Inicio | Siguiente
ora_do | Subir | Ora_ErrorCode


Ora_ErrorCode

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_ErrorCode -- captura el código de error Oracle

Descripción

int Ora_ErrorCode ( int cursor_or_connection )

Devuelve el codigo numérico de error de la última declaración ejecutada en el cursor o conexion espacificada.

Nota: El soporte para las identificaciones de conexión fue agregado en la versión 3.0.4.

Anterior | Inicio | Siguiente
Ora_Error | Subir | Ora_Exec


Ora_Exec

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Exec -- ejecuta las declaraciones interpretadas en un cursor Oracle

Descripción

int ora_exec ( int cursor )

Devuelve verdadero ante la ejecución exitosa, de lo contrario, devuelve falso. Los detalles del error pueden verse invocando las funciones ora_error() y ora_errorcode().

Anterior | Inicio | Siguiente
Ora_ErrorCode | Subir | ora_fetch_into


ora_fetch_into

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_fetch_into -- Fetch a row into the specified result array

Descripción

int ora_fetch_into ( resource cursor, array &result [, int flags] )

Fetches a row of data into an array.

Lista de parámetros

cursor

An Oracle cursor, opened with ora_open().

result

An array passed by reference. It will be filled with the fetched values.

flags

There are two possible flags. If ORA_FETCHINTO_NULLS is set, columns with NULL values are set in the array; and if the ORA_FETCHINTO_ASSOC flag is set, an associative array is created.

Valores retornados

Returns the number of columns fetched, or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | The oracle extension is deprecated in favor of oci8.

Ejemplos

Ejemplo 1. ora_fetch_into()

<?php
$results = array();
ora_fetch_into($cursor, $results);
echo $results[0];
echo $results[1];
$results = array();
ora_fetch_into($cursor, $results, ORA_FETCHINTO_NULLS|ORA_FETCHINTO_ASSOC);
echo $results['MyColumn'];
?>

Notes

When using oci8 as a replacement for the deprecated oracle extension, consider using:

A fetch function like oci_fetch_array()

Ver también

ora_parse()
ora_exec()
ora_fetch()
ora_do()

Anterior | Inicio | Siguiente
Ora_Exec | Subir | Ora_Fetch


Ora_Fetch

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Fetch -- extrae una fila de datos a partir de un cursor

Descripción

int ora_fetch ( int cursor )

Devuelve verdadero (se extrajo una fila) o falso (no hay mas filas, o ha ocurrido un error). Si ocurre un error, los detalles del mismo pueden verse invocando las funciones ora_error() y ora_errorcode(). Si no hubo errores, ora_errorcode() devolverá 0. Recupera una hilera de datos partiendo de un cursor especificado.

Anterior | Inicio | Siguiente
ora_fetch_into | Subir | Ora_GetColumn


Ora_GetColumn

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_GetColumn -- toma datos de la fila extraída

Descripción

mixed ora_getcolumn ( int cursor, mixed column )

Devuelve la columna de datos. Si hay un error, se devuelve falso y ora_errorcode() devulve un valor distinto de cero. Note, de igual manera, que la busqueda de un resultado Falso en esta función, puede resultar verdadera, aún en casos en que no ocurran errores:(resultado NULO, cadenas vacias, valor 0 o cadenas "0"). Extrae los datos para una columna o resultado de función.

Anterior | Inicio | Siguiente
Ora_Fetch | Subir | Ora_Logoff


Ora_Logoff

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Logoff -- cierra una conexión Oracle

Descripción

int ora_logoff ( int connection )

Devuelve verdadero si es exitosa, o falso si hay errores. Los detalles del error pueden verse invocando las funciones ora_error() y ora_errorcode(). Cierra la sesión de trabajo del usuario, y lo desconecta del servidor.

Anterior | Inicio | Siguiente
Ora_GetColumn | Subir | Ora_Logon


Ora_Logon

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Logon -- Abre una conexión Oracle

Descripción

int ora_logon ( string usuario, string contraseña )

Establece una conexión entre PHP y una base de datos Oracle, con los datos de nombre de usuario y contraseña especificados.

Las conexiones pueden llevarse adelante usando SQL*Net indicando el nombre TNS al usuario de este modo:

$conn = Ora_Logon("usuario<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>@TNSNAME</I
></SPAN
>", "contraseña");

Si hubiesen datos con caracteres no-ASCII, habría que asegurarse de que esté presente la variable de entorno NLS_LANG en el sistema. Para los modulos de servidor, deberían definirse en el entorno del servidor antes de iniciarlo.

Devuelve el índice de la conexión si aquella tuvo éxito, de lo cantrario devuelve falso. Los detalles del error pueden verse invocando las funciones ora_error() y ora_errorcode().

Anterior | Inicio | Siguiente
Ora_Logoff | Subir | ora_numcols


ora_numcols

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_numcols -- Returns the number of columns

Descripción

int ora_numcols ( resource cursor )

Returns the number of columns in a result. It only returns meaningful values after a parse/exec/fetch sequence.

Lista de parámetros

cursor

An Oracle cursor, opened with ora_open().

Valores retornados

Returns the number of columns as an integer, or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | The oracle extension is deprecated in favor of oci8.

Notes

When using oci8 as a replacement for the deprecated oracle extension, consider using:

oci_num_fields()

Ver también

ora_parse()
ora_exec()
ora_fetch()
ora_do()

Anterior | Inicio | Siguiente
Ora_Logon | Subir | ora_numrows


ora_numrows

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_numrows -- Returns the number of rows

Descripción

int ora_numrows ( resource cursor )

Returns the number of rows in a result.

Lista de parámetros

cursor

An Oracle cursor, opened with ora_open().

Valores retornados

Returns the number of rows as an integer, or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | The oracle extension is deprecated in favor of oci8.

Notes

When using oci8 as a replacement for the deprecated oracle extension, consider using:

oci_num_rows()

Anterior | Inicio | Siguiente
ora_numcols | Subir | Ora_Open


Ora_Open

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Open -- abre un cursor Oracle

Descripción

int ora_open ( int connection )

Abre un cursor asociado con la conexión.

Devuelve el índice del cursor o Falso si hay un error. Los detalles del error pueden verse invocando las funciones ora_error() y ora_errorcode().

Anterior | Inicio | Siguiente
ora_numrows | Subir | Ora_Parse


Ora_Parse

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Parse -- interpreta una declaración SQL

Descripción

int ora_parse ( int cursor_ind, string sql_statement, int defer )

Esta función interpreta una declaración SQL o un bloque PL/SQL y los asocia con el cursor dado. Devuelve 0 si se ejecuta con exito, o -1 ante un error.

Anterior | Inicio | Siguiente
Ora_Open | Subir | ora_plogon


ora_plogon

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_plogon -- Open a persistent Oracle connection

Descripción

resource ora_plogon ( string user, string password )

Establishes a persistent connection between PHP and an Oracle database/

Lista de parámetros

user

The user name.

password

The password associated with user.

Valores retornados

Returns a persistent connection identifier, or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | The oracle extension is deprecated in favor of oci8.

Notes

When using oci8 as a replacement for the deprecated oracle extension, consider using:

oci_pconnect()

Ver también

ora_logon()

Anterior | Inicio | Siguiente
Ora_Parse | Subir | Ora_Rollback


Ora_Rollback

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

Ora_Rollback -- retrocede en la lista de transacciones (hace un roll back)

Descripción

int ora_rollback ( int connection )

Deshace una transaccion Oracle. (Ver ora_commit() para la definición de transacción.)

Devuelve verdadero si tiene éxito, o falso si hay un error. Los detalles del error pueden verse invocando las funciones ora_error() y ora_errorcode().

Anterior | Inicio | Siguiente
ora_plogon | Subir | Oracle Functions (PDO_OCI)


Ovrimos SQL functions

Manual de PHP
Anterior Siguiente

CXIV. Ovrimos SQL functions

Ovrimos SQL Server, is a client/server, transactional RDBMS combined with Web capabilities and fast transactions.

Ovrimos SQL Server is available at www.ovrimos.com. To enable ovrimos support in PHP just compile php with the '--with-ovrimos' parameter to configure script. You'll need to install the sqlcli library available in the Ovrimos SQL Server distribution.

Ejemplo 1. Connect to Ovrimos SQL Server and select from a system table

<?php
$conn = ovrimos_connect ("server.domain.com", "8001", "admin", "password");
if ($conn != 0) {
    echo ("Connection ok!");
    $res = ovrimos_exec ($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all ($res);
        ovrimos_free_result ($res);
    }
    ovrimos_close($conn);
}
?>
This will just connect to SQL Server.

Tabla de contenidos
ovrimos_close -- Closes the connection to ovrimos
ovrimos_commit -- Commits the transaction
ovrimos_connect -- Connect to the specified database
ovrimos_cursor -- Returns the name of the cursor
ovrimos_exec -- Executes an SQL statement
ovrimos_execute -- Executes a prepared SQL statement
ovrimos_fetch_into -- Fetches a row from the result set
ovrimos_fetch_row -- Fetches a row from the result set
ovrimos_field_len -- Returns the length of the output column
ovrimos_field_name -- Returns the output column name
ovrimos_field_num -- Returns the (1-based) index of the output column
ovrimos_field_type -- Returns the (numeric) type of the output column
ovrimos_free_result -- Frees the specified result_id
ovrimos_longreadlen -- Specifies how many bytes are to be retrieved from long datatypes
ovrimos_num_fields -- Returns the number of columns
ovrimos_num_rows -- Returns the number of rows affected by update operations
ovrimos_prepare -- Prepares an SQL statement
ovrimos_result_all -- Prints the whole result set as an HTML table
ovrimos_result -- Retrieves the output column
ovrimos_rollback -- Rolls back the transaction

Anterior | Inicio | Siguiente
output_reset_rewrite_vars | Subir | ovrimos_close


ovrimos_close

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_close -- Closes the connection to ovrimos

Description

void ovrimos_close ( int connection )

ovrimos_close() is used to close the specified connection.

ovrimos_close() closes a connection to Ovrimos. This has the effect of rolling back uncommitted transactions.

Anterior | Inicio | Siguiente
Ovrimos SQL functions | Subir | ovrimos_commit


ovrimos_commit

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_commit -- Commits the transaction

Description

int ovrimos_commit ( int connection_id )

ovrimos_commit() is used to commit the transaction.

ovrimos_commit() commits the transaction.

Anterior | Inicio | Siguiente
ovrimos_close | Subir | ovrimos_connect


ovrimos_connect

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_connect -- Connect to the specified database

Description

int ovrimos_connect ( string host, string db, string user, string password )

ovrimos_connect() is used to connect to the specified database.

ovrimos_connect() returns a connection id (greater than 0) or 0 for failure. The meaning of 'host' and 'port' are those used everywhere in Ovrimos APIs. 'Host' is a host name or IP address and 'db' is either a database name, or a string containing the port number.

Ejemplo 1. ovrimos_connect() Example

<?php
$conn = ovrimos_connect ("server.domain.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res=ovrimos_exec ($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all ($res);
        ovrimos_free_result ($res);
    }
    ovrimos_close ($conn);
}
?>
The above example will connect to the database and print out the specified table.

Anterior | Inicio | Siguiente
ovrimos_commit | Subir | ovrimos_cursor


ovrimos_cursor

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_cursor -- Returns the name of the cursor

Description

int ovrimos_cursor ( int result_id )

ovrimos_cursor() is used to get the name of the cursor.

ovrimos_cursor() returns the name of the cursor. Useful when wishing to perform positioned updates or deletes.

Anterior | Inicio | Siguiente
ovrimos_connect | Subir | ovrimos_exec


ovrimos_exec

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_exec -- Executes an SQL statement

Description

int ovrimos_exec ( int connection_id, string query )

ovrimos_exec() is used to execute an SQL statement.

ovrimos_exec() executes an SQL statement (query or update) and returns a result_id or FALSE. Evidently, the SQL statement should not contain parameters.

Anterior | Inicio | Siguiente
ovrimos_cursor | Subir | ovrimos_execute


ovrimos_execute

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_execute -- Executes a prepared SQL statement

Description

int ovrimos_execute ( int result_id [, array parameters_array] )

ovrimos_execute() is used to execute an SQL statement.

ovrimos_execute() executes a prepared statement. Returns TRUE or FALSE. If the prepared statement contained parameters (question marks in the statement), the correct number of parameters should be passed in an array. Notice that I don't follow the PHP convention of placing just the name of the optional parameter inside square brackets. I couldn't bring myself on liking it.

Anterior | Inicio | Siguiente
ovrimos_exec | Subir | ovrimos_fetch_into


ovrimos_fetch_into

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_fetch_into -- Fetches a row from the result set

Description

int ovrimos_fetch_into ( int result_id, array result_array [, string how [, int rownumber]] )

ovrimos_fetch_into() is used to fetch a row from the result set.

ovrimos_fetch_into() fetches a row from the result set into 'result_array', which should be passed by reference. Which row is fetched is determined by the two last parameters. 'how' is one of 'Next' (default), 'Prev', 'First', 'Last', 'Absolute', corresponding to forward direction from current position, backward direction from current position, forward direction from the start, backward direction from the end and absolute position from the start (essentially equivalent to 'first' but needs 'rownumber'). Case is not significant. 'Rownumber' is optional except for absolute positioning. Returns TRUE or FALSE.

Ejemplo 1. A fetch into example

<?php
$conn=ovrimos_connect ("neptune", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";
    $res=ovrimos_exec ($conn,"select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_into ($res, $row)) {
            list ($table_id, $table_name) = $row;
            echo "table_id=".$table_id.", table_name=".$table_name."\n";
            if (ovrimos_fetch_into ($res, $row)) {
                list ($table_id, $table_name) = $row;
                echo "table_id=".$table_id.", table_name=".$table_name."\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result ($res);
    }
    ovrimos_close ($conn);
}
?>
This example will fetch a row.

Anterior | Inicio | Siguiente
ovrimos_execute | Subir | ovrimos_fetch_row


ovrimos_fetch_row

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_fetch_row -- Fetches a row from the result set

Description

int ovrimos_fetch_row ( int result_id [, int how [, int row_number]] )

ovrimos_fetch_row() is used to fetch a row from the result set.

ovrimos_fetch_row() fetches a row from the result set. Column values should be retrieved with other calls. Returns TRUE or FALSE.

Ejemplo 1. A fetch row example

<?php
$conn = ovrimos_connect ("remote.host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res=ovrimos_exec ($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_row ($res, "First")) {
            $table_id = ovrimos_result ($res, 1);
            $table_name = ovrimos_result ($res, 2);
            echo "table_id=".$table_id.", table_name=".$table_name."\n";
            if (ovrimos_fetch_row ($res, "Next")) {
                $table_id = ovrimos_result ($res, "table_id");
                $table_name = ovrimos_result ($res, "table_name");
                echo "table_id=".$table_id.", table_name=".$table_name."\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result ($res);
    }
    ovrimos_close ($conn);
}
?>
This will fetch a row and print the result.

Anterior | Inicio | Siguiente
ovrimos_fetch_into | Subir | ovrimos_field_len


ovrimos_field_len

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_field_len -- Returns the length of the output column

Description

int ovrimos_field_len ( int result_id, int field_number )

ovrimos_field_len() is used to get the length of the output column.

ovrimos_field_len() returns the length of the output column at the (1-based) index specified.

Anterior | Inicio | Siguiente
ovrimos_fetch_row | Subir | ovrimos_field_name


ovrimos_field_name

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_field_name -- Returns the output column name

Description

int ovrimos_field_name ( int result_id, int field_number )

ovrimos_field_name() is used to get the output column name.

ovrimos_field_name() returns the output column name at the (1-based) index specified.

Anterior | Inicio | Siguiente
ovrimos_field_len | Subir | ovrimos_field_num


ovrimos_field_num

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_field_num -- Returns the (1-based) index of the output column

Description

int ovrimos_field_num ( int result_id, string field_name )

ovrimos_field_num() is used to get the (1-based) index of the output column.

ovrimos_field_num() returns the (1-based) index of the output column specified by name, or FALSE.

Anterior | Inicio | Siguiente
ovrimos_field_name | Subir | ovrimos_field_type


ovrimos_field_type

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_field_type -- Returns the (numeric) type of the output column

Description

int ovrimos_field_type ( int result_id, int field_number )

ovrimos_field_type() is used to get the (numeric) type of the output column.

ovrimos_field_type() returns the (numeric) type of the output column at the (1-based) index specified.

Anterior | Inicio | Siguiente
ovrimos_field_num | Subir | ovrimos_free_result


ovrimos_free_result

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_free_result -- Frees the specified result_id

Description

int ovrimos_free_result ( int result_id )

ovrimos_free_result() is used to free the result_id.

ovrimos_free_result() frees the specified result_id. Returns TRUE.

Anterior | Inicio | Siguiente
ovrimos_field_type | Subir | ovrimos_longreadlen


ovrimos_longreadlen

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_longreadlen -- Specifies how many bytes are to be retrieved from long datatypes

Description

int ovrimos_longreadlen ( int result_id, int length )

ovrimos_longreadlen() is used to specify how many bytes are to be retrieved from long datatypes.

ovrimos_longreadlen() specifies how many bytes are to be retrieved from long datatypes (long varchar and long varbinary). Default is zero. Regardless of its taking a result_id as an argument, it currently sets this parameter for all result sets. Returns TRUE.

Anterior | Inicio | Siguiente
ovrimos_free_result | Subir | ovrimos_num_fields


ovrimos_num_fields

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_num_fields -- Returns the number of columns

Description

int ovrimos_num_fields ( int result_id )

ovrimos_num_fields() is used to get the number of columns.

ovrimos_num_fields() returns the number of columns in a result_id resulting from a query.

Anterior | Inicio | Siguiente
ovrimos_longreadlen | Subir | ovrimos_num_rows


ovrimos_num_rows

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_num_rows -- Returns the number of rows affected by update operations

Description

int ovrimos_num_rows ( int result_id )

ovrimos_num_rows() is used to get the number of rows affected by update operations.

ovrimos_num_rows() returns the number of rows affected by update operations.

Anterior | Inicio | Siguiente
ovrimos_num_fields | Subir | ovrimos_prepare


ovrimos_prepare

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_prepare -- Prepares an SQL statement

Description

int ovrimos_prepare ( int connection_id, string query )

ovrimos_prepare() is used to prepare an SQL statement.

ovrimos_prepare() prepares an SQL statement and returns a result_id (or FALSE on failure).

Ejemplo 1. Connect to Ovrimos SQL Server and prepare a statement

<?php
$conn=ovrimos_connect ("db_host", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";
    $res=ovrimos_prepare ($conn, "select table_id, table_name
                                  from sys.tables where table_id=1");
    if ($res != 0) {
        echo "Prepare ok!";
        if (ovrimos_execute ($res)) {
            echo "Execute ok!\n";
            ovrimos_result_all ($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result ($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close ($conn);
}
?>
This will connect to Ovrimos SQL Server, prepare a statement and the execute it.

Anterior | Inicio | Siguiente
ovrimos_num_rows | Subir | ovrimos_result_all


ovrimos_result_all

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_result_all -- Prints the whole result set as an HTML table

Description

int ovrimos_result_all ( int result_id [, string format] )

ovrimos_result_all() is used to print an HTML table containing the whole result set.

ovrimos_result_all() prints the whole result set as an HTML table. Returns TRUE or FALSE.

Ejemplo 1. Prepare a statement, execute, and view the result

<?php
$conn = ovrimos_connect ("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_prepare ($conn, "select table_id, table_name
                                    from sys.tables where table_id = 7");
    if ($res != 0) {
        echo "Prepare ok!";
        if (ovrimos_execute ($res, array(3))) {
            echo "Execute ok!\n";
            ovrimos_result_all ($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result ($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close ($conn);
}
?>
This will execute an SQL statement and print the result in an HTML table.

Ejemplo 2. Ovrimos_result_all with meta-information

<?php
$conn = ovrimos_connect ("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec ($conn, "select table_id, table_name
                                 from sys.tables where table_id = 1")
    if ($res != 0) {
        echo "Statement ok! cursor=".ovrimos_cursor ($res)."\n";
        $colnb = ovrimos_num_fields ($res);
        echo "Output columns=".$colnb."\n";
        for ($i=1; $i<=$colnb; $i++) {
            $name = ovrimos_field_name ($res, $i);
            $type = ovrimos_field_type ($res, $i);
            $len = ovrimos_field_len ($res, $i);
            echo "Column ".$i." name=".$name." type=".$type." len=".$len."\n";
        }
        ovrimos_result_all ($res);
        ovrimos_free_result ($res);
    }
    ovrimos_close ($conn);
}
?>

Ejemplo 3. ovrimos_result_all example

<?php
$conn = ovrimos_connect ("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec ($conn, "update test set i=5");
    if ($res != 0) {
        echo "Statement ok!";
        echo ovrimos_num_rows ($res)." rows affected\n";
        ovrimos_free_result ($res);
    }
    ovrimos_close ($conn);
}
?>

Anterior | Inicio | Siguiente
ovrimos_prepare | Subir | ovrimos_result


ovrimos_result

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_result -- Retrieves the output column

Description

int ovrimos_result ( int result_id, mixed field )

ovrimos_result() is used to retrieve the output column.

ovrimos_result() retrieves the output column specified by 'field', either as a string or as an 1-based index.

Anterior | Inicio | Siguiente
ovrimos_result_all | Subir | ovrimos_rollback


ovrimos_rollback

(PHP 4 >= 4.0.3, PHP 5)

ovrimos_rollback -- Rolls back the transaction

Description

int ovrimos_rollback ( int connection_id )

ovrimos_rollback() is used to roll back the transaction.

ovrimos_rollback() rolls back the transaction.

Anterior | Inicio | Siguiente
ovrimos_result | Subir | Paradox File Access


Funciones de Control de Salida

Manual de PHP
Anterior Siguiente

CXIII. Funciones de Control de Salida

Introducción

Las funciones de Control de Salida le permiten controlar cuándo es enviada la salida desde el script. Esto puede resultar útil en muchas situaciones diferentes, especialmente si necesita enviar cabeceras al navegador después de que su script ha comenzado a enviar datos. Las funciones de Control de Salida no afectan las cabeceras enviadas usando header() o setcookie(), sólo funciones como echo() y los datos entre bloques de código PHP.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración del Control de Salida

Nombre | Predeterminado | Modificable | Cambios
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponible desde PHP 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR en PHP <= 4.2.3.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

output_buffering boolean/integer

Puede habilitar el uso de búferes de salida para todos los archivos, definiendo esta directiva como 'On'. Si desea limitar el tamaño del búfer a cierta cantidad - puede usar un número máximo de bytes, en lugar de 'On', como valor para esta directiva (p.ej., output_buffering=4096). A partir de PHP 4.3.5, esta directiva siempre tiene el valor Off en PHP-CLI.

output_handler string

Puede redireccionar toda la salida de sus scripts a una función. Por ejemplo, si establece el valor de output_handler a mb_output_handler(), la codificación de caracteres será convertida de forma transparente a la codificación especificada. Al definir cualquier gestor de salida, el control mediante búferes se activa automáticamente.

Nota:
      Usted no puede usar mb_output_handler() con
      ob_iconv_handler() al tiempo, y no puede
      usar ob_gzhandler() y zlib.output_compression
      al tiempo.

Nota: Solo funciones integradas del lenguaje pueden ser usadas con esta directiva. Para funciones definidas por el usuario, use ob_start().

implicit_flush boolean

FALSE por defecto. Cambiar este valor a TRUE le indica a PHP que debe decirle a la capa de salida que se vacíe automáticamente después de cada bloque de salida. Esto es equivalente a llamar la función de PHP flush() después de todas y cada una de las llamadas a print() o echo(), y cada bloque HTML.

Cuando use PHP bajo un entorno web, el habilitar esta opción tiene unas implicaciones serias en el rendimiento, y por lo general se recomienda su uso únicamente para propósitos de depuración. Este valor es igual a TRUE por defecto cuando se opera bajo la SAPI CLI.

Vea también ob_implicit_flush().

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Ejemplo de Control de Salida

<?php

ob_start();
echo "Hola\n";

setcookie("nombre_cookie", "datos_cookie");

ob_end_flush();

?>

En el anterior ejemplo, la salida de echo() sería almacenada en el búfer de salida hasta que ob_end_flush() sea llamada. Entre tanto, la llamada a setcookie() almacena satisfactoriamente una cookie sin causar un error. (Normalmente, usted no puede enviar cabeceras al navegador después de que se han enviado datos.)

Nota: Cuando se actualice desde PHP 4.1 (y 4.2) hacia 4.3, debe asegurarse de que implict_flush tenga el valor OFF en su php.ini debido a un fallo en versiones antiguas, de otra forma, cualquier salida procesada por ob_start() no será ocultada en la salida final.

Ver también

Vea también header() y setcookie().

Tabla de contenidos
flush -- Vaciar el búfer de salida
ob_clean -- Limpiar (eliminar) el búfer de salida
ob_end_clean -- Limpiar (eliminar) y deshabilitar los búferes de salida
ob_end_flush -- Volcar (enviar) el búfer de salida y deshabilitar el uso del búfer
ob_flush -- Vaciar (enviar) el búfer de salida
ob_get_clean -- Obtener los contenidos del búfer actual y eliminar el búfer de salida actual
ob_get_contents -- Devolver el contenido del búfer de salida
ob_get_flush -- Volcar el búfer de salida, devolverlo como una cadena y deshabilitar el uso de búferes de salida
ob_get_length -- Devolver la longitud del búfer de salida
ob_get_level -- Devolver el nivel de anidamiento del mecanismo de búferes de salida
ob_get_status -- Obtener el status de los búferes de salida
ob_gzhandler -- Llamada de retorno de ob_start para comprimir mediante gzip el búfer de salida
ob_implicit_flush -- Habilitar/deshabilitar el volcado implícito
ob_list_handlers -- Listar todos los gestores de salida en uso
ob_start -- Habilitar el uso de búferes de salida
output_add_rewrite_var -- Agregar valores de re-escritura de URL
output_reset_rewrite_vars -- Reestablecer los valores del mecanismo de re-escritura de URLs

Anterior | Inicio | Siguiente
PDO_OCI DSN | Subir | flush


flush

(PHP 3, PHP 4, PHP 5)

flush -- Vaciar el búfer de salida

Descripción

void flush ( void )

Vacía los búferes de salida de PHP y de cualquiera que sea el motor que PHP esté usando (CGI, un servidor web, etc). Esto en efecto trata de enviar toda la salida acumulada hasta el momento al navegador del usuario.

flush() no tiene efectos sobre el método de uso de búferes de su servidor web o del navegador en el lado del cliente. Por lo tanto es necesario llamar tanto a ob_flush() como a flush() para volcar los búferes de salida.

Varios servidores, especialmente en Win32, seguirán almacenando la salida de su script en búferes hasta que éste termine antes de transmitir los resultados al navegador.

Puede que algunos módulos de servidor para Apache como mod_gzip usen búferes propios que causarán que flush() no resulte en un envío inmediato de datos al cliente.

Incluso el navegador puede usar búferes de entrada antes de mostrar el resultado. Netscape, por ejemplo, almacena en búfer el texto hasta que recibe un final-de-línea o el comienzo de una etiqueta, y no renderiza las tablas hasta que la etiqueta </table> de la tabla más externa sea encontrada.

Algunas versiones de Microsoft Internet Explorer solo empezarán a desplegar la página después de que han recibido 256 bytes de salida, así que puede que sea necesario enviar espacios en blanco extra antes del volcado para lograr que se despliegue la página en esos navegadores.

Anterior | Inicio | Siguiente
Funciones de Control de Salida | Subir | ob_clean


ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean -- Limpiar (eliminar) el búfer de salida

Descripción

void ob_clean ( void )

Esta función descarta los contenidos del búfer de salida.

Esta función no destruye el búfer de salida, como lo hace ob_end_clean().

Vea también
ob_flush(),
ob_end_flush() y
ob_end_clean().

Anterior | Inicio | Siguiente
flush | Subir | ob_end_clean


ob_end_clean

(PHP 4, PHP 5)

ob_end_clean -- Limpiar (eliminar) y deshabilitar los búferes de salida

Descripción

bool ob_end_clean ( void )

Esta función descarta los contenidos del búfer de salida en cola y lo deshabilita. Si desea continuar procesando los contenidos del búfer debe llamar ob_get_contents() antes de ob_end_clean() ya que los contenidos del búfer son descartados cuando se llama ob_end_clean(). La función devuelve TRUE cuando se descarta con éxito un búfer y FALSE de lo contrario. Entre las posibles razones de fallo se encuentra llamar la función sin un búfer activo, o que por algún motivo no se pueda eliminar un búfer (posible en el caso de búferes especiales).

El siguiente ejemplo muestra una forma sencilla de deshacerse de todos los búferes de salida:

Ejemplo 1. Ejemplo de ob_end_clean()

<?php
while (@ob_end_clean());
?>

Nota: Si la función falla, genera un E_NOTICE.

El valor de retorno fue agregado en PHP 4.2.0.

Vea también ob_start(),
ob_get_contents(), y
ob_flush().

Anterior | Inicio | Siguiente
ob_clean | Subir | ob_end_flush


ob_end_flush

(PHP 4, PHP 5)

ob_end_flush -- Volcar (enviar) el búfer de salida y deshabilitar el uso del búfer

Descripción

bool ob_end_flush ( void )

Esta función enviará los contenidos del búfer de salida en cola (si existe) y deshabilita este búfer. Si desea procesar los contenidos del búfer es necesario que llame ob_get_contents() antes de ob_end_flush() ya que los contenidos del búfer son descartados después de llamar ob_end_flush(). La función devuelve TRUE cuando descarta un búfer con éxito y FALSE de lo contrario. Entre las posibles razones de fallo se encuentra llamar la función sin un búfer activo, o que por algún motivo el búfer no pueda ser eliminado (posible en el caso de búferes especiales).

Nota: Esta función es similar a ob_get_flush(), excepto que ob_get_flush() devuelve el búfer como una cadena.

El siguiente ejemplo muestra una forma sencilla de volcar y finalizar todos los búferes:

Ejemplo 1. Ejemplo de ob_end_flush()

<?php
  while (@ob_end_flush());
?>

Nota: Si la función falla, genera un E_NOTICE.

El valor de retorn o booleano fue agregado en PHP 4.2.0.

Vea también ob_start(),
ob_get_contents(),
ob_get_flush(), ob_flush()
y ob_end_clean().

Anterior | Inicio | Siguiente
ob_end_clean | Subir | ob_flush


ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush -- Vaciar (enviar) el búfer de salida

Descripción

void ob_flush ( void )

Esta función enviará los contenidos del búfer de salida (si los hay). Si desea continuar procesando los contenidos del búfer, tiene que llamar ob_get_contents() antes de ob_flush(), ya que los contenidos del búfer son descartados luego de que la función ob_flush() es llamada.

Esta función no destruye el búfer de salida, como lo hace ob_end_flush().

Vea también
ob_get_contents(),
ob_clean(),
ob_end_flush() y
ob_end_clean().

Anterior | Inicio | Siguiente
ob_end_flush | Subir | ob_get_clean


ob_get_clean

(PHP 4 >= 4.3.0, PHP 5)

ob_get_clean -- Obtener los contenidos del búfer actual y eliminar el búfer de salida actual

Descripción

string ob_get_clean ( void )

Esta función devolverá los contenidos del búfer de salida y finalizará el control de salida mediante búferes. Si el control de salida con búferes no está activo, entonces se devuelve FALSE. ob_get_clean() básicamente ejecuta tanto ob_get_contents() como ob_end_clean().

Ejemplo 1. Un ejemplo simple de ob_get_clean()

<?php

ob_start();

echo "Hola Mundo";

$salida = ob_get_clean();
$salida = strtolower($salida);

var_dump($salida);
?>

Nuestro ejemplo producirá la salida:

string(10) "hola mundo"

Vea también ob_start() y ob_get_contents().

Anterior | Inicio | Siguiente
ob_flush | Subir | ob_get_contents


ob_get_contents

(PHP 4, PHP 5)

ob_get_contents -- Devolver el contenido del búfer de salida

Descripción

string ob_get_contents ( void )

Esta función devolverá los contenidos del búfer de salida sin limpiarlos, o FALSE, si no está activo el uso del búfer de salida.

Ejemplo 1. Un ejemplo sencillo de ob_get_contents()

<?php

ob_start();

echo "Hola ";

$salida1 = ob_get_contents();

echo "Mundo";

$salida2 = ob_get_contents();

ob_end_clean();

var_dump($salida1, $salida2);
?>

Nuestro ejemplo producirá la salida:

string(5) "Hola "
string(10) "Hola Mundo"

Vea también ob_start() y ob_get_length().

Anterior | Inicio | Siguiente
ob_get_clean | Subir | ob_get_flush


ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flush -- Volcar el búfer de salida, devolverlo como una cadena y deshabilitar el uso de búferes de salida

Descripción

string ob_get_flush ( void )

ob_get_flush() vuelca el búfer de salida, lo devuelve como una cadena y deshabilita el uso de búferes de salida. ob_get_flush() devuelve FALSE si el uso de búferes no está activo.

Nota: Esta función es similar a ob_end_flush(), excepto que esta función devuelve el búfer como una cadena.

Ejemplo 1. Ejemplo de ob_get_flush()

<?php
//usando output_buffering=On
print_r(ob_list_handlers());

//guardar bufer en un archivo
$bufer = ob_get_flush();
file_put_contents('bufer.txt', $bufer);

print_r(ob_list_handlers());
?>

El resultado del ejemplo seria:

Array
(
    [0] => default output handler
)
Array
(
)

Vea también ob_end_clean(),
ob_end_flush() y
ob_list_handlers().

Anterior | Inicio | Siguiente
ob_get_contents | Subir | ob_get_length


ob_get_length

(PHP 4 >= 4.0.2, PHP 5)

ob_get_length -- Devolver la longitud del búfer de salida

Descripción

int ob_get_length ( void )

Esta función devolverá la longitud de los contenidos en el búfer de salida, o FALSE, si no está activo el uso de búferes de salida.

Ejemplo 1. Un ejemplo sencillo de ob_get_length()

<?php

ob_start();

echo "Hola ";

$lon1 = ob_get_length();

echo "Mundo";

$lon2 = ob_get_length();

ob_end_clean();

echo $lon1 . ", ." . $lon2;
?>

Nuestro ejemplo producirá la salida:

5, 10

Vea también ob_start() y ob_get_contents().

Anterior | Inicio | Siguiente
ob_get_flush | Subir | ob_get_level


ob_get_level

(PHP 4 >= 4.2.0, PHP 5)

ob_get_level -- Devolver el nivel de anidamiento del mecanismo de búferes de salida

Descripción

int ob_get_level ( void )

Esta función devolverá el nivel de gestores de búferes de control anidados o cero si el uso de búferes de salida se encuentra desactivado.

Vea también ob_start() y ob_get_contents().

Anterior | Inicio | Siguiente
ob_get_length | Subir | ob_get_status


ob_get_status

(PHP 4 >= 4.2.0, PHP 5)

ob_get_status -- Obtener el status de los búferes de salida

Descripción

array ob_get_status ( [bool status_completo=FALSE] )

ob_get_status() devuelve información sobre el búfer de salida de nivel superior, o sobre todos los niveles activos de búferes de salida si status_completo es definido como TRUE.

Si esta función es llamada sin es parámetro status_completo, o con status_completo = FALSE, una simple matriz con los siguientes elementos es devuelta:

Ejemplo 1. Salida simple de ob_get_status()

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)

Resultados simples de ob_get_status()

Clave: level

Valor: Nivel de anidamiento de la salida

Clave: type

Valor: PHP_OUTPUT_HANDLER_INTERNAL (0) o PHP_OUTPUT_HANDLER_USER (1)

Clave: status

Valor: Un valor entre PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) o PHP_OUTPUT_HANDLER_END (2)

Clave: name

Valor: Nombre del gestor de salida activo, o 'default output handler' si no hay uno definido

Clave: del

Valor: Bandera de borrado, tal y como se define por ob_start()

Si se llama con status_completo = TRUE, se devuelve una matriz con un elemento por cada nivel de búfer de salida activo. El nivel de salida es usado como la clave de la matriz de nivel superior, y cada elemento como tal es otra matriz que contiene información de status sobre un nivel de salida activo.

Ejemplo 2. Salida completa de ob_get_status()

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

La salida completa contiene los siguientes elementos adicionales:

Resultados completos de ob_get_status()

Clave: chunk_size

Valor: Tamaño de segmento, tal y como se define en ob_start()

Clave: size

Valor: ...

Clave: blocksize

Valor: ...

Vea también ob_get_level() y ob_list_handlers().

Anterior | Inicio | Siguiente
ob_get_level | Subir | ob_gzhandler


ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5)

ob_gzhandler -- Llamada de retorno de ob_start para comprimir mediante gzip el búfer de salida

Descripción

string ob_gzhandler ( string bufer, int modo )

Nota: ob_gzhandler() requiere de la extensión zlib.

El propósito de ob_gzhandler() es el de ser usado como una llamada de retorno para ob_start(), facilitando el envío de datos codificados mediante gz hacia navegadores web que soportan la gestión de páginas web comprimidas. Antes de que ob_gzhandler() envíe realmente los datos, determina qué tipo de codificación de contenido acepta el navegador ("gzip", "deflate" o ninguno) y devolverá su salida acordemente. Todos los navegadores son soportados, ya que es tarea del navegador el enviar la cabecera apropiada indicando que acepta páginas web comprimidas. Si un navegador no soporta páginas comprimidas, esta función devuelve FALSE.

Nota: modo fue añadido en PHP 4.0.5.

Ejemplo 1. Ejemplo de ob_gzhandler()

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>Esta debe ser una página web comprimida.</p>
</html>
<body>

Nota: No puede usar ob_gzhandler() y zlib.output_compression al mismo tiempo. También note que el uso de zlib.output_compression se prefiere sobre el uso de ob_gzhandler().

Vea también ob_start() y ob_end_flush().

Anterior | Inicio | Siguiente
ob_get_status | Subir | ob_implicit_flush


ob_implicit_flush

(PHP 4, PHP 5)

ob_implicit_flush -- Habilitar/deshabilitar el volcado implícito

Descripción

void ob_implicit_flush ( [int bandera] )

ob_implicit_flush() habilitará o deshabilitará el volcado implícito (si no se define bandera, el valor predeterminado es habilitarlo). El volcado implícito resultará en una operación de volcado después de cada llamada que produzca salida, de modo que no son necesarias las llamadas explícitas a flush().

Vea también flush(),
ob_start(), y
ob_end_flush().

Anterior | Inicio | Siguiente
ob_gzhandler | Subir | ob_list_handlers


ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5)

ob_list_handlers -- Listar todos los gestores de salida en uso

Descripción

array ob_list_handlers ( void )

Esta función devolverá una matriz con los gestores de salida en uso (si existen). Si output_buffering está habilitado o una función anónima fue usada con ob_start(), ob_list_handlers() devolverá "default output handler" (gestor de salida predeterminado).

Ejemplo 1. Ejemplo de ob_list_handlers()

<?php
//usando output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// funciones anonimas
ob_start(create_function('$cadena', 'return $cadena;'));
print_r(ob_list_handlers());
ob_end_flush();
?>

El resultado del ejemplo seria:

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => default output handler
)

Vea también ob_end_clean(),
ob_end_flush(),
ob_get_flush(), ob_start().

Anterior | Inicio | Siguiente
ob_implicit_flush | Subir | ob_start


ob_start

(PHP 4, PHP 5)

ob_start -- Habilitar el uso de búferes de salida

Descripción

bool ob_start ( [callback llamada_de_retorno_salida [, int tamanyo_segmento [, bool borrar]]] )

Esta función habilitará el uso de búferes de salida. Mientras los búferes de salida están activos no se envía salida desde el script (más que las cabeceras), en su lugar la salida es almacenada en un búfer interno.

Los contenidos de este búfer interno pueden ser copiados a una variable de cadena usando ob_get_contents(). Para producir la salida de lo que está almacenado en el búfer interno, use ob_end_flush(). Alternativamente, ob_end_clean() descartará silenciosamente los contenidos del búfer.

Es posible especificar una función opcional llamada_de_retorno_salida. Esta función recibe una cadena como parámetro y debe devolver una cadena. La función será llamada cuando se llame ob_end_flush(), o cuando el búfer de salida sea volcado al navegador al final de la petición. Cuando se llama output_callback, éste recibirá los contenidos del búfer de salida como su parámetro y se espera que devuelva un nuevo búfer de salida como resultado, valor que será enviado al navegador. Si la llamada_de_retorno_salida no es una función que pueda llamarse, se devolverá FALSE. Si la llamada de retorno tiene dos parámetros, el segundo parámetro es llenado con un campo de bits consistente de PHP_OUTPUT_HANDLER_START, PHP_OUTPUT_HANDLER_CONT y PHP_OUTPUT_HANDLER_END. Si llamada_de_retorno_salida devuelve FALSE, la entrada original es enviada al navegador.

Nota: En PHP 4.0.4 se introdujo ob_gzhandler() para facilitar el envío de datos codificados con el algoritmo gz a navegadores web con soporte para páginas web comprimidas. ob_gzhandler() determina el tipo de contenido que aceptará el navegador y devolverá su salida acordemente.

Nota: Antes de PHP 4.3.2 esta función no devolvía FALSE en caso de que llamada_de_retorno_salida no pudiera ejecutarse.

Aviso

Algunos servidores web (p.ej. Apache) modifican el directorio de trabajo de un script cuando se ejecuta la llamada de retorno. Es posible modificarlo de vuelta p.ej. mediante chdir(dirname($_SERVER['SCRIPT_FILENAME'])) en la llamada de retorno.

Si se pasa el parámetro opcional tamanyo_segmento, la llamada de retorno es ejecutada en cada primera nueva línea después de tamanyo_segmento bytes de salida. El parámetro llamada_de_retorno_salida puede evitarse pasando el valor NULL.

Si el parámetro opcional borrar es definido como FALSE, el búfer no será eliminado hasta que el script finalice (a partir de PHP 4.3.0).

Los búferes de salida pueden apilarse, es decir, es posible llamar ob_start() mientras que otro ob_start() está activo. Simplemente asegúrese de llamar ob_end_flush() el número apropiado de veces. Si múltiples llamadas de retorno están acivas, la salida es filtrada secuencialmente a través de cada una de ellas en orden de anidamiento.

No deben llamarse ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() ni ob_start() desde una llamada de retorno. De hacerse, el comportamiento es indefinido. Si desea eliminar los contenidos de un búfer, devuelva "" (una cadena nula) desde la llamada de retorno. No es posible siquiera llamar funciones que usen el mecanismo de búferes de salida como print_r($expresion, true) o highlight_file($nombre_archivo, true) desde una llamada de retorno.

Ejemplo 1. Ejemplo de una llamada de retorno del usuario

<?php

function llamada_retorno($bufer)
{
  // reemplazar todas las manzanas con naranjas
  return (str_replace("manzanas", "naranjas", $bufer));
}

ob_start("llamada_retorno");

?>
<html>
<body>
<p>Es como comparar manzanas con naranjas.</p>
</body>
</html>
<?php

ob_end_flush();

?>

Produciría:

<html>
<body>
<p>Es como comparar naranjas con naranjas.</p>
</body>
</html>

Vea también ob_get_contents(),
ob_end_flush(),
ob_end_clean(),
ob_implicit_flush(),
ob_gzhandler(),
ob_iconv_handler()
mb_output_handler(), f
ob_tidyhandler().

Anterior | Inicio | Siguiente
ob_list_handlers | Subir | output_add_rewrite_var


output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_var -- Agregar valores de re-escritura de URL

Descripción

bool output_add_rewrite_var ( string nombre, string valor )

Esta función agrega otra pareja nombre/valor al mecanismo de re-escritura de URLs. El nombre y el valor serán agregados a las URLs (como parámetros GET) y formularios (como campos de entrada escondidos) de la misma forma que los ID de sesión cuando la reescritura de URLs transparente está habilitada con session.use_trans_sid.

El comportamiento de esta función es controlado por el parámetro php.ini url_rewriter.tags.

Nota: Al llamar esta función se iniciará implícitamente el uso de búferes de salida si el mecanismo no está activo aun.

Ejemplo 1. Ejemplo de output_add_rewrite_var()

<?php
output_add_rewrite_var('var', 'valor');

// un enlace
echo '<a href="archivo.php">enlace</a>';

// un formulario
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

El resultado del ejemplo seria:

<a href="archivo.php?var=valor">enlace</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Vea también output_reset_rewrite_vars(),
ob_flush() y
ob_list_handlers().

Anterior | Inicio | Siguiente
ob_start | Subir | output_reset_rewrite_vars


output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5)

output_reset_rewrite_vars -- Reestablecer los valores del mecanismo de re-escritura de URLs

Descripción

bool output_reset_rewrite_vars ( void )

Esta función reestablece el mecanismo de re-escritura de URLs y remueve todas las variables de re-escritura definidas previamente por la función output_add_rewrite_var() o el mecanismo de sesiones (si session.use_trans_sid fue definido en session_start()).

Ejemplo 1. Ejemplo de output_reset_rewrite_vars()

<?php
session_start();
output_add_rewrite_var('var', 'valor');

echo '<a href="archivo.php">enlace</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="archivo.php">enlace</a>';
?>

El resultado del ejemplo seria:

<a href="archivo.php?PHPSESSID=xxx&var=valor">enlace</a>
<a href="archivo.php">enlace</a>

Vea también output_add_rewrite_var(),
ob_flush(),
ob_list_handlers() y
session_start().

Anterior | Inicio | Siguiente
output_add_rewrite_var | Subir | Ovrimos SQL functions


Object property and method call overloading

Manual de PHP
Anterior Siguiente

CIV. Object property and method call overloading

Introducción

The purpose of this extension is to allow overloading of object property access and method calls. Only one function is defined in this extension, overload() which takes the name of the class that should have this functionality enabled. The class named has to define appropriate methods if it wants to have this functionality: __get(), __set() and __call() respectively for getting/setting a property, or calling a method. This way overloading can be selective. Inside these handler functions the overloading is disabled so you can access object properties normally.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

This extension is not a part of PHP 5. PHP 5 supports __get(), __set() and __call() natively. See the Overloading in PHP 5 page for more information.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

In order to use these functions, you must compile PHP with the --enable-overload option. Starting with PHP 4.3.0 this extension is enabled by default. You can disable overload support with --disable--overload.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Nota: Builtin support for overload is available with PHP 4.3.0.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Some simple examples on using the overload() function:

Ejemplo 1. Overloading a PHP class

<?php

class OO {
    var $a = 111;
    var $elem = array('b' => 9, 'c' => 42);

    // Callback method for getting a property
    function __get($prop_name, &$prop_value)
    {
        if (isset($this->elem[$prop_name])) {
            $prop_value = $this->elem[$prop_name];
            return true;
        } else {
            return false;
        }
    }

    // Callback method for setting a property
    function __set($prop_name, $prop_value)
    {
        $this->elem[$prop_name] = $prop_value;
        return true;
    }
}

// Here we overload the OO object
overload('OO');

$o = new OO;
echo "\$o->a: $o->a\n"; // print: $o->a: 111
echo "\$o->b: $o->b\n"; // print: $o->b: 9
echo "\$o->c: $o->c\n"; // print: $o->c: 42
echo "\$o->d: $o->d\n"; // print: $o->d:

// add a new item to the $elem array in OO
$o->x = 56;

// instantiate stdclass (it is built-in in PHP 4)
// $val is not overloaded!
$val = new stdclass;
$val->prop = 555;

// Set "a" to be an array with the $val object in it
// But __set() will put this in the $elem array
$o->a = array($val);
var_dump($o->a[0]->prop);

?>

Tabla de contenidos
overload -- Enable property and method call overloading for a class

Anterior | Inicio | Siguiente
deaggregate | Subir | overload


overload

(PHP 4 >= 4.2.0)

overload -- Enable property and method call overloading for a class

Descripción

void overload ( string class_name )

The overload() function will enable property and method call overloading for a class identified by class_name.

Lista de parámetros

class_name

The overloaded class name, as a string

Valores retornados

No value is returned.

Ejemplos

See an example in the introductory section of this part.

Anterior | Inicio | Siguiente
Object property and method call overloading | Subir | Funciones de Oracle


Parsekit Functions

Manual de PHP
Anterior Siguiente

CXVI. Parsekit Functions

Introducción

These functions allow runtime analysis of opcodes compiled from PHP scripts.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/parsekit.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

PARSEKIT_QUIET (int)

Return full detail, but without unnecessary NULL entries.

PARSEKIT_SIMPLE (int)

Return shorthand opcode notation.

PARSEKIT_EXTENDED_VALUE (int)

Opnode Flag

PARSEKIT_RESULT_CONST (int)

Opnode Flag

PARSEKIT_RESULT_EA_TYPE (int)

Opnode Flag

PARSEKIT_RESULT_JMP_ADDR (int)

Opnode Flag

PARSEKIT_RESULT_OPARRAY (int)

Opnode Flag

PARSEKIT_RESULT_OPLINE (int)

Opnode Flag

PARSEKIT_RESULT_VAR (int)

Opnode Flag

PARSEKIT_USAGE_UNKNOWN (int)

Opnode Flag

PARSEKIT_ZEND_INTERNAL_CLASS (int)

Class Type

PARSEKIT_ZEND_USER_CLASS (int)

Class Type

PARSEKIT_ZEND_EVAL_CODE (int)

Function Type

PARSEKIT_ZEND_INTERNAL_FUNCTION (int)

Function Type

PARSEKIT_ZEND_OVERLOADED_FUNCTION (int)

Function Type

PARSEKIT_ZEND_OVERLOADED_FUNCTION_TEMPORARY (int) PHP >= 5.0.0

Function Type

PARSEKIT_ZEND_USER_FUNCTION (int)

Function Type

PARSEKIT_IS_CONST (int)

Node Type

PARSEKIT_IS_TMP_VAR (int)

Node Type

PARSEKIT_IS_UNUSED (int)

Node Type

PARSEKIT_IS_VAR (int)

Node Type

PARSEKIT_ZEND_ADD (int)

Opcode

PARSEKIT_ZEND_ADD_ARRAY_ELEMENT (int)

Opcode

PARSEKIT_ZEND_ADD_CHAR (int)

Opcode

PARSEKIT_ZEND_ADD_INTERFACE (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_ADD_STRING (int)

Opcode

PARSEKIT_ZEND_ADD_VAR (int)

Opcode

PARSEKIT_ZEND_ASSIGN (int)

Opcode

PARSEKIT_ZEND_ASSIGN_ADD (int)

Opcode

PARSEKIT_ZEND_ASSIGN_BW_AND (int)

Opcode

PARSEKIT_ZEND_ASSIGN_BW_OR (int)

Opcode

PARSEKIT_ZEND_ASSIGN_BW_XOR (int)

Opcode

PARSEKIT_ZEND_ASSIGN_CONCAT (int)

Opcode

PARSEKIT_ZEND_ASSIGN_DIM (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_ASSIGN_DIV (int)

Opcode

PARSEKIT_ZEND_ASSIGN_MOD (int)

Opcode

PARSEKIT_ZEND_ASSIGN_MUL (int)

Opcode

PARSEKIT_ZEND_ASSIGN_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_ASSIGN_REF (int)

Opcode

PARSEKIT_ZEND_ASSIGN_SL (int)

Opcode

PARSEKIT_ZEND_ASSIGN_SR (int)

Opcode

PARSEKIT_ZEND_ASSIGN_SUB (int)

Opcode

PARSEKIT_ZEND_BEGIN_SILENCE (int)

Opcode

PARSEKIT_ZEND_BOOL (int)

Opcode

PARSEKIT_ZEND_BOOL_NOT (int)

Opcode

PARSEKIT_ZEND_BOOL_XOR (int)

Opcode

PARSEKIT_ZEND_BRK (int)

Opcode

PARSEKIT_ZEND_BW_AND (int)

Opcode

PARSEKIT_ZEND_BW_NOT (int)

Opcode

PARSEKIT_ZEND_BW_OR (int)

Opcode

PARSEKIT_ZEND_BW_XOR (int)

Opcode

PARSEKIT_ZEND_CASE (int)

Opcode

PARSEKIT_ZEND_CAST (int)

Opcode

PARSEKIT_ZEND_CATCH (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_CLONE (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_CONCAT (int)

Opcode

PARSEKIT_ZEND_CONT (int)

Opcode

PARSEKIT_ZEND_DECLARE_CLASS (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_DECLARE_FUNCTION (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_DECLARE_INHERITED_CLASS (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_DIV (int)

Opcode

PARSEKIT_ZEND_DO_FCALL (int)

Opcode

PARSEKIT_ZEND_DO_FCALL_BY_NAME (int)

Opcode

PARSEKIT_ZEND_ECHO (int)

Opcode

PARSEKIT_ZEND_END_SILENCE (int)

Opcode

PARSEKIT_ZEND_EXIT (int)

Opcode

PARSEKIT_ZEND_EXT_FCALL_BEGIN (int)

Opcode

PARSEKIT_ZEND_EXT_FCALL_END (int)

Opcode

PARSEKIT_ZEND_EXT_NOP (int)

Opcode

PARSEKIT_ZEND_EXT_STMT (int)

Opcode

PARSEKIT_ZEND_FETCH_CLASS (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_FETCH_CONSTANT (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_FUNC_ARG (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_IS (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_R (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_RW (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_TMP_VAR (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_UNSET (int)

Opcode

PARSEKIT_ZEND_FETCH_DIM_W (int)

Opcode

PARSEKIT_ZEND_FETCH_FUNC_ARG (int)

Opcode

PARSEKIT_ZEND_FETCH_IS (int)

Opcode

PARSEKIT_ZEND_FETCH_OBJ_FUNC_ARG (int)

Opcode

PARSEKIT_ZEND_FETCH_OBJ_IS (int)

Opcode

PARSEKIT_ZEND_FETCH_OBJ_R (int)

Opcode

PARSEKIT_ZEND_FETCH_OBJ_RW (int)

Opcode

PARSEKIT_ZEND_FETCH_OBJ_UNSET (int)

Opcode

PARSEKIT_ZEND_FETCH_OBJ_W (int)

Opcode

PARSEKIT_ZEND_FETCH_R (int)

Opcode

PARSEKIT_ZEND_FETCH_RW (int)

Opcode

PARSEKIT_ZEND_FETCH_UNSET (int)

Opcode

PARSEKIT_ZEND_FETCH_W (int)

Opcode

PARSEKIT_ZEND_FE_FETCH (int)

Opcode

PARSEKIT_ZEND_FE_RESET (int)

Opcode

PARSEKIT_ZEND_FREE (int)

Opcode

PARSEKIT_ZEND_HANDLE_EXCEPTION (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_IMPORT_CLASS (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_IMPORT_CONST (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_IMPORT_FUNCTION (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_INCLUDE_OR_EVAL (int)

Opcode

PARSEKIT_ZEND_INIT_ARRAY (int)

Opcode

PARSEKIT_ZEND_INIT_CTOR_CALL (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_INIT_FCALL_BY_NAME (int)

Opcode

PARSEKIT_ZEND_INIT_METHOD_CALL (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_INIT_STATIC_METHOD_CALL (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_INIT_STRING (int)

Opcode

PARSEKIT_ZEND_INSTANCEOF (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_ISSET_ISEMPTY (int) PHP < 5.0.0

Opcode

PARSEKIT_ZEND_ISSET_ISEMPTY_DIM_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_ISSET_ISEMPTY_PROP_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_ISSET_ISEMPTY_VAR (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_IS_EQUAL (int)

Opcode

PARSEKIT_ZEND_IS_IDENTICAL (int)

Opcode

PARSEKIT_ZEND_IS_NOT_EQUAL (int)

Opcode

PARSEKIT_ZEND_IS_NOT_IDENTICAL (int)

Opcode

PARSEKIT_ZEND_IS_SMALLER (int)

Opcode

PARSEKIT_ZEND_IS_SMALLER_OR_EQUAL (int)

Opcode

PARSEKIT_ZEND_JMP (int)

Opcode

PARSEKIT_ZEND_JMPNZ (int)

Opcode

PARSEKIT_ZEND_JMPNZ_EX (int)

Opcode

PARSEKIT_ZEND_JMPZ (int)

Opcode

PARSEKIT_ZEND_JMPZNZ (int)

Opcode

PARSEKIT_ZEND_JMPZ_EX (int)

Opcode

PARSEKIT_ZEND_JMP_NO_CTOR (int)

Opcode

PARSEKIT_ZEND_MOD (int)

Opcode

PARSEKIT_ZEND_MUL (int)

Opcode

PARSEKIT_ZEND_NEW (int)

Opcode

PARSEKIT_ZEND_NOP (int)

Opcode

PARSEKIT_ZEND_OP_DATA (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_POST_DEC (int)

Opcode

PARSEKIT_ZEND_POST_DEC_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_POST_INC (int)

Opcode

PARSEKIT_ZEND_POST_INC_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_PRE_DEC (int)

Opcode

PARSEKIT_ZEND_PRE_DEC_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_PRE_INC (int)

Opcode

PARSEKIT_ZEND_PRE_INC_OBJ (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_PRINT (int)

Opcode

PARSEKIT_ZEND_QM_ASSIGN (int)

Opcode

PARSEKIT_ZEND_RAISE_ABSTRACT_ERROR (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_RECV (int)

Opcode

PARSEKIT_ZEND_RECV_INIT (int)

Opcode

PARSEKIT_ZEND_RETURN (int)

Opcode

PARSEKIT_ZEND_SEND_REF (int)

Opcode

PARSEKIT_ZEND_SEND_VAL (int)

Opcode

PARSEKIT_ZEND_SEND_VAR (int)

Opcode

PARSEKIT_ZEND_SEND_VAR_NO_REF (int)

Opcode

PARSEKIT_ZEND_SL (int)

Opcode

PARSEKIT_ZEND_SR (int)

Opcode

PARSEKIT_ZEND_SUB (int)

Opcode

PARSEKIT_ZEND_SWITCH_FREE (int)

Opcode

PARSEKIT_ZEND_THROW (int) PHP >= 5.0.0

Opcode

PARSEKIT_ZEND_TICKS (int)

Opcode

PARSEKIT_ZEND_UNSET_DIM_OBJ (int)

Opcode

PARSEKIT_ZEND_UNSET_VAR (int)

Opcode

PARSEKIT_ZEND_VERIFY_ABSTRACT_CLASS (int) PHP >= 5.0.0

Opcode

Tabla de contenidos
parsekit_compile_file -- Compile a string of PHP code and return the resulting op array
parsekit_compile_string -- Compile a string of PHP code and return the resulting op array
parsekit_func_arginfo -- Return information regarding function argument(s)

Anterior | Inicio | Siguiente
px_update_record | Subir | parsekit_compile_file


parsekit_compile_file

(PECL)

parsekit_compile_file -- Compile a string of PHP code and return the resulting op array

Descripción

array parsekit_compile_file ( string filename [, array &errors [, int options]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

filename

A string containing the name of the file to compile. Similar to the argument to include().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Valores retornados

Returns a complex multi-layer array structure as detailed below.

Ejemplos

Ejemplo 1. parsekit_compile_file() example

<?php
var_dump(parsekit_compile_file('hello_world.php', $errors, PARSEKIT_SIMPLE));
?>

El resultado del ejemplo seria:

array(5) {
  [0]=>
  string(37) "ZEND_ECHO UNUSED 'Hello World' UNUSED"
  [1]=>
  string(30) "ZEND_RETURN UNUSED NULL UNUSED"
  [2]=>
  string(42) "ZEND_HANDLE_EXCEPTION UNUSED UNUSED UNUSED"
  ["function_table"]=>
  NULL
  ["class_table"]=>
  NULL
}

Ver también

parsekit_compile_string()

Anterior | Inicio | Siguiente
Parsekit Functions | Subir | parsekit_compile_string


parsekit_compile_string

(PECL)

parsekit_compile_string -- Compile a string of PHP code and return the resulting op array

Descripción

array parsekit_compile_string ( string phpcode [, array &errors [, int options]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

phpcode

A string containing phpcode. Similar to the argument to eval().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Valores retornados

Returns a complex multi-layer array structure as detailed below.

Ejemplos

Ejemplo 1. parsekit_compile_string() example

<?php
  $ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);

  var_dump($ops);
?>

El resultado del ejemplo seria:

array(20) {
  ["type"]=>
  int(4)
  ["type_name"]=>
  string(14) "ZEND_EVAL_CODE"
  ["fn_flags"]=>
  int(0)
  ["num_args"]=>
  int(0)
  ["required_num_args"]=>
  int(0)
  ["pass_rest_by_reference"]=>
  bool(false)
  ["uses_this"]=>
  bool(false)
  ["line_start"]=>
  int(0)
  ["line_end"]=>
  int(0)
  ["return_reference"]=>
  bool(false)
  ["refcount"]=>
  int(1)
  ["last"]=>
  int(3)
  ["size"]=>
  int(3)
  ["T"]=>
  int(0)
  ["last_brk_cont"]=>
  int(0)
  ["current_brk_cont"]=>
  int(-1)
  ["backpatch_count"]=>
  int(0)
  ["done_pass_two"]=>
  bool(true)
  ["filename"]=>
  string(17) "Parsekit Compiler"
  ["opcodes"]=>
  array(3) {
    [8594800]=>
    array(5) {
      ["opcode"]=>
      int(40)
      ["opcode_name"]=>
      string(9) "ZEND_ECHO"
      ["flags"]=>
      int(768)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &string(4) "Foo
"
      }
      ["lineno"]=>
      int(2)
    }
    ["859484C"]=>
    array(6) {
      ["opcode"]=>
      int(62)
      ["opcode_name"]=>
      string(11) "ZEND_RETURN"
      ["flags"]=>
      int(16777984)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &NULL
      }
      ["extended_value"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
    [8594898]=>
    array(4) {
      ["opcode"]=>
      int(149)
      ["opcode_name"]=>
      string(21) "ZEND_HANDLE_EXCEPTION"
      ["flags"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
  }
}

Ver también

parsekit_compile_file()

Anterior | Inicio | Siguiente
parsekit_compile_file | Subir | parsekit_func_arginfo


parsekit_func_arginfo

(PECL)

parsekit_func_arginfo -- Return information regarding function argument(s)

Descripción

array parsekit_func_arginfo ( mixed function )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

function

A string describing a function, or an array describing a class/method.

Valores retornados

Returns an array containing argument information.

Ejemplos

Ejemplo 1. parsekit_func_arginfo() example

<?php
function foo($bar, stdClass $baz, &$bomb, $bling = false) {
}

var_dump(parsekit_func_arginfo('foo'));
?>

El resultado del ejemplo seria:

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(3) "bar"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(3) "baz"
    ["class_name"]=>
    string(8) "stdClass"
    ["allow_null"]=>
    bool(false)
    ["pass_by_reference"]=>
    bool(false)
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(4) "bomb"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(true)
  }
  [3]=>
  array(3) {
    ["name"]=>
    string(5) "bling"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
}

Anterior | Inicio | Siguiente
parsekit_compile_string | Subir | Funciones de Control de Procesos


Funciones PDF

Manual de PHP
Anterior Siguiente

CXIX. Funciones PDF

Introducción

Las funciones PDF en PHP pueden crear archivos PDF utilizando la biblioteca PDFlib creada por Thomas Merz.

La documentación en esta sección solamente es una descripción de las funciones de la biblioteca PDFlib y no debería considerarse una referencia exhaustiva. Se ha de consultar la documentación incluida en el código fuente de la distribución de PDFlib para una completa y detallada explicación de cada función. Proporciona muy buena descripción de las capacidades de PDFlib y contiene actualizada la documentación de todas las funciones.

Todas las funciones de PDFlib y del módulo PHP tienen nombres iguales para las funciones y parámetros. Se necesitará entender algunos de los conceptos básicos de PDF y PostScript para un eficiente uso de esta extensión. Todas las longitudes y coordenadas se mesuran en puntos PostScript. Generalmente hay 72 puntos PostScript por pulgada, pero esto depende de la resolución de salida. Se puede consultar la documentación incluida en la distribución de PDFlib para una detallada explicación del sistema de coordenadas utilizado.

Hay que tener en cuenta que la mayoría de las funciones PDF requieren un primer parámetro pdfdoc. En los siguientes ejemplos hay más información.

Nota: Si se está interesado en alternativas de generadores gratis de PDF que no utilizen liberías externas PDF, mirar este FAQ relacionado.

Requisitos

PDFlib está disponible para descargar en http://www.pdflib.com/products/pdflib-family/, pero requiere la compra de una licencia para uso comercial. Se requieren las bibliotecas JPEG y TIFF para compilar esta extensión.

Compatibilidad con versiones antiguas de PDFlib

Cualquier versión de PHP después del 9 de Marzo del 2000 no soporta versiones de PDFlib anteriores a la 3.0.

PDFlib 3.0 o superior es compatible desde PHP 3.0.19 en adelante.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/pdflib.

To get these functions to work in PHP < 4.3.9, you have to compile PHP with --with-pdflib[=DIR]. DIR is the PDFlib base install directory, defaults to /usr/local.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Confusiones con antiguas versiones de PDFlib

Desde PHP 4.0.5, la extensión PHP para PDFlib es oficialmente soportada por PDFlib GmbH. Esto significa que todas las funciones descritas en el manual de PDFlib (V3.00 o superior) son soportadas por PHP 4 con el mismo funcionamiento y parámetros. Sólo los valores devueltos pueden variar en el manual PDFlib, ya que PHP adoptó la convención de devolver FALSE. Por razones de compatibilidad, PDFlib aún soporta las antiguas funciones, pero deberían reemplazarlas en sus nuevas versiones. PDFlib GmbH no dará soporte a cualquier problema causado por el uso de estas funciones obsoletas.

Tabla 1. Funciones obsoletas y sus reemplazos.

Antigua función | Reemplazo
pdf_put_image() | Ya no se necesita.
pdf_execute_image() | Ya no se necesita.
pdf_get_annotation() | pdf_get_bookmark() utilizando los mismos parámetros.
pdf_get_font() | pdf_get_value() pasando "font" como segundo parámetro.
pdf_get_fontsize() | pdf_get_value() pasando "fontsize" como segundo parámetro.
pdf_get_fontname() | pdf_get_parameter() pasando "fontname" como segundo parámetro.
pdf_set_info_creator() | pdf_set_info() pasando "Creator" como segundo parámetro.
pdf_set_info_title() | pdf_set_info() pasando "Title" como segundo parámetro.
pdf_set_info_subject() | pdf_set_info() pasando "Subject" como segundo parámetro.
pdf_set_info_author() | pdf_set_info() pasando "Author" como segundo parámetro.
pdf_set_info_keywords() | pdf_set_info() pasando "Keywords" como segundo parámetro.
pdf_set_leading() | pdf_set_value() pasando "leading" como segundo parámetro.
pdf_set_text_rendering() | pdf_set_value() pasando "textrendering" como segundo parámetro.
pdf_set_text_rise() | pdf_set_value() pasando "textrise" como segundo parámetro.
pdf_set_horiz_scaling() | pdf_set_value() pasando "horizscaling" como segundo parámetro.
pdf_set_text_matrix() | Ya no se necesita.
pdf_set_char_spacing() | pdf_set_value() pasando "charspacing" como segundo parámetro.
pdf_set_word_spacing() | pdf_set_value() pasando "wordspacing" como segundo parámetro.
pdf_set_transition() | pdf_set_parameter() pasando "transition" como segundo parámetro.
pdf_open() | pdf_new() más la subsecuente llamada de pdf_open_file()
pdf_set_font() | pdf_findfont() más la subsecuente llamada de pdf_setfont()
pdf_set_duration() | pdf_set_value() pasando "duration" como segundo parámetro.
pdf_open_gif() | pdf_open_image_file() pasando "gif" como segundo parámetro.
pdf_open_jpeg() | pdf_open_image_file() pasando "jpeg" como segundo parámetro.
pdf_open_tiff() | pdf_open_image_file() pasando "tiff" como segundo parámetro.
pdf_open_png() | pdf_open_image_file() pasando "png" como segundo parámetro.
pdf_get_image_width() | pdf_get_value() pasando "imagewidth" como segundo parámetro y la imágen como tercer parámetro.
pdf_get_image_height() | pdf_get_value() pasando "imageheight" como segundo parámetro y la imágen como tercer parámetro.

Ejemplos

La mayoría de las funciones son bastante fáciles de utilizar. La parte más difícil probablemente es la creación de un primer documento PDF. El siguiente ejemplo debería ayudar para comenzar. El ejemplo crea el archivo test.pdf en una página. La página contiene el texto "Times Roman outlined" en un contorno, con fuente de 30pt. El texto también está subrayado.

Ejemplo 1. Creando un documento PDF con PDFlib

<?php
$pdf = pdf_new();
pdf_open_file($pdf, "test.pdf");
pdf_set_info($pdf, "Author", "Javier Tacon");
pdf_set_info($pdf, "Title", "Test for PHP wrapper of PDFlib 2.0");
pdf_set_info($pdf, "Creator", "See Author");
pdf_set_info($pdf, "Subject", "Testing");
pdf_begin_page($pdf, 595, 842);
pdf_add_outline($pdf, "Page 1");
$font = pdf_findfont($pdf, "Times New Roman", "winansi", 1);
pdf_setfont($pdf, $font, 10);
pdf_set_value($pdf, "textrendering", 1);
pdf_show_xy($pdf, "Times Roman outlined", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);
pdf_end_page($pdf);
pdf_close($pdf);
pdf_delete($pdf);
echo "<A HREF=getpdf.php>finished</A>";
?>
El script getpdf.php simplemente devuelve el documento pdf.

Ejemplo 2. Mostrando un documento PDF precalculado

<?php
$len = filesize($filename);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
readfile($filename);
?>

La distrubución PDFlib contiene un ejemplo más complejo para crear un reloj analógico en una página. Aquí se utiliza el método de creación en memoria de PDFlib para no tener que crear un archivo temporal. El ejemplo se ha convertido a PHP desde uno de PDFlib (El mismo ejemplo está disponible en la documentación ClibPDF.)

Ejemplo 3. Ejemplo pdfclock de la distribución PDFlib

<?php
$radius = 200;
$margin = 20;
$pagecount = 10;

$pdf = pdf_new();

if (!pdf_open_file($pdf, "")) {
    echo error;
    exit;
};

pdf_set_parameter($pdf, "warning", "true");

pdf_set_info($pdf, "Creator", "pdf_clock.php");
pdf_set_info($pdf, "Author", "Uwe Steinmann");
pdf_set_info($pdf, "Title", "Analog Clock");

while ($pagecount-- > 0) {
    pdf_begin_page($pdf, 2 * ($radius + $margin), 2 * ($radius + $margin));

    pdf_set_parameter($pdf, "transition", "wipe");
    pdf_set_value($pdf, "duration", 0.5);

    pdf_translate($pdf, $radius + $margin, $radius + $margin);
    pdf_save($pdf);
    pdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);

    /* minute strokes */
    pdf_setlinewidth($pdf, 2.0);
    for ($alpha = 0; $alpha < 360; $alpha += 6) {
        pdf_rotate($pdf, 6.0);
        pdf_moveto($pdf, $radius, 0.0);
        pdf_lineto($pdf, $radius-$margin/3, 0.0);
        pdf_stroke($pdf);
    }

    pdf_restore($pdf);
    pdf_save($pdf);

    /* 5 minute strokes */
    pdf_setlinewidth($pdf, 3.0);
    for ($alpha = 0; $alpha < 360; $alpha += 30) {
        pdf_rotate($pdf, 30.0);
        pdf_moveto($pdf, $radius, 0.0);
        pdf_lineto($pdf, $radius-$margin, 0.0);
        pdf_stroke($pdf);
    }

    $ltime = getdate();

    /* draw hour hand */
    pdf_save($pdf);
    pdf_rotate($pdf,-(($ltime['minutes']/60.0)+$ltime['hours']-3.0)*30.0);
    pdf_moveto($pdf, -$radius/10, -$radius/20);
    pdf_lineto($pdf, $radius/2, 0.0);
    pdf_lineto($pdf, -$radius/10, $radius/20);
    pdf_closepath($pdf);
    pdf_fill($pdf);
    pdf_restore($pdf);

    /* draw minute hand */
    pdf_save($pdf);
    pdf_rotate($pdf,-(($ltime['seconds']/60.0)+$ltime['minutes']-15.0)*6.0);
    pdf_moveto($pdf, -$radius/10, -$radius/20);
    pdf_lineto($pdf, $radius * 0.8, 0.0);
    pdf_lineto($pdf, -$radius/10, $radius/20);
    pdf_closepath($pdf);
    pdf_fill($pdf);
    pdf_restore($pdf);

    /* draw second hand */
    pdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
    pdf_setlinewidth($pdf, 2);
    pdf_save($pdf);
    pdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
    pdf_moveto($pdf, -$radius/5, 0.0);
    pdf_lineto($pdf, $radius, 0.0);
    pdf_stroke($pdf);
    pdf_restore($pdf);

    /* draw little circle at center */
    pdf_circle($pdf, 0, 0, $radius/30);
    pdf_fill($pdf);

    pdf_restore($pdf);

    pdf_end_page($pdf);

    # to see some difference
    sleep(1);
}

pdf_close($pdf);

$buf = pdf_get_buffer($pdf);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
echo $buf;

pdf_delete($pdf);
?>

Ver también

Nota: Una alternativa de módulo PHP para la creación de documentos PDF basados en FastIO's ClibPDF está disponible. Mirar la sección ClibPDF para más detalles. Tener en cuenta que ClibPDF tiene alguna diferencia con PDFlib.

Tabla de contenidos
PDF_activate_item -- Activate structure element or other content item
pdf_add_annotation -- Adds annotation
PDF_add_bookmark -- Add bookmark for current page [deprecated]
PDF_add_launchlink -- Add launch annotation for current page [deprecated]
PDF_add_locallink -- Add link annotation for current page [deprecated]
PDF_add_nameddest -- Create named destination
PDF_add_note -- Set annotation for current page [deprecated]
PDF_add_outline -- Adds bookmark for current page
PDF_add_pdflink -- Add file link annotation for current page [deprecated]
PDF_add_thumbnail -- Add thumbnail for current page
PDF_add_weblink -- Add weblink for current page [deprecated]
PDF_arc -- Draws an arc
PDF_arcn -- Draw a clockwise circular arc segment
PDF_attach_file -- Add file attachment for current page [deprecated]
PDF_begin_document -- Create new PDF file
PDF_begin_font -- Start a Type 3 font definition
PDF_begin_glyph -- Start glyph definition for Type 3 font
PDF_begin_item -- Open structure element or other content item
PDF_begin_layer -- Start layer
PDF_begin_page_ext -- Start new page
PDF_begin_page -- Starts new page
PDF_begin_pattern -- Start pattern definition
PDF_begin_template -- Start template definition
PDF_circle -- Draws a circle
PDF_clip -- Clips to current path
PDF_close_image -- Closes an image
PDF_close_pdi_page -- Close the page handle
PDF_close_pdi -- Close the input PDF document
PDF_close -- Closes a pdf document
PDF_closepath_fill_stroke -- Closes, fills and strokes current path
PDF_closepath_stroke -- Closes path and draws line along path
PDF_closepath -- Closes path
PDF_concat -- Concatenate a matrix to the CTM
PDF_continue_text -- Outputs text in next line
PDF_create_action -- Create action for objects or events
PDF_create_annotation -- Create rectangular annotation
PDF_create_bookmark -- Create bookmark
PDF_create_field -- Create form field
PDF_create_fieldgroup -- Create form field group
PDF_create_gstate -- Create graphics state object
PDF_create_pvf -- Create PDFlib virtual file
PDF_create_textflow -- Create textflow object
PDF_curveto -- Draws a curve
PDF_define_layer -- Create layer definition
PDF_delete_pvf -- Delete PDFlib virtual file
PDF_delete_textflow -- Delete textflow object
PDF_delete -- Delete PDFlib object
PDF_encoding_set_char -- Add glyph name and/or Unicode value
PDF_end_document -- Close PDF file
PDF_end_font -- Terminate Type 3 font definition
PDF_end_glyph -- Terminate glyph definition for Type 3 font
PDF_end_item -- Close structure element or other content item
PDF_end_layer -- Deactivate all active layers
PDF_end_page_ext -- Finish page
PDF_end_page -- Ends a page
PDF_end_pattern -- Finish pattern
PDF_end_template -- Finish template
PDF_endpath -- Ends current path
PDF_fill_imageblock -- Fill image block with variable data
PDF_fill_pdfblock -- Fill PDF block with variable data
PDF_fill_stroke -- Fills and strokes current path
PDF_fill_textblock -- Fill text block with variable data
PDF_fill -- Fills current path
PDF_findfont -- Prepare font for later use [deprecated]
PDF_fit_image -- Place image or template
PDF_fit_pdi_page -- Place imported PDF page
PDF_fit_textflow -- Format textflow in rectangular area
PDF_fit_textline -- Place single line of text
PDF_get_apiname -- Get name of unsuccessfull API function
PDF_get_buffer -- Get PDF output buffer
PDF_get_errmsg -- Get error text
PDF_get_errnum -- Get error number
PDF_get_font -- Get font [deprecated]
PDF_get_fontname -- Get font name [deprecated]
PDF_get_fontsize -- Font handling [deprecated]
PDF_get_image_height -- Get image height [deprecated]
PDF_get_image_width -- Get image width [deprecated]
PDF_get_majorversion -- Get major version number [deprecated]
PDF_get_minorversion -- Get minor version number [deprecated]
PDF_get_parameter -- Gets certain parameters
PDF_get_pdi_parameter -- Get PDI string parameter
PDF_get_pdi_value -- Get PDI numerical parameter
PDF_get_value -- Gets certain numerical value
PDF_info_textflow -- Query textflow state
PDF_initgraphics -- Reset graphic state
PDF_lineto -- Draws a line
PDF_load_font -- Search and prepare font
PDF_load_iccprofile -- Search and prepare ICC profile
PDF_load_image -- Open image file
PDF_makespotcolor -- Make spot color
PDF_moveto -- Sets current point
PDF_new -- Create PDFlib object
PDF_open_ccitt -- Open raw CCITT image [deprecated]
PDF_open_file -- Create PDF file [deprecated]
PDF_open_gif -- Opens a GIF image
PDF_open_image_file -- Read image from file [deprecated]
PDF_open_image -- Use image data [deprecated]
PDF_open_jpeg -- Opens a JPEG image
PDF_open_memory_image -- Opens an image created with PHP's image functions
PDF_open_pdi_page -- Prepare a page
PDF_open_pdi -- Open PDF file
PDF_open_tiff -- Open TIFF image [deprecated]
PDF_place_image -- Places an image on the page
PDF_place_pdi_page -- Place PDF page [deprecated]
PDF_process_pdi -- Process imported PDF document
PDF_rect -- Draws a rectangle
PDF_restore -- Restores formerly saved environment
PDF_resume_page -- Resume page
PDF_rotate -- Sets rotation
PDF_save -- Saves the current environment
PDF_scale -- Sets scaling
PDF_set_border_color -- Sets color of border around links and annotations
PDF_set_border_dash -- Sets dash style of border around links and annotations
PDF_set_border_style -- Sets style of border around links and annotations
PDF_set_char_spacing -- Sets character spacing
PDF_set_duration -- Sets duration between pages
PDF_set_gstate -- Activate graphics state object
PDF_set_horiz_scaling -- Sets horizontal scaling of text
PDF_set_info_author -- Fill the author document info field [deprecated]
PDF_set_info_creator -- Fill the creator document info field [deprecated]
PDF_set_info_keywords -- Fill the keywords document info field [deprecated]
PDF_set_info_subject -- Fill the subject document info field [deprecated]
PDF_set_info_title -- Fill the title document info field [deprecated]
PDF_set_info -- Fills a field of the document information
PDF_set_layer_dependency -- Define relationships among layers
PDF_set_leading -- Sets distance between text lines
PDF_set_parameter -- Sets certain parameters
PDF_set_text_matrix -- Sets the text matrix
PDF_set_text_pos -- Sets text position
PDF_set_text_rendering -- Determines how text is rendered
PDF_set_text_rise -- Sets the text rise
PDF_set_value -- Sets certain numerical value
PDF_set_word_spacing -- Sets spacing between words
PDF_setcolor -- Set fill and stroke color
PDF_setdash -- Sets dash pattern
PDF_setdashpattern -- Set dash pattern
PDF_setflat -- Sets flatness
PDF_setfont -- Set font
PDF_setgray_fill -- Sets filling color to gray value
PDF_setgray_stroke -- Sets drawing color to gray value
PDF_setgray -- Sets drawing and filling color to gray value
PDF_setlinecap -- Sets linecap parameter
PDF_setlinejoin -- Sets linejoin parameter
PDF_setlinewidth -- Sets line width
PDF_setmatrix -- Set current transformation matrix
PDF_setmiterlimit -- Sets miter limit
PDF_setpolydash -- Set complicated dash pattern [deprecated]
PDF_setrgbcolor_fill -- Sets filling color to rgb color value
PDF_setrgbcolor_stroke -- Sets drawing color to rgb color value
PDF_setrgbcolor -- Sets drawing and filling color to rgb color value
PDF_shading_pattern -- Define shading pattern
PDF_shading -- Define blend
PDF_shfill -- Fill area with shading
PDF_show_boxed -- Output text in a box
PDF_show_xy -- Output text at given position
PDF_show -- Output text at current position
PDF_skew -- Skews the coordinate system
PDF_stringwidth -- Returns width of text using current font
PDF_stroke -- Draws line along path
PDF_suspend_page -- Suspend page
PDF_translate -- Sets origin of coordinate system
PDF_utf16_to_utf8 -- Convert string from UTF-16 to UTF-8
PDF_utf8_to_utf16 -- Convert string from UTF-8 to UTF-16

Anterior | Inicio | Siguiente
preg_split | Subir | PDF_activate_item


pdf_add_annotation

(PHP 3 >= 3.0.12, PHP 4, PECL)

pdf_add_annotation -- Adds annotation

Description

void pdf_add_annotation ( int pdf document, double llx, double lly, double urx, double ury, string title, string content )

The pdf_add_annotation() adds a note with the lower left corner at (llx, lly) and the upper right corner at (urx, ury).

Anterior | Inicio | Siguiente
PDF_activate_item | Subir | PDF_add_bookmark


PDF_add_bookmark

(PHP 4 >= 4.0.1, PECL)

PDF_add_bookmark -- Add bookmark for current page [deprecated]

Descripción

This function is deprecated since PDFlib version 6, use PDF_create_bookmark() instead.

Anterior | Inicio | Siguiente
pdf_add_annotation | Subir | PDF_add_launchlink


PDF_add_launchlink

(PHP 4 >= 4.0.5, PECL)

PDF_add_launchlink -- Add launch annotation for current page [deprecated]

Descripción

bool PDF_add_launchlink ( resource pdfdoc, float llx, float lly, float urx, float ury, string filename )

Adds a link to a web resource.

This function is deprecated since PDFlib version 6,
use PDF_create_action() with
type=Launch and
PDF_create_annotation() with
type=Link instead.

Anterior | Inicio | Siguiente
PDF_add_bookmark | Subir | PDF_add_locallink


PDF_add_locallink

(PHP 4 >= 4.0.5, PECL)

PDF_add_locallink -- Add link annotation for current page [deprecated]

Descripción

bool PDF_add_locallink ( resource pdfdoc, float lowerleftx, float lowerlefty, float upperrightx, float upperrighty, int page, string dest )

Add a link annotation to a target within the current PDF file. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=GoTo
and PDF_create_annotation() with
type=Link instead.

Anterior | Inicio | Siguiente
PDF_add_launchlink | Subir | PDF_add_nameddest


PDF_add_note

(PHP 4 >= 4.0.5, PECL)

PDF_add_note -- Set annotation for current page [deprecated]

Descripción

bool PDF_add_note ( resource pdfdoc, float llx, float lly, float urx, float ury, string contents, string title, string icon, int open )

Sets an annotation for the current page. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 6, use PDF_create_annotation() with type=Text instead.

Anterior | Inicio | Siguiente
PDF_add_nameddest | Subir | PDF_add_outline


PDF_add_outline

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_add_outline -- Adds bookmark for current page

Description

int pdf_add_outline ( int pdf document, string text [, int parent [, int open]] )

The PDF_add_outline() function adds a bookmark with text text that points to the current page. The bookmark is inserted as a child of parent and is by default open if open is not 0. The return value is an identifier for the bookmark which can be used as a parent for other bookmarks. Therefore you can build up hierarchies of bookmarks.

Unfortunately pdflib does not make a copy of the string, which forces PHP to allocate the memory. Currently this piece of memory is not been freed by any PDF function but it will be taken care of by the PHP memory manager.

Anterior | Inicio | Siguiente
PDF_add_note | Subir | PDF_add_pdflink


PDF_add_pdflink

(PHP 3 >= 3.0.12, PHP 4, PECL)

PDF_add_pdflink -- Add file link annotation for current page [deprecated]

Descripción

bool PDF_add_pdflink ( resource pdfdoc, float bottom_left_x, float bottom_left_y, float up_right_x, float up_right_y, string filename, int page, string dest )

Add a file link annotation to a PDF target. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with
type=GoToR and
PDF_create_annotation() with
type=Link instead.

Anterior | Inicio | Siguiente
PDF_add_outline | Subir | PDF_add_thumbnail


PDF_add_thumbnail

(PHP 4 >= 4.0.5, PECL)

PDF_add_thumbnail -- Add thumbnail for current page

Descripción

bool PDF_add_thumbnail ( resource pdfdoc, int image )

Adds an existing image as thumbnail for the current page. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_add_pdflink | Subir | PDF_add_weblink


PDF_add_weblink

(PHP 3 >= 3.0.12, PHP 4, PECL)

PDF_add_weblink -- Add weblink for current page [deprecated]

Descripción

bool PDF_add_weblink ( resource pdfdoc, float lowerleftx, float lowerlefty, float upperrightx, float upperrighty, string url )

Adds a weblink annotation to a target url on the Web. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=URI
and PDF_create_annotation() with
type=Link instead.

Anterior | Inicio | Siguiente
PDF_add_thumbnail | Subir | PDF_arc


PDF_arc

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_arc -- Draws an arc

Description

void pdf_arc ( int pdf document, double x-coor, double y-coor, double radius, double start, double end )

The PDF_arc() function draws an arc with center at point (x-coor, y-coor) and radius radius, starting at angle start and ending at angle end.

See also PDF_circle(), PDF_stroke().

Anterior | Inicio | Siguiente
PDF_add_weblink | Subir | PDF_arcn


PDF_arcn

(PHP 4 >= 4.0.5, PECL)

PDF_arcn -- Draw a clockwise circular arc segment

Descripción

bool PDF_arcn ( resource p, float x, float y, float r, float alpha, float beta )

Except for the drawing direction, this function behaves exactly like PDF_arc().

Anterior | Inicio | Siguiente
PDF_arc | Subir | PDF_attach_file


PDF_attach_file

(PHP 4 >= 4.0.5, PECL)

PDF_attach_file -- Add file attachment for current page [deprecated]

Descripción

bool PDF_attach_file ( resource pdfdoc, float llx, float lly, float urx, float ury, string filename, string description, string author, string mimetype, string icon )

Adds a file attachment annotation. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 6, use PDF_create_annotation() with type=FileAttachment instead.

Anterior | Inicio | Siguiente
PDF_arcn | Subir | PDF_begin_document


PDF_begin_page

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_begin_page -- Starts new page

Description

void pdf_begin_page ( int pdf document, double width, double height )

The PDF_begin_page() function starts a new page with height height and width width. In order to create a valid document you must call this function and PDF_end_page().

See also PDF_end_page().

Anterior | Inicio | Siguiente
PDF_begin_page_ext | Subir | PDF_begin_pattern


PDF_begin_pattern

(PHP 4 >= 4.0.5, PECL)

PDF_begin_pattern -- Start pattern definition

Descripción

int PDF_begin_pattern ( resource pdfdoc, float width, float height, float xstep, float ystep, int painttype )

Starts a new pattern definition.

Anterior | Inicio | Siguiente
PDF_begin_page | Subir | PDF_begin_template


PDF_begin_template

(PHP 4 >= 4.0.5, PECL)

PDF_begin_template -- Start template definition

Descripción

int PDF_begin_template ( resource pdfdoc, float width, float height )

Starts a new template definition.

Anterior | Inicio | Siguiente
PDF_begin_pattern | Subir | PDF_circle


PDF_circle

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_circle -- Draws a circle

Description

void pdf_circle ( int pdf document, double x-coor, double y-coor, double radius )

The PDF_circle() function draws a circle with center at point (x-coor, y-coor) and radius radius.

See also PDF_arc(), PDF_stroke().

Anterior | Inicio | Siguiente
PDF_begin_template | Subir | PDF_clip


PDF_clip

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_clip -- Clips to current path

Description

void pdf_clip ( int pdf document )

The PDF_clip() function clips all drawing to the current path.

Anterior | Inicio | Siguiente
PDF_circle | Subir | PDF_close_image


PDF_close_image

(PHP 3 >= 3.0.7, PHP 4, PECL)

PDF_close_image -- Closes an image

Description

void pdf_close_image ( int image )

The PDF_close_image() function closes an image which has been opened with any of the PDF_open_xxx() functions.

See also PDF_open_jpeg(),
         PDF_open_gif(),
         PDF_open_memory_image().

Anterior | Inicio | Siguiente
PDF_clip | Subir | PDF_close_pdi_page


PDF_close_pdi_page

(PHP 4 >= 4.0.5, PECL)

PDF_close_pdi_page -- Close the page handle

Descripción

bool PDF_close_pdi_page ( resource p, int page )

Closes the page handle, and frees all page-related resources. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_close_image | Subir | PDF_close_pdi


PDF_close_pdi

(PHP 4 >= 4.0.5, PECL)

PDF_close_pdi -- Close the input PDF document

Descripción

bool PDF_close_pdi ( resource p, int doc )

Closes all open page handles, and closes the input PDF document. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_close_pdi_page | Subir | PDF_close


PDF_close

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_close -- Closes a pdf document

Description

void pdf_close ( int pdf document )

The PDF_close() function closes the pdf document.

Nota: Due to an unclean implementation of the pdflib 0.6 the internal closing of the document also closes the file. This should not be done because pdflib did not open the file, but expects an already open file when PDF_open() is called. Consequently it shouldn't close the file. In order to fix this just take out line 190 of the file p_basic.c in the pdflib 0.6 source distribution until the next release of pdflib will fix this.

Nota: This function works properly without any patches to pdflib if pdflib 2.0 support is activated.

See also PDF_open(), fclose().

Anterior | Inicio | Siguiente
PDF_close_pdi | Subir | PDF_closepath_fill_stroke


PDF_closepath_fill_stroke

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_closepath_fill_stroke -- Closes, fills and strokes current path

Description

void pdf_closepath_fill_stroke ( int pdf document )

The PDF_closepath_fill_stroke() function closes, fills the interior of the current path with the current fill color and draws current path.

See also PDF_closepath(),
         PDF_stroke(),
         PDF_fill(),
         PDF_setgray_fill(),
         PDF_setgray(),
         PDF_setrgbcolor_fill(),
         PDF_setrgbcolor().

Anterior | Inicio | Siguiente
PDF_close | Subir | PDF_closepath_stroke


PDF_closepath_stroke

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_closepath_stroke -- Closes path and draws line along path

Description

void pdf_closepath_stroke ( int pdf document )

The PDF_closepath_stroke() function is a
combination of PDF_closepath() and
PDF_stroke(). It also clears the path.

See also PDF_closepath(), PDF_stroke().

Anterior | Inicio | Siguiente
PDF_closepath_fill_stroke | Subir | PDF_closepath


PDF_closepath

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_closepath -- Closes path

Description

void pdf_closepath ( int pdf document )

The PDF_closepath() function closes the current path. This means, it draws a line from current point to the point where the first line was started. Many functions like PDF_moveto(), PDF_circle() and PDF_rect() start a new path.

Anterior | Inicio | Siguiente
PDF_closepath_stroke | Subir | PDF_concat


PDF_concat

(PHP 4 >= 4.0.5, PECL)

PDF_concat -- Concatenate a matrix to the CTM

Descripción

bool PDF_concat ( resource p, float a, float b, float c, float d, float e, float f )

Concatenates a matrix to the current transformation matrix (CTM). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_closepath | Subir | PDF_continue_text


PDF_continue_text

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_continue_text -- Outputs text in next line

Description

void pdf_continue_text ( int pdf document, string text )

The PDF_continue_text() function outputs the string in text in the next line. The distance between the lines can be set with PDF_set_leading().

See also PDF_show_xy(),
         PDF_set_leading(),
         PDF_set_text_pos().

Anterior | Inicio | Siguiente
PDF_concat | Subir | PDF_create_action


PDF_curveto

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_curveto -- Draws a curve

Description

void pdf_curveto ( int pdf document, double x1, double y1, double x2, double y2, double x3, double y3 )

The PDF_curveto() function draws a Bezier curve from the current point to the point (x3, y3) using (x1, y1) and (x2, y2) as control points.

See also PDF_moveto(),
         PDF_lineto(),
         PDF_stroke().

Anterior | Inicio | Siguiente
PDF_create_textflow | Subir | PDF_define_layer


PDF_delete

(PHP 4 >= 4.0.5, PECL)

PDF_delete -- Delete PDFlib object

Descripción

bool PDF_delete ( resource pdfdoc )

Deletes a PDFlib object, and frees all internal resources. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_delete_textflow | Subir | PDF_encoding_set_char


PDF_end_page

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_end_page -- Ends a page

Description

void pdf_end_page ( int pdf document )

The PDF_end_page() function ends a page. Once a page is ended it cannot be modified anymore.

See also PDF_begin_page().

Anterior | Inicio | Siguiente
PDF_end_page_ext | Subir | PDF_end_pattern


PDF_end_pattern

(PHP 4 >= 4.0.5, PECL)

PDF_end_pattern -- Finish pattern

Descripción

bool PDF_end_pattern ( resource p )

Finishes the pattern definition. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_end_page | Subir | PDF_end_template


PDF_end_template

(PHP 4 >= 4.0.5, PECL)

PDF_end_template -- Finish template

Descripción

bool PDF_end_template ( resource p )

Finishes a template definition. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_end_pattern | Subir | PDF_endpath


PDF_endpath

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_endpath -- Ends current path

Description

void pdf_endpath ( int pdf document )

The PDF_endpath() function ends the current path but does not close it.

See also PDF_closepath().

Anterior | Inicio | Siguiente
PDF_end_template | Subir | PDF_fill_imageblock


PDF_fill_stroke

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_fill_stroke -- Fills and strokes current path

Description

void pdf_fill_stroke ( int pdf document )

The PDF_fill_stroke() function fills the interior of the current path with the current fill color and draws current path.

See also PDF_closepath(),
         PDF_stroke(),
         PDF_fill(),
         PDF_setgray_fill(),
         PDF_setgray(),
         PDF_setrgbcolor_fill(),
         PDF_setrgbcolor().

Anterior | Inicio | Siguiente
PDF_fill_pdfblock | Subir | PDF_fill_textblock


PDF_fill

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_fill -- Fills current path

Description

void pdf_fill ( int pdf document )

The PDF_fill() function fills the interior of the current path with the current fill color.

See also PDF_closepath(),
         PDF_stroke(),
         PDF_setgray_fill(),
         PDF_setgray(),
         PDF_setrgbcolor_fill(),
         PDF_setrgbcolor().

Anterior | Inicio | Siguiente
PDF_fill_textblock | Subir | PDF_findfont


PDF_findfont

(PHP 4 >= 4.0.5, PECL)

PDF_findfont -- Prepare font for later use [deprecated]

Descripción

int PDF_findfont ( resource p, string fontname, string encoding, int embed )

Search for a font and prepare it for later use with PDF_setfont(). The metrics will be loaded, and if embed is nonzero, the font file will be checked, but not yet used. encoding is one of builtin, macroman, winansi, host, a user-defined encoding name or the name of a CMap. Parameter embed is optional before PHP 4.3.5 or with PDFlib less than 5.

This function is deprecated since PDFlib version 5, use PDF_load_font() instead.

Anterior | Inicio | Siguiente
PDF_fill | Subir | PDF_fit_image


PDF_get_buffer

(PHP 4 >= 4.0.5, PECL)

PDF_get_buffer -- Get PDF output buffer

Descripción

string PDF_get_buffer ( resource p )

Fetches the buffer containing the generated PDF data.

Anterior | Inicio | Siguiente
PDF_get_apiname | Subir | PDF_get_errmsg


PDF_get_font

(PHP 4, PECL)

PDF_get_font -- Get font [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter font instead.

Anterior | Inicio | Siguiente
PDF_get_errnum | Subir | PDF_get_fontname


PDF_get_fontname

(PHP 4, PECL)

PDF_get_fontname -- Get font name [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_get_parameter() with the parameter fontname instead.

Anterior | Inicio | Siguiente
PDF_get_font | Subir | PDF_get_fontsize


PDF_get_fontsize

(PHP 4, PECL)

PDF_get_fontsize -- Font handling [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter fontsizeinstead.

Anterior | Inicio | Siguiente
PDF_get_fontname | Subir | PDF_get_image_height


PDF_get_image_height

(PHP 3 >= 3.0.12, PHP 4, PECL)

PDF_get_image_height -- Get image height [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter imageheight instead.

Anterior | Inicio | Siguiente
PDF_get_fontsize | Subir | PDF_get_image_width


PDF_get_image_width

(PHP 3 >= 3.0.12, PHP 4, PECL)

PDF_get_image_width -- Get image width [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter imagewidth instead.

Anterior | Inicio | Siguiente
PDF_get_image_height | Subir | PDF_get_majorversion


PDF_get_majorversion

(PHP 4 >= 4.2.0, PECL)

PDF_get_majorversion -- Get major version number [deprecated]

Descripción

int PDF_get_majorversion ( void )

This function is deprecated since PDFlib version 5, use PDF_get_value() with the parameter major instead.

Anterior | Inicio | Siguiente
PDF_get_image_width | Subir | PDF_get_minorversion


PDF_get_minorversion

(PHP 4 >= 4.2.0, PECL)

PDF_get_minorversion -- Get minor version number [deprecated]

Descripción

int PDF_get_minorversion ( void )

Returns the minor version number of the PDFlib version.

This function is deprecated since PDFlib version 5, use PDF_get_value() with the parameter minor instead.

Anterior | Inicio | Siguiente
PDF_get_majorversion | Subir | PDF_get_parameter


PDF_get_parameter

(PHP 4 >= 4.0.1, PECL)

PDF_get_parameter -- Gets certain parameters

Description

string pdf_get_parameter ( int pdf document, string name, double modifier )

The PDF_get_parameter() function gets several parameters of pdflib which are of the type string. The function parameter modifier characterizes the parameter to get. If the modifier is not needed it has to be 0.

See also PDF_get_value(),
         PDF_set_value(),
         PDF_set_parameter().

Anterior | Inicio | Siguiente
PDF_get_minorversion | Subir | PDF_get_pdi_parameter


PDF_get_pdi_parameter

(PHP 4 >= 4.0.5, PECL)

PDF_get_pdi_parameter -- Get PDI string parameter

Descripción

string PDF_get_pdi_parameter ( resource p, string key, int doc, int page, int reserved )

Gets the contents of a PDI document parameter with string type.

Anterior | Inicio | Siguiente
PDF_get_parameter | Subir | PDF_get_pdi_value


PDF_get_pdi_value

(PHP 4 >= 4.0.5, PECL)

PDF_get_pdi_value -- Get PDI numerical parameter

Descripción

float PDF_get_pdi_value ( resource p, string key, int doc, int page, int reserved )

Gets the contents of a PDI document parameter with numerical type.

Anterior | Inicio | Siguiente
PDF_get_pdi_parameter | Subir | PDF_get_value


PDF_get_value

(PHP 4 >= 4.0.1, PECL)

PDF_get_value -- Gets certain numerical value

Description

double pdf_get_value ( int pdf document, string name, double modifier )

The PDF_get_value() function gets several numerical parameters of pdflib. The function parameter modifier characterizes the parameter to get. If the modifier is not needed it has to be 0.

See also PDF_set_value(),
         PDF_get_parameter(),
         PDF_set_parameter().

Anterior | Inicio | Siguiente
PDF_get_pdi_value | Subir | PDF_info_textflow


PDF_initgraphics

(PHP 4 >= 4.0.5, PECL)

PDF_initgraphics -- Reset graphic state

Descripción

bool PDF_initgraphics ( resource p )

Reset all color and graphics state parameters to their defaults. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_info_textflow | Subir | PDF_lineto


PDF_lineto

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_lineto -- Draws a line

Description

void pdf_lineto ( int pdf document, double x-coor, double y-coor )

The PDF_lineto() function draws a line from the current point to the point with coordinates (x-coor, y-coor).

See also PDF_moveto(),
         PDF_curveto(),
         PDF_stroke().

Anterior | Inicio | Siguiente
PDF_initgraphics | Subir | PDF_load_font


PDF_makespotcolor

(PHP 4 >= 4.0.5, PECL)

PDF_makespotcolor -- Make spot color

Descripción

int PDF_makespotcolor ( resource p, string spotname )

Finds a built-in spot color name, or makes a named spot color from the current fill color. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_load_image | Subir | PDF_moveto


PDF_moveto

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_moveto -- Sets current point

Description

void pdf_moveto ( int pdf document, double x-coor, double y-coor )

The PDF_moveto() function sets the current point to the coordinates x-coor and y-coor.

Anterior | Inicio | Siguiente
PDF_makespotcolor | Subir | PDF_new


PDF_new

(PHP 4 >= 4.0.5, PECL)

PDF_new -- Create PDFlib object

Descripción

resource PDF_new ( )

Creates a new PDFlib object with default settings.

Anterior | Inicio | Siguiente
PDF_moveto | Subir | PDF_open_ccitt


PDF_open_ccitt

(PHP 4 >= 4.0.5, PECL)

PDF_open_ccitt -- Open raw CCITT image [deprecated]

Descripción

int PDF_open_ccitt ( resource pdfdoc, string filename, int width, int height, int BitReverse, int k, int Blackls1 )

Opens a raw CCITT image.

This function is deprecated since PDFlib version 5, use PDF_load_image() instead.

Anterior | Inicio | Siguiente
PDF_new | Subir | PDF_open_file


PDF_open_file

(PHP 4 >= 4.0.5, PECL)

PDF_open_file -- Create PDF file [deprecated]

Descripción

bool PDF_open_file ( resource p, string filename )

Creates a new PDF file using the supplied file name. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 6, use PDF_begin_document() instead.

Anterior | Inicio | Siguiente
PDF_open_ccitt | Subir | PDF_open_gif


PDF_open_gif

(PHP 3 >= 3.0.7, PHP 4, PECL)

PDF_open_gif -- Opens a GIF image

Description

int pdf_open_gif ( int pdf document, string filename )

The PDF_open_gif() function opens an image stored in the file with the name filename. The format of the image has to be gif. The function returns a pdf image identifier.

Ejemplo 1. Including a gif image

<?php
$im = PDF_open_gif($pdf, "test.gif");
pdf_place_image($pdf, $im, 100, 100, 1);
pdf_close_image($pdf, $im);
?>

See also PDF_close_image(),
         PDF_open_jpeg(),
         PDF_open_memory_image(),
         PDF_execute_image(),
         PDF_place_image(),
         PDF_put_image().

Anterior | Inicio | Siguiente
PDF_open_file | Subir | PDF_open_image_file


PDF_open_image_file

(PHP 3 CVS only, PHP 4, PECL)

PDF_open_image_file -- Read image from file [deprecated]

Descripción

int PDF_open_image_file ( resource p, string imagetype, string filename, string stringparam, int intparam )

Opens an image file.

This function is deprecated since PDFlib version 5, use PDF_load_image() with the colorize, ignoremask, invert, mask, masked, and page options instead.

Anterior | Inicio | Siguiente
PDF_open_gif | Subir | PDF_open_image


PDF_open_image

(PHP 4 >= 4.0.5, PECL)

PDF_open_image -- Use image data [deprecated]

Descripción

int PDF_open_image ( resource p, string imagetype, string source, string data, int length, int width, int height, int components, int bpc, string params )

Uses image data from a variety of data sources.

This function is deprecated since PDFlib version 5, use virtual files and PDF_load_image() instead.

Anterior | Inicio | Siguiente
PDF_open_image_file | Subir | PDF_open_jpeg


PDF_open_jpeg

(PHP 3 >= 3.0.7, PHP 4, PECL)

PDF_open_jpeg -- Opens a JPEG image

Description

int pdf_open_jpeg ( int pdf document, string filename )

The PDF_open_jpeg() function opens an image stored in the file with the name filename. The format of the image has to be jpeg. The function returns a pdf image identifier.

See also PDF_close_image(),
         PDF_open_gif(),
         PDF_open_png(),
         PDF_open_memory_image(),
         PDF_execute_image(),
         PDF_place_image(),
         PDF_put_image().

Anterior | Inicio | Siguiente
PDF_open_image | Subir | PDF_open_memory_image


PDF_open_memory_image

(PHP 3 >= 3.0.10, PHP 4, PECL)

PDF_open_memory_image -- Opens an image created with PHP's image functions

Description

int pdf_open_memory_image ( int pdf document, int image )

The PDF_open_memory_image() function takes an image created with the PHP's image functions and makes it available for the pdf document. The function returns a pdf image identifier.

Ejemplo 1. Including a memory image

<?php
$im = ImageCreate(100, 100);
$col = ImageColorAllocate($im, 80, 45, 190);
ImageFill($im, 10, 10, $col);
$pim = PDF_open_memory_image($pdf, $im);
ImageDestroy($im);
pdf_place_image($pdf, $pim, 100, 100, 1);
pdf_close_image($pdf, $pim);
?>

See also PDF_close_image(),
         PDF_open_jpeg(),
         PDF_open_gif(),
         PDF_open_png()
         PDF_execute_image(),
         PDF_place_image(),
         PDF_put_image().

Anterior | Inicio | Siguiente
PDF_open_jpeg | Subir | PDF_open_pdi_page


PDF_open_pdi_page

(PHP 4 >= 4.0.5, PECL)

PDF_open_pdi_page -- Prepare a page

Descripción

int PDF_open_pdi_page ( resource p, int doc, int pagenumber, string optlist )

Prepares a page for later use with PDF_fit_pdi_page().

Anterior | Inicio | Siguiente
PDF_open_memory_image | Subir | PDF_open_pdi


PDF_open_pdi

(PHP 4 >= 4.0.5, PECL)

PDF_open_pdi -- Open PDF file

Descripción

int PDF_open_pdi ( resource pdfdoc, string filename, string optlist )

Opens a disk-based or virtual PDF document and prepares it for later use.

Anterior | Inicio | Siguiente
PDF_open_pdi_page | Subir | PDF_open_tiff


PDF_open_tiff

(PHP 4, PECL)

PDF_open_tiff -- Open TIFF image [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

Anterior | Inicio | Siguiente
PDF_open_pdi | Subir | PDF_place_image


PDF_place_image

(PHP 3 >= 3.0.7, PHP 4, PECL)

PDF_place_image -- Places an image on the page

Description

void pdf_place_image ( int pdf document, int image, double x-coor, double y-coor, double scale )

The PDF_place_image() function places an image on the page at postion (x-coor, x-coor). The image can be scaled at the same time.

See also PDF_put_image().

Anterior | Inicio | Siguiente
PDF_open_tiff | Subir | PDF_place_pdi_page


PDF_place_pdi_page

(PHP 4 >= 4.0.6, PECL)

PDF_place_pdi_page -- Place PDF page [deprecated]

Descripción

bool PDF_place_pdi_page ( resource pdfdoc, int page, float x, float y, float sx, float sy )

Places a PDF page and scales it. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function is deprecated since PDFlib version 5, use PDF_fit_pdi_page() instead.

Anterior | Inicio | Siguiente
PDF_place_image | Subir | PDF_process_pdi


PDF_rect

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_rect -- Draws a rectangle

Description

void pdf_rect ( int pdf document, double x-coor, double y-coor, double width, double height )

The PDF_rect() function draws a rectangle with its lower left corner at point (x-coor, y-coor). This width is set to widgth. This height is set to height.

See also PDF_stroke().

Anterior | Inicio | Siguiente
PDF_process_pdi | Subir | PDF_restore


PDF_restore

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_restore -- Restores formerly saved environment

Description

void pdf_restore ( int pdf document )

The PDF_restore() function restores the environment saved with PDF_save(). It works like the postscript command grestore.

Ejemplo 1. Save and Restore

<?php PDF_save($pdf);
// do all kinds of rotations, transformations, ...
PDF_restore($pdf) ?>

See also PDF_save().

Anterior | Inicio | Siguiente
PDF_rect | Subir | PDF_resume_page


PDF_rotate

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_rotate -- Sets rotation

Description

void pdf_rotate ( int pdf document, double angle )

The PDF_rotate() function sets the rotation in degress to angle.

Anterior | Inicio | Siguiente
PDF_resume_page | Subir | PDF_save


PDF_save

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_save -- Saves the current environment

Description

void pdf_save ( int pdf document )

The PDF_save() function saves the current environment. It works like the postscript command gsave. Very useful if you want to translate or rotate an object without effecting other objects. PDF_save() should always be followed by PDF_restore() to restore the environment before PDF_save().

See also PDF_restore().

Anterior | Inicio | Siguiente
PDF_rotate | Subir | PDF_scale


PDF_scale

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_scale -- Sets scaling

Description

void pdf_scale ( int pdf document, double x-scale, double y-scale )

The PDF_scale() function sets the scaling factor in both directions. The following example scales x and y direction by 72. The following line will therefore be drawn one inch in both directions.

Ejemplo 1. Scaling

<?php PDF_scale($pdf, 72.0, 72.0);
PDF_lineto($pdf, 1, 1);
PDF_stroke($pdf);
?>

Anterior | Inicio | Siguiente
PDF_save | Subir | PDF_set_border_color


PDF_set_border_color

(PHP 3 >= 3.0.12, PHP 4, PECL)

PDF_set_border_color -- Sets color of border around links and annotations

Description

void pdf_set_border_color ( int pdf document, double red, double green, double blue )

The PDF_set_border_color() function sets the color of the suroundig box of links and annotations. The three color components have to have a value between 0.0 and 1.0.

See also PDF_set_border_style(), PDF_set_border_dash().

Anterior | Inicio | Siguiente
PDF_scale | Subir | PDF_set_border_dash


PDF_set_border_dash

(PHP 4 >= 4.0.1, PECL)

PDF_set_border_dash -- Sets dash style of border around links and annotations

Description

void pdf_set_border_dash ( int pdf document, double black, double white )

The PDF_set_border_dash() function sets the lenght of black and white areas of a dashed line of the suroundig box of links and annotations.

See also PDF_set_border_style(), PDF_set_border_color().

Anterior | Inicio | Siguiente
PDF_set_border_color | Subir | PDF_set_border_style


PDF_set_border_style

(PHP 3 >= 3.0.12, PHP 4, PECL)

PDF_set_border_style -- Sets style of border around links and annotations

Description

void pdf_set_border_style ( int pdf document, string style, double width )

The PDF_set_border_style() function sets the style and width of the suroundig box of links and annotations. The parameter style can be 'solid' or 'dashed'.

See also PDF_set_border_color(), PDF_set_border_dash().

Anterior | Inicio | Siguiente
PDF_set_border_dash | Subir | PDF_set_char_spacing


PDF_set_char_spacing

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_char_spacing -- Sets character spacing

Description

void pdf_set_char_spacing ( int pdf document, double space )

The PDF_set_char_spacing() function sets the spacing between characters.

See also PDF_set_word_spacing(), PDF_set_leading().

Anterior | Inicio | Siguiente
PDF_set_border_style | Subir | PDF_set_duration


PDF_set_duration

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_duration -- Sets duration between pages

Description

void pdf_set_duration ( int pdf document, double duration )

The PDF_set_duration() function set the duration between following pages in seconds.

See also PDF_set_transition().

Anterior | Inicio | Siguiente
PDF_set_char_spacing | Subir | PDF_set_gstate


PDF_set_horiz_scaling

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_horiz_scaling -- Sets horizontal scaling of text

Description

void pdf_set_horiz_scaling ( int pdf document, double scale )

The PDF_set_horiz_scaling() function sets the horizontal scaling to scale percent.

Anterior | Inicio | Siguiente
PDF_set_gstate | Subir | PDF_set_info_author


PDF_set_info_author

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_info_author -- Fill the author document info field [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

Anterior | Inicio | Siguiente
PDF_set_horiz_scaling | Subir | PDF_set_info_creator


PDF_set_info_creator

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_info_creator -- Fill the creator document info field [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

Anterior | Inicio | Siguiente
PDF_set_info_author | Subir | PDF_set_info_keywords


PDF_set_info_keywords

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_info_keywords -- Fill the keywords document info field [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

Anterior | Inicio | Siguiente
PDF_set_info_creator | Subir | PDF_set_info_subject


PDF_set_info_subject

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_info_subject -- Fill the subject document info field [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

Anterior | Inicio | Siguiente
PDF_set_info_keywords | Subir | PDF_set_info_title


PDF_set_info_title

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_info_title -- Fill the title document info field [deprecated]

Descripción

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

Anterior | Inicio | Siguiente
PDF_set_info_subject | Subir | PDF_set_info


PDF_set_info

(PHP 4 >= 4.0.1, PECL)

PDF_set_info -- Fills a field of the document information

Description

void pdf_set_info ( int pdf document, string fieldname, string value )

The PDF_set_info() function sets an information field of a pdf document. Possible values for the fieldname are 'Subject', 'Title', 'Creator', 'Author', 'Keywords' and one user-defined name. It can be called before beginning a page.

Ejemplo 1. Setting document information

<?php
$fd = fopen("test.pdf", "w");
$pdfdoc = pdf_open($fd);
pdf_set_info($pdfdoc, "Author", "Uwe Steinmann");
pdf_set_info($pdfdoc, "Creator", "Uwe Steinmann");
pdf_set_info($pdfdoc, "Title", "Testing Info Fields");
pdf_set_info($pdfdoc, "Subject", "Test");
pdf_set_info($pdfdoc, "Keywords", "Test, Fields");
pdf_set_info($pdfdoc, "CustomField", "What ever makes sense");
pdf_begin_page($pdfdoc, 595, 842);
pdf_end_page($pdfdoc);
pdf_close($pdfdoc);
?>

Nota:
     This function replaces PDF_set_info_keywords(),
              PDF_set_info_title(),
              PDF_set_info_subject(),
              PDF_set_info_creator(),
              PDF_set_info_sybject().

Anterior | Inicio | Siguiente
PDF_set_info_title | Subir | PDF_set_layer_dependency


PDF_set_leading

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_leading -- Sets distance between text lines

Description

void pdf_set_leading ( int pdf document, double distance )

The PDF_set_leading() function sets the distance between text lines. This will be used if text is output by PDF_continue_text().

See also PDF_continue_text().

Anterior | Inicio | Siguiente
PDF_set_layer_dependency | Subir | PDF_set_parameter


PDF_set_parameter

(PHP 4, PECL)

PDF_set_parameter -- Sets certain parameters

Description

void pdf_set_parameter ( int pdf document, string name, string value )

The PDF_set_parameter() function sets several parameters of pdflib which are of the type string.

See also PDF_get_value(),
         PDF_set_value(),
         PDF_get_parameter().

Anterior | Inicio | Siguiente
PDF_set_leading | Subir | PDF_set_text_matrix


PDF_set_text_matrix

(PHP 3 >= 3.0.6)

PDF_set_text_matrix -- Sets the text matrix

Description

void pdf_set_text_matrix ( int pdf document, array matrix )

The PDF_set_text_matrix() function sets a matrix which describes a transformation applied on the current text font. The matrix has to passed as an array with six elements.

Anterior | Inicio | Siguiente
PDF_set_parameter | Subir | PDF_set_text_pos


PDF_set_text_pos

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_text_pos -- Sets text position

Description

void pdf_set_text_pos ( int pdf document, double x-coor, double y-coor )

The PDF_set_text_pos() function sets the position of text for the next pdf_show() function call.

See also PDF_show(), PDF_show_xy().

Anterior | Inicio | Siguiente
PDF_set_text_matrix | Subir | PDF_set_text_rendering


PDF_set_text_rendering

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_text_rendering -- Determines how text is rendered

Description

void pdf_set_text_rendering ( int pdf document, int mode )

The PDF_set_text_rendering() function determines how text is rendered. The possible values for mode are 0=fill text, 1=stroke text, 2=fill and stroke text, 3=invisible, 4=fill text and add it to cliping path, 5=stroke text and add it to clipping path, 6=fill and stroke text and add it to cliping path, 7=add it to clipping path.

Anterior | Inicio | Siguiente
PDF_set_text_pos | Subir | PDF_set_text_rise


PDF_set_text_rise

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_text_rise -- Sets the text rise

Description

void pdf_set_text_rise ( int pdf document, double rise )

The PDF_set_text_rise() function sets the text rising to rise points.

Anterior | Inicio | Siguiente
PDF_set_text_rendering | Subir | PDF_set_value


PDF_set_value

(PHP 4 >= 4.0.1, PECL)

PDF_set_value -- Sets certain numerical value

Description

void pdf_set_value ( int pdf document, string name, double value )

The PDF_set_value() function sets several numerical parameters of pdflib.

See also PDF_get_value(),
         PDF_get_parameter(),
         PDF_set_parameter().

Anterior | Inicio | Siguiente
PDF_set_text_rise | Subir | PDF_set_word_spacing


PDF_set_word_spacing

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_set_word_spacing -- Sets spacing between words

Description

void pdf_set_word_spacing ( int pdf document, double space )

The PDF_set_word_spacing() function sets the spacing between words.

See also PDF_set_char_spacing(), PDF_set_leading().

Anterior | Inicio | Siguiente
PDF_set_value | Subir | PDF_setcolor


PDF_setcolor

(PHP 4 >= 4.0.5, PECL)

PDF_setcolor -- Set fill and stroke color

Descripción

bool PDF_setcolor ( resource p, string fstype, string colorspace, float c1, float c2, float c3, float c4 )

Sets the current color space and color. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_set_word_spacing | Subir | PDF_setdash


PDF_setdash

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setdash -- Sets dash pattern

Description

void pdf_setdash ( int pdf document, double white, double black )

The PDF_setdash() function sets the dash pattern white white points and black black points. If both are 0 a solid line is set.

Anterior | Inicio | Siguiente
PDF_setcolor | Subir | PDF_setdashpattern


PDF_setflat

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setflat -- Sets flatness

Description

void pdf_setflat ( int pdf document, double value )

The PDF_setflat() function sets the flatness to a value between 0 and 100.

Anterior | Inicio | Siguiente
PDF_setdashpattern | Subir | PDF_setfont


PDF_setfont

(PHP 4 >= 4.0.5, PECL)

PDF_setfont -- Set font

Descripción

bool PDF_setfont ( resource pdfdoc, int font, float fontsize )

Sets the current font in the specified size, using a font handle returned by PDF_load_font(). Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_setflat | Subir | PDF_setgray_fill


PDF_setgray_fill

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setgray_fill -- Sets filling color to gray value

Description

void pdf_setgray_fill ( int pdf document, double gray value )

The PDF_setgray_fill() function sets the current gray value to fill a path.

See also PDF_setrgbcolor_fill().

Anterior | Inicio | Siguiente
PDF_setfont | Subir | PDF_setgray_stroke


PDF_setgray_stroke

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setgray_stroke -- Sets drawing color to gray value

Description

void pdf_setgray_stroke ( int pdf document, double gray value )

The PDF_setgray_stroke() function sets the current drawing color to the given gray value.

See also PDF_setrgbcolor_stroke().

Anterior | Inicio | Siguiente
PDF_setgray_fill | Subir | PDF_setgray


PDF_setgray

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setgray -- Sets drawing and filling color to gray value

Description

void pdf_setgray ( int pdf document, double gray value )

The PDF_setgray() function sets the current drawing and filling color to the given gray value.

See also PDF_setrgbcolor_stroke(), PDF_setrgbcolor_fill().

Anterior | Inicio | Siguiente
PDF_setgray_stroke | Subir | PDF_setlinecap


PDF_setlinecap

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setlinecap -- Sets linecap parameter

Description

void pdf_setlinecap ( int pdf document, int value )

The PDF_setlinecap() function sets the linecap parameter between a value of 0 and 2.

Anterior | Inicio | Siguiente
PDF_setgray | Subir | PDF_setlinejoin


PDF_setlinejoin

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setlinejoin -- Sets linejoin parameter

Description

void pdf_setlinejoin ( int pdf document, long value )

The PDF_setlinejoin() function sets the linejoin parameter between a value of 0 and 2.

Anterior | Inicio | Siguiente
PDF_setlinecap | Subir | PDF_setlinewidth


PDF_setlinewidth

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setlinewidth -- Sets line width

Description

void pdf_setlinewidth ( int pdf document, double width )

The PDF_setlinewidth() function sets the line width to width.

Anterior | Inicio | Siguiente
PDF_setlinejoin | Subir | PDF_setmatrix


PDF_setmatrix

(PHP 4 >= 4.0.5, PECL)

PDF_setmatrix -- Set current transformation matrix

Descripción

bool PDF_setmatrix ( resource p, float a, float b, float c, float d, float e, float f )

Explicitly sets the current transformation matrix. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_setlinewidth | Subir | PDF_setmiterlimit


PDF_setmiterlimit

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setmiterlimit -- Sets miter limit

Description

void pdf_setmiterlimit ( int pdf document, double value )

The PDF_setmiterlimit() function sets the miter limit to a value greater of equal than 1.

Anterior | Inicio | Siguiente
PDF_setmatrix | Subir | PDF_setpolydash


PDF_setpolydash

(PHP 4 >= 4.0.5, PECL)

PDF_setpolydash -- Set complicated dash pattern [deprecated]

Descripción

This function is deprecated since PDFlib version 5, use PDF_setdashpattern() instead.

Anterior | Inicio | Siguiente
PDF_setmiterlimit | Subir | PDF_setrgbcolor_fill


PDF_setrgbcolor_fill

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setrgbcolor_fill -- Sets filling color to rgb color value

Description

void pdf_setrgbcolor_fill ( int pdf document, double red value, double green value, double blue value )

The PDF_setrgbcolor_fill() function sets the current rgb color value to fill a path.

See also PDF_setrgbcolor_fill().

Anterior | Inicio | Siguiente
PDF_setpolydash | Subir | PDF_setrgbcolor_stroke


PDF_setrgbcolor_stroke

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setrgbcolor_stroke -- Sets drawing color to rgb color value

Description

void pdf_setrgbcolor_stroke ( int pdf document, double red value, double green value, double blue value )

The PDF_setrgbcolor_stroke() function sets the current drawing color to the given rgb color value.

See also PDF_setrgbcolor_stroke().

Anterior | Inicio | Siguiente
PDF_setrgbcolor_fill | Subir | PDF_setrgbcolor


PDF_setrgbcolor

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_setrgbcolor -- Sets drawing and filling color to rgb color value

Description

void pdf_setrgbcolor ( int pdf document, double red value, double green value, double blue value )

The PDF_setrgbcolor_stroke() function sets the current drawing and filling color to the given rgb color value.

See also PDF_setrgbcolor_stroke(), PDF_setrgbcolor_fill().

Anterior | Inicio | Siguiente
PDF_setrgbcolor_stroke | Subir | PDF_shading_pattern


PDF_show_boxed

(PHP 4, PECL)

PDF_show_boxed -- Output text in a box

Description

int pdf_show_boxed ( int pdf document, string text, double x-coor, double y-coor, double width, double height, string mode )

The PDF_show_boxed() function outputs the string text in a box with its lower left position at (x-coor, y-coor). The boxes dimension is height by width. The parameter mode determines how the text is type set. If width and height are zero, the mode can be "left", "right" or "center". If width or height is unequal zero it can also be "justify" and "fulljustify".

Returns the number of characters that could not be processed because they did not fit into the box.

See also PDF_show(), PDF_show_xy().

Anterior | Inicio | Siguiente
PDF_shfill | Subir | PDF_show_xy


PDF_show_xy

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_show_xy -- Output text at given position

Description

void pdf_show_xy ( int pdf document, string text, double x-coor, double y-coor )

The PDF_show_xy() function outputs the string text at position (x-coor, y-coor).

See also PDF_show().

Anterior | Inicio | Siguiente
PDF_show_boxed | Subir | PDF_show


PDF_show

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_show -- Output text at current position

Description

void pdf_show ( int pdf document, string text )

The PDF_show() function outputs the string text at the current position using the current font.

See also PDF_show_xy(),
         PDF_set_text_pos(),
         PDF_set_font().

Anterior | Inicio | Siguiente
PDF_show_xy | Subir | PDF_skew


PDF_skew

(PHP 4, PECL)

PDF_skew -- Skews the coordinate system

Description

void pdf_skew ( int pdf document, double alpha, double beta )

The PDF_skew() function skew the coordinate system by alpha (x) and beta (y) degrees. alpha and beta may not be 90 or 270 degrees.

Anterior | Inicio | Siguiente
PDF_show | Subir | PDF_stringwidth


PDF_stringwidth

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_stringwidth -- Returns width of text using current font

Description

double pdf_stringwidth ( int pdf document, string text )

The PDF_stringwidth() function returns the width of the string in text by using the current font. It requires a font to be set before with PDF_set_font().

See also PDF_set_font().

Anterior | Inicio | Siguiente
PDF_skew | Subir | PDF_stroke


PDF_stroke

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_stroke -- Draws line along path

Description

void pdf_stroke ( int pdf document )

The PDF_stroke() function draws a line along current path. The current path is the sum of all line drawing. Without this function the line would not be drawn.

See also PDF_closepath(), PDF_closepath_stroke().

Anterior | Inicio | Siguiente
PDF_stringwidth | Subir | PDF_suspend_page


PDF_translate

(PHP 3 >= 3.0.6, PHP 4, PECL)

PDF_translate -- Sets origin of coordinate system

Description

void pdf_translate ( int pdf document, double x-coor, double y-coor )

The PDF_translate() function sets the origin of coordinate system to the point (x-coor, y-coor) relativ the current origin. The following example draws a line from (0, 0) to (200, 200) relative to the initial coordinate system. You have to set the current point after PDF_translate() and before you start drawing more objects.

Ejemplo 1. Translation

<?php PDF_moveto($pdf, 0, 0);
PDF_lineto($pdf, 100, 100);
PDF_stroke($pdf);
PDF_translate($pdf, 100, 100);
PDF_moveto($pdf, 0, 0);
PDF_lineto($pdf, 100, 100);
PDF_stroke($pdf);
?>

Anterior | Inicio | Siguiente
PDF_suspend_page | Subir | PDF_utf16_to_utf8


PDO Functions

Manual de PHP
Anterior Siguiente

CXX. PDO Functions

Introducción

The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. Note that you cannot perform any database functions using the PDO extension by itself; you must use a database-specific PDO driver to access a database server.

PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility.

PDO ships with PHP 5.1, and is available as a PECL extension for PHP 5.0; PDO requires the new OO features in the core of PHP 5, and so will not run with earlier versions of PHP.

Instalación

PHP 5.1 and up on Unix systems

  1. If you're running a PHP 5.1 release, PDO and PDO_SQLITE is included in the distribution; it will be automatically enabled when you run configure. It is recommended that you build PDO as a shared extension, as this will allow you to take advantage of updates that are made available via PECL. The recommended configure line for building PHP with PDO support should enable zlib support (for the pecl installer) as well. You may also need to enable the PDO driver for your database of choice; consult the documentation for database-specific PDO drivers to find out more about that, but note that if you build PDO as a shared extension, you must build the PDO drivers as shared extensions. SQLite extension depends on PDO so if PDO is built as a shared extension, SQLite needs to be built the same way.

    ./configure --with-zlib --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite=shared

  2. After installing PDO as a shared module, you must edit your php.ini file so that the PDO extension will be loaded automatically when PHP runs. You will also need to enable any database specific drivers there too; make sure that they are listed after the pdo.so line, as PDO must be initialized before the database-specific extensions can be loaded. If you built PDO and the database-specific extensions statically, you can skip this step.

    extension=pdo.so

  3. Having PDO as a shared module will allow you to run pecl upgrade pdo as new versions of PDO are published, without forcing you to rebuild the whole of PHP. Note that if you do this, you also need to upgrade your database specific PDO drivers at the same time.

PHP 5.0.0 and up on Unix systems

  1. PDO is available as a PECL extension from http://pecl.php.net/package/pdo. Installation can be performed via the pecl tool; this is enabled by default when you configure PHP. You should ensure that PHP was configured --with-zlib in order for pecl to be able to handle the compressed package files.

  2. Run the following command to download, build, and install the latest stable version of PDO:

    pecl install pdo

  3. The pecl command automatically installs the PDO module into your PHP extensions directory. To enable the PDO extension on Linux or Unix operating systems, you must add the following line to php.ini:

    extension=pdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

Windows users running PHP 5.1.0 and up

  1. PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file:

    extension=php_pdo.dll

  2. Next, choose the other database-specific DLL files and either use dl() to load them at runtime, or enable them in php.ini below php_pdo.dll. For example:

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    These DLLs should exist in the system's extension_dir. Note that PDO_INFORMIX is only available as a PECL extension.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. PDO Configuration Options

Name | Default | Changeable | Changelog
pdo.dsn.* |  | php.ini only |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

pdo.dsn.* string

Defines DSN alias. See PDO->__construct() for thorough explanation.

PDO Drivers

The following drivers currently implement the PDO interface:

Driver name | Supported databases
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird/Interbase 6
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 and SQLite 2

Connections and Connection management

Connections are established by creating instances of the PDO base class. It doesn't matter which driver you want to use; you always use the PDO class name. The constructor accepts parameters for specifying the database source (known as the DSN) and optionally for the username and password (if any).

Ejemplo 1. Connecting to MySQL

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

If there are any connection errors, a PDOException object will be thrown. You may catch the exception if you want to handle the error condition, or you may opt to leave it for an application global exception handler that you set up via set_exception_handler().

Ejemplo 2. Handling connection errors

<?php
try {
   $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
   foreach ($dbh->query('SELECT * from FOO') as $row) {
      print_r($row);
   }
   $dbh = null;
} catch (PDOException $e) {
   print "Error!: " . $e->getMessage() . "<br/>";
   die();
}
?>

Aviso

If your application does not catch the exception thrown from the PDO constructor, the default action taken by the zend engine is to terminate the script and display a back trace. This back trace will likely reveal the full database connection details, including the username and password. It is your responsibility to catch this exception, either explicitly (via a catch statement) or implicitly via set_exception_handler().

Upon successful connection to the database, an instance of the PDO class is returned to your script. The connection remains active for the lifetime of that PDO object. To close the connection, you need to destroy the object by ensuring that all remaining references to it are deleted--you do this by assigning NULL to the variable that holds the object. If you don't do this explicitly, PHP will automatically close the connection when your script ends.

Ejemplo 3. Closing a connection

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use the connection here

// and now we're done; close it
$dbh = null;
?>

Many web applications will benefit from making persistent connections to database servers. Persistent connections are not closed at the end of the script, but are cached and re-used when another script requests a connection using the same credentials. The persistent connection cache allows you to avoid the overhead of establishing a new connection every time a script needs to talk to a database, resulting in a faster web application.

Ejemplo 4. Persistent connections

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
  PDO::ATTR_PERSISTENT => true
));
?>

Nota: If you're using the PDO ODBC driver and your ODBC libraries support ODBC Connection Pooling (unixODBC and Windows are two that do; there may be more), then it's recommended that you don't use persistent PDO connections, and instead leave the connection caching to the ODBC Connection Pooling layer. The ODBC Connection Pool is shared with other modules in the process; if PDO is told to cache the connection, then that connection would never be returned to the ODBC connection pool, resulting in additional connections being created to service those other modules.

Transactions and auto-commit

Now that you're connected via PDO, you must understand how PDO manages transactions before you start issuing queries. If you've never encountered transactions before, they offer 4 major features: Atomicity, Consistency, Isolation and Durability (ACID). In layman's terms, any work carried out in a transaction, even if it is carried out in stages, is guaranteed to be applied to the database safely, and without interference from other connections, when it is committed. Transactional work can also be automatically undone at your request (provided you haven't already committed it), which makes error handling in your scripts easier.

Transactions are typically implemented by "saving-up" your batch of changes to be applied all at once; this has the nice side effect of drastically improving the efficiency of those updates. In other words, transactions can make your scripts faster and potentially more robust (you still need to use them correctly to reap that benefit).

Unfortunately, not every database supports transactions, so PDO needs to run in what is known as "auto-commit" mode when you first open the connection. Auto-commit mode means that every query that you run has its own implicit transaction, if the database supports it, or no transaction if the database doesn't support transactions. If you need a transaction, you must use the PDO->beginTransaction() method to initiate one. If the underlying driver does not support transactions, a PDOException will be thrown (regardless of your error handling settings: this is always a serious error condition). Once you are in a transaction, you may use PDO->commit() or PDO->rollBack() to finish it, depending on the success of the code you run during the transaction.

When the script ends or when a connection is about to be closed, if you have an outstanding transaction, PDO will automatically roll it back. This is a safety measure to help avoid inconsistency in the cases where the script terminates unexpectedly--if you didn't explicitly commit the transaction, then it is assumed that something went awry, so the rollback is performed for the safety of your data.

Aviso

The automatic rollback only happens if you initiate the transaction via PDO->beginTransaction(). If you manually issue a query that begins a transaction PDO has no way of knowing about it and thus cannot roll it back if something bad happens.

Ejemplo 5. Executing a batch in a transaction

In the following sample, let's assume that we are creating a set of entries for a new employee, who has been assigned an ID number of 23. In addition to entering the basic data for that person, we also need to record their salary. It's pretty simple to make two separate updates, but by enclosing them within the PDO->beginTransaction() and PDO->commit() calls, we are guaranteeing that no one else will be able to see those changes until they are complete. If something goes wrong, the catch block rolls back all changes made since the transaction was started, and then prints out an error message.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $dbh->commit();

} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

You're not limited to making updates in a transaction; you can also issue complex queries to extract data, and possibly use that information to build up more updates and queries; while the transaction is active, you are guaranteed that no one else can make changes while you are in the middle of your work. In truth, this isn't 100% correct, but it is a good-enough introduction, if you've never heard of transactions before.

Prepared statements and stored procedures

Many of the more mature databases support the concept of prepared statements. What are they? You can think of them as a kind of compiled template for the SQL that you want to run, that can be customized using variable parameters. Prepared statements offer two major benefits:

  • The query only needs to be parsed (or prepared) once, but can be executed multiple times with the same or different parameters. When the query is prepared, the database will analyze, compile and optimize it's plan for executing the query. For complex queries this process can take up enough time that it will noticeably slow down your application if you need to repeat the same query many times with different parameters. By using a prepared statement you avoid repeating the analyze/compile/optimize cycle. In short, prepared statements use fewer resources and thus run faster.

  • The parameters to prepared statements don't need to be quoted; the driver handles it for you. If your application exclusively uses prepared statements, you can be sure that no SQL injection will occur. (However, if you're still building up other parts of the query based on untrusted input, you're still at risk).

Prepared statements are so useful that they are the only feature that PDO will emulate for drivers that don't support them. This ensures that you will be able to use the same data access paradigm regardless of the capabilities of the database.

Ejemplo 6. Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the named placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

Ejemplo 7. Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the positional ? placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

Ejemplo 8. Fetching data using prepared statements

This example fetches data based on a key value supplied by a form. The user input is automatically quoted, so there is no risk of a SQL injection attack.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>

If the database driver supports it, you may also bind parameters for output as well as input. Output parameters are typically used to retrieve values from stored procedures. Output parameters are slightly more complex to use than input parameters, in that you must know how large a given parameter might be when you bind it. If the value turns out to be larger than the size you suggested, an error is raised.

Ejemplo 9. Calling a stored procedure with an output parameter

<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $return_value\n";
?>

You may also specify parameters that hold values both input and output; the syntax is similar to output parameters. In this next example, the string 'hello' is passed into the stored procedure, and when it returns, hello is replaced with the return value of the procedure.

Ejemplo 10. Calling a stored procedure with an input/output parameter

<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $value\n";
?>

Ejemplo 11. Invalid use of placeholder

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// placeholder must be used in the place of the whole value
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>

Errors and error handling

PDO offers you a choice of 3 different error handling strategies, to fit your style of application development.

  • PDO::ERRMODE_SILENT

    This is the default mode. PDO will simply set the error code for you to inspect using the PDO->errorCode() and PDO->errorInfo() methods on both the statement and database objects; if the error resulted from a call on a statement object, you would invoke the PDOStatement->errorCode() or PDOStatement->errorInfo() method on that object. If the error resulted from a call on the database object, you would invoke those methods on the database object instead.

  • PDO::ERRMODE_WARNING

    In addition to setting the error code, PDO will emit a traditional E_WARNING message. This setting is useful during debugging/testing, if you just want to see what problems occurred without interrupting the flow of the application.

  • PDO::ERRMODE_EXCEPTION

    In addition to setting the error code, PDO will throw a PDOException and set its properties to reflect the error code and error information. This setting is also useful during debugging, as it will effectively "blow up" the script at the point of the error, very quickly pointing a finger at potential problem areas in your code (remember: transactions are automatically rolled back if the exception causes the script to terminate).

    Exception mode is also useful because you can structure your error handling more clearly than with traditional PHP-style warnings, and with less code/nesting than by running in silent mode and explicitly checking the return value of each database call.

    See Exceptions for more information about Exceptions in PHP.

PDO standardizes on using SQL-92 SQLSTATE error code strings; individual PDO drivers are responsible for mapping their native codes to the appropriate SQLSTATE codes. The PDO->errorCode() method returns a single SQLSTATE code. If you need more specific information about an error, PDO also offers an PDO->errorInfo() method which returns an array containing the SQLSTATE code, the driver specific error code and driver specific error string.

Large Objects (LOBs)

At some point in your application, you might find that you need to store "large" data in your database. Large typically means "around 4kb or more", although some databases can happily handle up to 32kb before data becomes "large". Large objects can be either textual or binary in nature. PDO allows you to work with this large data type by using the PDO::PARAM_LOB type code in your PDOStatement->bindParam() or PDOStatement->bindColumn() calls. PDO::PARAM_LOB tells PDO to map the data as a stream, so that you can manipulate it using the PHP Streams API.

Ejemplo 12. Displaying an image from a database

This example binds the LOB into the variable named $lob and then sends it to the browser using fpassthru(). Since the LOB is represented as a stream, functions such as fgets(), fread() and stream_get_contents() can be used on it.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Ejemplo 13. Inserting an image into a database

This example opens up a file and passes the file handle to PDO to insert it as a LOB. PDO will do its best to get the contents of the file up to the database in the most efficient manner possible.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>

Ejemplo 14. Inserting an image into a database: Oracle

Oracle requires a slightly different syntax for inserting a lob from a file. It's also essential that you perform the insert under a transaction, otherwise your newly inserted LOB will be committed with a zero-length as part of the implicit commit that happens when the query is executed:

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
  "VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>

Clases predefinidas

PDO

Represents a connection between PHP and a database server.

Constructor

  • PDO - constructs a new PDO object

Métodos

  • beginTransaction - begins a transaction

  • commit - commits a transaction

  • errorCode - retrieves an error code, if any, from the database

  • errorInfo - retrieves an array of error information, if any, from the database

  • exec - issues an SQL statement and returns the number of affected rows

  • getAttribute - retrieves a database connection attribute

  • lastInsertId - retrieves the value of the last row that was inserted into a table

  • prepare - prepares an SQL statement for execution

  • query - issues an SQL statement and returns a result set

  • quote - returns a quoted version of a string for use in SQL statements

  • rollBack - roll back a transaction

  • setAttribute - sets a database connection attribute

PDOStatement

Represents a prepared statement and, after the statement is executed, an associated result set.

Métodos

  • bindColumn - binds a PHP variable to an output column in a result set

  • bindParam - binds a PHP variable to a parameter in the prepared statement

  • bindValue - binds a value to a parameter in the prepared statement

  • closeCursor - closes the cursor, allowing the statement to be executed again

  • columnCount - returns the number of columns in the result set

  • errorCode - retrieves an error code, if any, from the statement

  • errorInfo - retrieves an array of error information, if any, from the statement

  • execute - executes a prepared statement

  • fetch - fetches a row from a result set

  • fetchAll - fetches an array containing all of the rows from a result set

  • fetchColumn - returns the data from a single column in a result set

  • getAttribute - retrieves a PDOStatement attribute

  • getColumnMeta - retrieves metadata for a column in the result set

  • nextRowset - retrieves the next rowset (result set)

  • rowCount - returns the number of rows that were affected by the execution of an SQL statement

  • setAttribute - sets a PDOStatement attribute

  • setFetchMode - sets the fetch mode for a PDOStatement

PDOException

Represents an error raised by PDO. You should not throw a PDOException from your own code. See Exceptions for more information about Exceptions in PHP.

Ejemplo 15. The PDOException class

<?php
class PDOException extends Exception
{
    public $errorInfo = null;    // corresponds to PDO::errorInfo()
                                 // or PDOStatement::errorInfo()
    protected $message;          // textual error message
                                 // use Exception::getMessage() to access it
    protected $code;             // SQLSTATE error code
                                 // use Exception::getCode() to access it
}
?>

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Aviso

PDO uses class constants since PHP 5.1. Prior releases use global constants in the form PDO_PARAM_BOOL.

PDO::PARAM_BOOL (integer)

Represents a boolean data type.

PDO::PARAM_NULL (integer)

Represents the SQL NULL data type.

PDO::PARAM_INT (integer)

Represents the SQL INTEGER data type.

PDO::PARAM_STR (integer)

Represents the SQL CHAR, VARCHAR, or other string data type.

PDO::PARAM_LOB (integer)

Represents the SQL large object data type.

PDO::PARAM_STMT (integer)

Represents a recordset type. Not currently supported by any drivers.

PDO::PARAM_INPUT_OUTPUT (integer)

Specifies that the parameter is an INOUT parameter for a stored procedure. You must bitwise-OR this value with an explicit PDO::PARAM_* data type.

PDO::FETCH_LAZY (integer)

Specifies that the fetch method shall return each row as an object with variable names that correspond to the column names returned in the result set. PDO::FETCH_LAZY creates the object variable names as they are accessed.

PDO::FETCH_ASSOC (integer)

Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_ASSOC returns only a single value per column name.

PDO::FETCH_NAMED (integer)

Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_NAMED returns an array of values per column name.

PDO::FETCH_NUM (integer)

Specifies that the fetch method shall return each row as an array indexed by column number as returned in the corresponding result set, starting at column 0.

PDO::FETCH_BOTH (integer)

Specifies that the fetch method shall return each row as an array indexed by both column name and number as returned in the corresponding result set, starting at column 0.

PDO::FETCH_OBJ (integer)

Specifies that the fetch method shall return each row as an object with property names that correspond to the column names returned in the result set.

PDO::FETCH_BOUND (integer)

Specifies that the fetch method shall return TRUE and assign the values of the columns in the result set to the PHP variables to which they were bound with the PDOStatement::bindParam() or PDOStatement::bindColumn() methods.

PDO::FETCH_COLUMN (integer)

Specifies that the fetch method shall return only a single requested column from the next row in the result set.

PDO::FETCH_CLASS (integer)

Specifies that the fetch method shall return a new instance of the requested class, mapping the columns to named properties in the class.

PDO::FETCH_INTO (integer)

Specifies that the fetch method shall update an existing instance of the requested class, mapping the columns to named properties in the class.

PDO::FETCH_FUNC (integer)

PDO::FETCH_GROUP (integer)

PDO::FETCH_UNIQUE (integer)

PDO::FETCH_CLASSTYPE (integer)

PDO::FETCH_SERIALIZE (integer)

Available since PHP 5.1.0.

PDO::FETCH_PROPS_LATE (integer)

Available since PHP 5.2.0

PDO::ATTR_AUTOCOMMIT (integer)

If this value is FALSE, PDO attempts to disable autocommit so that the connection begins a transaction.

PDO::ATTR_PREFETCH (integer)

Setting the prefetch size allows you to balance speed against memory usage for your application. Not all database/driver combinations support setting of the prefetch size. A larger prefetch size results in increased performance at the cost of higher memory usage.

PDO::ATTR_TIMEOUT (integer)

Sets the timeout value in seconds for communications with the database.

PDO::ATTR_ERRMODE (integer)

See the Errors and error handling section for more information about this attribute.

PDO::ATTR_SERVER_VERSION (integer)

This is a read only attribute; it will return information about the version of the database server to which PDO is connected.

PDO::ATTR_CLIENT_VERSION (integer)

This is a read only attribute; it will return information about the version of the client libraries that the PDO driver is using.

PDO::ATTR_SERVER_INFO (integer)

This is a read only attribute; it will return some meta information about the database server to which PDO is connected.

PDO::ATTR_CONNECTION_STATUS (integer)

PDO::ATTR_CASE (integer)

Force column names to a specific case specified by the PDO::CASE_* constants.

PDO::ATTR_CURSOR_NAME (integer)

Get or set the name to use for a cursor. Most useful when using scrollable cursors and positioned updates.

PDO::ATTR_CURSOR (integer)

Selects the cursor type. PDO currently supports either PDO::CURSOR_FWDONLY and PDO::CURSOR_SCROLL. Stick with PDO::CURSOR_FWDONLY unless you know that you need a scrollable cursor.

PDO::ATTR_DRIVER_NAME (string)

Returns the name of the driver.

Ejemplo 16. using PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "Running on mysql; doing something mysql specific here\n";
}
?>

PDO::ATTR_ORACLE_NULLS (integer)

Convert empty strings to SQL NULL values on data fetches.

PDO::ATTR_PERSISTENT (integer)

Request a persistent connection, rather than creating a new connection. See Connections and Connection management for more information on this attribute.

PDO::ATTR_STATEMENT_CLASS (integer)

PDO::ATTR_FETCH_CATALOG_NAMES (integer)

Prepend the containing catalog name to each column name returned in the result set. The catalog name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.

PDO::ATTR_FETCH_TABLE_NAMES (integer)

Prepend the containing table name to each column name returned in the result set. The table name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.

PDO::ATTR_STRINGIFY_FETCHES (integer)

PDO::ATTR_MAX_COLUMN_LEN (integer)

PDO::ATTR_DEFAULT_FETCH_MODE (integer)

Available since PHP 5.2.0

PDO::ATTR_EMULATE_PREPARES (integer)

Available since PHP 5.1.3.

PDO::ERRMODE_SILENT (integer)

Do not raise an error or exception if an error occurs. The developer is expected to explicitly check for errors. This is the default mode. See Errors and error handling for more information about this attribute.

PDO::ERRMODE_WARNING (integer)

Issue a PHP E_WARNING message if an error occurs. See Errors and error handling for more information about this attribute.

PDO::ERRMODE_EXCEPTION (integer)

Throw a PDOException if an error occurs. See Errors and error handling for more information about this attribute.

PDO::CASE_NATURAL (integer)

Leave column names as returned by the database driver.

PDO::CASE_LOWER (integer)

Force column names to lower case.

PDO::CASE_UPPER (integer)

Force column names to upper case.

PDO::NULL_NATURAL (integer)

PDO::NULL_EMPTY_STRING (integer)

PDO::NULL_TO_STRING (integer)

PDO::FETCH_ORI_NEXT (integer)

Fetch the next row in the result set. Valid only for scrollable cursors.

PDO::FETCH_ORI_PRIOR (integer)

Fetch the previous row in the result set. Valid only for scrollable cursors.

PDO::FETCH_ORI_FIRST (integer)

Fetch the first row in the result set. Valid only for scrollable cursors.

PDO::FETCH_ORI_LAST (integer)

Fetch the last row in the result set. Valid only for scrollable cursors.

PDO::FETCH_ORI_ABS (integer)

Fetch the requested row by row number from the result set. Valid only for scrollable cursors.

PDO::FETCH_ORI_REL (integer)

Fetch the requested row by relative position from the current position of the cursor in the result set. Valid only for scrollable cursors.

PDO::CURSOR_FWDONLY (integer)

Create a PDOStatement object with a forward-only cursor. This is the default cursor choice, as it is the fastest and most common data access pattern in PHP.

PDO::CURSOR_SCROLL (integer)

Create a PDOStatement object with a scrollable cursor. Pass the PDO::FETCH_ORI_* constants to control the rows fetched from the result set.

PDO::ERR_NONE (string)

Corresponds to SQLSTATE '00000', meaning that the SQL statement was successfully issued with no errors or warnings. This constant is for your convenience when checking PDO::errorCode() or PDOStatement::errorCode() to determine if an error occurred. You will usually know if this is the case by examining the return code from the method that raised the error condition anyway.

PDO::PARAM_EVT_ALLOC (integer)

Allocation event

PDO::PARAM_EVT_FREE (integer)

Deallocation event

PDO::PARAM_EVT_EXEC_PRE (integer)

Event triggered prior to execution of a prepared statement.

PDO::PARAM_EVT_EXEC_POST (integer)

Event triggered subsequent to execution of a prepared statement.

PDO::PARAM_EVT_FETCH_PRE (integer)

Event triggered prior to fetching a result from a resultset.

PDO::PARAM_EVT_FETCH_POST (integer)

Event triggered subsequent to fetching a result from a resultset.

PDO::PARAM_EVT_NORMALIZE (integer)

Event triggered during bound parameter registration allowing the driver to normalize the parameter name.

Tabla de contenidos
PDO->beginTransaction() -- Initiates a transaction
PDO->commit() -- Commits a transaction
PDO->__construct() -- Creates a PDO instance representing a connection to a database
PDO->errorCode() -- Fetch the SQLSTATE associated with the last operation on the database handle
PDO->errorInfo() -- Fetch extended error information associated with the last operation on the database handle
PDO->exec() -- Execute an SQL statement and return the number of affected rows
PDO->getAttribute() -- Retrieve a database connection attribute
PDO->getAvailableDrivers() -- Return an array of available PDO drivers
PDO->lastInsertId() -- Returns the ID of the last inserted row or sequence value
PDO->prepare() -- Prepares a statement for execution and returns a statement object
PDO->query() -- Executes an SQL statement, returning a result set as a PDOStatement object
PDO->quote() -- Quotes a string for use in a query.
PDO->rollBack() -- Rolls back a transaction
PDO->setAttribute() -- Set an attribute
PDOStatement->bindColumn() -- Bind a column to a PHP variable
PDOStatement->bindParam() -- Binds a parameter to the specified variable name
PDOStatement->bindValue() -- Binds a value to a parameter
PDOStatement->closeCursor() -- Closes the cursor, enabling the statement to be executed again.
PDOStatement->columnCount() -- Returns the number of columns in the result set
PDOStatement->errorCode() -- Fetch the SQLSTATE associated with the last operation on the statement handle
PDOStatement->errorInfo() -- Fetch extended error information associated with the last operation on the statement handle
PDOStatement->execute() -- Executes a prepared statement
PDOStatement->fetch() -- Fetches the next row from a result set
PDOStatement->fetchAll() -- Returns an array containing all of the result set rows
PDOStatement->fetchColumn() -- Returns a single column from the next row of a result set
PDOStatement->fetchObject() -- Fetches the next row and returns it as an object.
PDOStatement->getAttribute() -- Retrieve a statement attribute
PDOStatement->getColumnMeta() -- Returns metadata for a column in a result set
PDOStatement->nextRowset() -- Advances to the next rowset in a multi-rowset statement handle
PDOStatement->rowCount() -- Returns the number of rows affected by the last SQL statement
PDOStatement->setAttribute() -- Set a statement attribute
PDOStatement->setFetchMode() -- Set the default fetch mode for this statement

Anterior | Inicio | Siguiente
PDF_utf8_to_utf16 | Subir | PDO->beginTransaction()


PDO->beginTransaction()

(no version information, might be only in CVS)

PDO->beginTransaction() -- Initiates a transaction

Descripción

class PDO {

bool beginTransaction ( void )

}

Turns off autocommit mode. While autocommit mode is turned off, changes made to the database via the PDO object instance are not committed until you end the transaction by calling PDO->commit(). Calling PDO->rollBack() will roll back all changes to the database and return the connection to autocommit mode.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Ver también

PDO->commit()
PDO->rollBack()

Anterior | Inicio | Siguiente
PDO Functions | Subir | PDO->commit()


PDO->commit()

(no version information, might be only in CVS)

PDO->commit() -- Commits a transaction

Descripción

class PDO {

bool commit ( void )

}

Commits a transaction, returning the database connection to autocommit mode until the next call to PDO->beginTransaction() starts a new transaction.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Commit a transaction

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema */
$sth = $dbh->exec("DROP TABLE fruit");

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

Ver también

PDO->beginTransaction()
PDO->rollBack()

Anterior | Inicio | Siguiente
PDO->beginTransaction() | Subir | PDO->__construct()


PDO->__construct()

(no version information, might be only in CVS)

PDO->__construct() -- Creates a PDO instance representing a connection to a database

Descripción

class PDO {

PDO __construct ( string dsn [, string username [, string password [, array driver_options]]] )

}

Creates a PDO instance to represent a connection to the requested database.

Lista de parámetros

dsn

The Data Source Name, or DSN, contains the information required to connect to the database.

In general, a DSN consists of the PDO driver name, followed by a colon, followed by the PDO driver-specific connection syntax. Further information is available from the PDO driver-specific documentation.

The dsn parameter supports three different methods of specifying the arguments required to create a database connection:

Driver invocation

dsn contains the full DSN.

URI invocation

dsn consists of uri: followed by a URI that defines the location of a file containing the DSN string. The URI can specify a local file or a remote URL.

uri:file:///path/to/dsnfile

Aliasing

dsn consists of a name name that maps to pdo.dsn.name in php.ini defining the DSN string.

Nota: The alias must be defined in php.ini, and not .htaccess or httpd.conf

username

The user name for the DSN string. This parameter is optional for some PDO drivers.

password

The password for the DSN string. This parameter is optional for some PDO drivers.

driver_options

A key=>value array of driver-specific connection options.

Valores retornados

Returns a PDO object on success.

Errors/Exceptions

PDO->__construct() throws a PDOException if the attempt to connect to the requested database fails.

Ejemplos

Ejemplo 1. Create a PDO instance via driver invocation

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Ejemplo 2. Create a PDO instance via URI invocation

The following example assumes that the file /usr/local/dbconnect exists with file permissions that enable PHP to read the file. The file contains the PDO DSN to connect to a DB2 database through the PDO_ODBC driver:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

The PHP script can then create a database connection by simply passing the uri: parameter and pointing to the file URI:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Ejemplo 3. Create a PDO instance using an alias

The following example assumes that php.ini contains the following entry to enable a connection to a MySQL database using only the alias mydb:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"

<?php
/* Connect to an ODBC database using an alias */
$dsn = 'mydb';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Anterior | Inicio | Siguiente
PDO->commit() | Subir | PDO->errorCode()


PDO->errorCode()

(no version information, might be only in CVS)

PDO->errorCode() -- Fetch the SQLSTATE associated with the last operation on the database handle

Descripción

class PDO {

string errorCode ( void )

}

Valores retornados

Returns a SQLSTATE, a five-character alphanumeric identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE consists of a two-character class value followed by a three-character subclass value. A class value of 01 indicates a warning and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class values other than '01', except for the class 'IM', indicate an error. The class 'IM' is specific to warnings and errors that derive from the implementation of PDO (or perhaps ODBC, if you're using the ODBC driver) itself. The subclass value '000' in any class indicates that there is no subclass for that SQLSTATE.

PDO->errorCode() only retrieves error codes for operations performed directly on the database handle. If you create a PDOStatement object through PDO->prepare() or PDO->query() and invoke an error on the statement handle, PDO->errorCode() will not reflect that error. You must call PDOStatement->errorCode() to return the error code for an operation performed on a particular statement handle.

Ejemplos

Ejemplo 1. Retrieving a SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ";
print $dbh->errorCode();
?>

El resultado del ejemplo seria:

PDO::errorCode(): 42S02

Ver también

PDO->errorInfo()
PDOStatement->errorCode()
PDOStatement->errorInfo()

Anterior | Inicio | Siguiente
PDO->__construct() | Subir | PDO->errorInfo()


PDO->errorInfo()

(no version information, might be only in CVS)

PDO->errorInfo() -- Fetch extended error information associated with the last operation on the database handle

Descripción

class PDO {

array errorInfo ( void )

}

Valores retornados

PDO->errorInfo() returns an array of error information about the last operation performed by this database handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five-character alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

PDO->errorInfo() only retrieves error information for operations performed directly on the database handle. If you create a PDOStatement object through PDO->prepare() or PDO->query() and invoke an error on the statement handle, PDO->errorInfo() will not reflect the error from the statement handle. You must call PDOStatement->errorInfo() to return the error information for an operation performed on a particular statement handle.

Ejemplos

Ejemplo 1. Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>

El resultado del ejemplo seria:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

Ver también

PDO->errorCode()
PDOStatement->errorCode()
PDOStatement->errorInfo()

Anterior | Inicio | Siguiente
PDO->errorCode() | Subir | PDO->exec()


PDO->exec()

(no version information, might be only in CVS)

PDO->exec() -- Execute an SQL statement and return the number of affected rows

Descripción

class PDO {

int exec ( string statement )

}

PDO->exec() executes an SQL statement in a single function call, returning the number of rows affected by the statement.

PDO->exec() does not return results from a SELECT statement. For a SELECT statement that you only need to issue once during your program, consider issuing PDO->query(). For a statement that you need to issue multiple times, prepare a PDOStatement object with PDO->prepare() and issue the statement with PDOStatement->execute().

Lista de parámetros

statement

The SQL statement to prepare and execute.

Valores retornados

PDO->exec() returns the number of rows that were modified or deleted by the SQL statement you issued. If no rows were affected, PDO->exec() returns 0.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

The following example incorrectly relies on the return value of PDO->exec(), wherein a statement that affected 0 rows results in a call to die():

<?php
$db->exec() or die($db->errorInfo());
?>

Ejemplos

Ejemplo 1. Issuing a DELETE statement

Count the number of rows deleted by a DELETE statement with no WHERE clause.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>

El resultado del ejemplo seria:

Deleted 1 rows.

Ver también

PDO->prepare()
PDO->query()
PDOStatement->execute()

Anterior | Inicio | Siguiente
PDO->errorInfo() | Subir | PDO->getAttribute()


PDO->lastInsertId()

(no version information, might be only in CVS)

PDO->lastInsertId() -- Returns the ID of the last inserted row or sequence value

Descripción

class PDO {

string lastInsertId ( [string name] )

}

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL() requires you to specify the name of a sequence object for the name parameter.

Nota: This method may not return a meaningful or consistent result across different PDO drivers, because the underlying database may not even support the notion of auto-increment fields or sequences.

Lista de parámetros

name

Name of the sequence object from which the ID should be returned.

Valores retornados

If a sequence name was not specified for the name parameter, PDO->lastInsertId() returns a string representing the row ID of the last row that was inserted into the database.

If a sequence name was specified for the name parameter, PDO->lastInsertId() returns a string representing the last value retrieved from the specified sequence object.

If the PDO driver does not support this capability, PDO->lastInsertId() triggers an IM001 SQLSTATE.

Anterior | Inicio | Siguiente
PDO->getAvailableDrivers() | Subir | PDO->prepare()


PDO->prepare()

(no version information, might be only in CVS)

PDO->prepare() -- Prepares a statement for execution and returns a statement object

Descripción

class PDO {

PDOStatement prepare ( string statement [, array driver_options] )

}

Prepares an SQL statement to be executed by the PDOStatement->execute() method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. You cannot use both named and question mark parameter markers within the same SQL statement; pick one or the other parameter style.

You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement->execute(). You cannot use a named parameter marker of the same name twice in a prepared statement. You cannot bind multiple values to a single named parameter in, for example, the IN() clause of an SQL statement.

Calling PDO->prepare() and PDOStatement->execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application by allowing the driver to negotiate client and/or server side caching of the query plan and meta information, and helps to prevent SQL injection attacks by eliminating the need to manually quote the parameters.

PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other.

Lista de parámetros

statement

This must be a valid SQL statement for the target database server.

driver_options

This array holds one or more key=>value pairs to set attribute values for the PDOStatement object that this method returns. You would most commonly use this to set the PDO::ATTR_CURSOR value to PDO::CURSOR_SCROLL to request a scrollable cursor. Some drivers have driver specific options that may be set at prepare-time.

Valores retornados

If the database server successfully prepares the statement, PDO->prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO->prepare() returns FALSE.

Ejemplos

Ejemplo 1. Prepare an SQL statement with named parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array('calories' => 175, 'colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

Ejemplo 2. Prepare an SQL statement with question mark parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

Ver también

PDO->exec()
PDO->query()
PDOStatement->execute()

Anterior | Inicio | Siguiente
PDO->lastInsertId() | Subir | PDO->query()


PDO->rollBack()

(no version information, might be only in CVS)

PDO->rollBack() -- Rolls back a transaction

Descripción

class PDO {

bool rollBack ( void )

}

Rolls back the current transaction, as initiated by PDO->beginTransaction(). It is an error to call this method if no transaction is active.

If the database was set to autocommit mode, this function will restore autocommit mode after it has rolled back the transaction.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Ver también

PDO->beginTransaction()
PDO->commit()

Anterior | Inicio | Siguiente
PDO->quote() | Subir | PDO->setAttribute()


PDO->setAttribute()

(no version information, might be only in CVS)

PDO->setAttribute() -- Set an attribute

Descripción

class PDO {

bool setAttribute ( int attribute, mixed value )

}

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes.

  • PDO::ATTR_CASE: Force column names to a specific case.

    • PDO::CASE_LOWER: Force column names to lower case.

    • PDO::CASE_NATURAL: Leave column names as returned by the database driver.

    • PDO::CASE_UPPER: Force column names to upper case.

  • PDO::ATTR_ERRMODE: Error reporting.

    • PDO::ERRMODE_SILENT: Just set error codes.

    • PDO::ERRMODE_WARNING: Raise E_WARNING.

    • PDO::ERRMODE_EXCEPTION: Throw exceptions.

  • PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings.

    • PDO::NULL_NATURAL: No conversion.

    • PDO::NULL_EMPTY_STRING: Empty string is converted to NULL.

    • PDO::NULL_TO_STRING: NULL is converted to an empty string.

  • PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

  • PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDO->rollBack() | Subir | PDOStatement->bindColumn()


PDOStatement->bindColumn()

(no version information, might be only in CVS)

PDOStatement->bindColumn() -- Bind a column to a PHP variable

Descripción

class PDOStatement {

bool bindColumn ( mixed column, mixed &param [, int type] )

}

PDOStatement->bindColumn() arranges to have a particular variable bound to a given column in the result-set from a query. Each call to PDOStatement->fetch() or PDOStatement->fetchAll() will update all the variables that are bound to columns.

Nota: Since information about the columns is not always available to PDO until the statement is executed, portable applications should call this function after PDOStatement->execute().

Lista de parámetros

column

Number of the column (1-indexed) or name of the column in the result set. If using the column name, be aware that the name should match the case of the column, as returned by the driver.

param

Name of the PHP variable to which the column will be bound.

type

Data type of the parameter, specified by the PDO::PARAM_* constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Binding result set output to PHP variables

Binding columns in the result set to PHP variables is an effective way to make the data contained in each row immediately available to your application. The following example demonstrates how PDO allows you to bind and retrieve columns with a variety of options and with intelligent defaults.

<?php
function readData($dbh) {
  $sql = 'SELECT name, colour, calories FROM fruit';
  try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    /* Bind by column number */
    $stmt->bindColumn(1, $name);
    $stmt->bindColumn(2, $colour);

    /* Bind by column name */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

El resultado del ejemplo seria:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Ver también

PDOStatement->execute()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()

Anterior | Inicio | Siguiente
PDO->setAttribute() | Subir | PDOStatement->bindParam()


PDOStatement->bindParam()

(no version information, might be only in CVS)

PDOStatement->bindParam() -- Binds a parameter to the specified variable name

Descripción

class PDOStatement {

bool bindParam ( mixed parameter, mixed &variable [, int data_type [, int length [, mixed driver_options]]] )

}

Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was use to prepare the statement. Unlike PDOStatement->bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement->execute() is called.

Most parameters are input parameters, that is, parameters that are used in a read-only fashion to build up the query. Some drivers support the invocation of stored procedures that return data as output parameters, and some also as input/output parameters that both send in data and are updated to receive it.

Lista de parámetros

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

variable

Name of the PHP variable to bind to the SQL statement parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits for the data_type parameter.

length

Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, you must explicitly set the length.

driver_options

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Ejemplo 2. Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Ejemplo 3. Call a stored procedure with an INOUT parameter

<?php
/* Call a stored procedure with an INOUT parameter */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>

Ver también

PDO->prepare()
PDOStatement->execute()
PDOStatement->bindValue()

Anterior | Inicio | Siguiente
PDOStatement->bindColumn() | Subir | PDOStatement->bindValue()


PDOStatement->errorCode()

(no version information, might be only in CVS)

PDOStatement->errorCode() -- Fetch the SQLSTATE associated with the last operation on the statement handle

Descripción

class PDOStatement {

string errorCode ( void )

}

Valores retornados

Identical to PDO->errorCode(), except that PDOStatement->errorCode() only retrieves error codes for operations performed with PDOStatement objects.

Ejemplos

Ejemplo 1. Retrieving a SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

El resultado del ejemplo seria:

PDOStatement::errorCode(): 42S02

Ver también

PDO->errorCode()
PDO->errorInfo()
PDOStatement->errorInfo()

Anterior | Inicio | Siguiente
PDOStatement->columnCount() | Subir | PDOStatement->errorInfo()


PDOStatement->errorInfo()

(no version information, might be only in CVS)

PDOStatement->errorInfo() -- Fetch extended error information associated with the last operation on the statement handle

Descripción

class PDOStatement {

array errorInfo ( void )

}

Valores retornados

PDOStatement->errorInfo() returns an array of error information about the last operation performed by this statement handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five-character alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

Ejemplos

Ejemplo 1. Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- the BONES table does not exist */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

El resultado del ejemplo seria:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Ver también

PDO->errorCode()
PDO->errorInfo()
PDOStatement->errorCode()

Anterior | Inicio | Siguiente
PDOStatement->errorCode() | Subir | PDOStatement->execute()


PDOStatement->execute()

(no version information, might be only in CVS)

PDOStatement->execute() -- Executes a prepared statement

Descripción

class PDOStatement {

bool execute ( [array input_parameters] )

}

Execute the prepared statement. If the prepared statement included parameter markers, you must either:

  • call PDOStatement->bindParam() to bind PHP variables to the parameter markers: bound variables pass their value as input and receive the output value, if any, of their associated parameter markers

  • or pass an array of input-only parameter values

Lista de parámetros

input_parameters

An array of values with as many elements as there are bound parameters in the SQL statement being executed.

You cannot bind multiple values to a single parameter; for example, you cannot bind two values to a single named parameter in an IN() clause.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Execute a prepared statement with bound variables

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Ejemplo 2. Execute a prepared statement with an array of insert values (named parameters)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

Ejemplo 3. Execute a prepared statement with an array of insert values (placeholders)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

Ejemplo 4. Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Ver también

PDO->prepare()
PDOStatement->bindParam()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()

Anterior | Inicio | Siguiente
PDOStatement->errorInfo() | Subir | PDOStatement->fetch()


PDOStatement->fetch()

(no version information, might be only in CVS)

PDOStatement->fetch() -- Fetches the next row from a result set

Descripción

class PDOStatement {

mixed fetch ( [int fetch_style [, int cursor_orientation [, int cursor_offset]]] )

}

Fetches a row from a result set associated with a PDOStatement object. The fetch_style parameter determines how PDO returns the row.

Lista de parámetros

fetch_style

Controls how the next row will be returned to the caller. This value must be one of the PDO::FETCH_* constants, defaulting to PDO::FETCH_BOTH.

  • PDO::FETCH_ASSOC: returns an array indexed by column name as returned in your result set

  • PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

  • PDO::FETCH_BOUND: returns TRUE and assigns the values of the columns in your result set to the PHP variables to which they were bound with the PDOStatement->bindParam() method

  • PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.

  • PDO::FETCH_INTO: updates an existing instance of the requested class, mapping the columns of the result set to named properties in the class

  • PDO::FETCH_LAZY: combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed

  • PDO::FETCH_NUM: returns an array indexed by column number as returned in your result set, starting at column 0

  • PDO::FETCH_OBJ: returns an anonymous object with property names that correspond to the column names returned in your result set

cursor_orientation

For a PDOStatement object representing a scrollable cursor, this value determines which row will be returned to the caller. This value must be one of the PDO::FETCH_ORI_* constants, defaulting to PDO::FETCH_ORI_NEXT. To request a scrollable cursor for your PDOStatement object, you must set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you prepare the SQL statement with PDO->prepare().

offset

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_ABS, this value specifies the absolute number of the row in the result set that shall be fetched.

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_REL, this value specifies the row to fetch relative to the cursor position before PDOStatement->fetch() was called.

Ejemplos

Ejemplo 1. Fetching rows using different fetch styles

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Exercise PDOStatement::fetch styles */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");
?>

El resultado del ejemplo seria:

PDO::FETCH_ASSOC: Return next row as an array indexed by column name
Array
(
    [NAME] => apple
    [COLOUR] => red
)

PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number
Array
(
    [NAME] => banana
    [0] => banana
    [COLOUR] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties
PDORow Object
(
    [NAME] => orange
    [COLOUR] => orange
)

PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties
kiwi

Ejemplo 2. Fetching rows with a scrollable cursor

<?php
function readDataForwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function readDataBackwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Reading forwards:\n";
readDataForwards($conn);

print "Reading backwards:\n";
readDataBackwards($conn);
?>

El resultado del ejemplo seria:

Reading forwards:
21    10    5
16    0     5
19    20    10

Reading backwards:
19    20    10
16    0     5
21    10    5

Ver también

PDO->query()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()
PDO->prepare()
PDOStatement->setFetchMode()

Anterior | Inicio | Siguiente
PDOStatement->execute() | Subir | PDOStatement->fetchAll()


PDOStatement->fetchAll()

(no version information, might be only in CVS)

PDOStatement->fetchAll() -- Returns an array containing all of the result set rows

Descripción

class PDOStatement {

array fetchAll ( [int fetch_style [, int column_index]] )

}

Lista de parámetros

fetch_style

Controls the contents of the returned array as documented in PDOStatement->fetch(). Defaults to PDO::FETCH_BOTH.

To return an array consisting of all values of a single column from the result set, specify PDO::FETCH_COLUMN. You can specify which column you want with the column-index parameter.

To fetch only the unique values of a single column from the result set, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_UNIQUE.

To return an associative array grouped by the values of a specified column, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_GROUP.

column_index

Returns the indicated 0-indexed column when the value of fetch_style is PDO::FETCH_COLUMN. Defaults to 0.

Valores retornados

PDOStatement->fetchAll() returns an array containing all of the remaining rows in the result set. The array represents each row as either an array of column values or an object with properties corresponding to each column name.

Using this method to fetch large result sets will result in a heavy demand on system and possibly network resources. Rather than retrieving all of the data and manipulating it in PHP, consider using the database server to manipulate the result sets. For example, use the WHERE and SORT BY clauses in SQL to restrict results before retrieving and processing them with PHP.

Ejemplos

Ejemplo 1. Fetch all remaining rows in a result set

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

El resultado del ejemplo seria:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [NAME] => pear
            [0] => pear
            [COLOUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [0] => watermelon
            [COLOUR] => pink
            [1] => pink
        )

)

Ejemplo 2. Fetching all values of a single column from a result set

The following example demonstrates how to return all of the values of a single column from a result set, even though the SQL statement itself may return multiple columns per row.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

El resultado del ejemplo seria:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Ejemplo 3. Grouping all values by a single column

The following example demonstrates how to return an associative array grouped by the values of the specified column in the result set. The array contains three keys: values apple and pear are returned as arrays that contain two different colours, while watermelon is returned as an array that contains only one colour.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute('apple', 'green');
$insert->execute('pear', 'yellow');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

El resultado del ejemplo seria:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "green"
  }
}

Ver también

PDO->query()
PDOStatement->fetch()
PDOStatement->fetchColumn()
PDO->prepare()
PDOStatement->setFetchMode()

Anterior | Inicio | Siguiente
PDOStatement->fetch() | Subir | PDOStatement->fetchColumn()


PDOStatement->rowCount()

(no version information, might be only in CVS)

PDOStatement->rowCount() -- Returns the number of rows affected by the last SQL statement

Descripción

class PDOStatement {

int rowCount ( void )

}

PDOStatement->rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

Valores retornados

Returns the number of rows.

Ejemplos

Ejemplo 1. Return the number of deleted rows

PDOStatement->rowCount() returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.

<?php
/* Delete all rows from the FRUIT table */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Return number of rows that were deleted */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>

El resultado del ejemplo seria:

Deleted 9 rows.

Ejemplo 2. Counting rows returned by a SELECT statement

For most databases, PDOStatement->rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO->query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement->fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

    /* Check the number of rows that match the SELECT statement */
  if ($res->fetchColumn() > 0) {

        /* Issue the real SELECT statement and work with the results */
         $sql = "SELECT name FROM fruit WHERE calories > 100";
       foreach ($conn->query($sql) as $row) {
           print "Name: " .  $row['NAME'] . "\n";
         }
    }
    /* No rows matched -- do something else */
  else {
      print "No rows matched the query.";
    }
}

$res = null;
$conn = null;
?>

El resultado del ejemplo seria:

apple
banana
orange
pear

Ver también

PDOStatement->columnCount()
PDOStatement->fetchColumn()
PDO->query()

Anterior | Inicio | Siguiente
PDOStatement->nextRowset() | Subir | PDOStatement->setAttribute()


Verisign Payflow Pro functions

Manual de PHP
Anterior Siguiente

CLXIX. Verisign Payflow Pro functions

This extension allows you to process credit cards and other financial transactions using Verisign Payment Services, formerly known as Signio (http://www.verisign.com/products-services/payment-processing/online-payment/payflow-pro/index.html).

These functions are only available if PHP has been compiled with the --with-pfpro[=DIR] option. You will require the appropriate SDK for your platform, which may be downloaded from within the manager interface once you have registered.

Once you have downloaded the SDK you should copy the files from the lib directory of the distribution. Copy the header file pfpro.h to /usr/local/include and the library file libpfpro.so to /usr/local/lib.

When using these functions, you may omit calls to pfpro_init() and pfpro_cleanup() as this extension will do so automatically if required. However the functions are still available in case you are processing a number of transactions and require fine control over the library. You may perform any number of transactions using pfpro_process() between the two.

These functions have been added in PHP 4.0.2.

Nota: These functions only provide a link to Verisign Payment Services. Be sure to read the Payflow Pro Developers Guide for full details of the required parameters.

Tabla de contenidos
pfpro_cleanup -- Shuts down the Payflow Pro library
pfpro_init -- Initialises the Payflow Pro library
pfpro_process_raw -- Process a raw transaction with Payflow Pro
pfpro_process -- Process a transaction with Payflow Pro
pfpro_version -- Returns the version of the Payflow Pro software

Anterior | Inicio | Siguiente
var_export | Subir | pfpro_cleanup


pfpro_cleanup

(PHP 4 >= 4.0.2, PHP 5)

pfpro_cleanup -- Shuts down the Payflow Pro library

Description

void pfpro_cleanup ( void )

pfpro_cleanup() is used to shutdown the Payflow Pro library cleanly. It should be called after you have processed any transactions and before the end of your script. However you may omit this call, in which case this extension will automatically call pfpro_cleanup() after your script terminates.

See also pfpro_init().

Anterior | Inicio | Siguiente
Verisign Payflow Pro functions | Subir | pfpro_init


pfpro_init

(PHP 4 >= 4.0.2, PHP 5)

pfpro_init -- Initialises the Payflow Pro library

Description

void pfpro_init ( void )

pfpro_init() is used to initialise the Payflow Pro library. You may omit this call, in which case this extension will automatically call pfpro_init() before the first transaction.

See also pfpro_cleanup().

Anterior | Inicio | Siguiente
pfpro_cleanup | Subir | pfpro_process_raw


pfpro_process_raw

(PHP 4 >= 4.0.2, PHP 5)

pfpro_process_raw -- Process a raw transaction with Payflow Pro

Description

string pfpro_process_raw ( string parameters [, string address [, int port [, int timeout [, string proxy address [, int proxy port [, string proxy logon [, string proxy password]]]]]]] )

Returns: A string containing the response.

pfpro_process_raw() processes a raw transaction string with Payflow Pro. You should really use pfpro_process() instead, as the encoding rules of these transactions are non-standard.

The first parameter in this case is a string containing the raw transaction request. All other parameters are the same as with pfpro_process(). The return value is a string containing the raw response.

Nota: Be sure to read the Payflow Pro Developers Guide for full details of the required parameters and encoding rules. You would be well advised to use pfpro_process() instead.

Ejemplo 1. Payflow Pro raw example

<?php

pfpro_init();

$response = pfpro_process("USER=mylogin&PWD[5]=m&ndy&TRXTYPE=S&TENDER=C&AMT=1.50&ACCT=4111111111111111&EXPDATE=0904");

if (!$response) {
  die("Couldn't establish link to Verisign.\n");
}

echo "Verisign raw response was ".$response;

pfpro_cleanup();

?>

Anterior | Inicio | Siguiente
pfpro_init | Subir | pfpro_process


pfpro_process

(PHP 4 >= 4.0.2, PHP 5)

pfpro_process -- Process a transaction with Payflow Pro

Description

array pfpro_process ( array parameters [, string address [, int port [, int timeout [, string proxy address [, int proxy port [, string proxy logon [, string proxy password]]]]]]] )

Returns: An associative array containing the response

pfpro_process() processes a transaction with Payflow Pro. The first parameter is an associative array containing keys and values that will be encoded and passed to the processor.

The second parameter is optional and specifies the host to connect to. By default this is "test.signio.com", so you will certainly want to change this to "connect.signio.com" in order to process live transactions.

The third parameter specifies the port to connect on. It defaults to 443, the standard SSL port.

The fourth parameter specifies the timeout to be used, in seconds. This defaults to 30 seconds. Note that this timeout appears to only begin once a link to the processor has been established and so your script could potentially continue for a very long time in the event of DNS or network problems.

The fifth parameter, if required, specifies the hostname of your SSL proxy. The sixth parameter specifies the port to use.

The seventh and eighth parameters specify the logon identity and password to use on the proxy.

The function returns an associative array of the keys and values in the response.

Nota: Be sure to read the Payflow Pro Developers Guide for full details of the required parameters.

Ejemplo 1. Payflow Pro example

<?php

pfpro_init();

$transaction = array(USER    => 'mylogin',
             PWD    => 'mypassword',
             TRXTYPE    => 'S',
             TENDER    => 'C',
             AMT    => 1.50,
             ACCT    => '4111111111111111',
             EXPDATE    => '0904'
             );

$response = pfpro_process($transaction);

if (!$response) {
  die("Couldn't establish link to Verisign.\n");
}

echo "Verisign response code was ".$response[RESULT];
echo ", which means: ".$response[RESPMSG]."\n";

echo "\nThe transaction request: ";
print_r($transaction);

echo "\nThe response: ";
print_r($response);

pfpro_cleanup();

?>

Anterior | Inicio | Siguiente
pfpro_process_raw | Subir | pfpro_version


pfpro_version

(PHP 4 >= 4.0.2, PHP 5)

pfpro_version -- Returns the version of the Payflow Pro software

Description

string pfpro_version ( void )

pfpro_version() returns the version string of the Payflow Pro library. At the time of writing, this was L211.

Anterior | Inicio | Siguiente
pfpro_process | Subir | vpopmail Functions


Opciones e Información de PHP

Manual de PHP
Anterior Siguiente

CXXII. Opciones e Información de PHP

Introducción

Estas funciones le dan la capacidad de obtener una gran cantidad de información sobre PHP mismo, p.ej. configuración de tiempo de ejecución, extensiones cargadas, versiones y mucho más. También encontrará funciones para establecer opciones para su intérprete PHP en ejecución. La que es probablemente la función mejor conocida de PHP - phpinfo() - puede ser encontrada aquí.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración del sistema de información PHP

Nombre | Predeterminado | Modificable | Cambios
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM |
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Disponible desde PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
magic_quotes_runtime | "0" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

assert.active boolean

Habilitar la evaluación assert().

assert.bail boolean

Terminar la ejecución del script cuando las aserciones fallen.

assert.warning boolean

Producir una advertencia PHP para cada aserción fallida.

assert.callback string

Función de usuario a llamar cuando las aserciones fallen.

assert.quiet_eval boolean

Usar el valor actual de error_reporting() durante la evaluación de expresiones asertivas. Si se habilita, no se muestran errores durante la evaluación (implicit error_reporting(0)). Si se deshabilita, los errores son mostrados de acuerdo a los valores de error_reporting().

enable_dl boolean

Esta directiva es útil en realidad únicamente en la versión de módulo de Apache de PHP. Puede habilitar y deshabilitar la carga dinámica de extensiones PHP con dl() para cada servidor virtual o por directorio.

La razón principal para deshabilitar la carga dinámica es la seguridad. Con la carga dinámica, es posible ignorar todas las restricciones open_basedir. El comportamiento predeterminado es permitir la carga dinámica, excepto cuando se usa safe mode. En safe mode, siempre es imposible usar dl().

max_execution_time integer

Este valor define el tiempo máximo en segundos que se le permite correr a un script, antes de que sea detenido por el intérprete. Esto ayuda a prevenir que scripts pobremente escritos congestionen el servidor. El valor predeterminado es 30.

El tiempo máximo de ejecución no es afectado por llamadas del sistema, operaciones de secuencias etc. Por favor consulte la función set_time_limit() para más detalles.

No puede modificar este parámetro con ini_set() cuando está corriendo bajo safe mode. El único modo de evitar este contratiempo es deshabilitar el modo seguro, o cambiar el tiempo límite en php.ini.

Su servidor web puede tener otros tiempos de espera. Por ejemplo, Apache tiene la directiva Timeout, IIS tiene la función timeout CGI, y ambos valores predeterminados son de 300 segundos. Vea la documentación del servidor web para consultar su significado.

max_input_time integer

Este valor establece el tiempo máximo en segundos con el que cuenta un script para procesar datos de entrada, como POST, GET y cargas de archivos.

magic_quotes_gpc boolean

Establece el estado de magic_quotes para las operaciones GPC (Get/Post/Cookie). Cuando magic_quotes se encuentra activo, todos los caracteres ' (comilla-simple), " (comilla doble), \ (barra invertida) y NULs son escapados con una barra invertida automáticamente.

Nota: Si la directiva magic_quotes_sybase se encuentra activa también, sobrescribirá completamente el valor de magic_quotes_gpc. Tener ambas directivas activas quiere decir que solo las comillas simples son escapadas como ''. Las comillas dobles, las barras invertidas y NULs permanecerán intactos y sin escapar.

Vea también get_magic_quotes_gpc().

magic_quotes_runtime boolean

Si magic_quotes_runtime está habilitado, la mayoría de funciones que devuelven datos de alguna clase de fuente externa, incluyendo bases de datos y archivos de texto, tendrán las comillas escapadas con barras invertidas. Si magic_quotes_sybase se encuentra habilitado también, una comilla sencilla es escapada con una comilla sencilla en lugar de una barra invertida.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Las constantes listadas aqui están siempre disponibles a través del "núcleo PHP".

Tabla 2. Constantes predefinidas de phpcredits()

Constante | Valor | Descripción
CREDITS_GROUP | 1 | Una lista de los desarrolladores centrales
CREDITS_GENERAL | 2 | Créditos generales: Diseño y concepto del lenguaje, autores de PHP y del módulo SAPI.
CREDITS_SAPI | 4 | Una lista de los módulos API de servidor para PHP, y sus autores.
CREDITS_MODULES | 8 | Una lista de módulos de extensión de PHP, y sus autores.
CREDITS_DOCS | 16 | Los créditos para el equipo de documentación.
CREDITS_FULLPAGE | 32 | Usualmente usado en combinación con las otras banderas. Indica que es necesario imprimir una página HTML independiente que incluya la información indicada por las otras banderas.
CREDITS_QA | 64 | Los créditos para el equipo de revisión de calidad.
CREDITS_ALL | -1 | Todos los créditos, equivalente a usar: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Genera una página HTML independiente completa con las etiquetas apropiadas. Este es el valor predeterminado.

Tabla 3. Constantes phpinfo()

Constante | Valor | Descripción
INFO_GENERAL | 1 | La línea de configuración, ubicación de php.ini, fecha de compilación, Servidor Web, Sistema y más.
INFO_CREDITS | 2 | Créditos PHP. Vea también phpcredits().
INFO_CONFIGURATION | 4 | Valores Locales y Maestros actuales de las directivas PHP. Vea también ini_get().
INFO_MODULES | 8 | Módulos cargados y sus respectivos parámetros.
INFO_ENVIRONMENT | 16 | Información de Variables de Entorno, que también está disponible en $_ENV.
INFO_VARIABLES | 32 | Muestra todas las variables predefinidas de EGPCS (Entorno, GET, POST, Cookie, Servidor).
INFO_LICENSE | 64 | Información de la Licencia PHP. Vea también el faq de licencia.
INFO_ALL | -1 | Muestra todo lo anterior. Este es el valor predeterminado.

ASSERT_ACTIVE (integer)

ASSERT_CALLBACK (integer)

ASSERT_BAIL (integer)

ASSERT_WARNING (integer)

ASSERT_QUIET_EVAL (integer)

Tabla de contenidos
assert_options -- Establecer/obtener las varias banderas de aserción
assert -- Revisa si la aserción es evaluada a FALSE
dl -- Carga una extensión PHP en tiempo de ejecución
extension_loaded -- Encontrar si una extensión está cargada
get_cfg_var -- Obtiene el valor de una opción de configuración de PHP
get_current_user -- Obtiene el nombre del dueño del script PHP actual
get_defined_constants -- Devuelve una matriz asociativa con los nombres de todas las constantes y sus valores
get_extension_funcs -- Devuelve una matriz con los nombres de funciones de un módulo
get_include_path -- Obtiene la opción de configuración include_path actual
get_included_files -- Devuelve una matriz con los nombres de los archivos incluidos o requeridos
get_loaded_extensions -- Devuelve una matriz con los nombres de todos los módulos compilados y cargados
get_magic_quotes_gpc -- Obtiene el valor actual de configuración de la comillas mágicas gpc
get_magic_quotes_runtime -- Obtiene el valor de configuración activo actual de magic_quotes_runtime
get_required_files -- Alias of get_included_files()
getenv -- Obtiene el valor de una variable de entorno
getlastmod -- Obtiene la hora de la última modificación de la página
getmygid -- Obtener el GID del dueño del script PHP
getmyinode -- Obtiene el inode del script actual
getmypid -- Obtiene el ID del proceso PHP
getmyuid -- Obtiene el UID del dueño del script PHP
getopt -- Obtiene opciones de la lista de argumentos desde la línea de comandos
getrusage -- Obtiene los usos de recursos actuales
ini_alter -- Alias of ini_set()
ini_get_all -- Obtiene todas las opciones de configuración
ini_get -- Obtiene el valor de una opción de configuración
ini_restore -- Restablece el valor de una opción de configuración
ini_set -- Establece el valor de una opción de configuración
main -- Página predeterminada para main()
memory_get_peak_usage -- Returns the peak of memory allocated by PHP
memory_get_usage -- Devuelve la cantidad de memoria ubicada para PHP
php_ini_scanned_files -- Devolver una lista de archivos .ini procesados del directorio ini adicional
php_logo_guid -- Obtiene el valor guid del logo
php_sapi_name -- Devuelve el tipo de interfaz entre el servidor web y PHP
php_uname -- Devuelve información sobre el sistema operativo en el que está corriendo PHP
phpcredits -- Imprime los créditos de PHP
phpinfo -- Imprime cantidades de información sobre PHP
phpversion -- Obtiene la versión de PHP actual
putenv -- Establece el valor de una variable de entorno
restore_include_path -- Restablece el valor de la opción de configuración include_path
set_include_path -- Establece la opción de configuración include_path
set_magic_quotes_runtime -- Establece el valor de configuración activo actual de magic_quotes_runtime
set_time_limit -- Limita el tiempo máximo de ejecución
sys_get_temp_dir -- Returns directory path used for temporary files
version_compare -- Compara dos cadenas de número de versión "PHP-estándar"
zend_logo_guid -- Obtiene el valor guid de Zend
zend_version -- Obtiene la versión del motor Zend actual

Anterior | Inicio | Siguiente
PharFileInfo->setUncompressed | Subir | assert_options


assert_options

(PHP 4, PHP 5)

assert_options -- Establecer/obtener las varias banderas de aserción

Descripción

mixed assert_options ( int que [, mixed valor] )

Establece las varias opciones de control de assert(), o simplemente consulta sus valores actuales.

Lista de parámetros

que

Tabla 1. Opciones de Assert

opción | parámetro-ini | predeterminado | descripción
ASSERT_ACTIVE | assert.active | 1 | habilitar la evaluación assert()
ASSERT_WARNING | assert.warning | 1 | generar una advertencia PHP para cada aserción fallida
ASSERT_BAIL | assert.bail | 0 | terminar la ejecución cuando las aserciones fallen
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | deshabilitar error_reporting durante la evaluación de expresiones de aserción
ASSERT_CALLBACK | assert.callback | (NULL) | función de usuario a llamar cuando las aserciones fallen

valor

Un valor (opcional) nuevo para la opción.

Valores retornados

Devuelve el valor original de cualquier opción, o FALSE en caso de errores.

Anterior | Inicio | Siguiente
Opciones e Información de PHP | Subir | assert


assert

(PHP 4, PHP 5)

assert -- Revisa si la aserción es evaluada a FALSE

Descripción

bool assert ( mixed asercion )

assert() revisará la asercion dada y tomará una acción apropiada si su resultado es FALSE.

Si la asercion es dada como una cadena, ésta será evaluada como código PHP por assert(). Las ventajas de una asercion tipo cadena son menor sobrecarga cuando el chequeo de aserciones se encuentre deshabilitado, y la producción de mensajes que contengan la expresión asercion cuando ésta falle. Esto quiere decir que si pasa una condición booleana como asercion, esta condición no aparecerá como parámetro de la función de aserción, la cual pudo haber definido con la función assert_options(), la condición es convertida en una cadena antes de llamar tal función gestora, y el valor booleano FALSE es convertido como una cadena vacía.

Las aserciones deben ser usadas como una característica de depuración únicamente. Puede usarlas para realizar chequeos de integridad que prueben condiciones que deberían ser siempre TRUE y que indiquen algunos errores de programación si no se cumplen, o que chequeen por la presencia de ciertas características como las funciones de extensión, o ciertos límites y características de sistema.

Las aserciones no deberían ser usadas para operaciones normales de tiempo de ejecución como chequeos de parámetros de entrada. Como regla de oro, su código debería trabajar correctamente siempre si el chequeo de aserciones no está activado.

El comportamiento de assert() puede ser configurado por assert_options() o mediante los parámetros .ini descritos en su respectiva página del manual.

La función assert_options() o la directiva de configuración ASSERT_CALLBACK permiten el uso de llamadas de retorno para gestionar las aserciones fallidas.

Las llamadas de retorno de assert() son particularmente útiles para productos que prueben procesos automatizados de generación, ya que le permitin capturar fácilmente el código pasado a la aserción, junto con información sobre dónde se creó la aserción. Aunque esta información puede ser capturada mediante otros métodos, ¡el uso de aserciones lo hace mucho más rápido y sencillo!

La llamada de retorno debe aceptar tres argumentos. El primer argumento contendrá el archivo en el que ha fallado la aserción. El segundo argumento contendrá la línea en la que falló la aserción, y el tercer argumento contendrá la expresión que falló (si está disponible - valores literales como 1 o "dos" no serán pasados a través de este argumento).

Lista de parámetros

asercion

La aserción.

Valores retornados

FALSE si la aserción es falsa, TRUE de lo contrario.

Ejemplos

Ejemplo 1. Gestionar una aserción fallida con una función personalizada

<?php
// Activar las aserciones y hacerlas silenciosas
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Crear una función gestora
function mi_gestor_de_asercion($archivo, $linea, $codigo)
{
    echo "<hr>Aserción Fallida:
        Archivo '$archivo'<br />
        Línea   '$linea'<br />
        Código  '$codigo'<br /><hr />";
}

// Configurar la llamada de retorno
assert_options(ASSERT_CALLBACK, 'mi_gestor_de_asercion');

// Crear una aserción que debería fallar
assert('mysql_query ("")');
?>

Anterior | Inicio | Siguiente
assert_options | Subir | dl


dl

(PHP 3, PHP 4, PHP 5)

dl -- Carga una extensión PHP en tiempo de ejecución

Descripción

int dl ( string biblioteca )

Carga la extensión PHP dada por el parámetro biblioteca.

Use extension_loaded() para probar si una cierta extensión ya se encuentra disponible o no. Esto funciona tanto con extensiones integradas como con las cargadas dinámicamente (ya sea mediante php.ini o dl()).

Lista de parámetros

biblioteca

Este parámetro es únicamente el nombre de archivo de la extensión a cargar, el cual también depende de su plataforma. Por ejemplo, la extensión sockets (si fue compilada como módulo, ¡que no es el comportamiento predeterminado!) podría llamarse sockets.so en plataformas Unix, mientras que se llama php_sockets.dll en la plataforma Windows.

El directorio desde donde es cargada la extensión depende de su plataforma:

Windows - Si no está definida explícitamente en php.ini, la extensión es cargada desde c:\php4\extensions\ por defecto.

Unix - Si no está definida explícitamente en php.ini, el directorio de extensiones predeterminado depende de

  • si PHP ha sido compilado con --enable-debug o no

  • si PHP ha sido compilado con soporte ZTS (Zend Thread Safety) (experimental) o no

  • el valor interno ZEND_MODULE_API_NO actual (número interno de API de módulo Zend, el cual es básicamente la fecha en la que ocurrió un cambio significativo en la API de módulo, p.ej. 20010901)

Tomando en cuenta lo anterior, el directorio recibe el valor predeterminado de <dir-instalacion>/lib/php/extensions/ <debug-o-no>-<zts-o-no>-ZEND_MODULE_API_NO, p.ej. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 o /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Si la funcionalidad de carga de módulos no está disponible (ver Nota) o ha sido deshabilitada (ya sea mediante la desactivación de enable_dl o activando safe mode en php.ini) un E_ERROR es producido y se detiene la ejecución. Si dl() falla porque la biblioteca especificada no pudo ser cargada, se emite un mensaje E_WARNING en compañía del FALSE.

Ejemplos

Ejemplo 1. Ejemplos de dl()

<?php
// Ejemplo de carga de una extensión en base al SO
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// O, usando la constante PHP_SHLIB_SUFFIX que está disponible a
// partir de PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefijo = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefijo . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

Notes

Nota: La función dl() no es soportada en servidores Web multi-hilos. Use la sentencia extensions en su php.ini cuando trabaje sobre ese tipo de entornos. Sin embargo, ¡las versiones CGI y CLI no son afectadas!

Nota: A partir de PHP 5, la función dl() es considerada obsoleta en todas las SAPI excepto CLI. Use el método de las Directivas de Carga de Extensiones en su lugar.

Nota: A partir de PHP 6 esta función es desahibilatad en todas las SAPIs, excepto CLI, CGI y embed.

Nota: dl() es sensible a mayúsculas y minúsculas en plataformas Unix.

Nota: Esta función no está habilitada en safe-mode (modo-seguro)

Ver también

Directivas de Carga de Extensiones
extension_loaded()

Anterior | Inicio | Siguiente
assert | Subir | extension_loaded


extension_loaded

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

extension_loaded -- Encontrar si una extensión está cargada

Descripción

bool extension_loaded ( string nombre )

Encuentra si la extensión está cargada.

Lista de parámetros

nombre

El nombre de la extensión.

Es posible ver los nombres de varias extensiones usando phpinfo(), o si usted usa la versión CGI o CLI de PHP, puede usar la bandera -m para listar todas las extensiones disponibles:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Valores retornados

Devuelve TRUE si la extensión identificada por nombre está cargada, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de extension_loaded()

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

Notes

Nota: extension_loaded() usa el nombre interno de extensión para probar si una extensión determinada está disponible o no. La mayoría de nombres internos de extensión están escritos en minúsculas pero es posible que hayan extensiones disponibles que usen también letras mayúsculas. ¡Tenga en cuenta que esta función realiza la comparación de forma sensible a mayúsculas/minúsculas!

Ver también

get_loaded_extensions()
get_extension_funcs()
phpinfo()
dl()

Anterior | Inicio | Siguiente
dl | Subir | get_cfg_var


get_cfg_var

(PHP 3, PHP 4, PHP 5)

get_cfg_var -- Obtiene el valor de una opción de configuración de PHP

Descripción

string get_cfg_var ( string opcion )

Obtiene el valor de una opcion de configuración de PHP.

Esta función no devolverá información de configuración definida cuando PHP fuera compilado, ni leerá desde un archivo de configuración de Apache (usando las directivas php3_configuration_option).

Para chequear si el sistema está usando un archivo de configuración, intente recuperar el valor del parámetro de configuración cfg_file_path. Si éste se encuentra disponible, quiere decir que un archivo de configuración está siendo usado.

Lista de parámetros

opcion

El nombre de la opción de configuración.

Valores retornados

Devuelve el valor actual de la opción de configuración de PHP indicada por opcion, o FALSE si ocurre un error.

Ver también

ini_get()

Anterior | Inicio | Siguiente
extension_loaded | Subir | get_current_user


get_current_user

(PHP 3, PHP 4, PHP 5)

get_current_user -- Obtiene el nombre del dueño del script PHP actual

Descripción

string get_current_user ( void )

Devuelve el nombre del dueño del script PHP actual.

Valores retornados

Devuelve el nombre de usuario como una cadena.

Ver también

getmyuid()
getmygid()
getmypid()
getmyinode()
getlastmod()

Anterior | Inicio | Siguiente
get_cfg_var | Subir | get_defined_constants


get_defined_constants

(PHP 4 >= 4.1.0, PHP 5)

get_defined_constants -- Devuelve una matriz asociativa con los nombres de todas las constantes y sus valores

Descripción

array get_defined_constants ( [mixed categorizar] )

Devuelve los nombres y valores de todas las constantes definidas actualmente. Esto incluye aquellas creadas por extensiones, asi como aquellas creadas con la función define().

Lista de parámetros

categorizar

Puede ser pasado, causando que esta función devuelva una matriz multi-dimensional con categorías en las claves de la primera dimensión y constantes y sus valores en la segunda dimensión.

<?php
define("MI_CONSTANTE", 1);
print_r(get_defined_constants(true));
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [internal] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [MI_CONSTANTE] => 1
        )

)

Nota: El valor del parámetro categorizar es irrelevante, sólo se considera su presencia.

Valores retornados

Registro de cambios

Versión | Descripción
5.0.0 | El parámetro categorizar fue agregado.

Ejemplos

Ejemplo 1. Ejemplo de get_defined_constants()

<?php
print_r(get_defined_constants());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Ver también

defined()
get_loaded_extensions()
get_defined_functions()
get_defined_vars()

Anterior | Inicio | Siguiente
get_current_user | Subir | get_extension_funcs


get_extension_funcs

(PHP 4, PHP 5)

get_extension_funcs -- Devuelve una matriz con los nombres de funciones de un módulo

Descripción

array get_extension_funcs ( string nombre_modulo )

Esta función devuelve los nombres de todas las funciones definidas en el módulo indicado por nombre_modulo.

Lista de parámetros

nombre_modulo

El nombre del módulo.

Nota: Este parámetro debe estar en minúsculas.

Valores retornados

Devuelve una matriz con todas las funciones, o FALSE si nombre_modulo no es una extensión válida.

Ejemplos

Ejemplo 1. Imprime las funciones XML

<?php
print_r(get_extension_funcs("xml"));
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
    [22] => utf8_encode
    [23] => utf8_decode
)

Ver también

get_loaded_extensions()

Anterior | Inicio | Siguiente
get_defined_constants | Subir | get_include_path


get_include_path

(PHP 4 >= 4.3.0, PHP 5)

get_include_path -- Obtiene la opción de configuración include_path actual

Descripción

string get_include_path ( void )

Obtiene el valor actual de la opción de configuración include_path.

Valores retornados

Devuelve la ruta, como una cadena.

Ejemplos

Ejemplo 1. Ejemplo de get_include_path()

<?php
// Funciona a partir de PHP 4.3.0
echo get_include_path();

// Funciona en todas las versiones de PHP
echo ini_get('include_path');
?>

Ver también

ini_get()
restore_include_path()
set_include_path()
include()

Anterior | Inicio | Siguiente
get_extension_funcs | Subir | get_included_files


get_included_files

(PHP 4, PHP 5)

get_included_files -- Devuelve una matriz con los nombres de los archivos incluidos o requeridos

Descripción

array get_included_files ( void )

Obtiene los nombres de todos los archivos que han sido incluidos usando include(), include_once(), require() o require_once().

Valores retornados

Devuelve una matriz con los nombres de los archivos.

El script llamado originalmente es considerado un "archivo incluido", así que será listado junto con los archivos referenciados por la familia de funciones include().

Los archivos que son incluidos o requeridos múltiples veces solo aparecen una vez en la matriz devuelta.

Registro de cambios

Versión | Descripción
4.0.1 | En PHP 4.0.1 y versiones anteriores esta función asumía que los archivos requeridos finalizaban en la extensión .php; otras extensiones no serán devueltas. La matriz devuelta por get_included_files() era una matriz asociativa y solo listaba los archivos incluidos por include() y include_once().

Ejemplos

Ejemplo 1. Ejemplo de get_included_files()

<?php
// Este archivo es abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$archivos_incluidos = get_included_files();

foreach ($archivos_incluidos as $nombre_archivo) {
    echo "$nombre_archivo\n";
}

?>

El resultado del ejemplo seria:

abc.php
test1.php
test2.php
test3.php
test4.php

Notes

Nota: Los archivos incluidos usando la directiva de configuración auto_prepend_file no son incluidos en la matriz devuelta.

Ver también

include()
include_once()
require()
require_once()
get_required_files()

Anterior | Inicio | Siguiente
get_include_path | Subir | get_loaded_extensions


get_loaded_extensions

(PHP 4, PHP 5)

get_loaded_extensions -- Devuelve una matriz con los nombres de todos los módulos compilados y cargados

Descripción

array get_loaded_extensions ( void )

Esta función devuelve los nombres de todos los módulos compilados y cargados en el intérprete PHP.

Valores retornados

Devuelve una matriz indexada por todos los nombres de módulo.

Ejemplos

Ejemplo 1. get_loaded_extensions() Example

<?php
print_r(get_loaded_extensions());
?>

El resultado del ejemplo seria algo similar a:

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

Ver también

get_extension_funcs()
extension_loaded()
dl()
phpinfo()

Anterior | Inicio | Siguiente
get_included_files | Subir | get_magic_quotes_gpc


get_magic_quotes_gpc

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

get_magic_quotes_gpc -- Obtiene el valor actual de configuración de la comillas mágicas gpc

Descripción

int get_magic_quotes_gpc ( void )

Devuelve el valor actual del parámetro de configuración magic_quotes_gpc

Tenga en cuenta que el parámetro magic_quotes_gpc no funcionará en tiempo de ejecución.

Para más información sobre magic_quotes, vea esta sección de seguridad.

Valores retornados

Devuelve 0 si las comillas mágicas están deshabilitadas, 1 de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de get_magic_quotes_gpc()

<?php
echo get_magic_quotes_gpc();         // 1
echo $_POST['apellido'];             // O\'reilly
echo addslashes($_POST['apellido']); // O\\\'reilly

if (!get_magic_quotes_gpc()) {
    $apellido = addslashes($_POST['apellido']);
} else {
    $apellido = $_POST['apellido'];
}

echo $apellido; // O\'reilly
$sql = "INSERT INTO apellidos (apellido) VALUES ('$apellido')";
?>

Notes

Nota: Si la directiva magic_quotes_sybase se encuentra habilitada (ON), sobrescribirá completamente magic_quotes_gpc. Así que aun cuando get_magic_quotes_gpc() devuelve TRUE, ni las comillas dobles, ni las barras invertidas o caracteres NUL serán escapados. Sólo las comillas sencillas serán escapadas. En este caso se verán de este modo: ''

Ver también

addslashes()
stripslashes()
get_magic_quotes_runtime()
ini_get()

Anterior | Inicio | Siguiente
get_loaded_extensions | Subir | get_magic_quotes_runtime


get_magic_quotes_runtime

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

get_magic_quotes_runtime -- Obtiene el valor de configuración activo actual de magic_quotes_runtime

Descripción

int get_magic_quotes_runtime ( void )

Devuelve el valor de configuración activo actual de magic_quotes_runtime.

Valores retornados

Devuelve 0 si magic_quotes_runtime está deshabilitado, 1 de lo contrario.

Ver también

get_magic_quotes_gpc()
set_magic_quotes_runtime()

Anterior | Inicio | Siguiente
get_magic_quotes_gpc | Subir | get_required_files


get_required_files

(PHP 4, PHP 5)

get_required_files -- Alias of get_included_files()

Descripción

This function is an alias of: get_included_files().

Anterior | Inicio | Siguiente
get_magic_quotes_runtime | Subir | getenv


getenv

(PHP 3, PHP 4, PHP 5)

getenv -- Obtiene el valor de una variable de entorno

Descripción

string getenv ( string nombre_var )

Obtiene el valor de una variable de entorno.

Es posible consultar una lista de todas las variables de entorno usando phpinfo(). Puede encontrar el significado de muchas de ellas en la especificación CGI, particularmente en la página sobre variables de entorno.

Lista de parámetros

nombre_var

El nombre de variable.

Valores retornados

Devuelve el valor de la variable de entorno nombre_var, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de getenv()

<?php
// Ejemplo de uso de getenv()
$ip = getenv('REMOTE_ADDR');

// O simplemente use una Superglobal ($_SERVER o $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
?>

Ver también

putenv()
apache_getenv()
Superglobales

Anterior | Inicio | Siguiente
get_required_files | Subir | getlastmod


getlastmod

(PHP 3, PHP 4, PHP 5)

getlastmod -- Obtiene la hora de la última modificación de la página

Descripción

int getlastmod ( void )

Obtiene la hora de la última modificación de la página actual.

Si está interesado en obtener la hora de la última modificación de un archivo diferente, considere el uso de filemtime().

Valores retornados

Devuelve la hora de la última modificación de la página actual. El valor devuelto es una marca de tiempo Unix, apropiada para ser pasada a date(). Devuelve FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de getlastmod()

<?php
// imprime p.ej. 'Ultima modificación: March 04 1998 20:43:59.'
echo "Ultima modificación: " . date ("F d Y H:i:s.", getlastmod());
?>

Ver también

date()
getmyuid()
getmygid()
get_current_user()
getmyinode()
getmypid()
filemtime()

Anterior | Inicio | Siguiente
getenv | Subir | getmygid


getmygid

(PHP 4 >= 4.1.0, PHP 5)

getmygid -- Obtener el GID del dueño del script PHP

Descripción

int getmygid ( void )

Obtiene el ID de grupo del script actual.

Valores retornados

Devuelve el ID de grupo del script actual, o FALSE en caso de error.

Ver también

getmyuid()
getmypid()
get_current_user()
getmyinode()
getlastmod()

Anterior | Inicio | Siguiente
getlastmod | Subir | getmyinode


getmyinode

(PHP 3, PHP 4, PHP 5)

getmyinode -- Obtiene el inode del script actual

Descripción

int getmyinode ( void )

Obtiene el inode del script actual.

Valores retornados

Devuelve el inode del script actual como una cadena, o FALSE si ocurre un error.

Notes

Nota: Esta función no está implementada en plataformas Windows.

Ver también

getmygid()
getmyuid()
getmypid()
get_current_user()
getlastmod()

Anterior | Inicio | Siguiente
getmygid | Subir | getmypid


getmypid

(PHP 3, PHP 4, PHP 5)

getmypid -- Obtiene el ID del proceso PHP

Descripción

int getmypid ( void )

Obtiene el ID del proceso PHP actual.

Valores retornados

Devuelve el ID del proceso PHP actual, o FALSE si ocurre un error.

Notes

Aviso

Los IDs de proceso no son únicos, por lo tanto son una fuente débil de entropía. Es recomendable no depender en ids de proceso en contextos sujetos a consideraciones de seguridad.

Ver también

getmygid()
getmyuid()
get_current_user()
getmyinode()
getlastmod()

Anterior | Inicio | Siguiente
getmyinode | Subir | getmyuid


getmyuid

(PHP 3, PHP 4, PHP 5)

getmyuid -- Obtiene el UID del dueño del script PHP

Descripción

int getmyuid ( void )

Obtiene el ID de usuario para el script actual.

Valores retornados

Devuelve el ID de usuario del script actual, o FALSE en caso de error.

Ver también

getmygid()
getmypid()
get_current_user()
getmyinode()
getlastmod()

Anterior | Inicio | Siguiente
getmypid | Subir | getopt


getopt

(PHP 4 >= 4.3.0, PHP 5)

getopt -- Obtiene opciones de la lista de argumentos desde la línea de comandos

Descripción

array getopt ( string opciones )

Devuelve una matriz asociativa con parejas opción / argumento en base al formato de opciones especificado en opciones, o FALSE en caso de fallo.

Lista de parámetros

opciones

El parámetro opciones puede contener los siguientes elementos: caracteres individuales, y caracteres seguidos de dos puntos para indicar que sigue un argumento que declara una opción. Por ejemplo, la cadena x reconoce una opción -x, y una cadena x: reconoce una opción y un argumento -x argumento. No importa si un argumento incluye espacio en blanco al comienzo.

Valores retornados

Esta función devolverá una matriz de parejas opción / argumento. Si una opción no tiene argumento, el valor será definido a FALSE.

Ejemplos

Ejemplo 1. Ejemplo de getopt()

<?php
// procesar la línea de comandos ($GLOBALS['argv'])
$opciones = getopt("f:hp:");
?>

Notes

Nota: Esta función no está implementada en plataformas Windows.

Anterior | Inicio | Siguiente
getmyuid | Subir | getrusage


getrusage

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

getrusage -- Obtiene los usos de recursos actuales

Descripción

array getrusage ( [int quien] )

Esta es una interfaz con getrusage(2). Obtiene datos devueltos de la llamada de sistema.

Lista de parámetros

quien

Si quien es 1, getrusage será llamado con RUSAGE_CHILDREN.

Valores retornados

Devuelve una matriz asociativa que contiene los datos devueltos por la llamada de sistema. Todas las entradas son accesibles usando sus nombres de campo documentados.

Ejemplos

Ejemplo 1. Ejemplo de getrusage()

<?php
$dat = getrusage();
echo $dat["ru_nswap"];         // número de intercambios (swaps)
echo $dat["ru_majflt"];        // número de faltas de página
echo $dat["ru_utime.tv_sec"];  // tiempo de usuario usado (segundos)
echo $dat["ru_utime.tv_usec"]; // tiempo de usuario usado (microsegundos)
?>

Notes

Nota: Esta función no está implementada en plataformas Windows.

Ver también

La página man en su sistema sobre getrusage(2)

Anterior | Inicio | Siguiente
getopt | Subir | ini_alter


ini_alter

(PHP 4, PHP 5)

ini_alter -- Alias of ini_set()

Descripción

This function is an alias of: ini_set().

Anterior | Inicio | Siguiente
getrusage | Subir | ini_get_all


ini_get_all

(PHP 4 >= 4.2.0, PHP 5)

ini_get_all -- Obtiene todas las opciones de configuración

Descripción

array ini_get_all ( [string extension] )

Devuelve todas las opciones de configuración registradas.

Lista de parámetros

extension

Un nombre de extensión opcional. Si es definido, la función devuelve solo opciones específicas a esa extensión.

Valores retornados

Devuelve una matriz asociativa que usa el nombre de directiva como clave de la matriz, mientras los elementos de esa matriz son global_value (definido en php.ini), local_value (quizás definido con ini_set() o en .htaccess), y access (el nivel de acceso). Vea la sección del manual sobre cambios de configuración para más información sobre qué quieren decir los niveles de acceso.

Nota: Es posible que una directiva tenga múltiples niveles de acceso, razón por la cual access muestra los valores de máscara de bits apropiados.

Ejemplos

Ejemplo 1. Un ejemplo de ini_get_all()

<?php
$inis = ini_get_all();

print_r($inis);

?>

El resultado del ejemplo seria algo similar a:

Array
(
    [allow_call_time_pass_reference] => Array
    (
        [global_value] => 1
        [local_value] => 1
        [access] => 6
    )
    [allow_url_fopen] => Array
    (
        [global_value] => 1
        [local_value] => 1
        [access] => 7
    )

    ...

)

Ver también

ini_get()
ini_restore()
ini_set()
get_loaded_extensions()
phpinfo()

Anterior | Inicio | Siguiente
ini_alter | Subir | ini_get


ini_get

(PHP 4, PHP 5)

ini_get -- Obtiene el valor de una opción de configuración

Descripción

string ini_get ( string nombre_var )

Devuelve el valor de la opción de configuración en caso de éxito.

Lista de parámetros

nombre_var

El nombre de la opción de configuración.

Valores retornados

Devuelve el valor de la opción de configuración como una cadena en caso de éxito, o una cadena vacía en caso de fallo.

Ejemplos

Ejemplo 1. Algunos ejemplos de ini_get()

<?php
/*
Nuestro php.ini contiene los siguientes parámetros:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size en bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $ultimo = strtolower($val{strlen($val)-1});
    switch($ultimo) {
        // El modificador 'G' se encuentra disponible desde PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>

El resultado del ejemplo seria algo similar a:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size en bytes = 8388608

Notes

Cuando se consultan valores booleanos: Un valor ini booleano de off será devuelto como una cadena vacía o "0", mientras que un valor ini booleano de on será devuelto como "1".

Cuando se consultan valores de tamaño de memoria: Muchos valores ini de tamaño de memoria, como upload_max_filesize son almacenados en el archivo php.ini en notación abreviada. ini_get() devolverá la cadena exacta almacenada en el archivo php.ini y NO su equivalente integer. Usar funciones aritméticas normales sobre estos valores no tendrían los resultados que de otra forma podrían esperarse. El siguiente ejemplo muestra una manera de convertir la notación corta de bytes, de forma similar al modo que lo hace el código fuente de PHP.

Ver también

get_cfg_var()
ini_get_all()
ini_restore()
ini_set()

Anterior | Inicio | Siguiente
ini_get_all | Subir | ini_restore


ini_restore

(PHP 4, PHP 5)

ini_restore -- Restablece el valor de una opción de configuración

Descripción

void ini_restore ( string nombre_var )

Restablece una opción de configuración dada a su valor original.

Lista de parámetros

nombre_var

El nombre de la opción de configuración.

Valores retornados

No value is returned.

Ver también

ini_get()
ini_get_all()
ini_set()

Anterior | Inicio | Siguiente
ini_get | Subir | ini_set


ini_set

(PHP 4, PHP 5)

ini_set -- Establece el valor de una opción de configuración

Descripción

string ini_set ( string nombre_var, string nuevo_valor )

Establece el valor de la opción de configuración dada. La opción de configuración mantendrá este nuevo valor durante la ejecución del script, y será restablecido al final del script.

Lista de parámetros

nombre_var

No todas las opciones disponibles pueden ser modificadas usando ini_set(). Hay una lista de todas las opciones disponibles en el apéndice.

nuevo_valor

El nuevo valor para la opción.

Valores retornados

Devuelve el valor antiguo en caso de éxito, FALSE en caso de fallo.

Ver también

get_cfg_var()
ini_get()
ini_get_all()
ini_restore()
Cómo modificar los parámetros de configuración

Anterior | Inicio | Siguiente
ini_restore | Subir | main


main

(no version information, might be only in CVS)

main -- Página predeterminada para main()

Descripción

No existe una función llamada main(), excepto en el código fuente de PHP. En PHP 4.3.0, un nuevo tipo de gestión de errores en las fuentes de PHP (php_error_docref) fue añadido. Una característica es la de proveer enlaces a la página del manual en los mensajes de error de PHP cuando las directivas PHP html_errors (habilitada por defecto) y docref_root (habilitada por defecto hasta PHP 4.3.2) están definidas.

Algunas veces los mensajes de error se refieren a una página del manual para la función main(), razón por la que existe esta página. Por favor agregue un comentario de usuario a continuación que mencione qué función de PHP causó el error que enlazaba con main() y ésta será arreglada y documentada apropiadamente.

Tabla 1. Errores conocidos que apuntan a main()

Nombre de función | Ya no apunta hacia aquí a partir de
include() | 5.1.0
include_once() | 5.1.0
require() | 5.1.0
require_once() | 5.1.0

Ver también

html_errors
display_errors

Anterior | Inicio | Siguiente
ini_set | Subir | memory_get_peak_usage


memory_get_usage

(PHP 4 >= 4.3.2, PHP 5)

memory_get_usage -- Devuelve la cantidad de memoria ubicada para PHP

Descripción

int memory_get_usage ( [bool uso_real] )

Devuelve la cantidad de memoria, en bytes, que está siendo ubicada actualmente para su script PHP.

memory_get_usage() se encontrará definida únicamente si su instalación de PHP es compilada con la opción de configuración --enable-memory-limit.

Lista de parámetros

uso_real

Defina este parámetro como TRUE para obtener el tamaño real de memoria reservada del sistema. Si no es definido o es usado el valor FALSE solo se reportará la memoria usada por emalloc().

Valores retornados

Devuelve la cantidad de memoria en bytes.

Registro de cambios

Versión | Descripción
5.2.0 | Se agregó uso_real.

Ejemplos

Ejemplo 1. Un ejemplo de memory_get_usage()

<?php
// Este es solo un ejemplo, los números presentados serán diferentes
// dependiendo de su sistema

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hola.", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Ver también

memory_get_peak_usage()
memory_limit

Anterior | Inicio | Siguiente
memory_get_peak_usage | Subir | php_ini_scanned_files


php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5)

php_ini_scanned_files -- Devolver una lista de archivos .ini procesados del directorio ini adicional

Descripción

string php_ini_scanned_files ( void )

php_ini_scanned_files() devuelve una lista separada por comas de archivos de configuración procesados después de php.ini. Estos archivos se encuentran en un directorio definido por la opción --with-config-file-scan-dir, la cual es definida durante la compilación.

Los archivos de configuración devueltos incluyen también la ruta tal y como fuera declarada en la opción --with-config-file-scan-dir.

Valores retornados

Devuelve una cadena, separada por comas, de archivos .ini en caso de éxito. Cada coma seguida de un salto de línea. Si la directiva --with-config-files-scan-dir no fue definida, se devuelve FALSE. Si la opción estaba definida y el directorio estaba vacío, se devuelve una cadena vacía. Si un archivo es irreconocible, éste aun será incluido en la cadena devuelta, pero también se producirá un error de PHP. Este error de PHP será visto tanto en tiempo de compilación como cuando se usa php_ini_scanned_files().

Ejemplos

Ejemplo 1. Un ejemplo simple para listar los archivos ini devueltos

<?php
if ($lista_archivos = php_ini_scanned_files()) {
    if (strlen($lista_archivos) > 0) {
        $archivos = explode(',', $lista_archivos);

        foreach ($archivos as $archivo) {
            echo "<li>" . trim($archivo) . "</li>\n";
        }
    }
}
?>

Ver también

ini_set()
phpinfo()

Anterior | Inicio | Siguiente
memory_get_usage | Subir | php_logo_guid


php_logo_guid

(PHP 4, PHP 5)

php_logo_guid -- Obtiene el valor guid del logo

Descripción

string php_logo_guid ( void )

Esta función devuelve el ID que puede ser usado para desplegar el logo de PHP usando la imagen integrada. El logo es desplegado únicamente si el valor de expose_php es On.

Valores retornados

Devuelve PHPE9568F34-D428-11d2-A769-00AA001ACF42.

Ejemplos

Ejemplo 1. Ejemplo de php_logo_guid()

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="¡Logo de PHP!" />';

?>

Ver también

phpinfo()
phpversion()
phpcredits()
zend_logo_guid()

Anterior | Inicio | Siguiente
php_ini_scanned_files | Subir | php_sapi_name


php_sapi_name

(PHP 4 >= 4.0.1, PHP 5)

php_sapi_name -- Devuelve el tipo de interfaz entre el servidor web y PHP

Descripción

string php_sapi_name ( void )

Devuelve una cadena en minúsculas que describe el tipo de interfaz entre el servidor web y PHP (API de Servidor, SAPI). En PHP CGI, esta cadena es "cgi", en mod_php para Apache, esta cadena es "apache" y así sucesivamente.

Valores retornados

Devuelve el tipo de interfaz, como una cadena en minúsculas.

Ejemplos

Ejemplo 1. Ejemplo de php_sapi_name()

<?php
$tipo_sapi = php_sapi_name();
if (substr($tipo_sapi, 0, 3) == 'cgi') {
    echo "Está usando PHP CGI\n";
} else {
    echo "No está usando PHP CGI\n";
}
?>

Ver también

PHP_SAPI

Anterior | Inicio | Siguiente
php_logo_guid | Subir | php_uname


php_uname

(PHP 4 >= 4.0.2, PHP 5)

php_uname -- Devuelve información sobre el sistema operativo en el que está corriendo PHP

Descripción

string php_uname ( [string modo] )

php_uname() devuelve una descripción del sistema operativo en el que PHP está corriendo. Para el nombre de tan solo el sistema operativo, considere usar la constante PHP_OS, pero recuerde que esta constante contendrá el sistema operativo en el que PHP fue compilado.

En Unix, la salida recae a desplegar la información del sistema operativo en el que PHP fue compilado si no puede determinar el SO corriendo actualmente.

Lista de parámetros

modo

modo es un caracter sencillo que define la información a ser devuelta:

  • 'a': Este es el valor predeterminado. Contiene todos los modo en la secuencia "s n r v m".

  • 's': El nombre del sistema operativo. P.ej. FreeBSD.

  • 'n': Nombre del host. P.ej. localhost.example.com.

  • 'r': Nombre del lanzamiento. P.ej. 5.1.2-RELEASE.

  • 'v': Información de versión. Varía bastante entre sistemas operativos.

  • 'm': Tipo de máquina. P.ej. i386.

Valores retornados

Devuelve la descripción, como una cadena.

Ejemplos

Ejemplo 1. Algunos ejemplos de php_uname()

<?php
echo php_uname();
echo PHP_OS;

/* Algunas posibles salidas:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo '¡Este es un servidor usando Windows!';
} else {
    echo '¡Este es un servidor que no usa Windows!';
}

?>

También existen algunas constantes de PHP predefinidas relacionadas que podrían resultar útiles, por ejemplo:

Ejemplo 2. Algunos ejemplos de constantes relacionadas con el SO

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

Ver también

phpversion()
php_sapi_name()
phpinfo()

Anterior | Inicio | Siguiente
php_sapi_name | Subir | phpcredits


phpcredits

(PHP 4, PHP 5)

phpcredits -- Imprime los créditos de PHP

Descripción

bool phpcredits ( [int bandera] )

Esta función imprime los créditos que listan los desarrolladores de PHP, los módulos, etc. Genera los códigos HTML apropiados para insertar la información en una página.

Lista de parámetros

bandera

Para generar una página de créditos personalizada, puede que quiera usar el parámetro bandera. bandera es opcional, y su valor predeterminado es CREDITS_ALL.

Tabla 1. Banderas de phpcredits() predefinidas

nombre | descripción
CREDITS_ALL | Todos los créditos, equivalente a usar: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. Genera una página HTML completa e independiente con las etiquetas apropiadas.
CREDITS_DOCS | Los créditos para el equipo de documentación
CREDITS_FULLPAGE | Usualmente usada en conjunto con las otras banderas. Indica que es necesario imprimir una página HTML completa e independiente, incluyendo la información indicada por las otras banderas.
CREDITS_GENERAL | Créditos generales: Diseño y concepto del lenguaje, autores de PHP 4.0 y módulo SAPI.
CREDITS_GROUP | Una lista de los desarrolladores centrales
CREDITS_MODULES | Una lista de los módulos de extensión para PHP, y sus autores
CREDITS_SAPI | Una lista de módulos API de servidor para PHP, y sus autores

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Imprime los créditos generales

<?php
phpcredits(CREDITS_GENERAL);
?>

Ejemplo 2. Imprime los desarrolladores principales y el grupo de documentación

<?php
phpcredits(CREDITS_GROUP + CREDITS_DOCS + CREDITS_FULLPAGE);
?>

Ejemplo 3. Impresión de todos los créditos

<html>
 <head>
  <title>Mi página de créditos</title>
 </head>
 <body>
<?php
// algo de código suyo
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// algo más de código
?>
 </body>
</html>

Ver también

phpversion()
php_logo_guid()
phpinfo()

Anterior | Inicio | Siguiente
php_uname | Subir | phpinfo


phpinfo

(PHP 3, PHP 4, PHP 5)

phpinfo -- Imprime cantidades de información sobre PHP

Descripción

bool phpinfo ( [int que] )

Imprime una gran cantidad de información sobre el estado actual de PHP. Esto incluye información sobre las opciones de compilación de PHP y sus extensiones, la versión de PHP, información del servidor y el entorno (si ha sido compilado como módulo), el entorno de PHP, información de la versión del SO, rutas, valores de configuración maestros y locales, cabeceras HTTP y la licencia de PHP.

Dado que cada sistema es configurado de forma distinta, phpinfo() es usado con frecuencia para verificar los parámetros de configuración y las variables predefinidas disponibles en un sistema dado.

phpinfo() es también una valiosa herramienta de depuración ya que contiene todos los datos EGPCS (Entorno, GET, POST, Cookie, Servidor).

Lista de parámetros

que

La salida puede ser personalizada pasando uno o más de los siguientes valores constantes a nivel de bites juntos en el parámetro opcional que. Es posible combinar también las respectivas constantes o valores de bits juntos con el operador or.

Tabla 1. Opciones de phpinfo()

Nombre (constante) | Valor | Descripción
INFO_GENERAL | 1 | La línea de configuración, ubicación de php.ini, fecha de compilación, Servidor Web, Sistema y más.
INFO_CREDITS | 2 | Créditos de PHP. Vea también phpcredits().
INFO_CONFIGURATION | 4 | Valores Locales y Maestros actuales de las directivas PHP. Vea también ini_get().
INFO_MODULES | 8 | Módulos cargados y sus respectivos parámetros. Vea también get_loaded_extensions().
INFO_ENVIRONMENT | 16 | Información de Variables de Entorno, también disponible en $_ENV.
INFO_VARIABLES | 32 | Muestra todas las variables predefinidas de EGPCS (Entorno, GET, POST, Cookie, Servidor).
INFO_LICENSE | 64 | Información de Licencia de PHP. Vea también el FAQ de licencia.
INFO_ALL | -1 | Muestra todo lo anterior. Este es el valor predeterminado.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de phpinfo()

<?php

// Muestra toda la información, por omisión INFO_ALL
phpinfo();

// Mostrar sólo la información de módulos.
// phpinfo(8) produce el mismo resultado.
phpinfo(INFO_MODULES);

?>

Notes

Nota: Partes de la información desplegada son deshabilitadas cuando el parámetro de configuración expose_php se establece como off. Esto incluye los logos de PHP y Zend, y los créditos.

Nota: phpinfo() produce texto plano como salida en lugar de HTML cuando se usa en modo CLI.

Ver también

phpversion()
phpcredits()
php_logo_guid()
ini_get()
ini_set()
get_loaded_extensions()
Variables Predefinidas

Anterior | Inicio | Siguiente
phpcredits | Subir | phpversion


phpversion

(PHP 3, PHP 4, PHP 5)

phpversion -- Obtiene la versión de PHP actual

Descripción

string phpversion ( [string extension] )

Devuelve una cadena que contiene la versión del intérprete o extensión PHP corriendo actualmente.

Lista de parámetros

extension

Un nombre de extensión opcional.

Valores retornados

Si el parámetro opcional extension es especificado, phpversion() devuelve la versión de esa extensión, o FALSE si no hay información de versión asociada o la extensión no se encuentra habilitada.

Ejemplos

Ejemplo 1. Ejemplo de phpversion()

<?php
// imprime p.ej. 'Versión de PHP actual: 4.1.1'
echo 'Versión de PHP actual: ' . phpversion();

// imprime p.ej. '2.0' o nada si la extensión no está habilitada
echo phpversion('tidy');
?>

Notes

Nota: Esta información también se encuentra disponible en la constante predefinida PHP_VERSION.

Ver también

version_compare()
phpinfo()
phpcredits()
php_logo_guid()
zend_version()

Anterior | Inicio | Siguiente
phpinfo | Subir | putenv


putenv

(PHP 3, PHP 4, PHP 5)

putenv -- Establece el valor de una variable de entorno

Descripción

bool putenv ( string parametro )

Agrega parametro al entorno del servidor. La variable de entorno existirá únicamente durante la petición actual. Al final de la petición el entorno es recuperado a su estado original.

Definir ciertas variables de entorno puede representar una brecha de seguridad potencial. La directiva safe_mode_allowed_env_vars contiene una lista de prefijos delimitados por comas. En Modo Seguro, el usuario puede alterar únicamente variables de entorno cuyos nombres comiencen con los prefijos ofrecidos por esta directiva. Por omisión, los usuarios sólo podrán definir variables de entorno que comiencen con PHP_ (p.ej. PHP_FOO=BAR). Nota: si esta directiva se encuentra vacía, ¡PHP permitirá que el usuario modifique CUALQUIER variable de entorno!

La directiva safe_mode_protected_env_vars contiene una lista de variables de entorno delimitadas por comas, que el usuario final no podrá modificar usando putenv(). Estas variables serán protegidas incluso si safe_mode_allowed_env_vars se establece de tal modo que permita modificarlas.

Lista de parámetros

parametro

El parámetro, como p.ej. "FOO=BAR"

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Definición de una variable de entorno

<?php
putenv("UNIQID=$uniqid");
?>

Notes

Aviso

¡Estas directivas tienen efecto únicamente cuando safe-mode mismo está habilitado!

Ver también

getenv()

Anterior | Inicio | Siguiente
phpversion | Subir | restore_include_path


restore_include_path

(PHP 4 >= 4.3.0, PHP 5)

restore_include_path -- Restablece el valor de la opción de configuración include_path

Descripción

void restore_include_path ( void )

Restablece la opción de configuración include_path de vuelta a su valor maestro original, tal y como se encuentre definido en php.ini

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Ejemplo de restore_include_path()

<?php

echo get_include_path();  // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path();  // /inc

// Funciona a partir de PHP 4.3.0
restore_include_path();

// Funciona en todas las versiones de PHP
ini_restore('include_path');

echo get_include_path();  // .:/usr/local/lib/php

?>

Ver también

ini_restore()
get_include_path()
set_include_path()
include()

Anterior | Inicio | Siguiente
putenv | Subir | set_include_path


set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path -- Establece la opción de configuración include_path

Descripción

string set_include_path ( string nueva_ruta_inclusion )

Establece la opción de configuración include_path durante la duración del script.

Lista de parámetros

nueva_ruta_inclusion

El nuevo valor para include_path

Valores retornados

Devuelve el valor antiguo de include_path en caso de éxito, o FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de set_include_path()

<?php
// Funciona a partir de PHP 4.3.0
set_include_path('/inc');

// Funciona en todas las versiones de PHP
ini_set('include_path', '/inc');
?>

Ejemplo 2. Añadir a la ruta de inclusión

Haciendo uso de la constante PATH_SEPARATOR es posible extender la ruta de inclusión independientemente del sistema operativo.

En este ejemplo agregamos /usr/lib/pear al final del valor include_path actual.

<?php
$ruta = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $ruta);
?>

Ver también

ini_set()
get_include_path()
restore_include_path()
include()

Anterior | Inicio | Siguiente
restore_include_path | Subir | set_magic_quotes_runtime


set_magic_quotes_runtime

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

set_magic_quotes_runtime -- Establece el valor de configuración activo actual de magic_quotes_runtime

Descripción

bool set_magic_quotes_runtime ( int nuevo_parametro )

Establece el valor de configuración activo actual de magic_quotes_runtime.

Lista de parámetros

nuevo_parametro

0 para deshabilitarlo, 1 para habilitarlo.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

get_magic_quotes_gpc()
get_magic_quotes_runtime()

Anterior | Inicio | Siguiente
set_include_path | Subir | set_time_limit


set_time_limit

(PHP 3, PHP 4, PHP 5)

set_time_limit -- Limita el tiempo máximo de ejecución

Descripción

void set_time_limit ( int segundos )

Establece el número de segundos en los que se permite correr a un script. Si este valor es alcanzado, el script devuelve un error fatal. El límite predeterminado es 30 segundos o, si existe, el valor max_execution_time definido en php.ini.

Cuando es llamada, la función set_time_limit() restablece el contador de tiempo de espera desde cero. En otras palabras, si el tiempo de espera es el valor predeterminado de 30 segundos, y 25 segundos al interior de la ejecución del script se realiza una llamada como set_time_limit(20), el script correrá por un total de 45 segundos antes de que se alcance el tiempo de espera.

Lista de parámetros

segundos

El tiempo de ejecución máximo, en segundos. Si es definido como cero, no se impone un límite de tiempo.

Valores retornados

No value is returned.

Notes

Aviso

Esta función no tiene ningún efecto cuando PHP corre en safe mode. No hay alternativa más que deshabilitar el modo seguro o modificar el límite de tiempo en php.ini.

Nota: La función set_time_limit() y la directiva de configuración max_execution_time solo afectan el tiempo de ejecución del script mismo. Cualquier cantidad de tiempo utilizado en alguna acción que ocurra por fuera de la ejecución del script, tal como llamadas de sistema usando system(), operaciones de secuencias, consultas de bases de datos, etc. no es incluido al determinar el tiempo máximo que el script ha estado corriendo.

Ver también

max_execution_time
max_input_time

Anterior | Inicio | Siguiente
set_magic_quotes_runtime | Subir | sys_get_temp_dir


version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compare -- Compara dos cadenas de número de versión "PHP-estándar"

Descripción

mixed version_compare ( string version1, string version2 [, string operador] )

version_compare() compara dos cadenas de número de versión "PHP-estandarizadas". Esto es útil si quisiera escribir programas que trabajen solo en algunas versiones de PHP.

La función comienza por reemplazar _, - y + con un punto . en las cadenas de versión, y también inserta puntos . antes y después de cualquier secuencia no numérica, de modo que por ejemplo '4.3.2RC1' se convierte en '4.3.2.RC.1'. Luego separa los resultados como si se usara explode('.', $ver). Luego compara las partes de izquierda a derecha. Si una parte contiene cadenas de versión especiales, éstas son gestionadas en el siguiente orden: dev < alpha = a < beta = b < RC < pl. De este modo, no solo las versiones con diferentes niveles, como '4.1' y '4.1.2' pueden ser comparadas, sino que también cualquier versión específica de PHP que contenga un indicador de estado de desarrollo.

Lista de parámetros

version1

Primer número de versión.

version2

Segundo número de versión.

operador

Si especifica el tercer argumento opcional operador, puede realizar pruebas por una relación en particular. Los operadores posibles son: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectivamente. Mediante el uso de este argumento, la función devolverá TRUE si la relación es la especificada por el operador, o FALSE de lo contrario.

Valores retornados

version_compare() devuelve -1 si la primera versión es inferior a la segunda, 0 si son iguales, y +1 si la segunda es menor.

Ejemplos

Ejemplo 1. Ejemplo de version_compare()

<?php
// imprime -1
echo version_compare("4.0.4", "4.0.6");

// todos estos casos imprimen 1
echo version_compare("4.0.4", "4.0.6", "<");
echo version_compare("4.0.6", "4.0.6", "eq");
?>

Notes

Nota: La constante PHP_VERSION almacena la versión actual de PHP.

Anterior | Inicio | Siguiente
sys_get_temp_dir | Subir | zend_logo_guid


zend_logo_guid

(PHP 4, PHP 5)

zend_logo_guid -- Obtiene el valor guid de Zend

Descripción

string zend_logo_guid ( void )

Esta función devuelve el ID que puede ser usado para desplegar el logo de Zend usando la imagen incorporada.

Valores retornados

Devuelve PHPE9568F35-D428-11d2-A769-00AA001ACF42.

Ejemplos

Ejemplo 1. Ejemplo de zend_logo_guid()

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . zend_logo_guid() . '" alt="¡Logo Zend!" />';

?>

Ver también

php_logo_guid()

Anterior | Inicio | Siguiente
version_compare | Subir | zend_version


zend_version

(PHP 4, PHP 5)

zend_version -- Obtiene la versión del motor Zend actual

Descripción

string zend_version ( void )

Devuelve una cadena que contiene la versión del Motor Zend ejecutándose actualmente.

Valores retornados

Devuelve el número de versión del Motor Zend, como una cadena.

Ejemplos

Ejemplo 1. Ejemplo de zend_version()

<?php
echo "Versión del motor Zend: " . zend_version();
?>

El resultado del ejemplo seria algo similar a:

Versión del motor Zend: 2.2.0

Ver también

phpinfo()
phpcredits()
php_logo_guid()
phpversion()

Anterior | Inicio | Siguiente
zend_logo_guid | Subir | Funciones POSIX


Funciones POSIX

Manual de PHP
Anterior Siguiente

CXXIII. Funciones POSIX

Introducción

Este módulo contiene una interfaz con aquellas funciones definidas en el documento estándar IEEE 1003.1 (POSIX.1), y que no son asequibles de otra manera. POSIX.1, por ejemplo, definió también las funciones open(), read(), write() y close(), las cuales han sido tradicionalmente parte de PHP 3 durante mucho tiempo. Sin embargo, algunas funciones más específicas del sistema no habían estado disponibles antes, y éste módulo intenta remediar esto ofreciendo un acceso fácil a esas funciones.

Aviso

Pueden recuperarse datos sensibles con las funciones POSIX, p.ej. posix_getpwnam() y amigos. Ninguna de las funciones POSIX realizan algún tipo de chequeo de acceso cuando el modo seguro se encuentra habilitado. Por lo tanto, es muy recomendable deshabilitar la extensión POSIX por completo (use --disable-posix en su línea de configuración) si está operando en tal tipo de entorno.

Nota: Esta extensión no está disponible en plataformas Windows

Instalación

Las funciones POSIX son habilitadas por defecto. Puede deshabilitar las funciones tipo POSIX con --disable-posix.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

POSIX_F_OK (integer)

Verificar si el archivo existe.

POSIX_R_OK (integer)

Verificar si el archivo existe y tiene permisos de lectura.

POSIX_W_OK (integer)

Verificar si el archivo existe y tiene permisos de escritura.

POSIX_X_OK (integer)

Verificar si el archivo existe y tiene permisos de ejecución.

POSIX_S_IFBLK (integer)

Archivo especial de bloque

POSIX_S_IFCHR (integer)

Archivo especial de caracter

POSIX_S_IFIFO (integer)

Archivo especial FIFO (pipe con nombre)

POSIX_S_IFREG (integer)

Archivo normal

POSIX_S_IFSOCK (integer)

Socket

Nota: Estas constantes están disponibles desde PHP 5.1.0. Por favor note también que puede que algunas de ellas no estén disponibles en su sistema.

Ver también

La sección sobre Funciones de Control de Procesos puede ser de su interés.

Tabla de contenidos
posix_access -- Determinar la accesibilidad de un archivo
posix_ctermid -- Recoge el nombre de ruta de la terminal de control
posix_get_last_error -- Recuperar el número de error establecido por la última función posix que ha fallado
posix_getcwd -- Nombre de ruta del directorio actual
posix_getegid -- Devuelve el ID de grupo efectivo del proceso actual
posix_geteuid -- Devuelve el ID de usuario efectivo del proceso actual
posix_getgid -- Devuelve el ID de grupo real del proceso actual
posix_getgrgid -- Devuelve información sobre un grupo a trave del id de grupo
posix_getgrnam -- Devuelve información sobre un grupo a traves del nombre
posix_getgroups -- Devuelve el conjunto de grupos del proceso actual
posix_getlogin -- Devuelve el nombre de usuario
posix_getpgid -- Recoge el id del grupo de procesos para el control de trabajo
posix_getpgrp -- Devuelve el identificador de grupo del proceso actual
posix_getpid -- Devuelve el identificador del proceso actual
posix_getppid -- Devuelve el identificador del proceso padre
posix_getpwnam -- Devuelve información sobre un usuario a traves del nombre de usuario
posix_getpwuid -- Devuelve información sobre un usuario a traves de su id
posix_getrlimit -- Devuelve información sobre los limites de recursos del sistema
posix_getsid -- Consigue el sid actual del proceso
posix_getuid -- Devuelve el ID de usuario real del proceso actual
posix_isatty -- Determinar si un descriptor de archivo es una terminal interactiva
posix_kill -- Manda una señal a un proceso
posix_mkfifo -- Crear un archivo especial fifo (un pipe con nombre)
posix_mknod -- Crear un archivo especial u ordinario (POSIX.1)
posix_setegid -- Establecer el GID efectivo del proceso actual
posix_seteuid -- Establecer el UID efectivo del proceso actual
posix_setgid -- Asigna el GID efectivo del proceso actual
posix_setpgid -- Asigna el id de grupo de procesos para el control de trabajos
posix_setsid -- Convierte el proceso actual en lider de sesión
posix_setuid -- Asigna el UID efectivo del proceso actual
posix_strerror -- Recuperar el mensaje de error del sistema asociado con el errno dado
posix_times -- Recoge el tiempo de los procesos
posix_ttyname -- Determina el nombre del dispositivo terminal
posix_uname -- Consigue el nombre del sistema

Anterior | Inicio | Siguiente
zend_version | Subir | posix_access


posix_ctermid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_ctermid -- Recoge el nombre de ruta de la terminal de control

Descripción

string posix_ctermid ( void )

Necesita ser escrito.

Anterior | Inicio | Siguiente
posix_access | Subir | posix_get_last_error


posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5)

posix_get_last_error -- Recuperar el número de error establecido por la última función posix que ha fallado

Descripción

int posix_get_last_error ( void )

Devuelve el valor errno (número de error) establecido por la última función posix que falló. Si no existe error, el valor 0 es devuelto. Si desea contar con el mensaje de error del sistema asociado con el errno, utilice posix_strerror().

Vea también posix_strerror().

Anterior | Inicio | Siguiente
posix_ctermid | Subir | posix_getcwd


posix_getcwd

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_getcwd -- Nombre de ruta del directorio actual

Descripción

string posix_getcwd ( void )

Necesita ser escrito cuanto antes.

Anterior | Inicio | Siguiente
posix_get_last_error | Subir | posix_getegid


posix_getegid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getegid -- Devuelve el ID de grupo efectivo del proceso actual

Descripción

int posix_getegid ( void )

Devuelve el valor numérico ID de grupo efectivo del proceso actual. Vea también posix_getgrgid() para información sobre como convertir este número en un nombre de grupo manejable.

Anterior | Inicio | Siguiente
posix_getcwd | Subir | posix_geteuid


posix_geteuid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_geteuid -- Devuelve el ID de usuario efectivo del proceso actual

Descripción

int posix_geteuid ( void )

Devuelve el valor numérico ID de usuario efectivo del proceso actual. Vea también posix_getpwuid() para información sobre como convertir este número en un nombre de usuario manejable.

Anterior | Inicio | Siguiente
posix_getegid | Subir | posix_getgid


posix_getgid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getgid -- Devuelve el ID de grupo real del proceso actual

Descripción

int posix_getgid ( void )

Devuelve el valor númerico ID de grupo real del proceso actual. Vea también posix_getgrgid() para información sobre como convertir esto en un nombre de grupo manejable.

Anterior | Inicio | Siguiente
posix_geteuid | Subir | posix_getgrgid


posix_getgrgid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_getgrgid -- Devuelve información sobre un grupo a trave del id de grupo

Descripción

array posix_getgrgid ( int gid )

Necesita ser escrito.

Anterior | Inicio | Siguiente
posix_getgid | Subir | posix_getgrnam


posix_getgrnam

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_getgrnam -- Devuelve información sobre un grupo a traves del nombre

Descripción

array posix_getgrnam ( string name )

Necesita ser escrito.

Anterior | Inicio | Siguiente
posix_getgrgid | Subir | posix_getgroups


posix_getgroups

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getgroups -- Devuelve el conjunto de grupos del proceso actual

Descripción

array posix_getgroups ( void )

Devuelve un vector de enteros que contiene los ids numéricos de grupo de el conjunto de grupos del proceso actual. Vea también posix_getgrgid() para información sobre como convertir esto en nombres de grupo manejables.

Anterior | Inicio | Siguiente
posix_getgrnam | Subir | posix_getlogin


posix_getlogin

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_getlogin -- Devuelve el nombre de usuario

Descripción

string posix_getlogin ( void )

Devuelve el nombre de usuario (login) que es dueño del proceso actual. Vea posix_getpwnam() para información sobre como conseguir mas datos de este usuario.

Anterior | Inicio | Siguiente
posix_getgroups | Subir | posix_getpgid


posix_getpgid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getpgid -- Recoge el id del grupo de procesos para el control de trabajo

Descripción

int posix_getpgid ( int pid )

Devuelve el identificador de grupo de procesos del proceso pid.

Esta no es una función POSIX, pero es normal en sistemas BSD y System V. Si su sistema no soporta esta función a nivel de sistema, esta función PHP devolverá siempre FALSE.

Anterior | Inicio | Siguiente
posix_getlogin | Subir | posix_getpgrp


posix_getpgrp

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getpgrp -- Devuelve el identificador de grupo del proceso actual

Descripción

int posix_getpgrp ( void )

Devuelve el identificador de grupo de proceso del proceso actual. Vea POSIX.1 y la página de manual getpgrp(2) de su sistema POSIX para más información de grupos de procesos.

Anterior | Inicio | Siguiente
posix_getpgid | Subir | posix_getpid


posix_getpid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getpid -- Devuelve el identificador del proceso actual

Descripción

int posix_getpid ( void )

Devuelve el identificador de proceso del proceso actual.

Anterior | Inicio | Siguiente
posix_getpgrp | Subir | posix_getppid


posix_getppid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getppid -- Devuelve el identificador del proceso padre

Descripción

int posix_getppid ( void )

Devuelve el identificador de proceso del proceso padre del proceso actual.

Anterior | Inicio | Siguiente
posix_getpid | Subir | posix_getpwnam


posix_getpwnam

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_getpwnam -- Devuelve información sobre un usuario a traves del nombre de usuario

Description

array posix_getpwnam ( string username )

Devuelve un vector asociativo conteniendo información sobre un usuario referenciado por un nombre alfanumérico, pasado a la función en el parametro username.

Los elementos del vector devuelto son:

Tabla 1. El vector de información de usuario

Elemento | Descripción
name | El elemento name contiene el nombre de usuario del usuario. Este es un nombre, normalmente menor de 16 caracteres, que no es su nombre completo, pero identifica al usario. Este debe ser el mismo que el parámetro username usado en la llamada a la función y por lo tanto es redundante.
passwd | El elemento passwd contiene la contraseña del usuario en un formato encriptado. Normalmente, por ejemplo en un sistema que este utilizando contraseñas "shadow", devolverá un asterisco.
uid | El ID de usuario del usuario en formato numérico.
gid | El ID de grupo del usuario. Utiliza la función posix_getgrgid() para resolver el nombre del grupo y una lista de sus miembros.
gecos | GECOS es un término obsoleto que se refiere al campo apuntado de información en un sistema de procesamiento batch Honeywell. El campo y sus contenidos han sido formalizado por POSIX y contiene una lista separada por comas con el nombre completo del usuario, teléfono del trabajo, número de oficina y télefono de casa. En muchos sistemas solo está disponible el nombre completo del usuario.
dir | Este elemento contiene la ruta absoluta al directorio del usuario (directorio home).
shell | El elemento shell contiene la ruta absoluta al ejecutable del shell por defecto del usuario.

Anterior | Inicio | Siguiente
posix_getppid | Subir | posix_getpwuid


posix_getpwuid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_getpwuid -- Devuelve información sobre un usuario a traves de su id

Descripción

array posix_getpwuid ( int uid )

Devuelve un vector asociativo que contiene información sobre un usuario referenciado con un ID de usuario, pasado por el parámetro uid.

Los elementos del array son:

Tabla 1. El vector de información del usuario

Elemento | Descripción
name | El elemento name contiene el nombre de usuario del usuario. Este es un nombre, normalmente menor de 16 caracteres, que no es su verdadero nombre.
passwd | El elemento passwd contiene la contraseña del usuario en un formato encriptado. Normalmente, por ejemplo en un sistema con contraseñas "shadow", devolverá un asterisco.
uid | ID del usuario, debe ser el mismo que el parametro uid usado en la llamada a la función, y por lo tanto redundante.
gid | El ID del grupo del usuario. Utiliza la función posix_getgrgid() para resolver el nombre del grupo y una lista de sus miembros.
gecos | GECOS es un término obsoleto que se refiere al campo apuntado de de información en un sistema de procesamiento batch Honeywell. El campo y sus contenidos han sido formalizados por POSIX y contiene una lista separada por comas con el nombre completo del usuario, teléfono del trabajo, número de oficina y teléfono de casa. En muchos sistemas solo está disponible el nombre completo del usuario.
dir | Este elemento contiene la ruta absoluta al directorio del usuario (directorio home).
shell | El elemento shell contiene la ruta absoluta al ejecutable del shell por defecto del usuario.

Anterior | Inicio | Siguiente
posix_getpwnam | Subir | posix_getrlimit


posix_getrlimit

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getrlimit -- Devuelve información sobre los limites de recursos del sistema

Descripción

array posix_getrlimit ( void )

Necesita ser escrita tan pronto como sea posible.

Anterior | Inicio | Siguiente
posix_getpwuid | Subir | posix_getsid


posix_getsid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getsid -- Consigue el sid actual del proceso

Descripción

int posix_getsid ( int pid )

Devuelve el sid del proceso pid. Si pid es 0, se devolverá el sid del proceso actual.

Esta no es una función POSIX, pero es normal en sistemas System V. Si su sistema no soporta esta función a nivel de sistema, esta función PHP devolverá siempre FALSE.

Anterior | Inicio | Siguiente
posix_getrlimit | Subir | posix_getuid


posix_getuid

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_getuid -- Devuelve el ID de usuario real del proceso actual

Descripción

int posix_getuid ( void )

Devuelve el valor numerico ID de usuario real del proceso actual. Vea también posix_getpwuid() para información sobre como convertir este ID en un nombre de usuario manejable.

Anterior | Inicio | Siguiente
posix_getsid | Subir | posix_isatty


posix_isatty

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_isatty -- Determinar si un descriptor de archivo es una terminal interactiva

Descripción

bool posix_isatty ( int da )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
posix_getuid | Subir | posix_kill


posix_kill

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_kill -- Manda una señal a un proceso

Descripción

bool posix_kill ( int pid, int sig )

Manda la señal sig al proceso con el identificador de proceso pid. Devuelve FALSE, si no puede enviar la señal.Si sí la envia devuelve TRUE .

Vea también la página de manual kill(2) de su sistema POSIX, la cual contiene información adicional sobre los identificadores de proceso negativos, el pid especial 0, el pid especial -1, y la señal numero 0.

Anterior | Inicio | Siguiente
posix_isatty | Subir | posix_mkfifo


posix_mkfifo

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_mkfifo -- Crear un archivo especial fifo (un pipe con nombre)

Descripción

bool posix_mkfifo ( string nombre_ruta, int modo )

posix_mkfifo() crea un archivo FIFO especial que existe en el sistema de archivos y actúa como un punto de comunicación bi-direccional para los procesos.

El segundo parámetro modo tiene que ser definido en notación octal (p.ej. 0644). El permiso del FIFO recién creado depende también del valor umask() actual. Los permisos del archivo creado son (modo & ~umask).

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Anterior | Inicio | Siguiente
posix_kill | Subir | posix_mknod


posix_setegid

(PHP 4 >= 4.0.2, PHP 5)

posix_setegid -- Establecer el GID efectivo del proceso actual

Descripción

bool posix_setegid ( int gid )

Establece el ID de grupo efectivo del proceso actual. Esta es una función privilegiada y usted necesita los permisos apropiados (usualmente root) en su sistema para contar con la capacidad de ejecutar esta función.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
posix_mknod | Subir | posix_seteuid


posix_seteuid

(PHP 4 >= 4.0.2, PHP 5)

posix_seteuid -- Establecer el UID efectivo del proceso actual

Descripción

bool posix_seteuid ( int uid )

Establece el ID de usuario real del proceso actual. Esta es una función privilegiada y usted necesita los permisos apropiados (usualmente root) en su sistema para tener la capacidad de ejecutar esta función.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también posix_setgid().

Anterior | Inicio | Siguiente
posix_setegid | Subir | posix_setgid


posix_setgid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_setgid -- Asigna el GID efectivo del proceso actual

Descripción

bool posix_setgid ( int gid )

Asigna el ID de grupo real del proceso actual. Esta es una función privilegiada y necesitas los privilegion apropiados (normalmente root) en tu sistema para realizar esta función. El orden apropiado de llamada es posix_setgid() primero, posix_setuid() después.

Devuelve TRUE si tiene éxito, FALSE en caso contrario.

Anterior | Inicio | Siguiente
posix_seteuid | Subir | posix_setpgid


posix_setpgid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_setpgid -- Asigna el id de grupo de procesos para el control de trabajos

Descripción

int posix_setpgid ( int pid, int pgid )

Inserta el proceso pid en el grupo de procesos pgid. Vea POSIX.1 y la página de manual setsid(2) de su sistema POSIX para más información sobre grupos de procesos y control de trabajo. Devuelve TRUE si tiene éxito y FALSE en caso contrario.

Anterior | Inicio | Siguiente
posix_setgid | Subir | posix_setsid


posix_setsid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_setsid -- Convierte el proceso actual en lider de sesión

Descripción

int posix_setsid ( void )

Convierte el proceso actual en lider de sesión. Vea POSIX.1 y la página de manual setsid(2) en su sistema POSIX para más informacion en grupos de proceso y control de trabajos. Devuelve el id de sesión.

Anterior | Inicio | Siguiente
posix_setpgid | Subir | posix_setuid


posix_setuid

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_setuid -- Asigna el UID efectivo del proceso actual

Descripción

bool posix_setuid ( int uid )

Asigna el ID de usuario real al proceso actual. Esta es una función privilegiada y necesitas los privilegios apropiados (normalmente root) en tu sistema para realizar esta función.

Devuelve TRUE si tiene exito, FALSE en caso contrario. Vea también posix_setgid().

Anterior | Inicio | Siguiente
posix_setsid | Subir | posix_strerror


posix_strerror

(PHP 4 >= 4.2.0, PHP 5)

posix_strerror -- Recuperar el mensaje de error del sistema asociado con el errno dado

Descripción

string posix_strerror ( int errno )

Devuelve el mensaje de error del sistema POSIX asociado con el errno dado. Si errno es 0, entonces la cadena "Success" es devuelta. La función posix_get_last_error() es usada para recuperar el último errno POSIX.

Vea también posix_get_last_error().

Anterior | Inicio | Siguiente
posix_setuid | Subir | posix_times


posix_times

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_times -- Recoge el tiempo de los procesos

Descripción

array posix_times ( void )

Devuelve un hash de cadenas con información sobre el uso de CPU del proceso actual. Los índices del hash son

  • ticks - el numero de ticks de reloj que han pasado desde el reinicio.

  • utime - tiempo de usuario usado por el proceso actual.

  • stime - tiempo de sistema usado por el proceso actual.

  • cutime - tiempo de usuario usado por el proceso actual e hijos.

  • cstime - tiempo de sistema usado por el proceso actual e hijos.

Anterior | Inicio | Siguiente
posix_strerror | Subir | posix_ttyname


posix_ttyname

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

posix_ttyname -- Determina el nombre del dispositivo terminal

Descripción

string posix_ttyname ( int fd )

Necesita ser escrito.

Anterior | Inicio | Siguiente
posix_times | Subir | posix_uname


posix_uname

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

posix_uname -- Consigue el nombre del sistema

Descripción

array posix_uname ( void )

Devuelve un hash de cadenas con información sobre el sistema. Los índices del hash son

  • sysname - nombre del sistema operativo (e.g. Linux)

  • nodename - nombre del sistema (e.g. valiant)

  • release - release del sistema operativo (e.g. 2.2.10)

  • version - versión del sistema operativo (e.g. #4 Tue Jul 20 17:01:36 MEST 1999)

  • machine - arquitectura del sistema (e.g. i586)

Posix requiere que usted no debe hacer ninguna suposición sobre el formato de los valores, por ejemplo usted no puede confiar en los tres dígitos de la version o cualquier cosa devuelta por esta función.

Anterior | Inicio | Siguiente
posix_ttyname | Subir | Funciones de Expresiones Regulares (POSIX Extendido)


Funciones PostgreSQL

Manual de PHP
Anterior Siguiente

CXXV. Funciones PostgreSQL

Introducción

La base de datos PostgreSQL es un producto Open Source y disponible sin costo. Postgres, desarrollado originalmente en el Deportamento de Ciencias de Computación de UC Berkeley, fue pionero en muchos de los conceptos de objetos y relacionales que ahora están apareciendo en algunas bases de datos comerciales. Provee soporte para lenguajes SQL92/SQL99, transacciones, integridad referencial, procedimientos almacenados y extensibilidad de tipos. PostgreSQL es un descendiente de código abierto de su código original de Berkeley.

Requisitos

Para hacer uso del soporte PostgreSQL, necesita PostgreSQL 6.5 o posterior, PostgreSQL 8.0 o posterior para habilitar todas las características del módulo. PostgreSQL soporta varias codificaciones de caracteres, incluyendo codificación de caracteres multibyte. Su versión actual, asi como más información sobre PostgreSQL se encuentra disponible en http://www.postgresql.org/ y la Documentación de PostgreSQL.

Instalación

Para habilitar el soporte de PostgreSQL, se requiere la opción --with-pgsql[=DIR] cuando se compila PHP. DIR es el directorio de instalación base de PostgreSQL, su valor predeterminado es /usr/local/pgsql. Si se encuentra disponible un objeto módulo compartido, el módulo PostgreSQL puede ser cargado usando la directiva extension en php.ini o con la función dl().

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de PostgreSQL

Nombre | Predeterminado | Modificable | Cambios
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

pgsql.allow_persistent boolean

Indica si se permiten conexiones Postgres persistentes.

pgsql.max_persistent integer

El máximo número de conexiones Postgres persistentes por proceso.

pgsql.max_links integer

El máximo número de conexiones Postgres por proceso, incluyendo conexiones persistentes.

pgsql.auto_reset_persistent integer

Detectar enlaces persistentes rotos con pg_pconnect(). Necesita un poco de carga extra.

pgsql.ignore_notice integer

Indica si se ignoran o no las noticias desde PostgreSQL.

pgsql.log_notice integer

Indica si se registran o no las noticias desde PostgreSQL. La directiva de PHP pgsql.ignore_notice debe estar deshabilitada para registrar mensajes tipo noticia.

Tipos de recursos

Existen dos tipos de recurso usados en el módulo PostgreSQL. El primero es el identificador de enlace para una conexión de base de datos, el segundo es un recurso que contiene el resultado de una consulta.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

PGSQL_ASSOC (integer)

Pasada a pg_fetch_array(). Devolver una matriz asociativa de nombres y valores de campo.

PGSQL_NUM (integer)

Pasada a pg_fetch_array(). Devolver una matriz indexada numéricamente con nombres y valores de campo.

PGSQL_BOTH (integer)

Pasada a pg_fetch_array(). Devolver una matriz de valores de campo que sea indexada numéricamente (por número de campo) y asociativamente (por nombre de campo).

PGSQL_CONNECT_FORCE_NEW (integer)

Pasada a pg_connect() para forzar la creación de una nueva conexión, en lugar de re-usar una conexión existente idéntica.

PGSQL_CONNECTION_BAD (integer)

Devuelta por pg_connection_status() indicando que la conexión de base de datos está en un estado inválido.

PGSQL_CONNECTION_OK (integer)

Devuelta por pg_connection_status() indicando que la conexión de base de datos está en un estado válido.

PGSQL_SEEK_SET (integer)

Pasada a pg_lo_seek(). La operación de búsqueda ha de comenzar desde el inicio del objeto.

PGSQL_SEEK_CUR (integer)

Pasada a pg_lo_seek(). La operación de búsqueda ha de comenzar desde la posición actual.

PGSQL_SEEK_END (integer)

Pasada a pg_lo_seek(). La operación de búsqueda ha de comenzar desde el final del objeto.

PGSQL_EMPTY_QUERY (integer)

Devuelta por pg_result_status(). La cadena enviada al servidor era vacía.

PGSQL_COMMAND_OK (integer)

Devuelta por pg_result_status(). Culminación exitosa de un comando que no devuelve datos.

PGSQL_TUPLES_OK (integer)

Devuelta por pg_result_status(). Culminación exitosa de un comando que devuelve datos (como SELECT o SHOW).

PGSQL_COPY_OUT (integer)

Devuelta por pg_result_status(). Transferencia de datos de copia hacia afuera (desde el servidor) ha iniciado.

PGSQL_COPY_IN (integer)

Devuelta por pg_result_status(). Transferencia de datos de copia hacia adentro (al servidor) ha iniciado.

PGSQL_BAD_RESPONSE (integer)

Devuelta por pg_result_status(). La respuesta del servidor no fue entendida.

PGSQL_NONFATAL_ERROR (integer)

Devuelta por pg_result_status(). Ocurrió un error no-fatal (una noticia o una advertencia).

PGSQL_FATAL_ERROR (integer)

Devuelta por pg_result_status(). Ocurrió un error fatal.

PGSQL_TRANSACTION_IDLE (integer)

Devuelta por pg_transaction_status(). La conexión está en espera actualmente, no en una transacción.

PGSQL_TRANSACTION_ACTIVE (integer)

Devuelta por pg_transaction_status(). Un comando está en progreso en la conexión. Una consulta ha sido enviada a través de la conexión y no se ha completado aun.

PGSQL_TRANSACTION_INTRANS (integer)

Devuelta por pg_transaction_status(). La conexión se encuentra en espera, en un bloque de transacción.

PGSQL_TRANSACTION_INERROR (integer)

Devuelta por pg_transaction_status(). La conexión está en espera, en un bloque fallido de transacción.

PGSQL_TRANSACTION_UNKNOWN (integer)

Devuelta por pg_transaction_status(). La conexión está mal.

PGSQL_DIAG_SEVERITY (integer)

Pasada a pg_result_error_field(). La severidad; los contenidos del campo son ERROR, FATAL, o PANIC (en un mensaje de error), o WARNING, NOTICE, DEBUG, INFO, o LOG (en un mensaje de noticia), o una traducción localizada de uno de éstos. Siempre presente.

PGSQL_DIAG_SQLSTATE (integer)

Pasada a pg_result_error_field(). El código SQLSTATE del error. El código SQLSTATE identifica el tipo de error que ha ocurrido; puede usarse por aplicaciones cliente para realizar operaciones específicas (tales como manejo de errores) en respuesta a un error de base de datos particular. Este campo no es localizable, y está siempre presente.

PGSQL_DIAG_MESSAGE_PRIMARY (integer)

Pasada a pg_result_error_field(). El mensaje de error principalmente legible para humanos (típicamente una línea). Siempre presente.

PGSQL_DIAG_MESSAGE_DETAIL (integer)

Pasada a pg_result_error_field(). Detalle: un mensaje de error opcional secundario que lleva más detalles sobre el problema. Puede extenderse a múltiples líneas.

PGSQL_DIAG_MESSAGE_HINT (integer)

Pasada a pg_result_error_field(). Pista: una sugerencia adicional sobre qué hacer acerca del problema. Se espera que este valor difiera del detalle en tanto que ofrece consejos (potencialmente inapropriados) en lugar de meros hechos. Puede extenderse por múltiples líneas.

PGSQL_DIAG_STATEMENT_POSITION (integer)

Pasada a pg_result_error_field(). Una cadena que contiene un entero decimal indicando la posición de un cursor de error como un índice en la cadena de sentencia original. El primer caracter tiene el índice 1, y las posiciones son medidas en caracteres, no bytes.

PGSQL_DIAG_INTERNAL_POSITION (integer)

Pasada a pg_result_error_field(). Este valor es definido igual que el campo PG_DIAG_STATEMENT_POSITION, pero es usado cuando la posición del cursor se refiere a un comando generado internamente en lugar de uno enviado por el cliente. El campo PG_DIAG_INTERNAL_QUERY siempre aparecerá cuando este campo aparece.

PGSQL_DIAG_INTERNAL_QUERY (integer)

Pasada a pg_result_error_field(). El texto de un comando fallido generado internamente. Éste puede ser, por ejemplo, una consulta SQL remitida por una función PL/pgSQL.

PGSQL_DIAG_CONTEXT (integer)

Pasada a pg_result_error_field(). Una indicación del contexto en el que ocurrió el error. Actualmente esto incluye una pila de llamadas hacia atrás de funciones de lenguaje procedimental activas y consulta generadas internamente. El rastreo es una entrada por línea, la más reciente primero.

PGSQL_DIAG_SOURCE_FILE (integer)

Pasada a pg_result_error_field(). El nombre de archivo del código fuente de PostgreSQL en donde el error fue reportado.

PGSQL_DIAG_SOURCE_LINE (integer)

Pasada a pg_result_error_field(). El número de línea del código fuente de PostgreSQL en donde se reportó el error.

PGSQL_DIAG_SOURCE_FUNCTION (integer)

Pasada a pg_result_error_field(). El nombre de la función en el código fuente de PostgreSQL en donde se reportó el error.

PGSQL_ERRORS_TERSE (integer)

Pasada a pg_set_error_verbosity(). Especifica que los mensajes retornados incluyen severidad, texto primario, y posición solamente; esto por lo general cabe en una línea sencilla.

PGSQL_ERRORS_DEFAULT (integer)

Pasada a pg_set_error_verbosity(). El modo predeterminado produce mensajes que incluyen lo anterior más cualquier detalle, pista, o campos de contexto (éstos pueden ocupar múltiples líneas).

PGSQL_ERRORS_VERBOSE (integer)

Pasada a pg_set_error_verbosity(). Este modo incluye todos los campos disponibles.

PGSQL_STATUS_LONG (integer)

Pasada a pg_result_status(). Indica que se desea un código de resultado numérico.

PGSQL_STATUS_STRING (integer)

Pasada a pg_result_status(). Indica que se desea una etiqueta de comando textual como resultado.

PGSQL_CONV_IGNORE_DEFAULT (integer)

Pasada a pg_convert(). Ignorar valores predeterminados en la tabla durante la conversión.

PGSQL_CONV_FORCE_NULL (integer)

Pasada a pg_convert(). Usar el valor SQL NULL en lugar de un valor string vacío.

PGSQL_CONV_IGNORE_DEFAULT (integer)

Pasada a pg_convert(). Ignorar la conversión de NULL en columnas SQL NOT NULL.

Notes

Nota: No todas las funciones están soportadas por todas las versiones compiladas de PHP. Depende de la versión de libpq (la biblioteca cliente en C de PostgreSQL) y la forma en que ésta haya sido compilada. Si hacen falta extensiones de PostreSQL en PHP, ha de ser porque su versión de libpq no las soporta.

Nota: La mayoría de funciones de PostgreSQL aceptan conexion como el primer parámetro opcional. Si éste no es definido, es usada la última conexión abierta. Si no existe, las funciones devuelven FALSE.

Nota: PostgreSQL convierte automáticamente todos los identificadores (p.ej. nombres de tablas/columnas) a valores en minúsculas al momento de crear objetos y al momento de hacer consultas. Para forzar el uso de identificadores en mayúsculas o estilo mixto, es necesario escapar el identificador usando comillas dobles ("").

Nota: PostgreSQL no cuenta con comandos especiales para recuperar información de esquemas de bases de datos (p.ej. todas las tablas en la base de datos actual). En su lugar, existe un esquema estándar llamado information_schema en PostgreSQL 7.4 y versiones posteriores, que contiene vistas de sistema con toda la información necesaria, en un formato de fácil consulta. Vea la Documentación de PostgreSQL para más detalles.

Ejemplos

Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta, imprimer las filas de resultado y desconectarse de una base de datos PostgreSQL.

Ejemplo 1. Ejemplo de vista general de la extensión PostgreSQL

<?php
// Conexion, seleccion de base de datos
$conexion_bd = pg_connect("host=localhost dbname=publicaciones user=www password=foo")
    or die('No pudo conectarse: ' . pg_last_error());

// Realizar una consulta SQL
$consulta = 'SELECT * FROM autores';
$resultado = pg_query($consulta) or die('Consulta fallida: ' . pg_last_error());

// Impresion de resultados en HTML
echo "<table>\n";
while ($linea = pg_fetch_array($resultado, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($linea as $valor_col) {
        echo "\t\t<td>$valor_col</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Liberar conjunto de resultados
pg_free_result($resultado);

// Cerrar conexion
pg_close($conexion_bd);

?>

Tabla de contenidos
pg_affected_rows -- Returns number of affected records (tuples)
pg_cancel_query -- Cancel an asynchronous query
pg_client_encoding -- Gets the client encoding
pg_Close -- Cierra una conexión PostgreSQL
pg_Connect -- Abre una conexión
pg_connection_busy -- Get connection is busy or not
pg_connection_reset -- Reset connection (reconnect)
pg_connection_status -- Get connection status
pg_convert -- Convert associative array values into suitable for SQL statement
pg_copy_from -- Insert records into a table from an array
pg_copy_to -- Copy a table to an array
pg_DBname -- Nombre de la base de datos
pg_delete -- Deletes records
pg_end_copy -- Sync with PostgreSQL backend
pg_escape_bytea -- Escape a string for insertion into a bytea field
pg_escape_string -- Escape a string for insertion into a text field
pg_execute -- Sends a request to execute a prepared statement with given parameters, and waits for the result.
pg_fetch_all_columns -- Fetches all rows in a particular result column as an array
pg_fetch_all -- Fetches all rows from a result as an array
pg_Fetch_Array -- obtiene una fila en la forma de un array
pg_fetch_assoc -- Fetch a row as an associative array
pg_Fetch_Object -- obtener una fila en forma de objeto
pg_fetch_result -- Returns values from a result resource
pg_Fetch_Row -- obtiene la fila como un array enumerado
pg_field_is_null -- Test if a field is SQL NULL
pg_field_name -- Returns the name of a field
pg_field_num -- Returns the field number of the named field
pg_field_prtlen -- Returns the printed length
pg_field_size -- Returns the internal storage size of the named field
pg_field_table -- Returns the name or oid of the tables field
pg_field_type_oid -- Returns the type ID (OID) for the corresponding field number
pg_field_type -- Returns the type name for the corresponding field number
pg_free_result -- Free result memory
pg_get_notify -- Gets SQL NOTIFY message
pg_get_pid -- Gets the backend's process ID
pg_get_result -- Get asynchronous query result
pg_Host -- Devuelve el nombre del host
pg_insert -- Insert array into table
pg_last_error -- Get the last error message string of a connection
pg_last_notice -- Returns the last notice message from PostgreSQL server
pg_last_oid -- Returns the last row's OID
pg_lo_close -- Close a large object
pg_lo_create -- Create a large object
pg_lo_export -- Export a large object to file
pg_lo_import -- Import a large object from file
pg_lo_open -- Open a large object
pg_lo_read_all -- Reads an entire large object and send straight to browser
pg_lo_read -- Read a large object
pg_lo_seek -- Seeks position within a large object
pg_lo_tell -- Returns current seek position a of large object
pg_lo_unlink -- Delete a large object
pg_lo_write -- Write to a large object
pg_meta_data -- Get meta data for table
pg_num_fields -- Returns the number of fields in a result
pg_num_rows -- Returns the number of rows in a result
pg_Options -- Devuelve opciones
pg_parameter_status -- Looks up a current parameter setting of the server.
pg_pConnect -- Crea una conexión persistente con una base de datos
pg_ping -- Ping database connection
pg_Port -- Devuelve el número de puerto
pg_prepare -- Submits a request to create a prepared statement with the given parameters, and waits for completion.
pg_put_line -- Send a NULL-terminated string to PostgreSQL backend
pg_query_params -- Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
pg_query -- Execute a query
pg_result_error_field -- Returns an individual field of an error report.
pg_result_error -- Get error message associated with result
pg_result_seek -- Set internal row offset in result resource
pg_result_status -- Get status of query result
pg_select -- Select records
pg_send_execute -- Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
pg_send_prepare -- Sends a request to create a prepared statement with the given parameters, without waiting for completion.
pg_send_query_params -- Submits a command and separate parameters to the server without waiting for the result(s).
pg_send_query -- Sends asynchronous query
pg_set_client_encoding -- Set the client encoding
pg_set_error_verbosity -- Determines the verbosity of messages returned by pg_last_error() and pg_result_error().
pg_trace -- Enable tracing a PostgreSQL connection
pg_transaction_status -- Returns the current in-transaction status of the server.
pg_tty -- Devuelve el nombre del tty
pg_unescape_bytea -- Unescape binary for bytea type
pg_untrace -- Disable tracing of a PostgreSQL connection
pg_update -- Update table
pg_version -- Returns an array with client, protocol and server version (when available)

Anterior | Inicio | Siguiente
sql_regcase | Subir | pg_affected_rows


pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_affected_rows -- Returns number of affected records (tuples)

Descripción

int pg_affected_rows ( resource result )

pg_affected_rows() returns the number of tuples (instances/records/rows) affected by INSERT, UPDATE, and DELETE queries.

Nota: This function used to be called pg_cmdtuples().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

The number of rows affected by the query. If no tuple is affected, it will return 0.

Ejemplos

Ejemplo 1. pg_affected_rows() example

<?php
$result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo $cmdtuples . " tuples are affected.\n";
?>

El resultado del ejemplo seria:

1 tuples are affected.

Ver también

pg_query()
pg_query_params()
pg_execute()
pg_num_rows()

Anterior | Inicio | Siguiente
Funciones PostgreSQL | Subir | pg_cancel_query


pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query -- Cancel an asynchronous query

Descripción

bool pg_cancel_query ( resource connection )

pg_cancel_query() cancels an asynchronous query sent with pg_send_query(), pg_send_query_params() or pg_send_execute(). You cannot cancel a query executed using pg_query().

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_cancel_query() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  // Cancel the currently running query.  Will be the second query if it is
  // still running.
  pg_cancel_query($dbconn);
?>

El resultado del ejemplo seria:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Ver también

pg_send_query()
pg_connection_busy()

Anterior | Inicio | Siguiente
pg_affected_rows | Subir | pg_client_encoding


pg_client_encoding

(PHP 3 CVS only, PHP 4 >= 4.0.3, PHP 5)

pg_client_encoding -- Gets the client encoding

Descripción

string pg_client_encoding ( [resource connection] )

PostgreSQL supports automatic character set conversion between server and client for certain character sets. pg_client_encoding() returns the client encoding as a string. The returned string will be one of the standard PostgreSQL encoding identifiers.

Nota: This function requires PHP 4.0.3 or higher and PostgreSQL 7.0 or higher. If libpq is compiled without multibyte encoding support, pg_client_encoding() always returns SQL_ASCII. Supported encoding depends on PostgreSQL version. Refer to the PostgreSQL Documentation supported encodings.

The function used to be called pg_clientencoding().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

The client encoding, or FALSE on error.

Ejemplos

Ejemplo 1. pg_client_encoding() example

<?php
// Assume $conn is a connection to a ISO-8859-1 database
$encoding = pg_client_encoding($conn);

echo "Client encoding is: ", $encoding, "\n";
?>

El resultado del ejemplo seria:

Client encoding is: ISO-8859-1

Ver también

pg_set_client_encoding()

Anterior | Inicio | Siguiente
pg_cancel_query | Subir | pg_Close


pg_Close

(PHP 3, PHP 4, PHP 5)

pg_Close -- Cierra una conexión PostgreSQL

Descripción

bool pg_close ( int connection )

Devuelve FALSE si connection no es un indice de conexión valido y TRUE en cualquier otro caso. Cierra la conexión a la base de datos PostgreSQL asociada con el indice de conexión pasado como parámetro.

Anterior | Inicio | Siguiente
pg_client_encoding | Subir | pg_Connect


pg_Connect

(PHP 3, PHP 4, PHP 5)

pg_Connect -- Abre una conexión

Descripción

int pg_connect ( string host, string port, string options, string tty, string dbname )

Devuelve un índice de conexión en caso de éxito, o falso si la conexión no se puede realizar. Esta función abre una conexión a una base de datos PostgreSQL. Cada uno de los argumentos debe ser una cadena entrecomillada, incluyendo el número de puerto. Los parámetros options y tty son opcionales y pueden ser omitidos. Esta función devuelve un índice de conexión que se necesitará para otras funciones PostgreSQL. Puedes tener multiples conexiones abiertas al mismo tiempo.

Una conexión también se puede establecer con el siguiente comando: $conn = pg_connect("dbname=marliese port=5432"); Otros parámetros aparte de dbname y port son host, tty, options, user y password.

Ver también pg_pConnect().

Anterior | Inicio | Siguiente
pg_Close | Subir | pg_connection_busy


pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_busy -- Get connection is busy or not

Descripción

bool pg_connection_busy ( resource connection )

pg_connection_busy() determines whether or not a connection is busy. If it is busy, a previous query is still executing. If pg_get_result() is used on the connection, it will be blocked.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

Returns TRUE if the connection is busy, FALSE otherwise.

Ejemplos

Ejemplo 1. pg_connection_busy() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $bs = pg_connection_busy($dbconn);
  if ($bs) {
      echo 'connection is busy';
  } else {
     echo 'connection is not busy';
  }
?>

Ver también

pg_connection_status()
pg_get_result()

Anterior | Inicio | Siguiente
pg_Connect | Subir | pg_connection_reset


pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_reset -- Reset connection (reconnect)

Descripción

bool pg_connection_reset ( resource connection )

pg_connection_reset() resets the connection. It is useful for error recovery.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_connection_reset() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $dbconn2 = pg_connection_reset($dbconn);
  if ($dbconn2) {
      echo "reset successful\n";
  } else {
      echo "reset failed\n";
  }
?>

Ver también

pg_connect()
pg_pconnect()
pg_connection_status()

Anterior | Inicio | Siguiente
pg_connection_busy | Subir | pg_connection_status


pg_connection_status

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_status -- Get connection status

Descripción

int pg_connection_status ( resource connection )

pg_connection_status() returns the status of the specified connection.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD.

Ejemplos

Ejemplo 1. pg_connection_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Connection status ok';
  } else {
      echo 'Connection status bad';
  }
?>

Ver también

pg_connection_busy()

Anterior | Inicio | Siguiente
pg_connection_reset | Subir | pg_convert


pg_convert

(PHP 4 >= 4.3.0, PHP 5)

pg_convert -- Convert associative array values into suitable for SQL statement

Descripción

array pg_convert ( resource connection, string table_name, array assoc_array [, int options] )

pg_convert() checks and converts the values in assoc_array into suitable values for use in a SQL statement. Precondition for pg_convert() is the existence of a table table_name which has at least as many columns as assoc_array has elements. The fieldnames in table_name must match the indices in assoc_array and the corresponding datatypes must be compatible. Returns an array with the converted values on success, FALSE otherwise.

Nota: If there are boolean fields in table_name don't use the constant TRUE in assoc_array. It will be converted to the string 'TRUE' which is no valid entry for boolean fields in PostgreSQL. Use one of t, true, 1, y, yes instead.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table against which to convert types.

assoc_array

Data to be converted.

options

Any number of PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL or PGSQL_CONV_IGNORE_NOT_NULL, combined.

Valores retornados

An array of converted values, or FALSE on error.

Ejemplos

Ejemplo 1. pg_convert() example

<?php
  $dbconn = pg_connect('dbname=foo');

  $tmp = array(
      'author' => 'Joe Thackery',
      'year' => 2005,
      'title' => 'My Life, by Joe Thackery'
  );

  $vals = pg_convert($dbconn, 'authors', $tmp);
?>

Ver también

pg_meta_data()

Anterior | Inicio | Siguiente
pg_connection_status | Subir | pg_copy_from


pg_copy_from

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_from -- Insert records into a table from an array

Descripción

bool pg_copy_from ( resource connection, string table_name, array rows [, string delimiter [, string null_as]] )

pg_copy_from() inserts records into a table from rows. It issues a COPY FROM SQL command internally to insert records.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to copy the rows.

rows

An array of data to be copied into table_name. Each value in rows becomes a row in table_name. Each value in rows should be a delimited string of the values to insert into each field. Values should be linefeed terminated.

delimiter

The token that separates values for each field in each element of rows. Default is TAB.

null_as

How SQL NULL values are represented in the rows. Default is \N ("\\N").

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_copy_from() example

<?php
   $db = pg_connect("dbname=publisher") or die("Could not connect");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Ver también

pg_copy_to()

Anterior | Inicio | Siguiente
pg_convert | Subir | pg_copy_to


pg_copy_to

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_to -- Copy a table to an array

Descripción

array pg_copy_to ( resource connection, string table_name [, string delimiter [, string null_as]] )

pg_copy_to() copies a table to an array. It issues COPY TO SQL command internally to retrieve records.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to copy the data into rows.

delimiter

The token that separates values for each field in each element of rows. Default is TAB.

null_as

How SQL NULL values are represented in the rows. Default is \N ("\\N").

Valores retornados

An array with one element for each line of COPY data. It returns FALSE on failure.

Ejemplos

Ejemplo 1. pg_copy_to() example

<?php
   $db = pg_connect("dbname=publisher") or die("Could not connect");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Ver también

pg_copy_from()

Anterior | Inicio | Siguiente
pg_copy_from | Subir | pg_DBname


pg_DBname

(PHP 3, PHP 4, PHP 5)

pg_DBname -- Nombre de la base de datos

Descripción

string pg_dbname ( int connection )

Devuelve el nombre de la base de datos a la cual es el índice de conexión con PostgreSQL está conectado, o FALSE si connection no es un índice de conexión válido.

Anterior | Inicio | Siguiente
pg_copy_to | Subir | pg_delete


pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete -- Deletes records

Descripción

mixed pg_delete ( resource connection, string table_name, array assoc_array [, int options] )

pg_delete() deletes records from a table specified by the keys and values in assoc_array. If options is specified, pg_convert() is applied to assoc_array with the specified options.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to delete rows.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be deleted.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo 1. pg_delete() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_delete($db, 'post_log', $_POST);
  if ($res) {
      echo "POST data is deleted: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

pg_convert()

Anterior | Inicio | Siguiente
pg_DBname | Subir | pg_end_copy


pg_end_copy

(PHP 4 >= 4.0.3, PHP 5)

pg_end_copy -- Sync with PostgreSQL backend

Descripción

bool pg_end_copy ( [resource connection] )

pg_end_copy() syncs the PostgreSQL frontend (usually a web server process) with the PostgreSQL server after doing a copy operation performed by pg_put_line(). pg_end_copy() must be issued, otherwise the PostgreSQL server may get out of sync with the frontend and will report an error.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_end_copy() example

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Ver también

pg_put_line()

Anterior | Inicio | Siguiente
pg_delete | Subir | pg_escape_bytea


pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea -- Escape a string for insertion into a bytea field

Descripción

string pg_escape_bytea ( string data )

pg_escape_bytea() escapes string for bytea datatype. It returns escaped string.

Nota: When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Lista de parámetros

data

A string containing text or binary data to be inserted into a bytea column.

Valores retornados

A string containing the escaped data.

Ejemplos

Ejemplo 1. pg_escape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a binary file
  $data = file_get_contents('image1.jpg');

  // Escape the binary data
  $escaped = pg_escape_bytea($data);

  // Insert it into the database
  pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Ver también

pg_unescape_bytea()
pg_escape_string()

Anterior | Inicio | Siguiente
pg_end_copy | Subir | pg_escape_string


pg_escape_string

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_string -- Escape a string for insertion into a text field

Descripción

string pg_escape_string ( string data )

pg_escape_string() escapes a string for insertion into the database. It returns an escaped string in the PostgreSQL format. Use of this function is recommended instead of addslashes(). If the type of the column is bytea, pg_escape_bytea() must be used instead.

Nota: This function requires PostgreSQL 7.2 or later.

Lista de parámetros

data

A string containing text to be escaped.

Valores retornados

A string containing the escaped data.

Ejemplos

Ejemplo 1. pg_escape_string() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_string($data);

  // Insert it into the database
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

Ver también

pg_escape_bytea()

Anterior | Inicio | Siguiente
pg_escape_bytea | Subir | pg_execute


pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_all -- Fetches all rows from a result as an array

Descripción

array pg_fetch_all ( resource result )

pg_fetch_all() returns an array that contains all rows (records) in the result resource.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

An array with all rows in the result. Each row is an array of field values indexed by field name.

FALSE is returned if there are no rows in the result, or on any other error.

Ejemplos

Ejemplo 1. PostgreSQL fetch all

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

$arr = pg_fetch_all($result);

var_dump($arr);

?>

Ver también

pg_fetch_row()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

Anterior | Inicio | Siguiente
pg_fetch_all_columns | Subir | pg_Fetch_Array


pg_Fetch_Array

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

pg_Fetch_Array -- obtiene una fila en la forma de un array

Descripción

array pg_fetch_array ( int result, int row [, int result_type] )

Devuelve: Un array que se corresponde con la fila obtenida, o FALSE si no hay más filas.

pg_fetch_array() es una versión extendida de pg_fetch_row(). Además de almacenar los datos en los índices numericos del array resultante, también almacena los datos usando índices asociativos, empleando para ello el nombre del campo como la llave o índice.

El tercer parámetro opcional result_type en pg_fetch_array() es una constante y puede tomar cualquiera de los siguientes valores: PGSQL_ASSOC, PGSQL_NUM, y PGSQL_BOTH.

Nota: Result_type se añadio en PHP 4.0.

Una cosa importante a tener en cuenta es que usar pg_fetch_array() NO es significativamente más lento que usar pg_fetch_row(), y sin embargo el valor añadido que aporta sí lo es.

Para más detalles, ver pg_fetch_row()

Ejemplo 1. PostgreSQL fetch array

<?php
$conn = pg_pconnect("","","","","publisher");
if (!$conn) {
    echo "An error occured.\n";
    exit;
}

$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
    echo "An error occured.\n";
    exit;
}

$arr = pg_fetch_array ($result, 0);
echo $arr[0] . " <- array\n";

$arr = pg_fetch_array ($result, 1);
echo $arr["author"] . " <- array\n";
?>

Anterior | Inicio | Siguiente
pg_fetch_all | Subir | pg_fetch_assoc


pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc -- Fetch a row as an associative array

Descripción

array pg_fetch_assoc ( resource result [, int row] )

pg_fetch_assoc() returns an associative array that corresponds to the fetched row (records).

pg_fetch_assoc() is equivalent to calling pg_fetch_array() with PGSQL_ASSOC as the optional third parameter. It only returns an associative array. If you need the numeric indices, use pg_fetch_row().

Nota: Esta funcion define campos NULL como valores PHP NULL.

pg_fetch_assoc() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Nota: row became optional in PHP 4.1.0.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

Valores retornados

An array indexed associatively (by field name). Each value in the array is represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Ejemplos

Ejemplo 1. pg_fetch_assoc() example

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['author'];
  echo $row['email'];
}
?>

Ver también

pg_fetch_row()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

Anterior | Inicio | Siguiente
pg_Fetch_Array | Subir | pg_Fetch_Object


pg_Fetch_Object

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

pg_Fetch_Object -- obtener una fila en forma de objeto

Descripción

object pg_fetch_object ( int result, int row [, int result_type] )

Devuelve: Un objeto cuyas propiedades se corresponden con los campos de la fila obtenida, o FALSE si no hay más filas.

pg_fetch_object() es parecida a pg_fetch_array(), con una diferencia - se devuelve un objeto, en vez de un array. Indirectamente, eso significa que solo puedes acceder a los datos por medio de su nombre de campo, y no a través de sus posiciones (los números son nombres de propiedad invalidos).

El tercer parámetro opcional result_type en pg_fetch_object() es una constante y puede tomar cualquiera de los siguientes valores: PGSQL_ASSOC, PGSQL_NUM, y PGSQL_BOTH.

Nota: Result_type se añadio en PHP 4.0.

Referente a la velocidad, la función es identica a pg_fetch_array(), y practicamente tan rápida como pg_fetch_row() (la diferencia es insignificante).

Ver también: pg_fetch_array() y pg_fetch_row().

Ejemplo 1. Postgres fetch object

<?php
$database = "verlag";
$db_conn = pg_connect ("localhost", "5432", "", "", $database);
if (!$db_conn): ?>
    <H1>Failed connecting to postgres database <? echo $database ?></H1> <?
    exit;
endif;

$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres needs a row counter other dbs might not

while ($data = pg_fetch_object ($qu, $row)):
    echo $data->autor." (";
    echo $data->jahr ."): ";
    echo $data->titel."<BR>";
    $row++;
endwhile; ?>

<PRE><?php
$fields[] = Array ("autor", "Author");
$fields[] = Array ("jahr",  "  Year");
$fields[] = Array ("titel", " Title");

$row= 0; // postgres needs a row counter other dbs might not
while ($data = pg_fetch_object ($qu, $row)):
    echo "----------\n";
    reset ($fields);
    while (list (,$item) = each ($fields)):
        echo $item[1].": ".$data->$item[0]."\n";
    endwhile;
    $row++;
endwhile;
echo "----------\n"; ?>
</PRE> <?php
pg_freeResult ($qu);
pg_close ($db_conn);
?>

Anterior | Inicio | Siguiente
pg_fetch_assoc | Subir | pg_fetch_result


pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5)

pg_fetch_result -- Returns values from a result resource

Descripción

string pg_fetch_result ( resource result, int row, mixed field )

string pg_fetch_result ( resource result, mixed field )

pg_fetch_result() returns the value of a particular row and field (column) in a PostgreSQL result resource.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

field

A string representing the name of the field (column) to fetch, otherwise and int representing the field number to fetch. Fields are numbered from 0 upwards.

Valores retornados

Boolean is returned as "t" or "f". All other types, including arrays are returned as strings formatted in the same default PostgreSQL manner that you would see in the psql program. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, or on any other error.

Ejemplos

Ejemplo 1. pg_fetch_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";
?>

El resultado del ejemplo seria:

First field in the second row is: 2

Ver también

pg_query()
pg_fetch_array()

Anterior | Inicio | Siguiente
pg_Fetch_Object | Subir | pg_Fetch_Row


pg_Fetch_Row

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

pg_Fetch_Row -- obtiene la fila como un array enumerado

Descripción

array pg_fetch_row ( int result, int row )

Devuelve: Un array que se corresponde con la fila obtenida, o FALSE en el caso de que no haya más filas.

pg_fetch_row() obtiene una fila de datos a partir del resultado asociado con el identificador de resultado especificado. La fila se devuelve en forma de array. Cada columna del resultado se almacena en una posición del array, empezando a partir de la posición 0.

Las siguientes llamadas a pg_fetch_row() devolverán la fila siguiente en el conjunto resultado, o falso en el caso de que no haya más filas que devolver.

Ver también: pg_fetch_array(),
pg_fetch_object(),
pg_result().

Ejemplo 1. Postgres fetch row

<?php
$conn = pg_pconnect("","","","","publisher");
if (!$conn) {
    echo "An error occured.\n";
    exit;
}

$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
    echo "An error occured.\n";
    exit;
}

$row = pg_fetch_row ($result, 0);
echo $row[0] . " <- row\n";

$row = pg_fetch_row ($result, 1);
echo $row[0] . " <- row\n";

$row = pg_fetch_row ($result, 2);
echo $row[1] . " <- row\n";
?>

Anterior | Inicio | Siguiente
pg_fetch_result | Subir | pg_field_is_null


pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5)

pg_field_is_null -- Test if a field is SQL NULL

Descripción

int pg_field_is_null ( resource result, int row, mixed field )

int pg_field_is_null ( resource result, mixed field )

pg_field_is_null() tests if a field in a PostgreSQL result resource is SQL NULL or not.

Nota: This function used to be called pg_fieldisnull().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, current row is fetched.

field

Field number (starting from 0) as an integer or the field name as a string.

Valores retornados

Returns 1 if the field in the given row is SQL NULL, 0 if not. FALSE is returned if the row is out of range, or upon any other error.

Ejemplos

Ejemplo 1. pg_field_is_null() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die ("Could not connect");
  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  if ($res) {
      if (pg_field_is_null($res, 0, "year") == 1) {
          echo "The value of the field year is null.\n";
      }
      if (pg_field_is_null($res, 0, "year") == 0) {
          echo "The value of the field year is not null.\n";
    }
 }
?>

Anterior | Inicio | Siguiente
pg_Fetch_Row | Subir | pg_field_name


pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name -- Returns the name of a field

Descripción

string pg_field_name ( resource result, int field_number )

pg_field_name() returns the name of the field occupying the given field_number in the given PostgreSQL result resource. Field numbering starts from 0.

Nota: This function used to be called pg_fieldname().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores retornados

The field name, or FALSE on error.

Ejemplos

Ejemplo 1. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

El resultado del ejemplo seria:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ver también

pg_field_num()

Anterior | Inicio | Siguiente
pg_field_is_null | Subir | pg_field_num


pg_field_num

(PHP 4 >= 4.2.0, PHP 5)

pg_field_num -- Returns the field number of the named field

Descripción

int pg_field_num ( resource result, string field_name )

pg_field_num() will return the number of the field number that corresponds to the field_name in the given PostgreSQL result resource.

Nota: This function used to be called pg_fieldnum().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_name

The name of the field.

Valores retornados

The field number (numbered from 0), or -1 on error.

Ejemplos

Ejemplo 1. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

  echo "Column 'title' is field number: ", pg_field_num($res, 'title');
?>

El resultado del ejemplo seria:

Column 'title' is field number: 2

Ver también

pg_field_name()

Anterior | Inicio | Siguiente
pg_field_name | Subir | pg_field_prtlen


pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5)

pg_field_prtlen -- Returns the printed length

Descripción

int pg_field_prtlen ( resource result, int row_number, mixed field_name_or_number )

int pg_field_prtlen ( resource result, mixed field_name_or_number )

pg_field_prtlen() returns the actual printed length (number of characters) of a specific value in a PostgreSQL result. Row numbering starts at 0. This function will return -1 on an error.

field_name_or_number can be passed either as an integer or as a string. If it is passed as an integer, PHP recognises it as the field number, otherwise as field name.

See the example given at the pg_field_name() page.

Nota: This function used to be called pg_fieldprtlen().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result. Rows are numbered from 0 upwards. If omitted, current row is fetched.

Valores retornados

The field printed length, or FALSE on error.

Ejemplos

Ejemplo 1. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

El resultado del ejemplo seria:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ver también

pg_field_size()

Anterior | Inicio | Siguiente
pg_field_num | Subir | pg_field_size


pg_field_size

(PHP 4 >= 4.2.0, PHP 5)

pg_field_size -- Returns the internal storage size of the named field

Descripción

int pg_field_size ( resource result, int field_number )

pg_field_size() returns the internal storage size (in bytes) of the field number in the given PostgreSQL result.

Nota: This function used to be called pg_fieldsize().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores retornados

The internal field storage size (in bytes). -1 indicates a variable length field. FALSE is returned on error.

Ejemplos

Ejemplo 1. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

El resultado del ejemplo seria:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ver también

pg_field_prtlen()
pg_field_type()

Anterior | Inicio | Siguiente
pg_field_prtlen | Subir | pg_field_table


pg_field_type

(PHP 4 >= 4.2.0, PHP 5)

pg_field_type -- Returns the type name for the corresponding field number

Descripción

string pg_field_type ( resource result, int field_number )

pg_field_type() returns a string containing the base type name of the given field_number in the given PostgreSQL result resource.

Nota: If the field uses a PostgreSQL domain (rather than a basic type), it is the name of the domain's underlying type that is returned, rather than the name of the domain itself.

Nota: This function used to be called pg_fieldtype().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores retornados

A string containing the base name of the field's type, or FALSE on error.

Ejemplos

Ejemplo 1. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type: ", pg_field_type($res, 0);
?>

El resultado del ejemplo seria:

Title field type: varchar

Ver también

pg_field_prtlen()
pg_field_name()
pg_field_type_oid()

Anterior | Inicio | Siguiente
pg_field_type_oid | Subir | pg_free_result


pg_free_result

(PHP 4 >= 4.2.0, PHP 5)

pg_free_result -- Free result memory

Descripción

bool pg_free_result ( resource result )

pg_free_result() frees the memory and data associated with the specified PostgreSQL query result resource.

This function need only be called if memory consumption during script execution is a problem. Otherwise, all result memory will be automatically freed when the script ends.

Nota: This function used to be called pg_freeresult().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_free_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";

pg_free_result($res);
?>

El resultado del ejemplo seria:

First field in the second row is: 2

Ver también

pg_query()
pg_query_params()
pg_execute()

Anterior | Inicio | Siguiente
pg_field_type | Subir | pg_get_notify


pg_get_notify

(PHP 4 >= 4.3.0, PHP 5)

pg_get_notify -- Gets SQL NOTIFY message

Descripción

array pg_get_notify ( resource connection [, int result_type] )

pg_get_notify() gets notifications generated by a NOTIFY SQL command. To receive notifications, the LISTEN SQL command must be issued.

Lista de parámetros

connection

PostgreSQL database connection resource.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_get_notify() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

Valores retornados

An array containing the NOTIFY message name and backend PID. Otherwise if no NOTIFY is waiting, then FALSE is returned.

Ejemplos

Ejemplo 1. PostgreSQL NOTIFY message

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "No messages\n";
} else {
  print_r($notify);
}
?>

Ver también

pg_get_pid()

Anterior | Inicio | Siguiente
pg_free_result | Subir | pg_get_pid


pg_get_pid

(PHP 4 >= 4.3.0, PHP 5)

pg_get_pid -- Gets the backend's process ID

Descripción

int pg_get_pid ( resource connection )

pg_get_pid() gets the backend's (database server process) PID. The PID is useful to determine whether or not a NOTIFY message received via pg_get_notify() is sent from another process or not.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

The backend database process ID.

Ejemplos

Ejemplo 1. PostgreSQL backend PID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Backend process PID. Use PID with pg_get_notify()
$pid = pg_get_pid($conn);
?>

Ver también

pg_get_notify()

Anterior | Inicio | Siguiente
pg_get_notify | Subir | pg_get_result


pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result -- Get asynchronous query result

Descripción

resource pg_get_result ( [resource connection] )

pg_get_result() gets the result resource from an asynchronous query executed by pg_send_query(), pg_send_query_params() or pg_send_execute().

pg_send_query() and the other asynchronous query functions can send multiple queries to a PostgreSQL server and pg_get_result() is used to get each query's results, one by one.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

The result resource, or FALSE if no more results are available.

Ejemplos

Ejemplo 1. pg_get_result() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

El resultado del ejemplo seria:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Ver también

pg_send_query()

Anterior | Inicio | Siguiente
pg_get_pid | Subir | pg_Host


pg_Host

(PHP 3, PHP 4, PHP 5)

pg_Host -- Devuelve el nombre del host

Descripción

string pg_host ( int connection_id )

pg_Host() devuelve el nombre del host al que identificador conexión PostgreSQL pasado está conectado.

Anterior | Inicio | Siguiente
pg_get_result | Subir | pg_insert


pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert -- Insert array into table

Descripción

mixed pg_insert ( resource connection, string table_name, array assoc_array [, int options] )

pg_insert() inserts the values of assoc_array into the table specified by table_name. If options is specified, pg_convert() is applied to assoc_array with the specified options.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to insert rows. The table table_name must at least have as many columns as assoc_array has elements.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be inserted.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo 1. pg_insert() example

<?php
  $dbconn = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_insert($dbconn, 'post_log', $_POST);
  if ($res) {
      echo "POST data is successfully logged\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Ver también

pg_convert()

Anterior | Inicio | Siguiente
pg_Host | Subir | pg_last_error


pg_last_error

(PHP 4 >= 4.2.0, PHP 5)

pg_last_error -- Get the last error message string of a connection

Descripción

string pg_last_error ( [resource connection] )

pg_last_error() returns the last error message for a given connection.

Error messages may be overwritten by internal PostgreSQL (libpq) function calls. It may not return an appropriate error message if multiple errors occur inside a PostgreSQL module function.

Use pg_result_error(), pg_result_error_field(),
pg_result_status() and
pg_connection_status() for better error handling.

Nota: This function used to be called pg_errormessage().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

A string containing the last error message on the given connection, or FALSE on error.

Ejemplos

Ejemplo 1. pg_last_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Query that fails
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

Ver también

pg_result_error()
pg_result_error_field()

Anterior | Inicio | Siguiente
pg_insert | Subir | pg_last_notice


pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice -- Returns the last notice message from PostgreSQL server

Descripción

string pg_last_notice ( resource connection )

pg_last_notice() returns the last notice message from the PostgreSQL server on the specified connection. The PostgreSQL server sends notice messages in several cases, for instance when creating a SERIAL column in a table.

With pg_last_notice(), you can avoid issuing useless queries by checking whether or not the notice is related to your transaction.

Aviso

This function is EXPERIMENTAL and it is not fully implemented yet. pg_last_notice() was added in PHP 4.0.6. However, PHP 4.0.6 has problem with notice message handling. Use of the PostgreSQL module with PHP 4.0.6 is not recommended even if you are not using pg_last_notice().

This function is fully implemented in PHP 4.3.0. PHP earlier than PHP 4.3.0 ignores database connection parameter.

Notice message tracking can be set to optional by setting 1 for pgsql.ignore_notice in php.ini from PHP 4.3.0.

Notice message logging can be set to optional by setting 0 for pgsql.log_notice in php.ini from PHP 4.3.0. Unless pgsql.ignore_notice is set to 0, notice message cannot be logged.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

A string containing the last notice on the given connection, or FALSE on error.

Ejemplos

Ejemplo 1. pg_last_error() example

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res = pg_query("CREATE TABLE test (id SERIAL)");

  $notice = pg_last_notice($pgsql_conn);

  echo $notice;
?>

El resultado del ejemplo seria:

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

Ver también

pg_query()
pg_last_error()

Anterior | Inicio | Siguiente
pg_last_error | Subir | pg_last_oid


pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid -- Returns the last row's OID

Descripción

string pg_last_oid ( resource result )

pg_last_oid() is used to retrieve the OID assigned to an inserted row.

OID field became an optional field from PostgreSQL 7.2 and will not be present by default in PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use pg_result_status() to check for successful insertion.

To get the value of a SERIAL field in an inserted row, it is necessary to use the PostgreSQL CURRVAL function, naming the sequence whose last value is required. If the name of the sequence is unknown, the pg_get_serial_sequence PostgreSQL 8.0 function is necessary.

PostgreSQL 8.1 has a function LASTVAL that returns the value of the most recently used sequence in the session. This avoids the need for naming the sequence, table or column altogether.

Nota: This function used to be called pg_getlastoid().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

A string containing the OID assigned to the most recently inserted row in the specified connection, or FALSE on error or no available OID.

Ejemplos

Ejemplo 1. pg_last_oid() example

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

  $res2 = pg_query("INSERT INTO test VALUES (1)");

  $oid = pg_last_oid($res2);
?>

Ver también

pg_query()
pg_result_status()

Anterior | Inicio | Siguiente
pg_last_notice | Subir | pg_lo_close


pg_lo_close

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_close -- Close a large object

Descripción

bool pg_lo_close ( resource large_object )

pg_lo_close() closes a large object. large_object is a resource for the large object from pg_lo_open().

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_loclose().

Lista de parámetros

result

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_lo_close() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Ver también

pg_lo_open()
pg_lo_create()
pg_lo_import()

Anterior | Inicio | Siguiente
pg_last_oid | Subir | pg_lo_create


pg_lo_create

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_create -- Create a large object

Descripción

int pg_lo_create ( [resource connection] )

pg_lo_create() creates a large object and returns the OID of the large object. PostgreSQL access modes INV_READ, INV_WRITE, and INV_ARCHIVE are not supported, the object is created always with both read and write access. INV_ARCHIVE has been removed from PostgreSQL itself (version 6.3 and above).

To use the large object interface, it is necessary to enclose it within a transaction block.

Instead of using the large object interface (which has no access controls and is cumbersome to use), try PostgreSQL's bytea column type and pg_escape_bytea().

Nota: This function used to be called pg_locreate().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

A large object OID or FALSE on error.

Ejemplos

Ejemplo 1. pg_lo_create() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Anterior | Inicio | Siguiente
pg_lo_close | Subir | pg_lo_export


pg_lo_export

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_export -- Export a large object to file

Descripción

bool pg_lo_export ( resource connection, int oid, string pathname )

bool pg_lo_export ( int oid, string pathname )

pg_lo_export() takes a large object in a PostgreSQL database and saves its contents to a file on the local filesystem.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_loexport().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

pathname

The full path and file name of the file in which to write the large object on the client filesystem.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_lo_export() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   $handle = pg_lo_open($database, $oid, "w");
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_lo_export($database, $oid, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Ver también

pg_lo_import()

Anterior | Inicio | Siguiente
pg_lo_create | Subir | pg_lo_import


pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import -- Import a large object from file

Descripción

int pg_lo_import ( resource connection, string pathname )

int pg_lo_import ( string pathname )

In versions before PHP 4.2.0 the syntax of this function was different, see the following definition:

int pg_lo_import ( string pathname [, resource connection] )

pg_lo_import() creates a new large object in the database using a file on the filesystem as its data source.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Nota: This function used to be called pg_loimport().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

pathname

The full path and file name of the file on the client filesystem from which to read the large object data.

Valores retornados

The OID of the newly created large object, or FALSE on failure.

Ejemplos

Ejemplo 1. pg_lo_import() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_import($database, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Ver también

pg_lo_export()
pg_lo_open()

Anterior | Inicio | Siguiente
pg_lo_export | Subir | pg_lo_open


pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open -- Open a large object

Descripción

resource pg_lo_open ( resource connection, int oid, string mode )

pg_lo_open() opens a large object in the database and returns large object resource so that it can be manipulated.

Aviso

Do not close the database connection before closing the large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_loopen().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

mode

Can be either "r" for read-only, "w" for write only or "rw" for read and write.

Valores retornados

A large object resource or FALSE on error.

Ejemplos

Ejemplo 1. pg_lo_open() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Ver también

pg_lo_close()
pg_lo_create()

Anterior | Inicio | Siguiente
pg_lo_import | Subir | pg_lo_read_all


pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all -- Reads an entire large object and send straight to browser

Descripción

int pg_lo_read_all ( resource large_object )

pg_lo_read_all() reads a large object and passes it straight through to the browser after sending all pending headers. Mainly intended for sending binary data like images or sound.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_loreadall().

Lista de parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Valores retornados

Number of bytes read or FALSE on error.

Ejemplos

Ejemplo 1. pg_lo_read_all() example

<?php
   header('Content-type: image/jpeg');
   $image_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $image_oid, "r");
   pg_lo_read_all($handle);
   pg_query($database, "commit");
?>

Ver también

pg_lo_read()

Anterior | Inicio | Siguiente
pg_lo_open | Subir | pg_lo_read


pg_lo_read

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read -- Read a large object

Descripción

string pg_lo_read ( resource large_object [, int len] )

pg_lo_read() reads at most len bytes from a large object and returns it as a string.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_loread().

Lista de parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

len

An optional maximum number of bytes to return. Defaults to 8192.

Valores retornados

A string containing len bytes from the large object, or FALSE on error.

Ejemplos

Ejemplo 1. pg_lo_read() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   $data = pg_lo_read($handle, 50000);
   pg_query($database, "commit");
   echo $data;
?>

Ver también

pg_lo_read_all()

Anterior | Inicio | Siguiente
pg_lo_read_all | Subir | pg_lo_seek


pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_seek -- Seeks position within a large object

Descripción

bool pg_lo_seek ( resource large_object, int offset [, int whence] )

pg_lo_seek() seeks a position within a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Lista de parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

offset

The number of bytes to seek.

whence

One of the constants PGSQL_SEEK_SET (seek from object start), PGSQL_SEEK_CUR (seek from current position) or PGSQL_SEEK_END (seek from object end) .

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_lo_seek() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Read the next 10000 bytes
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

Ver también

pg_lo_tell()

Anterior | Inicio | Siguiente
pg_lo_read | Subir | pg_lo_tell


pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell -- Returns current seek position a of large object

Descripción

int pg_lo_tell ( resource large_object )

pg_lo_tell() returns the current position (offset from the beginning) of a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

Lista de parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Valores retornados

The current seek offset (in number of bytes) from the beginning of the large object. If there is an error, the return value is negative.

Ejemplos

Ejemplo 1. pg_lo_tell() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // See how far we've skipped
   $offset = pg_lo_tell($handle);
   echo "Seek position is: $offset";
   pg_query($database, "commit");
?>

El resultado del ejemplo seria:

Seek position is: 50000

Ver también

pg_lo_seek()

Anterior | Inicio | Siguiente
pg_lo_seek | Subir | pg_lo_unlink


pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_unlink -- Delete a large object

Descripción

bool pg_lo_unlink ( resource connection, int oid )

pg_lo_unlink() deletes a large object with the oid. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_lounlink().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_lo_unlink() example

<?php
   // OID of the large object to delete
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   pg_lo_unlink($database, $doc_oid);
   pg_query($database, "commit");
?>

Ver también

pg_lo_create()
pg_lo_import()

Anterior | Inicio | Siguiente
pg_lo_tell | Subir | pg_lo_write


pg_lo_write

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_write -- Write to a large object

Descripción

int pg_lo_write ( resource large_object, string data [, int len] )

pg_lo_write() writes data into a large object at the current seek position.

To use the large object interface, it is necessary to enclose it within a transaction block.

Nota: This function used to be called pg_lowrite().

Lista de parámetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

data

The data to be written to the large object. If len is specified and is less than the length of data, only len bytes will be written.

len

An optional maximum number of bytes to write. Must be greater than zero and no greater than the length of data. Defaults to the length of data.

Valores retornados

The number of bytes written to the large object, or FALSE on error.

Ejemplos

Ejemplo 1. pg_lo_write() example

<?php
   $doc_oid = 189762345;
   $data = "This will overwrite the start of the large object.";
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "w");
   $data = pg_lo_write($handle, $data);
   pg_query($database, "commit");
?>

Ver también

pg_lo_create()
pg_lo_open()

Anterior | Inicio | Siguiente
pg_lo_unlink | Subir | pg_meta_data


pg_meta_data

(PHP 4 >= 4.3.0, PHP 5)

pg_meta_data -- Get meta data for table

Descripción

array pg_meta_data ( resource connection, string table_name )

pg_meta_data() returns table definition for table_name as an array.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

The name of the table.

Valores retornados

An array of the table definition, or FALSE on error.

Ejemplos

Ejemplo 1. Getting table metadata

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $meta = pg_meta_data($dbconn, 'authors');
  if (is_array($meta)) {
      echo '<pre>';
      var_dump($meta);
      echo '</pre>';
  }
?>

El resultado del ejemplo seria:

array(3) {
["author"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["year"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["title"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

Ver también

pg_convert()

Anterior | Inicio | Siguiente
pg_lo_write | Subir | pg_num_fields


pg_num_fields

(PHP 4 >= 4.2.0, PHP 5)

pg_num_fields -- Returns the number of fields in a result

Descripción

int pg_num_fields ( resource result )

pg_num_fields() returns the number of fields (columns) in a PostgreSQL result resource.

Nota: This function used to be called pg_numfields().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

The number of fields (columns) in the result. On error, -1 is returned.

Ejemplos

Ejemplo 1. pg_num_fields() example

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " field(s) returned.\n";
?>

El resultado del ejemplo seria:

2 field(s) returned.

Ver también

pg_num_rows()
pg_affected_rows()

Anterior | Inicio | Siguiente
pg_meta_data | Subir | pg_num_rows


pg_num_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_num_rows -- Returns the number of rows in a result

Descripción

int pg_num_rows ( resource result )

pg_num_rows() will return the number of rows in a PostgreSQL result resource.

Nota: This function used to be called pg_numrows().

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

The number of rows in the result. On error, -1 is returned.

Ejemplos

Ejemplo 1. pg_num_rows() example

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " row(s) returned.\n";
?>

El resultado del ejemplo seria:

1 row(s) returned.

Ver también

pg_num_fields()
pg_affected_rows()

Anterior | Inicio | Siguiente
pg_num_fields | Subir | pg_Options


pg_Options

(PHP 3, PHP 4, PHP 5)

pg_Options -- Devuelve opciones

Descripción

string pg_options ( int connection_id )

pg_Options() devuelve una cadena que contiene las opciones especificadas en el identificador de conexión con PostgreSQL dado.

Anterior | Inicio | Siguiente
pg_num_rows | Subir | pg_parameter_status


pg_parameter_status

(PHP 5)

pg_parameter_status -- Looks up a current parameter setting of the server.

Descripción

string pg_parameter_status ( resource connection, string param_name )

string pg_parameter_status ( string param_name )

Looks up a current parameter setting of the server.

Certain parameter values are reported by the server automatically at connection startup or whenever their values change. pg_parameter_status() can be used to interrogate these settings. It returns the current value of a parameter if known, or FALSE if the parameter is not known.

Parameters reported as of PostgreSQL 8.0 include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. (server_encoding, TimeZone, and integer_datetimes were not reported by releases before 8.0.) Note that server_version, server_encoding and integer_datetimes cannot change after PostgreSQL startup.

PostgreSQL 7.3 or lower servers do not report parameter settings, pg_parameter_status() includes logic to obtain values for server_version and client_encoding anyway. Applications are encouraged to use pg_parameter_status() rather than ad hoc code to determine these values.

Atención

On a pre-7.4 PostgreSQL server, changing client_encoding via SET after connection startup will not be reflected by pg_parameter_status().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

param_name

Possible param_name values include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes.

Valores retornados

A string containing the value of the parameter, FALSE on failure or invalid param_name.

Ejemplos

Ejemplo 1. pg_parameter_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

El resultado del ejemplo seria:

Server encoding: SQL_ASCII

Anterior | Inicio | Siguiente
pg_Options | Subir | pg_pConnect


pg_pConnect

(PHP 3, PHP 4, PHP 5)

pg_pConnect -- Crea una conexión persistente con una base de datos

Descripción

int pg_pconnect ( string host, string port, string options, string tty, string dbname )

Devuelve un índice de conexión en caso de éxito, o FALSE si no es posible realizar la conexión. Abre una conexión persistente hacia una base de datos de PostgreSQL. Cada uno de los parámetros puede ser una cadena entrecomillada (quoted), incluyendo el número de puerto. Los parámetros options y tty son opcionales y pueden omitirse. Esta función devuelve un índice de conexión que luego será empleado al llamar a otras funciones PostgreSQL. Puedes tener multiples conexiones persistentes abiertas al mismo tiempo. Ver también pg_Connect().

Una conexión también se puede establecer con el comando siguiente: $conn = pg_pconnect("dbname=marliese port=5432"); Otros parámetros además de dbname y port son host, tty, options, user y password.

Anterior | Inicio | Siguiente
pg_parameter_status | Subir | pg_ping


pg_ping

(PHP 4 >= 4.3.0, PHP 5)

pg_ping -- Ping database connection

Descripción

bool pg_ping ( [resource connection] )

pg_ping() pings a database connection and tries to reconnect it if it is broken.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_ping() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

if (!pg_ping($conn))
  die("Connection is broken\n");
?>

Ver también

pg_connection_status()
pg_connection_reset()

Anterior | Inicio | Siguiente
pg_pConnect | Subir | pg_Port


pg_Port

(PHP 3, PHP 4, PHP 5)

pg_Port -- Devuelve el número de puerto

Descripción

int pg_port ( int connection_id )

pg_Port() devuelve el número del puerto al que el identificador de conexión con PostgreSQL está conectado.

Anterior | Inicio | Siguiente
pg_ping | Subir | pg_prepare


pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line -- Send a NULL-terminated string to PostgreSQL backend

Descripción

bool pg_put_line ( string data )

bool pg_put_line ( resource connection, string data )

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's COPY FROM command.

COPY is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.

An alternative to using raw pg_put_line() commands is to use pg_copy_from(). This is a far simpler interface.

Nota: The application must explicitly send the two characters "\." on the last line to indicate to the backend that it has finished sending its data, before issuing pg_end_copy().

Aviso

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_put_line() example

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Ver también

pg_end_copy()

Anterior | Inicio | Siguiente
pg_prepare | Subir | pg_query_params


pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query -- Execute a query

Descripción

resource pg_query ( string query )

resource pg_query ( resource connection, string query )

pg_query() executes the query on the specified database connection.

If an error occurs, and FALSE is returned, details of the error can be retrieved using the pg_last_error() function if the connection is valid.

Nota: Although connection can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.

Nota: This function used to be called pg_exec(). pg_exec() is still available for compatibility reasons, but users are encouraged to use the newer name.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.

Valores retornados

A query result resource on success, or FALSE on failure.

Ejemplos

Ejemplo 1. pg_query() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Ejemplo 2. Using pg_query() with multiple statements

<?php

$conn = pg_pconnect("dbname=publisher");

// these statements will be executed as one transaction

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

Ver también

pg_connect()
pg_pconnect()
pg_fetch_array()
pg_fetch_object()
pg_num_rows()
pg_affected_rows()

Anterior | Inicio | Siguiente
pg_query_params | Subir | pg_result_error_field


pg_result_error

(PHP 4 >= 4.2.0, PHP 5)

pg_result_error -- Get error message associated with result

Descripción

string pg_result_error ( resource result )

pg_result_error() returns any error message associated with the result resource. Therefore, the user has a better chance of getting the correct error message than with pg_last_error().

The function pg_result_error_field() can give much greater detail on result errors than pg_result_error().

Because pg_query() returns FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Valores retornados

Returns a string if there is an error associated with the result parameter, FALSE otherwise.

Ejemplos

Ejemplo 1. pg_result_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Ver también

pg_result_error_field()
pg_query()
pg_send_query()
pg_get_result()
pg_last_error()
pg_last_notice()

Anterior | Inicio | Siguiente
pg_result_error_field | Subir | pg_result_seek


pg_result_seek

(PHP 4 >= 4.3.0, PHP 5)

pg_result_seek -- Set internal row offset in result resource

Descripción

bool pg_result_seek ( resource result, int offset )

pg_result_seek() sets the internal row offset in a result resource.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

offset

Row to move the internal offset to in the result resource. Rows are numbered starting from zero.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_result_seek() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a query
$result = pg_query($conn, "SELECT author, email FROM authors");

// Seek to the 3rd row (assuming there are 3 rows)
pg_result_seek($result, 2);

// Fetch the 3rd row
$row = pg_fetch_row($result);

?>

Ver también

pg_fetch_row()
pg_fetch_assoc()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

Anterior | Inicio | Siguiente
pg_result_error | Subir | pg_result_status


pg_result_status

(PHP 4 >= 4.2.0, PHP 5)

pg_result_status -- Get status of query result

Descripción

mixed pg_result_status ( resource result [, int type] )

pg_result_status() returns the status of a result resource, or the PostgreSQL command completion tag associated with the result

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

type

Either PGSQL_STATUS_LONG to return the numeric status of the result, or PGSQL_STATUS_STRING to return the command tag of the result. If not specified, PGSQL_STATUS_LONG is the default.

Valores retornados

Possible return values are PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and PGSQL_FATAL_ERROR if PGSQL_STATUS_LONG is specified. Otherwise, a string containing the PostgreSQL command tag is returned.

Ejemplos

Ejemplo 1. pg_result_status() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a COPY
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Get the result status
$status = pg_result_status($result);

// Determine status
if ($status == PGSQL_COPY_IN)
   echo "Copy began.";
else
   echo "Copy failed.";

?>

El resultado del ejemplo seria:

Copy began.

Ver también

pg_connection_status()

Anterior | Inicio | Siguiente
pg_result_seek | Subir | pg_select


pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select -- Select records

Descripción

mixed pg_select ( resource connection, string table_name, array assoc_array [, int options] )

pg_select() selects records specified by assoc_array which has field=>value. For a successful query, it returns an array containing all records and fields that match the condition specified by assoc_array.

If options is specified, pg_convert() is applied to assoc_array with the specified flags.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to select rows.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be retrieved.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo 1. pg_select() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
      echo "Records selected\n";
      var_dump($rec);
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Ver también

pg_convert()

Anterior | Inicio | Siguiente
pg_result_status | Subir | pg_send_execute


pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query -- Sends asynchronous query

Descripción

bool pg_send_query ( resource connection, string query )

pg_send_query() sends a query or queries asynchronously to the connection. Unlike pg_query(), it can send multiple queries at once to PostgreSQL and get the results one by one using pg_get_result().

Script execution is not blocked while the queries are executing. Use pg_connection_busy() to check if the connection is busy (i.e. the query is executing). Queries may be cancelled using pg_cancel_query().

Although the user can send multiple queries at once, multiple queries cannot be sent over a busy connection. If a query is sent while the connection is busy, it waits until the last query is finished and discards all its results.

Lista de parámetros

connection

PostgreSQL database connection resource.

query

The SQL statement or statements to be executed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo 1. pg_send_query() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

El resultado del ejemplo seria:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Ver también

pg_query()
pg_cancel_query()
pg_get_result()
pg_connection_busy()

Anterior | Inicio | Siguiente
pg_send_query_params | Subir | pg_set_client_encoding


pg_set_client_encoding

(PHP 3 CVS only, PHP 4 >= 4.0.3, PHP 5)

pg_set_client_encoding -- Set the client encoding

Descripción

int pg_set_client_encoding ( string encoding )

int pg_set_client_encoding ( resource connection, string encoding )

pg_set_client_encoding() sets the client encoding and returns 0 if success or -1 if error.

PostgreSQL will automatically convert data in the backend database encoding into the frontend encoding.

Nota: The function used to be called pg_setclientencoding().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

encoding

The required client encoding. One of SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

The exact list of available encodings depends on your PostgreSQL version, so check your PostgreSQL manual for a more specific list.

Valores retornados

Returns 0 on success or -1 on error.

Ejemplos

Ejemplo 1. pg_set_client_encoding() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Set the client encoding to UNICODE.  Data will be automatically
// converted from the backend encoding to the frontend.
pg_set_client_encoding($conn, UNICODE);

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

// Write out UTF-8 data
while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Ver también

pg_client_encoding()

Anterior | Inicio | Siguiente
pg_send_query | Subir | pg_set_error_verbosity


pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace -- Enable tracing a PostgreSQL connection

Descripción

bool pg_trace ( string pathname [, string mode [, resource connection]] )

pg_trace() enables tracing of the PostgreSQL frontend/backend communication to a file. To fully understand the results, one needs to be familiar with the internals of PostgreSQL communication protocol.

For those who are not, it can still be useful for tracing errors in queries sent to the server, you could do for example grep '^To backend' trace.log and see what queries actually were sent to the PostgreSQL server. For more information, refer to the PostgreSQL Documentation.

Lista de parámetros

pathname

The full path and file name of the file in which to write the trace log. Same as in fopen().

pathname

An optional file access mode, same as for fopen(). Defaults to "w".

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. pg_trace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now /tmp/trace.log will contain backend communication
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Ver también

fopen()
pg_untrace()

Anterior | Inicio | Siguiente
pg_set_error_verbosity | Subir | pg_transaction_status


pg_tty

(PHP 3, PHP 4, PHP 5)

pg_tty -- Devuelve el nombre del tty

Descripción

string pg_tty ( int connection_id )

pg_tty() devuelve el nombre del tty hacia el que se dirije la salida de depuración del lado del servidor en el identificador de conexión de PostgreSQL dado.

Anterior | Inicio | Siguiente
pg_transaction_status | Subir | pg_unescape_bytea


pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5)

pg_unescape_bytea -- Unescape binary for bytea type

Descripción

string pg_unescape_bytea ( string data )

pg_unescape_bytea() unescapes PostgreSQL bytea data values. It returns the unescaped string, possibly containing binary data.

Nota: When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Lista de parámetros

data

A string containing PostgreSQL bytea data to be converted into a PHP binary string.

Valores retornados

A string containing the unescaped data.

Ejemplos

Ejemplo 1. pg_unescape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Get the bytea data
  $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
  $raw = pg_fetch_result($res, 'data');

  // Convert to binary and send to the browser
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

Ver también

pg_escape_bytea()
pg_escape_string()

Anterior | Inicio | Siguiente
pg_tty | Subir | pg_untrace


pg_untrace

(PHP 4 >= 4.0.1, PHP 5)

pg_untrace -- Disable tracing of a PostgreSQL connection

Descripción

bool pg_untrace ( [resource connection] )

Stop tracing started by pg_trace().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

Always returns TRUE.

Ejemplos

Ejemplo 1. pg_untrace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now tracing of backend communication is disabled
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Ver también

pg_trace()

Anterior | Inicio | Siguiente
pg_unescape_bytea | Subir | pg_update


pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update -- Update table

Descripción

mixed pg_update ( resource connection, string table_name, array data, array condition [, int options] )

pg_update() updates records that matches condition with data. If options is specified, pg_convert() is applied to data with specified options.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to update rows.

data

An array whose keys are field names in the table table_name, and whose values are what matched rows are to be updated to.

condition

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be updated.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Returns string if PGSQL_DML_STRING is passed via options.

Ejemplos

Ejemplo 1. pg_update() example

<?php
  $db = pg_connect('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // This is safe, since $_POST is converted automatically
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Data is updated: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Ver también

pg_convert()

Anterior | Inicio | Siguiente
pg_untrace | Subir | pg_version


pg_version

(PHP 5)

pg_version -- Returns an array with client, protocol and server version (when available)

Descripción

array pg_version ( [resource connection] )

pg_version() returns an array with the client, protocol and server version. Protocol and server versions are only available if PHP was compiled with PostgreSQL 7.4 or later.

For more detailed server information, use pg_parameter_status().

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valores retornados

Returns an array with client, protocol and server_version keys and values (if available). Returns FALSE on error or invalid connection.

Ejemplos

Ejemplo 1. pg_version() example

<?php
  $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
     or die("Could not connect");

  $v = pg_version($dbconn);

  echo $v['client'];
?>

El resultado del ejemplo seria:

7.4

Ver también

pg_parameter_status()

Anterior | Inicio | Siguiente
pg_update | Subir | PostgreSQL Functions (PDO_PGSQL)


Funciones de Control de Procesos

Manual de PHP
Anterior Siguiente

CXVII. Funciones de Control de Procesos

Introducción

El soporte de Control de Procesos en PHP implementa el estilo Unix de creaci n de procesos, ejecuci n de programa, administraci n de señales y finalizaci n de procesos. El Control de Procesos no debería estar activado para un servidor de entorno web, ya que podrían ocurrir resultados inesperados utilizando las funciones de Control de Procesos.

Esta documentaci n explica en modo general como se utilizan las funciones de Control de Procesos. Para una informaci n más detallada sobre controles de procesos en Unix deberías acudir a la documentaci n de tu sistema sobre fork(2), waitpid(2), signal(2) o al manual de referecia de programaci n avanzada bajo entornos Unix (Advanced Programming in the UNIX Environment) de Richard Stevens, Addison-Wesley.

PCNTL ahora utiliza señales para manejar el mecanismo de llamadas de retorno, que es mucho más rápido que el anterior mecanismo. Este cambio sigue la misma semántica que utilizar "señales del usuario". Debes utilizar declare() para definir que lugares en tus programas se permiten las llamadas de retorno. De esta manera se minimiza la carga de eventos asíncronos. Anteriormente, al compilar PHP con la extensi n pcntl siempre estaban activadas las llamadas de retorno, produciendo así una carga innecesaria para las aplicaciones que no utilizaban pcntl.

Para scripts pcntl anteriores al PHP 4.3.0 hay que realizar los ajustes para definir con el declare() en que secciones de la aplicaci n se permiten las llamadas de retorno o simplemente permitirlo en toda la aplicaci n mediante la sintaxis global de declare().

Nota: Esta extensión no está disponible en plataformas Windows

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

El soporte de Control de Procesos en PHP no está activado por defecto. Para activarlo, tienes que compilar la versión CGI o CLI de PHP con la opción --enable-pcntl en la configuración.

Nota: Actualmente este modulo no funciona en plataformas diferentes a Unix (Windows).

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Las siguiente lista de señales están soportadas por las funciones de Control de Procesos. Comprueba el manual de señales de tu sistema para más detalles sobre el comportamiento por defecto de las mismas.

WNOHANG (integer)

WUNTRACED (integer)

SIG_IGN (integer)

SIG_DFL (integer)

SIG_ERR (integer)

SIGHUP (integer)

SIGINT (integer)

SIGQUIT (integer)

SIGILL (integer)

SIGTRAP (integer)

SIGABRT (integer)

SIGIOT (integer)

SIGBUS (integer)

SIGFPE (integer)

SIGKILL (integer)

SIGUSR1 (integer)

SIGSEGV (integer)

SIGUSR2 (integer)

SIGPIPE (integer)

SIGALRM (integer)

SIGTERM (integer)

SIGSTKFLT (integer)

SIGCLD (integer)

SIGCHLD (integer)

SIGCONT (integer)

SIGSTOP (integer)

SIGTSTP (integer)

SIGTTIN (integer)

SIGTTOU (integer)

SIGURG (integer)

SIGXCPU (integer)

SIGXFSZ (integer)

SIGVTALRM (integer)

SIGPROF (integer)

SIGWINCH (integer)

SIGPOLL (integer)

SIGIO (integer)

SIGPWR (integer)

SIGSYS (integer)

SIGBABY (integer)

Ejemplos

Este ejemplo realiza un fork (bifurcaci n) de un proceso daemon (demonio) con administraci n de señales.

Ejemplo 1. Ejemplo de Control de Procesos

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("no se puede hacer fork");
} else if ($pid) {
     exit(); // somos el proceso padre
} else {
     // somos el proceso hijo
}

// detatch desde la terminal
if (!posix_setsid()) {
    die("no se puede hacer un detach desde la terminal");
}

// bucle infinito realizando tareas
while (1) {

    // hacer algo interesante aquí ..

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // tareas de finalización
             exit;
             break;
         case SIGHUP:
             // tareas de reinicio
             break;
         default:
             // tareas para las demás señales
     }

}

// congiguración de las señales
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

?>

Ver también

Te puede ser útil echar un vistazo a POSIX functions

Tabla de contenidos
pcntl_alarm -- Programa una alarma para hacer una llamada de una señal
pcntl_exec -- Ejecuta un programa específico en el espacio de proceso actual
pcntl_fork -- Forks the currently running process
pcntl_getpriority -- Get the priority of any process
pcntl_setpriority -- Change the priority of any process
pcntl_signal -- Installs a signal handler
pcntl_wait -- Waits on or returns the status of a forked child
pcntl_waitpid -- Waits on or returns the status of a forked child
pcntl_wexitstatus -- Returns the return code of a terminated child
pcntl_wifexited -- Checks if status code represents a normal exit
pcntl_wifsignaled -- Checks wether the status code represents a termination due to a signal
pcntl_wifstopped -- Checks wether the child process is currently stopped
pcntl_wstopsig -- Returns the signal which caused the child to stop
pcntl_wtermsig -- Returns the signal which caused the child to terminate

Anterior | Inicio | Siguiente
parsekit_func_arginfo | Subir | pcntl_alarm


pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5)

pcntl_alarm -- Programa una alarma para hacer una llamada de una señal

Descripción

int pcntl_alarm ( int segundos )

La función pcntl_alarm() crea un contador para enviar una señal SIGALRM. Si segundos es cero, no se crea ninguna alarma. Cualquier llamada a pcntl_alarm() cancelará las alarmas anteriormente programadas.

pcntl_alarm() devolverá el número de segundos restantes para la ejecución de la alarma programada, o 0 si no existe ninguna alarma programada.

Anterior | Inicio | Siguiente
Funciones de Control de Procesos | Subir | pcntl_exec


pcntl_exec

(PHP 4 >= 4.2.0, PHP 5)

pcntl_exec -- Ejecuta un programa específico en el espacio de proceso actual

Descripción

bool pcntl_exec ( string ruta [, array args [, array envs]] )

pcntl_exec() ejecuta el programa path con los argumentos args. path debe ser un binario ejecutable o un script apuntando a un ejecutable con la ruta correcta en la primera línea (por ejemplo #!/usr/local/bin/perl). Para más información mira la página del man execve(2) en tu sistema.

args debe ser una matriz con los argumentos que se le pasan al programa.

envs debe ser una matriz de cadenas de texto en la cual se pasan variables de entorno al programa. La matriz debe tener el formato indice => contenido, el indice seráa el nombre de la variable de entorno y el contenido será el valor de la variable.

pcntl_exec() devuelve FALSE en errores.

Anterior | Inicio | Siguiente
pcntl_alarm | Subir | pcntl_fork


pcntl_fork

(PHP 4 >= 4.1.0, PHP 5)

pcntl_fork -- Forks the currently running process

Descripción

int pcntl_fork ( void )

The pcntl_fork() function creates a child process that differs from the parent process only in its PID and PPID. Please see your system's fork(2) man page for specific details as to how fork works on your system.

Valores retornados

On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.

Ejemplos

Ejemplo 1. pcntl_fork() example

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
} else {
     // we are the child
}

?>

Ver también

pcntl_waitpid()
pcntl_signal()

Anterior | Inicio | Siguiente
pcntl_exec | Subir | pcntl_getpriority


pcntl_getpriority

(PHP 5)

pcntl_getpriority -- Get the priority of any process

Descripción

int pcntl_getpriority ( [int pid [, int process_identifier]] )

pcntl_getpriority() gets the priority of pid. Because priority levels can differ between system types and kernel versions, please see your system's getpriority(2) man page for specific details.

Lista de parámetros

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Valores retornados

pcntl_getpriority() returns the priority of the process or FALSE on error. A lower numerical value causes more favorable scheduling.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ver también

pcntl_setpriority()

Anterior | Inicio | Siguiente
pcntl_fork | Subir | pcntl_setpriority


pcntl_setpriority

(PHP 5)

pcntl_setpriority -- Change the priority of any process

Descripción

bool pcntl_setpriority ( int priority [, int pid [, int process_identifier]] )

pcntl_setpriority() sets the priority of pid.

Lista de parámetros

priority

priority is generally a value in the range -20 to 20. The default priority is 0 while a lower numerical value causes more favorable scheduling. Because priority levels can differ between system types and kernel versions, please see your system's setpriority(2) man page for specific details.

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

pcntl_getpriority()

Anterior | Inicio | Siguiente
pcntl_getpriority | Subir | pcntl_signal


pcntl_signal

(PHP 4 >= 4.1.0, PHP 5)

pcntl_signal -- Installs a signal handler

Descripción

bool pcntl_signal ( int signo, callback handler [, bool restart_syscalls] )

The pcntl_signal() function installs a new signal handler for the signal indicated by signo.

Lista de parámetros

signo

The signal number.

handler

The signal handler which may be the name of a user created function, or method, or either of the two global constants SIG_IGN or SIG_DFL.

Nota: Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends.

restart_syscalls

Specifies whether system call restarting should be used when this signal arrives and defaults to TRUE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
4.3.0 | The restart_syscalls parameter was added.
4.3.0 | The ability to use an object method as a callback became available.
4.3.0 | As of PHP 4.3.0 PCNTL uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You must use the declare() statement to specify the locations in your program where callbacks are allowed to occur for the signal handler to function properly (as used in the above example).

Ejemplos

Ejemplo 1. pcntl_signal() example

<?php
// tick use required as of PHP 4.3.0
declare(ticks = 1);

// signal handler function
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         case SIGUSR1:
             echo "Caught SIGUSR1...\n";
             break;
         default:
             // handle all other signals
     }

}

echo "Installing signal handler...\n";

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// or use an object, available as of PHP 4.3.0
// pcntl_signal(SIGUSR1, array($obj, "do_something");

echo"Generating signal SIGTERM to self...\n";

// send SIGUSR1 to current process id
posix_kill(posix_getpid(), SIGUSR1);

echo "Done\n"

?>

Ver también

pcntl_fork()
pcntl_waitpid()

Anterior | Inicio | Siguiente
pcntl_setpriority | Subir | pcntl_wait


pcntl_wait

(PHP 5)

pcntl_wait -- Waits on or returns the status of a forked child

Descripción

int pcntl_wait ( int &status [, int options] )

The wait function suspends execution of the current process until a child has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function. If a child has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's wait(2) man page for specific details as to how wait works on your system.

Nota: This function is equivalent to calling pcntl_waitpid() with a -1 pid and no options.

Lista de parámetros

status

pcntl_wait() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

If wait3 is available on your system (mostly BSD-style systems), you can provide the optional options parameter. If this parameter is not provided, wait will be used for the system call. If wait3 is not available, providing a value for options will have no effect. The value of options is the value of zero or more of the following two constants OR'ed together:

Tabla 1. Possible values for options

WNOHANG | Return immediately if no child has exited.
WUNTRACED | Return for children which are stopped, and whose status has not been reported.

Valores retornados

pcntl_wait() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was provided as an option (on wait3-available systems) and no child was available.

Ver también

pcntl_fork()
pcntl_signal()
pcntl_wifexited()
pcntl_wifstopped()
pcntl_wifsignaled()
pcntl_wexitstatus()
pcntl_wtermsig()
pcntl_wstopsig()
pcntl_waitpid()

Anterior | Inicio | Siguiente
pcntl_signal | Subir | pcntl_waitpid


pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5)

pcntl_waitpid -- Waits on or returns the status of a forked child

Descripción

int pcntl_waitpid ( int pid, int &status [, int options] )

Suspends execution of the current process until a child as specified by the pid argument has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function.

If a child as requested by pid has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's waitpid(2) man page for specific details as to how waitpid works on your system.

Lista de parámetros

pid

The value of pid can be one of the following:

Tabla 1. possible values for pid

< -1 | wait for any child process whose process group ID is equal to the absolute value of pid.
-1 | wait for any child process; this is the same behaviour that the wait function exhibits.
0 | wait for any child process whose process group ID is equal to that of the calling process.
> 0 | wait for the child whose process ID is equal to the value of pid.

Nota: Specifying -1 as the pid is equivalent to the functionality pcntl_wait() provides (minus options).

status

pcntl_waitpid() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

The value of options is the value of zero or more of the following two global constants OR'ed together:

Tabla 2. possible values for options

WNOHANG | return immediately if no child has exited.
WUNTRACED | return for children which are stopped, and whose status has not been reported.

Valores retornados

pcntl_waitpid() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was used and no child was available

Ver también

pcntl_fork()
pcntl_signal()
pcntl_wifexited()
pcntl_wifstopped()
pcntl_wifsignaled()
pcntl_wexitstatus()
pcntl_wtermsig()
pcntl_wstopsig()

Anterior | Inicio | Siguiente
pcntl_wait | Subir | pcntl_wexitstatus


pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wexitstatus -- Returns the return code of a terminated child

Descripción

int pcntl_wexitstatus ( int status )

Returns the return code of a terminated child. This function is only useful if pcntl_wifexited() returned TRUE.

Lista de parámetros

status

El parametro status es un parametro de estado enviado a una llamada con exito de pcntl_waitpid().

Valores retornados

Returns the return code, as an integer.

Ver también

pcntl_waitpid()
pcntl_wifexited()

Anterior | Inicio | Siguiente
pcntl_waitpid | Subir | pcntl_wifexited


pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifexited -- Checks if status code represents a normal exit

Descripción

bool pcntl_wifexited ( int status )

Checks wether the child status code represents a normal exit.

Lista de parámetros

status

El parametro status es un parametro de estado enviado a una llamada con exito de pcntl_waitpid().

Valores retornados

Returns TRUE if the child status code represents a normal exit, FALSE otherwise.

Ver también

pcntl_waitpid()
pcntl_wexitstatus()

Anterior | Inicio | Siguiente
pcntl_wexitstatus | Subir | pcntl_wifsignaled


pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifsignaled -- Checks wether the status code represents a termination due to a signal

Descripción

bool pcntl_wifsignaled ( int status )

Checks wether the child process exited because of a signal which was not caught.

Lista de parámetros

status

El parametro status es un parametro de estado enviado a una llamada con exito de pcntl_waitpid().

Valores retornados

Returns TRUE if the child process exited because of a signal which was not caught, FALSE otherwise.

Ver también

pcntl_waitpid()
pcntl_signal()

Anterior | Inicio | Siguiente
pcntl_wifexited | Subir | pcntl_wifstopped


pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifstopped -- Checks wether the child process is currently stopped

Descripción

bool pcntl_wifstopped ( int status )

Checks wether the child process which caused the return is currently stopped; this is only possible if the call to pcntl_waitpid() was done using the option WUNTRACED.

Lista de parámetros

status

El parametro status es un parametro de estado enviado a una llamada con exito de pcntl_waitpid().

Valores retornados

Returns TRUE if the child process which caused the return is currently stopped, FALSE otherwise.

Ver también

pcntl_waitpid()

Anterior | Inicio | Siguiente
pcntl_wifsignaled | Subir | pcntl_wstopsig


pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wstopsig -- Returns the signal which caused the child to stop

Descripción

int pcntl_wstopsig ( int status )

Returns the number of the signal which caused the child to stop. This function is only useful if pcntl_wifstopped() returned TRUE.

Lista de parámetros

status

El parametro status es un parametro de estado enviado a una llamada con exito de pcntl_waitpid().

Valores retornados

Returns the signal number.

Ver también

pcntl_waitpid()
pcntl_wifstopped()

Anterior | Inicio | Siguiente
pcntl_wifstopped | Subir | pcntl_wtermsig


pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wtermsig -- Returns the signal which caused the child to terminate

Descripción

int pcntl_wtermsig ( int status )

Returns the number of the signal that caused the child process to terminate. This function is only useful if pcntl_wifsignaled() returned TRUE.

Lista de parámetros

status

El parametro status es un parametro de estado enviado a una llamada con exito de pcntl_waitpid().

Valores retornados

Returns the signal number, as an integer.

Ver también

pcntl_waitpid()
pcntl_signal()
pcntl_wifsignaled()

Anterior | Inicio | Siguiente
pcntl_wstopsig | Subir | Funciones de Expresiones Regulares (Compatibles con Perl)


Funciones de Ejecución de Programas

Manual de PHP
Anterior Siguiente

CXXVIII. Funciones de Ejecución de Programas

Introducción

Estas funciones proveen medios para ejecutar comandos en el sistema mismo, y medios para proveer seguridad con tales comandos.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión define un recurso process, devuelto por proc_open().

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ver también

Estas funciones se relacionan estrechamente también con el operador de comilla invertida. Asimismo, cuando se encuentre bajo safe mode, debe considerar la directiva safe_mode_exec_dir.

Tabla de contenidos
escapeshellarg -- Escapar una cadena a ser usada como argumento del intérprete de comandos
escapeshellcmd -- Escapar meta-caracteres del intérprete de comandos
exec -- Ejecutar un programa externo
passthru -- Ejecutar un programa externo y mostrar la salida pura
proc_close -- Cierra un proceso abierto por proc_open() y devuelve el código de salida del proceso.
proc_get_status -- Obtiene información sobre un proceso abierto por proc_open()
proc_nice -- Modificar la prioridad del proceso actual
proc_open -- Ejecutar un comando y abrir apuntadores de archivo para entrada/salida
proc_terminate -- Mata un proceso abierto por proc_open
shell_exec -- Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena
system -- Ejecutar un programa externo y mostrar su salida

Anterior | Inicio | Siguiente
printer_write | Subir | escapeshellarg


escapeshellarg

(PHP 4 >= 4.0.3, PHP 5)

escapeshellarg -- Escapar una cadena a ser usada como argumento del intérprete de comandos

Descripción

string escapeshellarg ( string arg )

escapeshellarg() agrega comillas sencillas alrededor de una cadena y rodea de comillas/escapa cualquier comilla sencilla existente, permitiéndole pasar la cadena directamente a una función del intérprete de comandos, y logrando que sea tratada como un solo argumento seguro. Esta función debe ser usada para escapar argumentos individuales a funciones del intérprete de comandos que provienen de la entrada del usuario. Las funciones del intérprete de comandos incluyen exec(), system() y el operador de comilla invertida.

Lista de parámetros

arg

El argumento que será escapado.

Valores retornados

La cadena escapada.

Ejemplos

Ejemplo 1. Ejemplo de escapeshellarg()

<?php
system('ls '.escapeshellarg($dir));
?>

Ver también

escapeshellcmd()
exec()
popen()
system()
operador de comilla invertida

Anterior | Inicio | Siguiente
Funciones de Ejecución de Programas | Subir | escapeshellcmd


escapeshellcmd

(PHP 3, PHP 4, PHP 5)

escapeshellcmd -- Escapar meta-caracteres del intérprete de comandos

Descripción

string escapeshellcmd ( string comando )

escapeshellcmd() escapa cualquier caracter en una cadena que pueda ser usado para engañar a un comando de shell a que ejecute comandos arbitrarios. Esta función puede ser usada para asegurarse de que cualquier dato viniendo de la entrada del usuario sea escapado antes de que este dato sea pasado a las funciones exec() o system(), o al operador de comilla invertida.

Los siguientes caracteres son precedidos por una barra invertida: #&;`|*?~<>^()[]{}$\, \x0A y \xFF. ' y " son escapados únicamente si no están emparejados. En Windows, todos estos caracteres mas % son reemplazados por un espacio en su lugar.

Lista de parámetros

comando

El comando a ser escapado.

Valores retornados

La cadena escapada.

Ejemplos

Ejemplo 1. Ejemplo de escapeshellcmd()

<?php
$e = escapeshellcmd($entrada_usuario);

// aqui no nos importa si $e tiene espacios
system("echo $e");
$f = escapeshellcmd($nombre_archivo);

// y aqui si, asi que usamos comillas
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

Ver también

escapeshellarg()
exec()
popen()
system()
operador de comilla invertida

Anterior | Inicio | Siguiente
escapeshellarg | Subir | exec


exec

(PHP 3, PHP 4, PHP 5)

exec -- Ejecutar un programa externo

Descripción

string exec ( string comando [, array &salida [, int &var_retorno]] )

exec() ejecuta el comando dado.

Lista de parámetros

comando

El comando que será ejecutado.

salida

Si el argumento salida está presente, entonces la matriz especificada será llenada con cada línea de la salida del comando. El espacio en blanco extra, como \n, no es incluido en esta matriz. Note que si la matriz ya contiene algunos elementos, exec() anexará sus resultados al final de la matriz. Si no desea que la función anexe los elementos, use unset() sobre la matriz antes de pasarla a exec().

var_retorno

Si el argumento var_retorno está presente junto con el argumento salida, entonces el status de retorno del comando ejecutado será escrito en esta variable.

Valores retornados

La última línea de los resultados del comando. Si necesita ejecutar un comando y tener todos los datos desde el comando pasados directamente de vuelta sin interferencia alguna, use la función passthru().

Para obtener la salida del comando ejecutado, asegúrese de definir y usar el parámetro salida.

Ejemplos

Ejemplo 1. Un ejemplo de exec()

<?php
// imprime el nombre de usuario que tiene control del proceso php/httpd activo
// (en un sistema con el ejecutable "whoami" disponible en la ruta)
echo exec('whoami');
?>

Notes

Aviso

Si se va a permitir que datos provenientes del usuario sean enviados a esta funcion, habria que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota: Si arrancamos un programa con esta funcion y queremos dejarlo ejecutandose en segundo plano, hay que asegurarse que el resultado del mismo es redireccionado a un fichero u otra salida o PHP se parara hasta que la ejecucion del programa termine.

Nota: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Aviso

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".

Ver también

system()
passthru()
escapeshellcmd()
pcntl_exec()
system()
operador de comilla invertida

Anterior | Inicio | Siguiente
escapeshellcmd | Subir | passthru


passthru

(PHP 3, PHP 4, PHP 5)

passthru -- Ejecutar un programa externo y mostrar la salida pura

Descripción

void passthru ( string comando [, int &var_retorno] )

La función passthru() es similar a la función exec() en tanto que ejecuta un comando. Esta función debería ser usada en lugar de exec() o system() cuando la salida desde el comando Unix consiste en datos binarios que necesitan ser pasados directamente de vuelta al navegador. Un uso común de esto es ejecutar algo como las utilidades pbmplus que pueden generar la salida de una secuencia de imagen directamente. Definiendo la cabecera Content-type como image/gif y luego llamando un programa pbmplus para generar un gif, es posible crear scripts PHP que desplieguen imágenes directamente.

Lista de parámetros

comando

El comando a ser ejecutado.

var_retorno

Si el argumento var_retorno está presente, el status de retorno del comando Unix será colocado aquí.

Notes

Aviso

Si se va a permitir que datos provenientes del usuario sean enviados a esta funcion, habria que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota: Si arrancamos un programa con esta funcion y queremos dejarlo ejecutandose en segundo plano, hay que asegurarse que el resultado del mismo es redireccionado a un fichero u otra salida o PHP se parara hasta que la ejecucion del programa termine.

Nota: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Aviso

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".

Ver también

exec()
system()
popen()
escapeshellcmd()
operador de comilla invertida

Anterior | Inicio | Siguiente
exec | Subir | proc_close


proc_close

(PHP 4 >= 4.3.0, PHP 5)

proc_close -- Cierra un proceso abierto por proc_open() y devuelve el código de salida del proceso.

Descripción

int proc_close ( resource proceso )

proc_close() es similar a pclose(), excepto que solo trabaja con procesos abiertos por proc_open(). proc_close() espera a que el proceso termine, y devuelve su código de salida. Si tiene pipes abiertos con ese proceso, debe usar fclose() sobre ellos antes de llamar esta función, con el propósito de evitar bloqueos muertos - puede que el proceso hijo no pueda salir mientras los pipes se encuentren abiertos.

Lista de parámetros

proceso

El resource proc_open() que será cerrado.

Anterior | Inicio | Siguiente
passthru | Subir | proc_get_status


proc_get_status

(PHP 5)

proc_get_status -- Obtiene información sobre un proceso abierto por proc_open()

Descripción

array proc_get_status ( resource proceso )

proc_get_status() recupera información sobre un proceso abierto mediante el uso de proc_open().

Lista de parámetros

proceso

El resource proc_open() que será evaluado.

Valores retornados

Un valor array con la información recolectada en caso de éxito, y FALSE si ocurre un error. La matriz devuelta contiene los siguientes elementos:

elemento | tipo | descripción
command | string | La cadena del comando que fue pasada a proc_open().
pid | int | id del proceso
running | bool | TRUE si el proceso aun está siendo ejecutado, FALSE si ha terminado.
signaled | bool | TRUE si el proceso hijo ha sido terminado por una señal no atrapada. En windows, este valor siempre es FALSE.
stopped | bool | TRUE si el proceso hijo fue detenido por una señal. En windows, este valor siempre es FALSE.
exitcode | int | El código de salida devuelto por el proceso (el cual tiene sentido únicamente si running es FALSE). Solo la primera llamada a esta función devuelve el valor real, la siguiente llamada devuelve -1.
termsig | int | El número de la señal que causó que el proceso hijo finalizara su ejecución (sólo tiene sentido si signaled es TRUE).
stopsig | int | El número de la señal que causó que el proceso hijo detuviera su ejecución (sólo tiene sentido si stopped es TRUE).

Ver también

proc_open()

Anterior | Inicio | Siguiente
proc_close | Subir | proc_nice


proc_nice

(PHP 5)

proc_nice -- Modificar la prioridad del proceso actual

Descripción

bool proc_nice ( int incremento )

proc_nice() modifica la prioridad del proceso actual por la cantidad especificada en incremento. Un incremento positivo reducirá la prioridad del proceso actual, mientras que un incremento negativo la incrementará.

proc_nice() no está relacionada con proc_open() y sus funciones asociadas en ninguna forma.

Lista de parámetros

incremento

El valor de incremento del cambio de prioridad.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Si ocurre un error, como que el usuario carezca de permisos para modificar la prioridad, un error de nivel E_WARNING es generado también.

Notes

Disponibilidad: proc_nice() existirá únicamente si su sistema tiene soporte para 'nice'. 'nice' está definido de acuerdo a los estándares: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. Esto quiere decir que proc_nice() no está disponible en Windows.

Anterior | Inicio | Siguiente
proc_get_status | Subir | proc_open


proc_open

(PHP 4 >= 4.3.0, PHP 5)

proc_open -- Ejecutar un comando y abrir apuntadores de archivo para entrada/salida

Descripción

resource proc_open ( string cmd, array espec_descriptor, array &pipes [, string cwd [, array env [, array otras_opciones]]] )

proc_open() es similar a popen() pero provee un grado de control mucho mayor sobre la ejecución del programa.

Lista de parámetros

cmd

El comando a ejecutar

espec_descriptor

Una matriz indexada en donde las llaves representan el número del descriptor y el valor representa el modo en que PHP pasará el descriptor al proceso hijo. 0 es stdin, 1 es stdout, y 2 es stderr.

Los tipos de pipe soportados actualmente son file y pipe .

Los números de descriptor de archivo no se limitan a 0, 1 y 2 - es posible que especifique cualquier número de descriptor de archivo válido y éste será pasado al proceso hijo. Esto le permite a su script interoperar con otros scripts que corren como "co-procesos". En particular, esto es útil para pasar frases secretas a programas como PGP, GPG y openssl de una forma más segura. También es útil para leer información de status ofrecida por esos programas en descriptores de archivo auxiliares.

pipes

Recibirá como valor una matriz indexada de apuntadores de archivo que corresponden a los valores en PHP de los pipes creados.

cwd

El directorio de trabajo inicial para el comando. Este debe ser una ruta de directorio absoluta, o NULL si desea usar el valor predeterminado (el directorio de trabajo del proceso PHP actual)

env

Una matriz con las variables de entorno para el comando que será ejecutado, o NULL para usar el mismo entorno que el proceso PHP actual

otras_opciones

Le permite especificar opciones adicionales. Las opciones actualmente soportadas incluyen:

suppress_errors (sólo en windows): elimina errores generados por esta función cuando se define como TRUE
bypass_shell (sólo en windows): evita el intérprete de comandos cmd.exe cuando se define como TRUE
context: contexto de secuencia usado cuando se abren archivos (creado con stream_context_create())
binary_pipes: abrir pipes en modo binario, en lugar de usar el valor stream_encoding usual

Valores retornados

Devuelve un recurso que representa el proceso, el cual debe ser liberado usando proc_close() cuando haya terminado de usarlo. En caso de error, devuelve FALSE.

Registro de cambios

Versión | Descripción
6.0.0 | Se agregaron las opciones context y binary_pipes al parámetro otras_opciones.
5.2.1 | Se agregó la opción bypass_shell al parámetro otras_opciones.
5.0.0 | Se añadieron los parámetros cwd, env y otras_opciones.

Ejemplos

Ejemplo 1. Un ejemplo de proc_open()

<?php
$espec_descriptor = array(
   0 => array("pipe", "r"),  // stdin es un pipe usado por el hijo para lectura
   1 => array("pipe", "w"),  // stdout es un pipe usado por el hijo para escritura
   2 => array("file", "/tmp/salida-errores.txt", "a") // stderr es un archivo para escritura
);

$cwd = '/tmp';
$env = array('una_opcion' => 'aeiou');

$proceso = proc_open('php', $espec_descriptor, $pipes, $cwd, $env);

if (is_resource($proceso)) {
    // $pipes ahora luce de esta forma:
    // 0 => gestor de escritura conectado con la entrada estándar del hijo
    // 1 => gestor de lectura conectado con la salida estándar del hijo
    // Cualquier mensaje de salida de error será adicionado a /tmp/salida-errores.txt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // Es importante que cierre todos los pipes antes de llamar
    // proc_close para evitar un bloqueo muerto
    $retval = proc_close($proceso);

    echo "el comando ha devuelto $retval\n";
}
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
el comando ha devuelto 0

Notes

Nota: Compatibilidad con Windows: Los descriptores más allá de 2 (stderr) se ponen a disposición del proceso hijo como gestores heredables, pero ya que la arquitectura de Windows no asocia números de descriptores de archivo con gestores de bajo nivel, el proceso hijo no tiene (aun) una forma de acceder a esos gestores. Stdin, stdout y stderr funcionan como es de esperarse.

Nota: Si solo necesita un pipe de proceso uni-direccional (de una vía), use popen() en su lugar, ya que es mucho más fácil de usar.

Ver también

popen()
exec()
system()
passthru()
stream_select()
El operador de comilla invertida

Anterior | Inicio | Siguiente
proc_nice | Subir | proc_terminate


proc_terminate

(PHP 5)

proc_terminate -- Mata un proceso abierto por proc_open

Descripción

bool proc_terminate ( resource proceso [, int senyal] )

Envía una señal al proceso (creado usando proc_open()) indicando que debería terminar. proc_terminate() retorna inmediatamente y no espera a que el proceso termine.

La senyal opcional es útil únicamente en sistemas operativos POSIX; puede especificar una señal a ser enviada al proceso usando la llamada del sistema kill(2). La señal predeterminada es SIGTERM.

proc_terminate() le permite terminar el proceso y continuar con otras tareas. Puede consultar el estado del proceso (para ver si ya se ha detenido) usando la función proc_get_status(). Sin embargo esto es posible únicamente con PHP 5.2.2 o versiones posteriores, ya que anteriormente se destruía el recurso de proceso dado.

Ver también

proc_open()
proc_close()
proc_get_status()

Anterior | Inicio | Siguiente
proc_open | Subir | shell_exec


shell_exec

(PHP 4, PHP 5)

shell_exec -- Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena

Descripción

string shell_exec ( string cmd )

Esta función es idéntica al operador de comillas invertidas.

Lista de parámetros

cmd

El comando que será ejecutado.

Valores retornados

La salida del comando ejecutado.

Ejemplos

Ejemplo 1. Un ejemplo de shell_exec()

<?php
$salida = shell_exec('ls -lart');
echo "<pre>$salida</pre>";
?>

Notes

Nota: Esta función no está habilitada en safe-mode (modo-seguro)

Ver también

exec()
escapeshellcmd()

Anterior | Inicio | Siguiente
proc_terminate | Subir | system


system

(PHP 3, PHP 4, PHP 5)

system -- Ejecutar un programa externo y mostrar su salida

Descripción

string system ( string comando [, int &val_retorno] )

system() es similar a la versión C de la función de mismo nombre, dado que ejecuta el comando dado y muestra el resultado.

La llamada a system() también intenta volcar automáticamente el búfer de salida del servidor web después de cada línea de salida, si PHP está corriendo como un módulo de servidor.

Si necesita ejecutar un comando y recibir de vuelta todo los datos del mismo sin interferencias, use la función passthru().

Lista de parámetros

comando

El comando que será ejecutado.

val_retorno

Si el argumento val_retorno se encuentra presente, entonces el status devuelto por el comando ejecutado será almacenado en esta variable.

Valores retornados

Devuelve la última línea de la salida del comando en caso de tener éxito, y FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de system()

<?php
echo '<pre>';

// Muestra el resultado completo del comando "ls", y devuelve la
// ultima linea de la salida en $ultima_linea. Almacena el valor de
// retorno del comando en $retval.
$ultima_linea = system('ls', $retval);

// Imprimir informacion adicional
echo '
</pre>
<hr />Ultima linea de la salida: ' . $ultima_linea . '
<hr />Valor de retorno: ' . $retval;
?>

Notes

Aviso

Si se va a permitir que datos provenientes del usuario sean enviados a esta funcion, habria que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota: Si arrancamos un programa con esta funcion y queremos dejarlo ejecutandose en segundo plano, hay que asegurarse que el resultado del mismo es redireccionado a un fichero u otra salida o PHP se parara hasta que la ejecucion del programa termine.

Nota: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Aviso

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".

Ver también

exec()
passthru()
popen()
escapeshellcmd()
pcntl_exec()
el operador de comillas invertidas

Anterior | Inicio | Siguiente
shell_exec | Subir | PostScript document creation


Printer Functions

Manual de PHP
Anterior Siguiente

CXXVII. Printer Functions

Introducción

These functions are only available under Windows 9.x, ME, NT4 and 2000. They have been added in PHP 4.0.4.

Instalación

This PECL extension is not bundled with PHP.

Windows users must enable php_printer.dll inside of php.ini in order to use these functions. You may obtain this unbundled PECL extension from the various PECL snaps pages (select the appropriate repository for your version of PHP): PECL for PHP 4.3.x, PECL for PHP 5.0.x or PECL Unstable.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Printer configuration options

Name | Default | Changeable | Changelog
printer.default_printer | "" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tabla de contenidos
printer_abort -- Deletes the printer's spool file
printer_close -- Close an open printer connection
printer_create_brush -- Create a new brush
printer_create_dc -- Create a new device context
printer_create_font -- Create a new font
printer_create_pen -- Create a new pen
printer_delete_brush -- Delete a brush
printer_delete_dc -- Delete a device context
printer_delete_font -- Delete a font
printer_delete_pen -- Delete a pen
printer_draw_bmp -- Draw a bmp
printer_draw_chord -- Draw a chord
printer_draw_elipse -- Draw an ellipse
printer_draw_line -- Draw a line
printer_draw_pie -- Draw a pie
printer_draw_rectangle -- Draw a rectangle
printer_draw_roundrect -- Draw a rectangle with rounded corners
printer_draw_text -- Draw text
printer_end_doc -- Close document
printer_end_page -- Close active page
printer_get_option -- Retrieve printer configuration data
printer_list -- Return an array of printers attached to the server
printer_logical_fontheight -- Get logical font height
printer_open -- Open connection to a printer
printer_select_brush -- Select a brush
printer_select_font -- Select a font
printer_select_pen -- Select a pen
printer_set_option -- Configure the printer connection
printer_start_doc -- Start a new document
printer_start_page -- Start a new page
printer_write -- Write data to the printer

Anterior | Inicio | Siguiente
PDO::pgsqlLOBUnlink | Subir | printer_abort


printer_abort

(PECL)

printer_abort -- Deletes the printer's spool file

Description

void printer_abort ( resource handle )

This function deletes the printers spool file.

handle must be a valid handle to a printer.

Ejemplo 1. printer_abort() example

<?php
$handle = printer_open();
printer_abort($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
Printer Functions | Subir | printer_close


printer_close

(PECL)

printer_close -- Close an open printer connection

Description

void printer_close ( resource handle )

This function closes the printer connection. printer_close() also closes the active device context.

handle must be a valid handle to a printer.

Ejemplo 1. printer_close() example

<?php
$handle = printer_open();
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_abort | Subir | printer_create_brush


printer_create_brush

(PECL)

printer_create_brush -- Create a new brush

Description

resource printer_create_brush ( int style, string color )

The function creates a new brush and returns a handle to it. A brush is used to fill shapes. For an example see printer_select_brush(). color must be a color in RGB hex format, i.e. "000000" for black, style must be one of the following constants:

  • PRINTER_BRUSH_SOLID: creates a brush with a solid color.

  • PRINTER_BRUSH_DIAGONAL: creates a brush with a 45-degree upward left-to-right hatch ( / ).

  • PRINTER_BRUSH_CROSS: creates a brush with a cross hatch ( + ).

  • PRINTER_BRUSH_DIAGCROSS: creates a brush with a 45 cross hatch ( x ).

  • PRINTER_BRUSH_FDIAGONAL: creates a brush with a 45-degree downward left-to-right hatch ( \ ).

  • PRINTER_BRUSH_HORIZONTAL: creates a brush with a horizontal hatch ( - ).

  • PRINTER_BRUSH_VERTICAL: creates a brush with a vertical hatch ( | ).

  • PRINTER_BRUSH_CUSTOM: creates a custom brush from an BMP file. The second parameter is used to specify the BMP instead of the RGB color code.

Anterior | Inicio | Siguiente
printer_close | Subir | printer_create_dc


printer_create_dc

(PECL)

printer_create_dc -- Create a new device context

Description

void printer_create_dc ( resource handle )

The function creates a new device context. A device context is used to customize the graphic objects of the document. handle must be a valid handle to a printer.

Ejemplo 1. printer_create_dc() example

<?php
$handle = printer_open();
printer_start_doc($handle);
printer_start_page($handle);

printer_create_dc($handle);
/* do some stuff with the dc */
printer_set_option($handle, PRINTER_TEXT_COLOR, "333333");
printer_draw_text($handle, 1, 1, "text");
printer_delete_dc($handle);

/* create another dc */
printer_create_dc($handle);
printer_set_option($handle, PRINTER_TEXT_COLOR, "000000");
printer_draw_text($handle, 1, 1, "text");
/* do some stuff with the dc */

printer_delete_dc($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_create_brush | Subir | printer_create_font


printer_create_font

(PECL)

printer_create_font -- Create a new font

Description

resource printer_create_font ( string face, int height, int width, int font_weight, bool italic, bool underline, bool strikeout, int orientation )

The function creates a new font and returns a handle to it. A font is used to draw text. For an example see printer_select_font(). face must be a string specifying the font face. height specifies the font height, and width the font width. The font_weight specifies the font weight (400 is normal), and can be one of the following predefined constants.

  • PRINTER_FW_THIN: sets the font weight to thin (100).

  • PRINTER_FW_ULTRALIGHT: sets the font weight to ultra light (200).

  • PRINTER_FW_LIGHT: sets the font weight to light (300).

  • PRINTER_FW_NORMAL: sets the font weight to normal (400).

  • PRINTER_FW_MEDIUM: sets the font weight to medium (500).

  • PRINTER_FW_BOLD: sets the font weight to bold (700).

  • PRINTER_FW_ULTRABOLD: sets the font weight to ultra bold (800).

  • PRINTER_FW_HEAVY: sets the font weight to heavy (900).

italic can be TRUE or FALSE, and sets whether the font should be italic.

underline can be TRUE or FALSE, and sets whether the font should be underlined.

strikeout can be TRUE or FALSE, and sets whether the font should be stroked out.

orientation specifies a rotation. For an example see printer_select_font().

Anterior | Inicio | Siguiente
printer_create_dc | Subir | printer_create_pen


printer_create_pen

(PECL)

printer_create_pen -- Create a new pen

Description

resource printer_create_pen ( int style, int width, string color )

The function creates a new pen and returns a handle to it. A pen is used to draw lines and curves. For an example see printer_select_pen(). color must be a color in RGB hex format, i.e. "000000" for black, width specifies the width of the pen whereas style must be one of the following constants:

  • PRINTER_PEN_SOLID: creates a solid pen.

  • PRINTER_PEN_DASH: creates a dashed pen.

  • PRINTER_PEN_DOT: creates a dotted pen.

  • PRINTER_PEN_DASHDOT: creates a pen with dashes and dots.

  • PRINTER_PEN_DASHDOTDOT: creates a pen with dashes and double dots.

  • PRINTER_PEN_INVISIBLE: creates an invisible pen.

Anterior | Inicio | Siguiente
printer_create_font | Subir | printer_delete_brush


printer_delete_brush

(PECL)

printer_delete_brush -- Delete a brush

Description

void printer_delete_brush ( resource handle )

The function deletes the selected brush. For an example see printer_select_brush(). Returns NULL on success or FALSE on failure. handle must be a valid handle to a brush.

Anterior | Inicio | Siguiente
printer_create_pen | Subir | printer_delete_dc


printer_delete_dc

(PECL)

printer_delete_dc -- Delete a device context

Description

bool printer_delete_dc ( resource handle )

The function deletes the device context. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. For an example see printer_create_dc(). handle must be a valid handle to a printer.

Anterior | Inicio | Siguiente
printer_delete_brush | Subir | printer_delete_font


printer_delete_font

(PECL)

printer_delete_font -- Delete a font

Description

void printer_delete_font ( resource handle )

The function deletes the selected font. For an example see printer_select_font(). Returns NULL on success or FALSE on failure. handle must be a valid handle to a font.

Anterior | Inicio | Siguiente
printer_delete_dc | Subir | printer_delete_pen


printer_delete_pen

(PECL)

printer_delete_pen -- Delete a pen

Description

void printer_delete_pen ( resource handle )

The function deletes the selected pen. For an example see printer_select_pen(). Returns NULL on success or FALSE on failure. handle must be a valid handle to a pen.

Anterior | Inicio | Siguiente
printer_delete_font | Subir | printer_draw_bmp


printer_draw_bmp

(PECL)

printer_draw_bmp -- Draw a bmp

Description

bool printer_draw_bmp ( resource handle, string filename, int x, int y [, int width, int height] )

The function simply draws an bmp the bitmap filename at position x, y. handle must be a valid handle to a printer.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. printer_draw_bmp() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

printer_draw_bmp($handle, "c:\\image.bmp", 1, 1);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_delete_pen | Subir | printer_draw_chord


printer_draw_chord

(PECL)

printer_draw_chord -- Draw a chord

Description

void printer_draw_chord ( resource handle, int rec_x, int rec_y, int rec_x1, int rec_y1, int rad_x, int rad_y, int rad_x1, int rad_y1 )

The function simply draws an chord. handle must be a valid handle to a printer.

rec_x is the upper left x coordinate of the bounding rectangle.

rec_y is the upper left y coordinate of the bounding rectangle.

rec_x1 is the lower right x coordinate of the bounding rectangle.

rec_y1 is the lower right y coordinate of the bounding rectangle.

rad_x is x coordinate of the radial defining the beginning of the chord.

rad_y is y coordinate of the radial defining the beginning of the chord.

rad_x1 is x coordinate of the radial defining the end of the chord.

rad_y1 is y coordinate of the radial defining the end of the chord.

Ejemplo 1. printer_draw_chord() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_chord($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_bmp | Subir | printer_draw_elipse


printer_draw_elipse

(PECL)

printer_draw_elipse -- Draw an ellipse

Description

void printer_draw_elipse ( resource handle, int ul_x, int ul_y, int lr_x, int lr_y )

The function simply draws an ellipse. handle must be a valid handle to a printer.

ul_x is the upper left x coordinate of the ellipse.

ul_y is the upper left y coordinate of the ellipse.

lr_x is the lower right x coordinate of the ellipse.

lr_y is the lower right y coordinate of the ellipse.

Ejemplo 1. printer_draw_elipse() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_elipse($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_chord | Subir | printer_draw_line


printer_draw_line

(PECL)

printer_draw_line -- Draw a line

Description

void printer_draw_line ( resource printer_handle, int from_x, int from_y, int to_x, int to_y )

The function simply draws a line from position from_x, from_y to position to_x, to_y using the selected pen. printer_handle must be a valid handle to a printer.

Ejemplo 1. printer_draw_line() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "000000");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 10, 1000, 10);
printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_elipse | Subir | printer_draw_pie


printer_draw_pie

(PECL)

printer_draw_pie -- Draw a pie

Description

void printer_draw_pie ( resource handle, int rec_x, int rec_y, int rec_x1, int rec_y1, int rad1_x, int rad1_y, int rad2_x, int rad2_y )

The function simply draws an pie. handle must be a valid handle to a printer.

rec_x is the upper left x coordinate of the bounding rectangle.

rec_y is the upper left y coordinate of the bounding rectangle.

rec_x1 is the lower right x coordinate of the bounding rectangle.

rec_y1 is the lower right y coordinate of the bounding rectangle.

rad1_x is x coordinate of the first radial's ending.

rad1_y is y coordinate of the first radial's ending.

rad2_x is x coordinate of the second radial's ending.

rad2_y is y coordinate of the second radial's ending.

Ejemplo 1. printer_draw_pie() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_pie($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_line | Subir | printer_draw_rectangle


printer_draw_rectangle

(PECL)

printer_draw_rectangle -- Draw a rectangle

Description

void printer_draw_rectangle ( resource handle, int ul_x, int ul_y, int lr_x, int lr_y )

The function simply draws a rectangle.

handle must be a valid handle to a printer.

ul_x is the upper left x coordinate of the rectangle.

ul_y is the upper left y coordinate of the rectangle.

lr_x is the lower right x coordinate of the rectangle.

lr_y is the lower right y coordinate of the rectangle.

Ejemplo 1. printer_draw_rectangle() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_pie | Subir | printer_draw_roundrect


printer_draw_roundrect

(PECL)

printer_draw_roundrect -- Draw a rectangle with rounded corners

Description

void printer_draw_roundrect ( resource handle, int ul_x, int ul_y, int lr_x, int lr_y, int width, int height )

The function simply draws a rectangle with rounded corners.

handle must be a valid handle to a printer.

ul_x is the upper left x coordinate of the rectangle.

ul_y is the upper left y coordinate of the rectangle.

lr_x is the lower right x coordinate of the rectangle.

lr_y is the lower right y coordinate of the rectangle.

width is the width of the ellipse.

height is the height of the ellipse.

Ejemplo 1. printer_draw_roundrect() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_roundrect($handle, 1, 1, 500, 500, 200, 200);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_rectangle | Subir | printer_draw_text


printer_draw_text

(PECL)

printer_draw_text -- Draw text

Description

void printer_draw_text ( resource printer_handle, string text, int x, int y )

The function simply draws text at position x, y using the selected font. printer_handle must be a valid handle to a printer.

Ejemplo 1. printer_draw_text() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$font = printer_create_font("Arial", 72, 48, 400, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, "test", 10, 10);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_draw_roundrect | Subir | printer_end_doc


printer_end_doc

(PECL)

printer_end_doc -- Close document

Description

bool printer_end_doc ( resource handle )

Closes a new document in the printer spooler. The document is now ready for printing. For an example see printer_start_doc(). handle must be a valid handle to a printer.

Anterior | Inicio | Siguiente
printer_draw_text | Subir | printer_end_page


printer_end_page

(PECL)

printer_end_page -- Close active page

Description

bool printer_end_page ( resource handle )

The function closes the active page in the active document. For an example see printer_start_doc(). handle must be a valid handle to a printer.

Anterior | Inicio | Siguiente
printer_end_doc | Subir | printer_get_option


printer_get_option

(PECL)

printer_get_option -- Retrieve printer configuration data

Description

mixed printer_get_option ( resource handle, string option )

The function retrieves the configuration setting of option. handle must be a valid handle to a printer. Take a look at printer_set_option() for the settings that can be retrieved, additionally the following settings can be retrieved:

  • PRINTER_DEVICENAME returns the devicename of the printer.

  • PRINTER_DRIVERVERSION returns the printer driver version.

Ejemplo 1. printer_get_option() example

<?php
$handle = printer_open();
echo printer_get_option($handle, PRINTER_DRIVERVERSION);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_end_page | Subir | printer_list


printer_list

(PECL)

printer_list -- Return an array of printers attached to the server

Description

array printer_list ( int enumtype [, string name [, int level]] )

The function enumerates available printers and their capabilities. level sets the level of information request. Can be 1,2,4 or 5. enumtype must be one of the following predefined constants:

  • PRINTER_ENUM_LOCAL: enumerates the locally installed printers.

  • PRINTER_ENUM_NAME: enumerates the printer of name, can be a server, domain or print provider.

  • PRINTER_ENUM_SHARED: this parameter can't be used alone, it has to be OR'ed with other parameters, i.e. PRINTER_ENUM_LOCAL to detect the locally shared printers.

  • PRINTER_ENUM_DEFAULT: (Win9.x only) enumerates the default printer.

  • PRINTER_ENUM_CONNECTIONS: (WinNT/2000 only) enumerates the printers to which the user has made connections.

  • PRINTER_ENUM_NETWORK: (WinNT/2000 only) enumerates network printers in the computer's domain. Only valid if level is 1.

  • PRINTER_ENUM_REMOTE: (WinNT/2000 only) enumerates network printers and print servers in the computer's domain. Only valid if level is 1.

Ejemplo 1. printer_list() example

<?php
/* detect locally shared printer */
var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));
?>

Anterior | Inicio | Siguiente
printer_get_option | Subir | printer_logical_fontheight


printer_logical_fontheight

(PECL)

printer_logical_fontheight -- Get logical font height

Description

int printer_logical_fontheight ( resource handle, int height )

The function calculates the logical font height of height. handle must be a valid handle to a printer.

Ejemplo 1. printer_logical_fontheight() example

<?php
$handle = printer_open();
echo printer_logical_fontheight($handle, 72);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_list | Subir | printer_open


printer_open

(PECL)

printer_open -- Open connection to a printer

Description

resource printer_open ( [string devicename] )

This function tries to open a connection to the printer devicename, and returns a handle on success or FALSE on failure.

If no parameter was given it tries to open a connection to the default printer (if not specified in php.ini as printer.default_printer, PHP tries to detect it).

printer_open() also starts a device context.

Ejemplo 1. printer_open() example

<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>

Anterior | Inicio | Siguiente
printer_logical_fontheight | Subir | printer_select_brush


printer_select_brush

(PECL)

printer_select_brush -- Select a brush

Description

void printer_select_brush ( resource printer_handle, resource brush_handle )

The function selects a brush as the active drawing object of the actual device context. A brush is used to fill shapes. If you draw an rectangle the brush is used to draw the shapes, while the pen is used to draw the border. If you haven't selected a brush before drawing shapes, the shape won't be filled. printer_handle must be a valid handle to a printer. brush_handle must be a valid handle to a brush.

Ejemplo 1. printer_select_brush() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);
$brush = printer_create_brush(PRINTER_BRUSH_CUSTOM, "c:\\brush.bmp");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "000000");
printer_select_brush($handle, $brush);
printer_draw_rectangle($handle, 1, 501, 500, 1001);
printer_delete_brush($brush);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_open | Subir | printer_select_font


printer_select_font

(PECL)

printer_select_font -- Select a font

Description

void printer_select_font ( resource printer_handle, resource font_handle )

The function selects a font to draw text. printer_handle must be a valid handle to a printer. font_handle must be a valid handle to a font.

Ejemplo 1. printer_select_font() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
printer_select_font($handle, $font);
printer_draw_text($handle, "PHP is simply cool", 40, 40);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_select_brush | Subir | printer_select_pen


printer_select_pen

(PECL)

printer_select_pen -- Select a pen

Description

void printer_select_pen ( resource printer_handle, resource pen_handle )

The function selects a pen as the active drawing object of the actual device context. A pen is used to draw lines and curves. I.e. if you draw a single line the pen is used. If you draw an rectangle the pen is used to draw the borders, while the brush is used to fill the shape. If you haven't selected a pen before drawing shapes, the shape won't be outlined. printer_handle must be a valid handle to a printer. pen_handle must be a valid handle to a pen.

Ejemplo 1. printer_select_pen() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "2222FF");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_select_font | Subir | printer_set_option


printer_set_option

(PECL)

printer_set_option -- Configure the printer connection

Description

bool printer_set_option ( resource handle, int option, mixed value )

The function sets the following options for the current connection. handle must be a valid handle to a printer. For option can be one of the following constants:

  • PRINTER_COPIES: sets how many copies should be printed, value must be an integer.

  • PRINTER_MODE: specifies the type of data (text, raw or emf), value must be a string.

  • PRINTER_TITLE: specifies the name of the document, value must be a string.

  • PRINTER_ORIENTATION: specifies the orientation of the paper, value can be either PRINTER_ORIENTATION_PORTRAIT or PRINTER_ORIENTATION_LANDSCAPE

  • PRINTER_RESOLUTION_Y: specifies the y-resolution in DPI, value must be an integer.

  • PRINTER_RESOLUTION_X: specifies the x-resolution in DPI, value must be an integer.

  • PRINTER_PAPER_FORMAT: specifies a predefined paper format, set value to PRINTER_FORMAT_CUSTOM if you want to specify a custom format with PRINTER_PAPER_WIDTH and PRINTER_PAPER_LENGTH. value can be one of the following constants.

    • PRINTER_FORMAT_CUSTOM: let's you specify a custom paper format.

    • PRINTER_FORMAT_LETTER: specifies standard letter format (8 1/2- by 11-inches).

    • PRINTER_FORMAT_LEGAL: specifies standard legal format (8 1/2- by 14-inches).

    • PRINTER_FORMAT_A3: specifies standard A3 format (297- by 420-millimeters).

    • PRINTER_FORMAT_A4: specifies standard A4 format (210- by 297-millimeters).

    • PRINTER_FORMAT_A5: specifies standard A5 format (148- by 210-millimeters).

    • PRINTER_FORMAT_B4: specifies standard B4 format (250- by 354-millimeters).

    • PRINTER_FORMAT_B5: specifies standard B5 format (182- by 257-millimeter).

    • PRINTER_FORMAT_FOLIO: specifies standard FOLIO format (8 1/2- by 13-inch).

  • PRINTER_PAPER_LENGTH: if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_LENGTH specifies a custom paper length in mm, value must be an integer.

  • PRINTER_PAPER_WIDTH: if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH specifies a custom paper width in mm, value must be an integer.

  • PRINTER_SCALE: specifies the factor by which the printed output is to be scaled. the page size is scaled from the physical page size by a factor of scale/100. for example if you set the scale to 50, the output would be half of its original size. value must be an integer.

  • PRINTER_BACKGROUND_COLOR: specifies the background color for the actual device context, value must be a string containing the rgb information in hex format i.e. "005533".

  • PRINTER_TEXT_COLOR: specifies the text color for the actual device context, value must be a string containing the rgb information in hex format i.e. "005533".

  • PRINTER_TEXT_ALIGN: specifies the text alignment for the actual device context, value can be combined through OR'ing the following constants:

    • PRINTER_TA_BASELINE: text will be aligned at the base line.

    • PRINTER_TA_BOTTOM: text will be aligned at the bottom.

    • PRINTER_TA_TOP: text will be aligned at the top.

    • PRINTER_TA_CENTER: text will be aligned at the center.

    • PRINTER_TA_LEFT: text will be aligned at the left.

    • PRINTER_TA_RIGHT: text will be aligned at the right.

Ejemplo 1. printer_set_option() example

<?php
$handle = printer_open();
printer_set_option($handle, PRINTER_SCALE, 75);
printer_set_option($handle, PRINTER_TEXT_ALIGN, PRINTER_TA_LEFT);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_select_pen | Subir | printer_start_doc


printer_start_doc

(PECL)

printer_start_doc -- Start a new document

Description

bool printer_start_doc ( resource handle [, string document] )

The function creates a new document in the printer spooler. A document can contain multiple pages, it's used to schedule the print job in the spooler. handle must be a valid handle to a printer. The optional parameter document can be used to set an alternative document name.

Ejemplo 1. printer_start_doc() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_set_option | Subir | printer_start_page


printer_start_page

(PECL)

printer_start_page -- Start a new page

Description

bool printer_start_page ( resource handle )

The function creates a new page in the active document. For an example see printer_start_doc(). handle must be a valid handle to a printer.

Anterior | Inicio | Siguiente
printer_start_doc | Subir | printer_write


printer_write

(PECL)

printer_write -- Write data to the printer

Description

bool printer_write ( resource handle, string content )

Writes content directly to the printer. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

handle must be a valid handle to a printer.

Ejemplo 1. printer_write() example

<?php
$handle = printer_open();
printer_write($handle, "Text to print");
printer_close($handle);
?>

Anterior | Inicio | Siguiente
printer_start_page | Subir | Funciones de Ejecución de Programas


Pspell Functions

Manual de PHP
Anterior Siguiente

CXXX. Pspell Functions

The pspell() functions allow you to check the spelling of a word and offer suggestions.

You need the aspell and pspell libraries, available from http://aspell.sourceforge.net/ and http://aspell.net/ respectively, and add the --with-pspell[=dir] option when compiling php.

Tabla de contenidos
pspell_add_to_personal -- Agrega la palabra a la lista personal de palabras
pspell_add_to_session -- Agrega la palabra a la lista de palabras en la sesión actual
pspell_check -- Check a word
pspell_clear_session -- Limpia la sesión actual
pspell_config_create -- Create a config used to open a dictionary
pspell_config_data_dir -- location of language data files
pspell_config_dict_dir -- Location of the main word list
pspell_config_ignore -- Ignore words less than N characters long
pspell_config_mode -- Change the mode number of suggestions returned
pspell_config_personal -- Set a file that contains personal wordlist
pspell_config_repl -- Set a file that contains replacement pairs
pspell_config_runtogether -- Consider run-together words as valid compounds
pspell_config_save_repl -- Determine whether to save a replacement pairs list along with the wordlist
pspell_new_config -- Load a new dictionary with settings based on a given config
pspell_new_personal -- Load a new dictionary with personal wordlist
pspell_new -- Load a new dictionary
pspell_save_wordlist -- Save the personal wordlist to a file
pspell_store_replacement -- Store a replacement pair for a word
pspell_suggest -- Suggest spellings of a word

Anterior | Inicio | Siguiente
ps_translate | Subir | pspell_add_to_personal


pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_personal -- Agrega la palabra a la lista personal de palabras

Descripción

int pspell_add_to_personal ( int dictionary_link, cadena palabra )

pspell_add_to_personal() agrega una palabra a la lista personal de palabras. Si usas pspell_new_config() con pspell_config_personal() para abrir el diccionario, puedes salvar la lista de palabras luego, con pspell_save_wordlist(). Nota: Esta función no funcionará hasta que tengas pspell .11.2 y aspell .32.5 o superior.

Ejemplo 1. pspell_add_to_personal()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config ($pspell_config);

pspell_add_to_personal ($pspell_link, "Vlad");
pspell_save_wordlist ($pspell_link);

Anterior | Inicio | Siguiente
Pspell Functions | Subir | pspell_add_to_session


pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_session -- Agrega la palabra a la lista de palabras en la sesión actual

Descripción

int pspell_add_to_session ( int dictionary_link, cadena palabra )

pspell_add_to_session() agrega la palabra a la lista de palabras asociada con la sesión actual. Esto es muy similar a pspell_add_to_personal()

Anterior | Inicio | Siguiente
pspell_add_to_personal | Subir | pspell_check


pspell_check

(PHP 4 >= 4.0.2, PHP 5)

pspell_check -- Check a word

Description

bool pspell_check ( int dictionary_link, string word )

pspell_check() checks the spelling of a word and returns TRUE if the spelling is correct, FALSE if not.

Ejemplo 1. pspell_check()

<?php
$pspell_link = pspell_new("en");

if (pspell_check($pspell_link, "testt")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}
?>

Anterior | Inicio | Siguiente
pspell_add_to_session | Subir | pspell_clear_session


pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_clear_session -- Limpia la sesión actual

Descripción

int pspell_clear_session ( int dictionary_link )

pspell_clear_session() limpia la sesión actual. La lista de palabras actual queda vacía, y, por ejemplo, si intentas salvarla con pspell_save_wordlist(), nada ocurre.

Ejemplo 1. pspell_add_to_personal()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config ($pspell_config);

pspell_add_to_personal ($pspell_link, "Vlad");
pspell_clear_session ($pspell_link);
pspell_save_wordlist ($pspell_link);    //"Vlad" will not be saved

Anterior | Inicio | Siguiente
pspell_check | Subir | pspell_config_create


pspell_config_create

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_create -- Create a config used to open a dictionary

Description

int pspell_config_create ( string language [, string spelling [, string jargon [, string encoding]]] )

pspell_config_create() has a very similar syntax to pspell_new(). In fact, using pspell_config_create() immediately followed by pspell_new_config() will produce the exact same result. However, after creating a new config, you can also use pspell_config_*() functions before calling pspell_new_config() to take advantage of some advanced functionality.

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)

  • PSPELL_NORMAL - Normal mode (more suggestions)

  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

For more information and examples, check out inline manual pspell website:http://aspell.net/.

Ejemplo 1. pspell_config_create()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal($pspell_config, "en");
?>

Anterior | Inicio | Siguiente
pspell_clear_session | Subir | pspell_config_data_dir


pspell_config_data_dir

(PHP 5)

pspell_config_data_dir -- location of language data files

Description

bool pspell_config_data_dir ( int conf, string directory )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
pspell_config_create | Subir | pspell_config_dict_dir


pspell_config_dict_dir

(PHP 5)

pspell_config_dict_dir -- Location of the main word list

Description

bool pspell_config_dict_dir ( int conf, string directory )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
pspell_config_data_dir | Subir | pspell_config_ignore


pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_ignore -- Ignore words less than N characters long

Description

bool pspell_config_ignore ( int dictionary_link, int n )

pspell_config_ignore() should be used on a config before calling pspell_new_config(). This function allows short words to be skipped by the spell checker. Words less than n characters will be skipped.

Ejemplo 1. pspell_config_ignore()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");    //will not result in an error
?>

Anterior | Inicio | Siguiente
pspell_config_dict_dir | Subir | pspell_config_mode


pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_mode -- Change the mode number of suggestions returned

Description

bool pspell_config_mode ( int dictionary_link, int mode )

pspell_config_mode() should be used on a config before calling pspell_new_config(). This function determines how many suggestions will be returned by pspell_suggest().

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)

  • PSPELL_NORMAL - Normal mode (more suggestions)

  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

Ejemplo 1. pspell_config_mode()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Anterior | Inicio | Siguiente
pspell_config_ignore | Subir | pspell_config_personal


pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_personal -- Set a file that contains personal wordlist

Description

bool pspell_config_personal ( int dictionary_link, string file )

pspell_config_personal() should be used on a config before calling pspell_new_config(). The personal wordlist will be loaded and used in addition to the standard one after you call pspell_new_config(). If the file does not exist, it will be created. The file is also the file where pspell_save_wordlist() will save personal wordlist to. The file should be writable by whoever PHP runs as (e.g. nobody). Please, note that this function will not work unless you have pspell .11.2 and aspell .32.5 or later.

Ejemplo 1. pspell_config_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Anterior | Inicio | Siguiente
pspell_config_mode | Subir | pspell_config_repl


pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_repl -- Set a file that contains replacement pairs

Description

bool pspell_config_repl ( int dictionary_link, string file )

pspell_config_repl() should be used on a config before calling pspell_new_config(). The replacement pairs improve the quality of the spellchecker. When a word is misspelled, and a proper suggestion was not found in the list, pspell_store_replacement() can be used to store a replacement pair and then pspell_save_wordlist() to save the wordlist along with the replacement pairs. The file should be writable by whoever PHP runs as (e.g. nobody). Please, note that this function will not work unless you have pspell .11.2 and aspell .32.5 or later.

Ejemplo 1. pspell_config_repl()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Anterior | Inicio | Siguiente
pspell_config_personal | Subir | pspell_config_runtogether


pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_runtogether -- Consider run-together words as valid compounds

Description

bool pspell_config_runtogether ( int dictionary_link, bool flag )

pspell_config_runtogether() should be used on a config before calling pspell_new_config(). This function determines whether run-together words will be treated as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.

Ejemplo 1. pspell_config_runtogether()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_runtogether($pspell_config, true);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Anterior | Inicio | Siguiente
pspell_config_repl | Subir | pspell_config_save_repl


pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_save_repl -- Determine whether to save a replacement pairs list along with the wordlist

Description

bool pspell_config_save_repl ( int dictionary_link, bool flag )

pspell_config_save_repl() should be used on a config before calling pspell_new_config(). It determines whether pspell_save_wordlist() will save the replacement pairs along with the wordlist. Usually there is no need to use this function because if pspell_config_repl() is used, the replacement pairs will be saved by pspell_save_wordlist() anyway, and if it is not, the replacement pairs will not be saved. Please, note that this function will not work unless you have pspell .11.2 and aspell .32.5 or later.

Anterior | Inicio | Siguiente
pspell_config_runtogether | Subir | pspell_new_config


pspell_new_config

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_config -- Load a new dictionary with settings based on a given config

Description

int pspell_new_config ( int config )

pspell_new_config() opens up a new dictionary with settings specified in a config, created with pspell_config_create() and modified with pspell_config_*() functions. This method provides you with the most flexibility and has all the functionality provided by pspell_new() and pspell_new_personal().

The config parameter is the one returned by pspell_config_create() when the config was created.

Ejemplo 1. pspell_new_config()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
?>

Anterior | Inicio | Siguiente
pspell_config_save_repl | Subir | pspell_new_personal


pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_personal -- Load a new dictionary with personal wordlist

Description

int pspell_new_personal ( string personal, string language [, string spelling [, string jargon [, string encoding [, int mode]]]] )

pspell_new_personal() opens up a new dictionary with a personal wordlist and returns the dictionary link identifier for use in other pspell functions. The wordlist can be modified and saved with pspell_save_wordlist(), if desired. However, the replacement pairs are not saved. In order to save replacement pairs, you should create a config using pspell_config_create(), set the personal wordlist file with pspell_config_personal(), set the file for replacement pairs with pspell_config_repl(), and open a new dictionary with pspell_new_config().

The personal parameter specifies the file where words added to the personal list will be stored. It should be an absolute filename beginning with '/' because otherwise it will be relative to $HOME, which is "/root" for most systems, and is probably not what you want.

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)

  • PSPELL_NORMAL - Normal mode (more suggestions)

  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.

Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

For more information and examples, check out inline manual pspell website:http://aspell.net/.

Ejemplo 1. pspell_new_personal()

<?php
$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>

Anterior | Inicio | Siguiente
pspell_new_config | Subir | pspell_new


pspell_new

(PHP 4 >= 4.0.2, PHP 5)

pspell_new -- Load a new dictionary

Description

int pspell_new ( string language [, string spelling [, string jargon [, string encoding [, int mode]]]] )

pspell_new() opens up a new dictionary and returns the dictionary link identifier for use in other pspell functions.

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)

  • PSPELL_NORMAL - Normal mode (more suggestions)

  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.

Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

For more information and examples, check out inline manual pspell website:http://aspell.net/.

Ejemplo 1. pspell_new()

<?php
$pspell_link = pspell_new("en", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

Anterior | Inicio | Siguiente
pspell_new_personal | Subir | pspell_save_wordlist


pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5)

pspell_save_wordlist -- Save the personal wordlist to a file

Description

bool pspell_save_wordlist ( int dictionary_link )

pspell_save_wordlist() saves the personal wordlist from the current session. The dictionary has to be open with pspell_new_personal(), and the location of files to be saved specified with pspell_config_personal() and (optionally) pspell_config_repl(). Please, note that this function will not work unless you have pspell .11.2 and aspell .32.5 or later.

Ejemplo 1. pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Anterior | Inicio | Siguiente
pspell_new | Subir | pspell_store_replacement


pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5)

pspell_store_replacement -- Store a replacement pair for a word

Description

bool pspell_store_replacement ( int dictionary_link, string misspelled, string correct )

pspell_store_replacement() stores a replacement pair for a word, so that replacement can be returned by pspell_suggest() later. In order to be able to take advantage of this function, you have to use pspell_new_personal() to open the dictionary. In order to permanently save the replacement pair, you have to use pspell_config_personal() and pspell_config_repl() to set the path where to save your custom wordlists, and then use pspell_save_wordlist() for the changes to be written to disk. Please, note that this function will not work unless you have pspell .11.2 and aspell .32.5 or later.

Ejemplo 1. pspell_store_replacement()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);

pspell_store_replacement($pspell_link, $misspelled, $correct);
pspell_save_wordlist($pspell_link);
?>

Anterior | Inicio | Siguiente
pspell_save_wordlist | Subir | pspell_suggest


pspell_suggest

(PHP 4 >= 4.0.2, PHP 5)

pspell_suggest -- Suggest spellings of a word

Description

array pspell_suggest ( int dictionary_link, string word )

pspell_suggest() returns an array of possible spellings for the given word.

Ejemplo 1. pspell_suggest() example

<?php
$pspell_link = pspell_new("en");

if (!pspell_check($pspell_link, "testt")) {
    $suggestions = pspell_suggest($pspell_link, "testt");

    foreach ($suggestions as $suggestion) {
        echo "Possible spelling: $suggestion<br />";
    }
}
?>

Anterior | Inicio | Siguiente
pspell_store_replacement | Subir | qtdom Functions


GNU Readline

Manual de PHP
Anterior Siguiente

CXXXIV. GNU Readline

Introducción

Las funciones readline() implementan una interfaz con la biblioteca GNU Readline. Estas son funciones que ofrecen líneas de comando editables. Un ejemplo de la manera en que trabajan podría ser la forma en que Bash le permite usar las teclas de flechas para insertar caracteres o desplazarse a través del historial de comandos. Debido a la naturaleza interactiva de esta biblioteca, tendrá un uso muy reducido en la escritura de aplicaciones Web, aunque puede ser útil cuando se escriben scripts usados desde una línea de comandos.

Nota: Esta extensión no está disponible en plataformas Windows

Requisitos

Para usar las funciones readline, necesita instalar libreadline. Puede encontrar libreadlinea en la página web del proyecto GNU Readline, en http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. Este proyecto es administrado por Chet Ramey, quien es también el autor de Bash.

También puede usar estas funciones con la biblioteca libedit, un reemplazo no-GPL de la biblioteca readline. La biblioteca libedit es distribuida bajo una licencia BSD y está disponible para su descarga en http://www.thrysoee.dk/editline/.

Instalación

Para usar estas funciones, debe compilar la versión CGI o CLI de PHP con soporte para readline. Necesita configurar PHP con la opción --with-readline[=DIR]. Si desea usar el reemplazo de readline, libedit, configure PHP con la opción --with-libedit[=DIR].

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
readline_add_history -- Añade una línea al historial
readline_callback_handler_install -- Initializes the readline callback interface and terminal, prints the prompt and returns immediately
readline_callback_handler_remove -- Removes a previously installed callback handler and restores terminal settings
readline_callback_read_char -- Reads a character and informs the readline callback interface when a line is received
readline_clear_history -- Borra el historial
readline_completion_function -- Registra una función de completitud
readline_info -- Establece/Obtiene diversas variables internas de readline
readline_list_history -- Lista el historial
readline_on_new_line -- Inform readline that the cursor has moved to a new line
readline_read_history -- Lee el historial
readline_redisplay -- Redraws the display
readline_write_history -- Escribe el historial
readline -- Lee una línea

Anterior | Inicio | Siguiente
rar_open | Subir | readline_add_history


readline_add_history

(PHP 4, PHP 5)

readline_add_history -- Añade una línea al historial

Descripción

void readline_add_history ( string line )

Esta función añade una línea al historial de líneas de comandos.

Anterior | Inicio | Siguiente
GNU Readline | Subir | readline_callback_handler_install


readline_callback_handler_install

(PHP 5 >= 5.1.0RC1)

readline_callback_handler_install -- Initializes the readline callback interface and terminal, prints the prompt and returns immediately

Descripción

bool readline_callback_handler_install ( string prompt, callback callback )

Sets up a readline callback interface then prints prompt and immediately returns. Calling this function twice without removing the previous callback interface will automatically and conveniently overwrite the old interface.

The callback feature is useful when combined with stream_select() as it allows interleaving of IO and user input, unlike readline().

Lista de parámetros

prompt

The prompt message.

callback

The callback function takes one parameter; the user input returned.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Readline Callback Interface Example

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "You entered: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // read a character, will call the callback when a newline is entered
        readline_callback_read_char();
    }
}

echo "Prompting disabled. All done.\n";
?>

Ver también

readline_callback_handler_remove()
readline_callback_read_char()
stream_select()

Anterior | Inicio | Siguiente
readline_add_history | Subir | readline_callback_handler_remove


readline_callback_handler_remove

(PHP 5 >= 5.1.0RC1)

readline_callback_handler_remove -- Removes a previously installed callback handler and restores terminal settings

Descripción

bool readline_callback_handler_remove ( void )

Removes a previously installed callback handler and restores terminal settings.

Valores retornados

Returns TRUE if a previously installed callback handler was removed, or FALSE if one could not be found.

Ejemplos

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Ver también

readline_callback_handler_install()
readline_callback_read_char()

Anterior | Inicio | Siguiente
readline_callback_handler_install | Subir | readline_callback_read_char


readline_callback_read_char

(PHP 5 >= 5.1.0RC1)

readline_callback_read_char -- Reads a character and informs the readline callback interface when a line is received

Descripción

void readline_callback_read_char ( void )

Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.

Valores retornados

No value is returned.

Ejemplos

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Ver también

readline_callback_handler_install()
readline_callback_handler_remove()

Anterior | Inicio | Siguiente
readline_callback_handler_remove | Subir | readline_clear_history


readline_clear_history

(PHP 4, PHP 5)

readline_clear_history -- Borra el historial

Descripción

boolean readline_clear_history ( void )

Esta función borra por completo el historial de la línea de comandos.

Anterior | Inicio | Siguiente
readline_callback_read_char | Subir | readline_completion_function


readline_completion_function

(PHP 4, PHP 5)

readline_completion_function -- Registra una función de completitud

Descripción

boolean readline_completion_function ( string line )

Esta función registra una función de completitud. Debe proporcionar el nombre de una función existente que acepte una línea de comandos parcial y devuelva una array con posibles coincidencias. Es el mismo tipo de funcionalidad que se obtiene al pulsar la tecla de tabulación cuando se está usando el Bash.

Anterior | Inicio | Siguiente
readline_clear_history | Subir | readline_info


readline_info

(PHP 4, PHP 5)

readline_info -- Establece/Obtiene diversas variables internas de readline

Descripción

mixed readline_info ( [string varname [, string newvalue]] )

Si es llamada sin parámetros, esta función devuelve un array con los valores de todas las opciones que readline usa. Los elementos vendrán indexados por los siguientes valores: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, y terminal_name.

Si es llamada con un parámetros, devuelve el valor de esa opción. Si es llamada con dos parámetros, el valor de la opción será cambiado al parámetro dado.

Anterior | Inicio | Siguiente
readline_completion_function | Subir | readline_list_history


readline_list_history

(PHP 4, PHP 5)

readline_list_history -- Lista el historial

Descripción

array readline_list_history ( void )

Esta función devuelve un array con el historial de líneas de comandos completo. Los elementos están indexados por enteros comenzando por el cero.

Anterior | Inicio | Siguiente
readline_info | Subir | readline_on_new_line


readline_on_new_line

(PHP 5 >= 5.1.0RC1)

readline_on_new_line -- Inform readline that the cursor has moved to a new line

Descripción

void readline_on_new_line ( void )

Tells readline that the cursor has moved to a new line.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
readline_list_history | Subir | readline_read_history


readline_read_history

(PHP 4, PHP 5)

readline_read_history -- Lee el historial

Descripción

bool readline_read_history ( [string nombre_archivo] )

Esta función lee un historial de comandos desde un archivo.

Anterior | Inicio | Siguiente
readline_on_new_line | Subir | readline_redisplay


readline_redisplay

(PHP 5 >= 5.1.0RC1)

readline_redisplay -- Redraws the display

Descripción

void readline_redisplay ( void )

Redraws readline to redraw the display.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
readline_read_history | Subir | readline_write_history


readline_write_history

(PHP 4, PHP 5)

readline_write_history -- Escribe el historial

Descripción

boolean readline_write_history ( string filename )

Esta función escribe el historial de comandos en un archivo.

Anterior | Inicio | Siguiente
readline_redisplay | Subir | readline


readline

(PHP 4, PHP 5)

readline -- Lee una línea

Descripción

string readline ( [string prompt] )

Esta función devuelve una única cadena del usuario. Puede especificar una cadena que se mostrará al usuario. La línea devuelta tiene el indicador final de nueva línea eliminado. Necesita añadir esta línea al historial usando la función readline_add_history().

Ejemplo 1. readline()

<?php
//obtiene 3 comandos del usuario
for ($i=0; $i < 3; $i++) {
        $line = readline ("Comando: ");
        readline_add_history ($line);
}

//Vuelca el historial
print_r (readline_list_history());

//Vuelca las variables
print_r (readline_info());
?>

Anterior | Inicio | Siguiente
readline_write_history | Subir | Funciones GNU Recode


Funciones GNU Recode

Manual de PHP
Anterior Siguiente

CXXXV. Funciones GNU Recode

Introducción

Este módulo contiene una interfaz con la biblioteca GNU Recode. La biblioteca GNU Recode convierte archivos entre varios juegos de caracteres codificados y codificaciones de superficie. Cuando esto no puede conseguirse con exactitud, puede que se deshaga de los caracteres problemáticos o recurra a aproximaciones. La biblioteca reconoce o produce cerca de 150 juegos de caracteres diferentes y es capaz de convertir archivos entre casi cualquier par de ellos. La mayoría de juegos de caracteres del documento RFC 1345 se encuentran soportados.

Nota: Esta extensión no está disponible en plataformas Windows

Requisitos

Usted debe tener instalado GNU Recode 3.5 o superior en su sistema. Puede descargar el paquete desde http://directory.fsf.org/All_GNU_Packages/recode.html.

Aviso

La versión 3.6 de la biblioteca Recode agrega caracteres extraños detrás de cadenas convertidas bajo ciertas circunstancias. Por lo tanto es más seguro usar Recode v3.5 o alguna de las alternativas disponibles, como las extensiones iconv o mbstring.

Instalación

To be able to use the functions defined in this module you must compile your PHP interpreter using the --with-recode[=DIR] option.

Aviso

Crashes and startup problems of PHP may be encountered when loading the recode as extension after loading any extension of mysql or imap. Loading the recode before those extension has proved to fix the problem. This is due a technical problem that both the c-client library used by imap and recode have their own hash_lookup() function and both mysql and recode have their own hash_insert function.

Aviso

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ ó Cyrus. Esto es debido a que las dos utilizan el mismo símbolo interno

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
recode_file -- Recodificar de un archivo a otro de acuerdo a la petición de recodificación
recode_string -- Recodifica una cadena literal segun una peticion de recodificacion.
recode -- Alias of recode_string()

Anterior | Inicio | Siguiente
readline | Subir | recode_file


recode_file

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

recode_file -- Recodificar de un archivo a otro de acuerdo a la petición de recodificación

Descripción

bool recode_file ( string peticion, resource entrada, resource salida )

Recodificar el archivo referenciado por el gestor de archivo entrada en el archivo referenciado por el gestor de archivo salida de acuerdo a la peticion de recodificación. Devuelve FALSE si no es posible cumplir la petición, o TRUE de lo contrario.

En la actualidad, esta función no procesa gestores de archivo que hagan referencia a archivos remotos (URLs). Ambos gestores de archivo deben hacer referencia a archivos locales.

Ejemplo 1. Ejemplo básico de recode_file()

<?php
$entrada = fopen('entrada.txt', 'r');
$salida = fopen('salida.txt', 'w');
recode_file("us..flat", $entrada, $salida);
?>

Anterior | Inicio | Siguiente
Funciones GNU Recode | Subir | recode_string


recode_string

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

recode_string -- Recodifica una cadena literal segun una peticion de recodificacion.

Description

string recode_string ( string request, string string )

Recodifica la cadena string segun una peticion de recodificacion request. Devuelve FALSE si no puede realizar la recodificacion, TRUE si todo va bien.

Una simple peticion "recode" podria ser "lat1..iso646-de". Ver tambien la documentacion de GNU Recode de tu instalacion para obtener instrucciones detalladas sobre peticiones de recodificacion.

Anterior | Inicio | Siguiente
recode_file | Subir | recode


recode

(PHP 4, PHP 5)

recode -- Alias of recode_string()

Descripción

This function is an alias of: recode_string().

Anterior | Inicio | Siguiente
recode_string | Subir | RPM Header Reading Functions


Funciones de Expresiones Regulares (Compatibles con Perl)

Manual de PHP
Anterior Siguiente

CXVIII. Funciones de Expresiones Regulares (Compatibles con Perl)

Introducción

La sintaxis para los patrones usados en estas funciones se asemeja considerablemente con la sintaxis de Perl. La expresión debe estar rodeada por delimitadores, una barra acostada (/), por ejemplo. Cualquier caracter puede ser usado como delimitador siempre y cuando no sea alfanumérico ni la barra invertida (\). Si el caracter delimitador tiene que ser usado en la expresión misma, necesita ser escapado por la barra invertida. A partir de PHP 4.0.4, puede usar también los delimitadores de coincidencia tipo Perl (), {}, [], y <>. Vea Sintaxis de los Patrones para una explicación detallada.

El delimitador de cierre puede estar seguido de varios modificadores que afectan las coincidencias. Vea Modificadores de Patrón.

PHP soporta también expresiones regulares usando una sintaxis POSIX-extendida, por medio de las funciones regex POSIX-extendidas.

Nota: Esta extensión mantiene un caché global por-hilo de expresiones regulares compiladas (hasta un máximo de 4096).

Aviso

Es importante que conozca sobre las limitaciones de PCRE. Lea http://www.pcre.org/pcre.txt para más información.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

A partir de PHP 4.2.0, estas funciones están habilitadas por defecto. Puede deshabilitar las funciones pcre con --without-pcre-regex. Use --with-pcre-regex=DIR para especificar la ubicación de los archivos de inclusión y bibliotecas de PCRE, si no desea usar la biblioteca incluida. En versiones más antiguas, usted tendrá que configurar y compilar PHP con --with-pcre-regex[=DIR] para poder hacer uso de estas funciones.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. PCRE Configuration Options

Name | Default | Changeable | Changelog
pcre.backtrack_limit | 100000 | PHP_INI_ALL | Available since PHP 5.2.0.
pcre.recursion_limit | 100000 | PHP_INI_ALL | Available since PHP 5.2.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

pcre.backtrack_limit integer

PCRE's backtracking limit.

pcre.recursion_limit integer

PCRE's recursion limit. Please note that if you set this value to a high number you may consume all the available process stack and eventually crash PHP (due to reaching the stack size limit imposed by the Operating System).

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 2. constantes PREG

constante | descripción
PREG_PATTERN_ORDER | Ordena los resultados de modo que $coincidencias[0] sea una matriz de coincidencias del patrón completo, $coincidencias[1] sea una matriz de cadenas que coincidieron con el primer subpatrón entre paréntesis, y así sucesivamente. Esta bandera sólo es usada con preg_match_all().
PREG_SET_ORDER | Ordena los resultados de modo que $coincidencias[0] resulte ser una matriz del primer conjunto de coincidencias, $matches[1] sea una matriz del segundo conjunto de coincidencias, y así sucesivamente. Esta bandera únicamente es usada con preg_match_all().
PREG_OFFSET_CAPTURE | Consulte la descripción de PREG_SPLIT_OFFSET_CAPTURE. Esta bandera está disponible desde PHP 4.3.0.
PREG_SPLIT_NO_EMPTY | Esta bandera le dice a preg_split() que devuelva únicamente resultados que no sean vacíos.
PREG_SPLIT_DELIM_CAPTURE | Esta bandera le indica a preg_split() que capture las expresiones entre paréntesis dentro del patrón de delimitación también. Esta bandera está disponible desde PHP 4.0.5.
PREG_SPLIT_OFFSET_CAPTURE | Si esta bandera está activa, la posición de desplazamiento correspondiente a cada coincidencia será devuelta también. Note que esto modifica el valor devuelto a una matriz en la que cada elemento es también una matriz que consiste de la cadena coincidente en el subíndice 0 y su posición de desplazamiento al interior de la cadena de asunto en el subíndice 1. Esta bandera está disponible a partir de PHP 4.3.0 y sólo es usada por preg_split().
PREG_NO_ERROR | Devuelta por preg_last_error() si no ocurrieron errores. Disponible desde PHP 5.2.0.
PREG_INTERNAL_ERROR | Devuelta por preg_last_error() si hubo un error interno de PCRE. Disponible desde PHP 5.2.0.
PREG_BACKTRACK_LIMIT_ERROR | Devuelta por preg_last_error() si el límite de referencias hacia atrás fue consumido. Disponible desde PHP 5.2.0.
PREG_RECURSION_LIMIT_ERROR | Devuelta por preg_last_error() si el límite de recursión fue consumido. Disponible desde PHP 5.2.0.
PREG_BAD_UTF8_ERROR | Devuelta por preg_last_error() si el último error fue causado por datos UTF-8 inválidos (solo cuando se ejecuta una expresión regular en modo UTF-8). Disponible desde PHP 5.2.0.

Ejemplos

Ejemplo 1. Ejemplos de patrones válidos

  • /<\/\w+>/

  • |(\d{3})-\d+|Sm

  • /^(?i)php[34]/

  • {^\s+(\s+)?$}

Ejemplo 2. Ejemplos de patrones inválidos

  • /href='(.*)' - carece de delimitador de cierre

  • /\w+\s*\w+/J - modificador 'J' desconocido

  • 1-\d3-\d3-\d4| - carece del delimitador de apertura

Tabla de contenidos
Modificadores de Patrón -- Describe los posibles modificadores en patrones de expresiones regulares
Sintaxis de los Patrones -- Describe la sintaxis de expresiones regulares PCRE
preg_grep -- Devuelve una matriz con las entradas que coinciden con el patrón
preg_last_error -- Returns the error code of the last PCRE regex execution
preg_match_all -- Realizar una comparación global con una expresión regular
preg_match -- Realizar una comparación de expresión regular
preg_quote -- Escapar caracteres de expresiones regulares
preg_replace_callback -- Realizar una búsqueda con expresiones regulares y generar reemplazos usando una llamada de retorno
preg_replace -- Realizar una operación de búsqueda y reemplazo con expresiones regulares
preg_split -- Separar una cadena por una expresión regular

Anterior | Inicio | Siguiente
pcntl_wtermsig | Subir | Modificadores de Patrón


Modificadores de Patrón

Modificadores de Patrón -- Describe los posibles modificadores en patrones de expresiones regulares

Descripción

Los modificadores PCRE disponibles en la actualidad son listados a continuación. Los nombres entre paréntesis se refieren a nombres internos de PCRE para dichos modificadores. Los espacios y saltos de línea son ignorados en los modificadores, otros caracteres generan error.

i (PCRE_CASELESS)

Si este modificador es definido, las letras en el patrón coincidirán tanto con letras mayúsculas como minúsculas.

m (PCRE_MULTILINE)

Por omisión, PCRE trata la cadena de asunto como si consistiera de una "única" línea de caracteres (aun si en realidad contiene varias). El meta-caracter de "inicio de línea" (^) coincide sólo al principio de la cadena, mientras que el meta-caracter de "fin de línea" ($) coincide sólo el final de la cadena, o antes un caracter de nueva línea final (a menos que el modificador D sea definido). Esto es igual que en Perl.

Cuando este modificador es definido, los constructores de "inicio de línea" y "fin de línea" coinciden inmediatamente después o inmediatamente antes de cualquier caracter de nueva línea, respectivamente, al igual que al comienzo o final absoluto de la cadena. Este comportamiento es equivalente al modificador /m del Perl. Si no hay caracteres "\n" en la cadena de asunto, o no hay ocurrencias de ^ o $ en un patrón, este modificador no tiene efecto alguno.

s (PCRE_DOTALL)

Si se define este modificador, un meta-caracter de punto en el patrón coincidirá con todos los caracteres, incluyendo el de nueva línea. Sin él, los saltos de línea son excluídos. Este modificador es equivalente a /s en Perl. Una clase negativa como [^a] siempre coincide con un caracter de nueva línea, independientemente del uso de este modificador.

x (PCRE_EXTENDED)

Si este modificador es definido, los caracteres de datos que representan espacios en blanco en el patrón son completamente ignorados, excepto cuando son escapados o cuando se encuentran al interior de una clase caracter, y los caracteres entre un # sin escapar fuera de una clase de caracter y el siguiente caracter de nueva línea, inclusive, son ignorados también. Esto es equivalente al modificador /x de Perl y hace posible incluir comentarios al interior de patrones complicados. Note, sin embargo, que esto es sólo aplicable a caracteres de datos. Los caracteres de espacio en blanco nunca pueden aparecer en secuencias de caracteres especiales en un patrón, por ejemplo al interior de la secuencia (?(, la cual inicia un sub-patrón condicional.

e

Si este modificador es usado, preg_replace() realiza las sustituciones normales de referencias hacia atrás en la cadena de reemplazo, evalúa ésta como código PHP y usa el resultado para reemplazar la cadena de búsqueda. Las comillas sencillas, comillas dobles, barras invertidas y caracteres NULL serán escapados con barras invertidas en las referencias hacia atrás sustituidas.

Sólo preg_replace() usa este modificador; es ignorado por otras funciones de PCRE.

Nota: Este modificador no se encontraba disponible en PHP 3.

A (PCRE_ANCHORED)

Si este modificador es definido, el patrón es obligado a ser "anclado", es decir, es limitado para que coincida sólo al inicio de la cadena que está siendo analizada (la "cadena de asunto"). Este efecto puede alcanzarse también mediante las construcciones apropiadas en el patrón mismo, la cual es la única manera de hacerlo en Perl.

D (PCRE_DOLLAR_ENDONLY)

Si este modificador es definido, un meta-caracter de signo dólar en el patrón coincide únicamente al final de la cadena de asunto. Sin este modificador, un dólar coincide también inmediatamente antes del caracter final si éste es un salto de línea (pero no antes de cualquier otra nueva línea). Este modificador es ignorado si m es definido. No hay equivalente en Perl para este modificador.

S

Cuando un patrón va a ser usado varias veces, vale la pena dedicar más tiempo a analizarlo para acelerar el proceso de comparaciones. Si este modificador es definido, entonces se realizará este análisis adicional. Por el momento, el estudio de un patrón es útil sólo para patrones no-anclados que no tienen un carácter de inicio único arreglado.

U (PCRE_UNGREEDY)

Este modificador invierte la "ambición" de los cuantificadores, de modo que no sean codiciosos por defecto, en su lugar se vuelven codiciosos si son seguidos por un "?". No es compatible con Perl. También puede definirse con un modificador (?U) al interior del patrón o con un signo de interrogación antes del cuantificador (p.ej. .*?).

X (PCRE_EXTRA)

Este modificador activa funcionalidad adicional de PCRE que no es compatible con Perl. Cualquier barra invertida en un patrón que sea seguida por una letra que no tenga un significado especial provocará un error, logrando en efecto reservar estas combinaciones para futuras ampliaciones. Por defecto, como en Perl, una barra invertida seguida por una letra sin un significado especial es tratada como un literal. No hay otras características controladas por este modificador a la fecha de hoy.

u (PCRE_UTF8)

Este modificador activa funcionalidad adicional de PCRE que no es compatible con Perl. Las cadenas de patrones son tratadas como UTF-8. Este modificador se encuentra disponible a partir de PHP 4.1.0 o versiones posteriores en Unix, y desde PHP 4.2.3 en win32. La validez UTF-8 del patrón es verificada desde PHP 4.3.5.

Anterior | Inicio | Siguiente
Funciones de Expresiones Regulares (Compatibles con Perl) | Subir | Sintaxis de los Patrones


Sintaxis de los Patrones

Sintaxis de los Patrones -- Describe la sintaxis de expresiones regulares PCRE

Descripción

La biblioteca PCRE es un conjunto de funciones que implementa comparaciones con patrones de expresiones regulares usando usando la misma sintaxis y semántica de Perl 5, con tan solo unas pocas diferencias (ver más adelante). La implementación actual corresponde a Perl 5.005.

Diferencias con Perl

Las diferencias descritas aquí existen con respecto a Perl 5.005.

  1. Por defecto, un caracter de espacio en blanco es cualquier caracter que reconozca la función isspace() de la biblioteca C, aunque es posible compilar PCRE con tablas alternativas de tipos de caracteres. Normalmente, isspace() coincide con el espacio, la alimentación de página, la nueva línea, el retorno de carro, el tabulador horizontal y el tabulador vertical. Perl 5 ya no incluye el tabulador vertical en su conjunto de caracteres de espacio en blanco. La secuencia de escape \v que permaneció durante mucho tiempo en la documentación de Perl nunca fue reconocida en realidad. Sin embargo, el caracter mismo era tratado como espacio en blanco por lo menos hasta 5.002. En 5.004 y 5.005 no coincide con \s.

  2. PCRE no permite cuantificadores de repetición en aserciones hacia adelante. Perl las permite, pero no quieren decir lo que probablemente piense. Por ejemplo, (?!a){3} no quiere decir que los siguientes tres caracteres no sean "a". Simplemente indica que el siguiente caracter no sea "a" tres veces.

  3. Los sub-patrones de captura que aparecen al interior de aserciones negativas hacia adelante son contados, pero sus entradas en el vector de desplazamientos no son definidas. Perl define sus variables numéricas a partir de cualquiera de tales patrones que coinciden antes que la aserción falle en coincidir algo (y por lo tanto tiene éxito), pero solo si la aserción negativa hacia adelante contiene una sola rama.

  4. Aunque los caracteres de cero binario son soportados en la cadena de asunto, no son permitidos en una cadena de patrón porque éstas son pasadas como un cadena normal de C, terminada en cero. La secuencia de escape "\x00" puede ser usada en el patrón para representar el cero binario.

  5. Las siguientes secuencias de escape de Perl no son soportadas: \l, \u, \L, \U. De hecho, estas son implementadas por el mecanismo de gestión general de cadenas de Perl y no son parte de su motor de comparación de patrones.

  6. La aserción \G de Perl no es soportada, ya que no es relevante para las coincidencias sencillas de patrones.

  7. Obviamente, PCRE no soporta la construcción (?{código}).

  8. En la actualidad hay algunas peculiaridades en Perl 5.005_02 con respecto a los grupos de cadenas capturadas cuando parte de un patrón se repite. Por ejemplo, al coincidir "aba" con el patrón /^(a(b)?)+$/ se define $2 como "b", pero al coincidir "aabbaa" con /^(aa(bb)?)+$/ deja $2 sin definir. Sin embargo, si el patrón se modifica a /^(aa(b(b))?)+$/ entonces $2 (y $3) se definen. En Perl 5.004 se define $2 en ambos casos, y también ocurre en PCRE. Si en el futuro Perl se adapta a un estilo consistente que sea diferente, PCRE puede cambiar para ajustarse.

  9. Otra discrepancia aún no resuelta consiste en que, en Perl 5.005_02, el patrón /^(a)?(?(1)a|b)+$/ coincide con la cadena "a", pero en PCRE no. Sin embargo, tanto en Perl como en PCRE /^(a)?a/ coincide con "a", dejando $1 sin definir.

  10. PCRE ofrece algunas extensiones a las capacidades de expresiones regulares de Perl:

    1. Aunque las aserciones hacia atrás deben coincidir con cadenas de longitud fija, cada rama alternativa de una aserción hacia atrás puede coincidir con una longitud diferente de cadena. Perl 5.005 requiere que todas ellas tengan la misma longitud.

    2. Si PCRE_DOLLAR_ENDONLY se define y PCRE_MULTILINE no, el meta-caracter $ sólo coincide al final absoluto de la cadena.

    3. Si se define PCRE_EXTRA, una barra invertida seguida de una letra sin significado especial provoca un error.

    4. Si se define PCRE_UNGREEDY, la ambición de los cuantificadores de repetición es invertida, es decir, no son ambiciosos por defecto, pero si son seguidos de un signo de interrogación, sí lo serán.

Detalles de las Expresiones Regulares

Introducción

La sintaxis y semántica de las expresiones regulares soportadas por PCRE se describe a continuación. Las expresiones reglurares son descritas en la documentación de Perl y en varios libros más, algunos de los cuales contienen numerosos ejemplos. El libro "Mastering Regular Expressions" de Jeffrey Friedl, publicado por O'Reilly (ISBN 1-56592-257-3), las cubre con gran detalle. El propósito de la presente descripción es el de servir como documentación de referencia.

Una expresión regular es un patrón que es comparado contra una cadena de asunto, de izquierda a derecha. La mayoría de caracteres se representan a ellos mismos en un patrón, y coinciden con el caracter correspondiente en el asunto. Como ejemplo trivial, el patrón The quick brown fox coincide con una porción de la cadena de asunto que sea idéntica al patrón dado.

Meta-caracteres

El poder de las expresiones regulares proviene de la habilidad de incluir alternativas y repeticiones en el patrón. Éstos recursos son codificados en el patrón mediante el uso de meta-caracteres, los cuales no se representan a ellos mismos, en su lugar, son interpretados de una forma especial.

Hay dos conjuntos diferentes de meta-caracteres: aquellos que son reconocidos en cualquier parte dentro del patrón excepto entre corchetes cuadrados, y aquellos que son reconocidos entre corchetes cuadrados. Por fuera de tales corchetes, los meta-caracteres son los siguientes:

\

caracter de escape general con varios usos

^

aserción de inicio de la cadena de asunto (o línea, en modo multilínea)

$

aserción de fin de la cadena de asunto (o línea, en modo multilínea)

.

coincide con cualquier caracter excepto la nueva línea (por defecto)

[

inicia la definición de clases de caracteres

]

fin de la definición de clases de caracteres

|

inicio de rama alternativa

(

inicio de sub-patrón

)

fin de sub-patrón

?

extiende el significado de (, también es el cuantificador 0 ó 1 también es el cuantificador de mínimo

*

cuantificador cero o más

+

cuantificador uno o más

{

cuantificador de inicio de valores mínimo/máximo

}

cuantificador de final de valores mínimo/máximo

Un segmento de un patrón que se encuentre entre corchetes cuadrados es llamado una "clase de caracteres". En una clase de caracteres, los únicos meta-caracteres son:

\

caracter general de escape

^

niega la clase, pero sólo si se trata del primer caracter

-

indica un rango de caracteres

]

finaliza la clase de caracteres

Las secciones siguientes describen el uso de cada uno de los meta-caracteres.

Barra Invertida

El caracter de barra invertida tiene varios usos. Primero, si es seguido por un caracter no-alfanumérico, remueve cualquier significado que el caracter pueda tener. Este uso de la barra invertida como un caracter de escape se aplica tanto dentro como fuera de las clases de caracteres.

Por ejemplo, si desea crear una coincidencia con un caracter "*", debe escribir "\*" en el patrón. Esto es aplicable bien sea que el caracter siguiente hubiese sido interpretado como un meta-caracter o no, así que siempre es seguro preceder un caracter no-alfanumérico con "\" para indicar que se representa a él mismo. En particular, si desea crear una coincidencia con una barra invertida, escriba "\\".

Nota: Las cadenas de PHP entre comillas sencillas y dobles tienen un significado especial para la barra invertida. Por lo tanto si \ debe ser coincidente con una expresión regular \\, entonces debe usarse "\\\\" o '\\\\' en código PHP.

Si un patrón es compilado con la opción PCRE_EXTENDED, los espacios en blanco del patrón (fuera de una clase de caracteres) y los caracteres entre un "#", fuera de una clase de caracteres, y el siguiente salto de línea son ignorados. Una barra invertida de escape puede ser usada para incluir un espacio en blanco o un caracter "#" como parte del patrón.

Un segundo uso de la barra invertida ofrece una forma de codificar caracteres no-imprimibles en los patrones de una forma visible. No hay restricciones sobre la apariencia de los caracteres no-imprimibles, aparte del cero binario que finaliza un patrón, pero cuando un patrón está siendo preparado mediante la edición de texto, usualmente es más fácil usar una de las siguientes secuencias de escape en lugar de los caracteres binarios que representan:

\a

alarma, esto es, el caracter BEL (hexadecimal 07)

\cx

"control-x", en donde x es cualquier caracter

\e

escape (hexadecimal 1B)

\f

alimentación de página (hexadecimal 0C)

\n

nueva línea (hexadecimal 0A)

\r

retorno de carro (hexadecimal 0D)

\t

tabulador (hexadecimal 09)

\xhh

caracter con código hexadecimal hh

\ddd

caracter con código octal ddd, o referencia hacia atrás

El efecto preciso de "\cx" es como sigue: si "x" es una letra minúscula, ésta es convertida a mayúscula. Entonces el sexto bit del caracter (40 en hexadecimal) es invertido. Por lo tanto, "\cz" se convierte en 1A en hexadecimal, pero "\c{" se convierte en 3B en hexadecimal, mientras que "\c;" se convierte en 7B en hexadecimal.

Después de "\x", son leidos hasta dos dígitos hexadecimales (las letras pueden ser mayúsculas o minúsculas). En modo UTF-8, "\x{...}" es permitido, en donde el contenido entre corchetes es una cadena de dígitos hexadecimales. Es interpretado como un caracter UTF-8 cuyo número de código es el número hexadecimal dado. La secuencia de escape hexadecimal original, \xhh, coincide con un caracter UTF-8 de dos bytes si el valor es mayor que 127.

Después de "\0", son leídos hasta dos dígitos octales más. En ambos casos, si hay menos de dos dígitos, se usarán sólo los que estén presentes. Por lo tanto, la secuencia "\0\x\07" especifica dos ceros binarios seguidos de un caracter BEL. Asegúrese de indicar dos dígitos después del cero inicial si el caracter que sigue es en sí un dígito octal.

La gestión de una barra invertida seguida por un dígito diferente de cero es complicada. Por fuera de una clase de caracteres, PCRE lee el dígito y cualquier otro que le siga como un número decimal. Si el número es menor que diez, o si han habido al menos tantos paréntesis izquierdos de captura en la expresión, entonces la secuencia entera es tomada como una referencia hacia atrás. Una descripción de cómo trabaja esto es presentada más adelante, tras la discusión sobre sub-patrones con paréntesis.

Al interior de una clase de caracteres, o si el número decimal es mayor que 9 y no han habido tantos sub-patrones de captura, PCRE lee de nuevo hasta tres dígitos octales que sigan a la barra invertida, y genera un byte sencillo a partir de los ocho bits menos significativos del valor. Cualquier dígito subsiguiente se representa a él mismo. Por ejemplo:

\040

es otro modo de escribir un espacio

\40

es lo mismo, siempre que haya menos de cuarenta sub-patrones de captura previos

\7

siempre es una referencia hacia atrás

\11

puede ser una referencia hacia atrás, u otra forma de escribir un tabulador

\011

siempre es un tabulador

\0113

es un tabulador seguido del caracter "3"

\113

es el caracter con el código octal 113 (ya que no puede haber más de 99 referencias hacia atrás)

\377

es un byte que consiste completamente de bits 1

\81

puede ser una referencia hacia atrás, o un cero binario seguido por los caracteres "8" y "1"

Note que los valores octales del 100 o números más grandes no deben iniciar con un cero, ya que no se leen más de tres dígitos octales.

Todas las secuencias que definen el valor de un byte sencillo pueden ser usadas tanto dentro como fuera de las clases de caracteres. Adicionalmente, la secuencia "\b" es interpretada como el caracter backspace (hexadecimal 08) al interior de una clase de caracteres. Por fuera de una clase de caracteres tiene un significado diferente (ver más adelante).

El tercer uso de la barra invertida es para especificar tipos genéricos de caracteres:

\d

cualquier dígito decimal

\D

cualquier caracter que no sea un dígito decimal

\s

cualquier caracter de espacio en blanco

\S

cualquier caracter que no sea un espacio en blanco

\w

cualquier caracter de "palabra"

\W

cualquier caracter que no sea de "palabra"

Cada pareja de las secuencias de escape divide el conjunto global de caracteres en dos grupos separados. Cualquier caracter dado coincide con uno, y sólo uno, de cada pareja.

Un caracter de "palabra" es cualquier letra o dígito, o el caracter de subrayado, esto quiere decir, cualquier caracter que pueda ser parte de una "palabra" en Perl. La definición de letras y dígitos es controlada por las tablas de caracteres de PCRE, y puede variar si se están efectuando coincidencias específicas a localidades. Por ejemplo, en la localidad "fr" (Francia), algunos códigos de caracteres mayores a 128 son usados para letras con acentos, y éstas coinciden con \w.

Estas secuencias de tipos de caracter pueden aparecer tanto dentro como fuera de las clases de caracteres. Cada una coincide con un caracter del tipo apropiado. Si el punto de coincidencia actual es el final de la cadena de asunto, todas las secuencias fallan, ya que no hay caracteres a coincidir.

El cuarto uso de la barra invertida es para ciertas aserciones simples. Una aserción especifica una condición que tiene que cumplirse en un punto particular de una coincidencia, sin consumir caracter alguno de la cadena de asunto. El uso de sub-patrones para aserciones más complicadas se describe más adelante. Las aserciones de barra invertida son

\b

límite de palabra

\B

no-límite de palabra

\A

inicio de la cadena de asunto (independiente del modo multilínea)

\Z

fin de la cadena de asunto o una nueva línea al final (independiente del modo multilínea)

\z

fin de la cadena de asunto (independiente del modo multilínea)

\G

primera posición de coincidencia en el asunto

Estas aserciones no pueden aparecer dentro de clases de caracteres (pero note que "\b" tiene un significado diferente, el cual es el caracter backspace, dentro de una clase de caracteres).

Un límite de palabra es una posición en la cadena de asunto en donde el caracter actual y el anterior no coinciden ambos con \w o \W (es decir, uno coincide con \w y el otro coincide con \W), o se puede tratar del principio o el final de la cadena, si el primer o último caracter coincide con \w, respectivamente.

Las aserciones \A, \Z, y \z se diferencian de los caracteres tradicionales circunflejo y dólar (descritos más adelante) en que las primeras sólo coinciden al inicio y final absolutos de la cadena de asunto, independientemente de las opciones definidas. No son influenciadas por las opciones PCRE_MULTILINE o PCRE_DOLLAR_ENDONLY. La diferencia entre \Z y \z es que \Z coincide antes de una nueva línea que sea el último caracter de la cadena como también al final de la cadena, mientas que \z sólo coincide al final.

La aserción \G es cierta únicamente cuando la posición de coincidencia actual está en el punto de inicio de la coincidencia, como se especifica por el argumento desplazamiento de preg_match(). Difiere de \A cuando el valor de desplazamiento es diferente de cero. Se encuentra disponible desde PHP 4.3.3.

Es posible usar \Q y \E para ignorar meta-caracteres de expresiones regulares en el patrón desde PHP 4.3.3. Por ejemplo: \w+\Q.$.\E$ coincidirá con uno o más caracteres de palabra, seguido por los literales .$. y anclado al final de la cadena.

Propiedades de caracter Unicode

A partir de PHP 4.4.0 y 5.1.0 se encuentran disponibles tres secuencias de escape adicionales para comparar tipos de caracter genéricos cuando el modo UTF-8 es seleccionado. Éstos son:

\p{xx}

un caracter con la propiedad xx

\P{xx}

un caracter sin la propiedad xx

\X

una secuencia Unicode extendida

Los nombres de propiedad representados por xx en la lista anterior están limitados a las propiedades de categoría general Unicode. Cada caracter tiene exactamente una propiedad de aquéllas, especificada por una abreviación de dos letras. Para compatibilidad con Perl, es posible especificar la negación incluyendo un circunflejo entre el corchete de apertura y el nombre de propiedad. Por ejemplo, \p{^Lu} es lo mismo que \P{Lu}.

Si solo una letra es especificada con \p o \P, ella incluye todas las propiedades que comienzan con esa letra. En este caso, en la ausencia de la negación, los corchetes en la secuencia de escape son opcionales; los siguientes dos ejemplos tienen el mismo efecto:

\p{L}
\pL

Tabla 1. Códigos de propiedad soportados

C | Otro
Cc | Control
Cf | Formato
Cn | Sin asignar
Co | Uso privado
Cs | Sustituto
L | Letra
Ll | Letra minúscula
Lm | Letra modificadora
Lo | Otra letra
Lt | Letra de título
Lu | Letra mayúscula
M | Marca
Mc | Marca de espacio
Me | Marca de clausura
Mn | Marca diferente de espacio
N | Número
Nd | Número decimal
Nl | Número de letra
No | Otro número
P | Puntuación
Pc | Puntuación conector
Pd | Puntuación de raya
Pe | Putuación de cierre
Pf | Puntuación final
Pi | Puntuación inicial
Po | Otra puntuación
Ps | Puntuación de apertura
S | Símbolo
Sc | Símbolo de moneda
Sk | Símbolo modificador
Sm | Símbolo matemático
So | Otro símbolo
Z | Separador
Zl | Separador de línea
Zp | Separador de párrafo
Zs | Separador de espacio

Propiedades extendidas como "Greek" o "InMusicalSymbols" no son soportadas por PCRE.

Especificar coincidencias no sensibles a mayúsculas/minúsculas no afecta estas secuencias de escape. Por ejemplo, \p{Lu} siempre coincide únicamente con letras mayúsculas.

El escape \X coincide con cualquier número de caracteres Unicode que formen una secuencia Unicode extendida. \X es equivalente a (?>\PM\pM*).

Es decir, coincide con un caracter sin la propiedad "marca", seguido de cero o más caracteres con la propiedad "marca", y trata la secuencia como un grupo atómico (vea más adelante). Los caracteres con la propiedad "marca" usualmente son acentos que afectan el caracter precedente.

Encontrar coincidencias por propiedades Unicode no es rápido, ya que PCRE tiene que buscar una estructura que contiene datos para más de quince-mil caracteres. Por ello es que las secuencias de escape tradicionales como \d y \w no usan propiedades Unicode en PCRE.

El circunflejo y el dólar

Por fuera de una clase de caracteres, en el modo predeterminado de coincidencia, el caracter circunflejo es una aserción que sólo es verdadera si el punto de coincidencia actual es el inicio de la cadena de asunto. Al interior de una clase de caracteres, el circunflejo tiene un significado completamente distinto (ver más adelante).

El circunflejo no necesita ser el primer caracter del patrón si se involucra un número de alternativas, pero debe ser la primer cosa en cada alternativa en la que aparezca si se espera que el patrón coincida con esa rama. Si todas las alternativas posibles empiezan con un circunflejo, esto es, si el patrón está limitado a coincidir sólo con en el inicio del asunto, se dice que es un patrón "anclado". (También hay otras construcciones que pueden hacer que un patrón sea anclado.)

Un caracter de dólar es una aserción que es verdadera sólo si el punto de coincidencia actual se encuentra al final de la cadena de asunto, o inmediatamente antes de un caracter de nueva línea que sea el último caracter en la cadena (por defecto). El dólar no necesita ser el último caracter del patrón si hay varias alternativas involucradas, pero debe ser el último elemento en cada rama en la que aparezca. El dólar no tiene un significado especial en una clase de caracteres.

El significado del dólar puede ser modificado para que coincida sólo al final absoluto de la cadena, definiendo la opción PCRE_DOLLAR_ENDONLY en tiempo de compilación o a la hora de efectuar la comparación. Esto no afecta a la aserción \Z.

Los significados de los caracteres circunflejo y dólar son modificados si la opción PCRE_MULTILINE es definida. Cuando éste es el caso, éstos caracteres coinciden inmediatamente antes e inmediatamente después de un caracter "\n" interno, respectivamente, además de coincidir con el inicio y el final de la cadena de asunto. Por ejemplo, el patrón /^abc$/ coincide con la cadena de asunto "def\nabc" en modo multilínea, pero no en otro caso. Consecuentemente, los patrones que son anclados en modo de línea sencilla ya que todas las ramas empiezan con "^" no son anclados en modo multilínea. La opción PCRE_DOLLAR_ENDONLY es ignorada si PCRE_MULTILINE es definido.

Tenga en cuenta que las secuencias \A, \Z y \z pueden ser usadas para coincidir con el inicio y el final del asunto en ambos modos, y si todas las ramas de un patrón comienzan con \A, el patrón siempre es anclado, independientemente de si PCRE_MULTILINE es definido o no.

Punto

Por fuera de una clase de caracteres, un punto en el patrón coincide con cualquier caracter del asunto, incluyendo caracteres no-imprimibles, pero no el salto de línea (por defecto). Si la opción PCRE_DOTALL es definida, entonces los puntos coinciden con los saltos de línea también. El manejo del punto es completamente independiente del uso del circunflejo y el dólar, dado que la única relación entre ellos es que ambos casos involucran caracteres de nueva línea. El punto no tiene un significado especial dentro de una clase de caracteres.

Es posible usar \C para coincidir con un byte sencillo. Tiene sentido en modo UTF-8 en donde el punto coincide con el caracter completo que puede consistir de múltiples bytes.

Corchetes cuadrados

Un corchete cuadrado de apertura inicia una clase de caracteres, terminada por un corchete cuadrado de cierre. Un corchete cuadrado de cierre por sí solo no es especial. Si un corchete cuadrado de cierre es requerido como un miembro de la clase, debería ser el primer caracter de datos en la clase (después de un circunflejo inicial, si está presente) o escapado con una barra invertida.

Una clase de caracteres coincide con un caracter único en el asunto; el caracter debe estar en el conjunto de los caracteres definidos por la clase, a menos que el primer caracter en la clase sea un circunflejo, en cuyo caso el caracter del asunto no debe estar en el conjunto definido por la clase. Si un circunflejo es necesitado realmente como un miembro de la clase, asegúrese de que no sea el primer caracter, o escápelo con una barra invertida.

Por ejemplo, la clase de caracteres [aeiou] coincide con cualquier vocal minúscula, mientras que [^aeiou] coincide con cualquier caracter que no sea una vocal minúscula. Note que un circunflejo es una notación conveniente para especificar los caracteres que están en la clase enumerando aquellos que no lo están. No es una aserción: aun consume un caracter de la cadena de asunto, y falla si el apuntador actual está al final de la cadena.

Cuando se recurre a las comparaciones insensibles a mayúsculas y minúsculas, cualquier letra en una clase representa ambas versiones, por ejemplo, un patrón insensible a mayúsculas y minúsculas [aeiou] coincide tanto con "A" como con "a", y un patrón insensible a mayúsculas y minúsculas [^aeiou] no coincide con "A", mientras que una versión sensible lo haría.

El caracter de nueva línea nunca es tratado de un modo especial entra las clases de caracteres, independientemente de los valores de las opciones PCRE_DOTALL o PCRE_MULTILINE. Una clase como [^a] siempre coincidirá con una nueva línea.

El caracter menos (guión) puede ser usado para especificar un rango de caracteres en una clase de caracteres. Por ejemplo, [d-m] coincide con cualquier letra entre d y m, ambas inclusive. Si un caracter menos es requerido en una clase, debe ser escapado con una barra invertida, o aparecer en una posición en donde no pueda ser interpretado como indicador de rango, normalmente como primer o último caracter de la clase.

No es posible tener el caracter literal "]" como el caracter final de un rango. Un patrón como [W-]46] es interpretado como una clase de dos caracteres ("W" y "-") seguida por la cadena literal "46]", así que coincidiría con "W46]" o "-46]". Sin embargo, si el caracter "]" es escapado con una barra invertida, éste es interpretado como el final del rango, así que [W-\]46] es interpretado como una clase única que contiene un rango seguido por dos caracteres diferentes. La representación octal o hexadecimal de "]" puede ser usada también para finalizar un rango.

Los rangos trabajan en el orden de la secuencia ASCII. Pueden ser usados también para caracteres especificados numéricamente, por ejemplo [\000-\037]. Si un rango que incluye letras es usado cuando es definida la comparación insensible a mayúsculas y minúsculas, el rango coincide las letras en cualquiera de los casos. Por ejemplo, [W-c] es equivalente a [][\^_`wxyzabc], efectuando la coincidencia insensible a mayúsculas y minúsculas, y si las tablas de caracteres para la localidad "fr" están en uso, entonces [\xc8-\xcb] coincide con los caracteres E acentuados en ambos casos.

Los tipos de caracteres \d, \D, \s, \S, \w, y \W también pueden aparecer en una clase de caracteres, y añaden los caracteres que ellos representan a la clase. Por ejemplo, [\dABCDEF] coincide con cualquier dígito hexadecimal. Un circunflejo puede ser convenientemente usado con los tipos de caracter en mayúscula para especificar un conjunto más restringido de caracteres que el de una comparación con tipo en minúscula. Por ejemplo, la clase [^\W_] coincide con cualquier letra o dígito, pero no con el signo de subrayado.

Todos los caracteres no-alfanuméricos diferentes a \, -, ^ (al comienzo) y el caracter ] de cierre no tienen un significado especial en una clase de caracteres, pero no hace daño que se encuentren escapados..

Barra vertical

Los caracteres de barra vertical son usados para separar patrones alternativos. Por ejemplo, el patrón gilbert|sullivan coincide o bien con "gilbert" o con "sullivan". Puede usarse cualquier número de alternativas, y se permiten alternativas vacías (que coinciden con la cadena vacía). El proceso de comparación prueba con cada alternativa de izquierda a derecha, y la primera que tenga éxito es usada. Si las alternativas están al interior de un sub-patrón (definido más adelante), el "éxito" quiere decir que coincida con el resto del patrón principal como también con la alternativa en el sub-patrón.

Definición de opciones internas

Los valores de PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, y PCRE_EXTENDED pueden ser modificados desde el interior del patrón por una secuencia de letras de opciones de Perl encerradas entre "(?" y ")". Las letras de opciones son:

Tabla 2. Letras de opciones internas

i | para PCRE_CASELESS
m | para PCRE_MULTILINE
s | para PCRE_DOTALL
x | para PCRE_EXTENDED
U | para PCRE_UNGREEDY
X | para PCRE_EXTRA

Por ejemplo, (?im) define una comparación insensible a mayúsculas y minúsculas y en modo multilínea. También es posible eliminar éstas opciones precediendo las letras con un guión, así como se permite también una combinación de activaciones y desactivaciones como (?im-sx), la cual define PCRE_CASELESS y PCRE_MULTILINE al mismo tiempo que desactiva PCRE_DOTALL y PCRE_EXTENDED. Si una letra aparece antes y después del guión, la opción será desactivada.

Cuando un cambio de opción ocurre en el nivel superior (es decir, no al interior de los paréntesis de sub-patrones), el cambio se aplica al resto del patrón a seguir. Así que /ab(?i)c/ coincide únicamente con "abc" y "abC". Este comportamiento ha cambiado en PCRE 4.0, el cual es distribuido desde PHP 4.3.3. Antes de aquellas versiones, /ab(?i)c/ actuaría como /abc/i (p.ej. coincidiendo "ABC" y "aBc").

Si un cambio de opción sucede dentro de un sub-patrón, el efecto es diferente. Este es un cambio respecto a la conducta de Perl 5.005. Un cambio de opción dentro de un sub-patrón afecta sólo a la parte del sub-patrón que lo sigue, de modo que (a(?i)b)c coincide con abc y aBc y ninguna otra cadena (asumiendo que no se está usando PCRE_CASELESS). De esta forma, las opciones pueden definirse para tener diferentes significados en diferente partes del patrón. Cualquier cambio realizado en una alternativa ciertamente se aplica a ramas subsecuentes al interior del mismo sub-patrón. Por ejemplo, (a(?i)b|c) coincide con "ab", "aB", "c", y "C", aun cuando al coincidir con "C", la primera rama es abandonada antes de definir la opción. Esto es porque los efectos de definir de opciones ocurren en tiempo de compilación. De otro modo, ocurriría un comportamiento muy extraño.

Las opciones específicas de PCRE PCRE_UNGREEDY y PCRE_EXTRA pueden ser modificadas del mismo modo que las opciones compatibles con Perl usando los caracteres U y X respectivamente. La opción bandera (?X) es especial en el sentido en que siempre debe ocurrir antes que cualquier otra característica adicional que active en el patrón, incluso cuando es definida en el nivel superior. Su mejor ubicación es el inicio.

Sub-patrones

Los sub-patrones son delimitados por paréntesis, y pueden estar anidados. Marcar parte de un patrón como un sub-patrón logra dos cosas:

1. Ubica un conjunto de alternativas. Por ejemplo, el patrón cat(aract|erpillar|) coincide con una de las palabras "cat", "cataract", o "caterpillar". Sin los paréntesis, coincidiría con "cataract", "erpillar" o la cadena vacía.

2. Define el sub-patrón como un sub-patrón de captura (como se definió anteriormente). Cuando el patrón completo coincida, esa porción de la cadena de asunto que coincidió con el sub-patrón es devuelta al origen mediante el argumento ovector de pcre_exec(). Los paréntesis de apertura son contados de izquierda a derecha (empezando desde 1) para obtener los números de los sub-patrones de captura.

Por ejemplo, si la cadena "the red king" es comparada contra el patrón the ((red|white) (king|queen)) las sub-cadenas capturadas son "red king", "red", y "king", y son numeradas como 1, 2 y 3.

El hecho de que los simples paréntesis realicen dos funciones no siempre es útil. Con frecuencia se presenta el caso en el que un sub-patrón de agrupamiento es requerido sin necesidad de una captura. Si un paréntesis de apertura es seguido por "?:", el sub-patrón no realiza ninguna captura, y no es contado cuando se compute el número de sub-patrones subsiguientes capturados. Por ejemplo, si la cadena "the white queen" es comparada con el patrón the ((?:red|white) (king|queen)) las sub-cadenas capturadas son "white queen" y "queen", y son numeradas como 1 y 2. El número máximo de sub-cadenas capturadas es de 99, y el número máximo de todos los sub-patrones, de captura o no, es de 200.

Como un atajo conveniente, si cualquiera de las opciones se requiere al inicio de un sub-patrón que no sea de captura, las letras de las opciones pueden aparecer entre los caracteres "?" y ":". Por lo tanto, los dos patrones

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

coinciden con exactamente el mismo conjunto de cadenas. Dado que las ramas alternativas son probadas de izquierda a derecha, y las opciones no son reestablecidas hasta el final del sub-patrón, una definición de opción en una rama afecta las ramas subsecuentes, así que los patrones anteriores coinciden con "SUNDAY", al igual que con "Saturday".

Es posible nombrer el sub-patrón con (?P<nombre>patron) a partir de PHP 4.3.3. En ese caso, las matrices con coincidencias contendrán el resultado indexado por la cadena junto con el resultado indexado por un número.

Repetición

La repetición es especificada por cuantificadores, los cuales pueden ir tras cualquiera de los siguientes elementos:

  • un caracter sencillo, posiblemente escapado

  • el meta-caracter .

  • una clase de caracteres

  • una referencia hacia atrás (vea la siguiente sección)

  • un sub-patrón entre paréntesis (a menos que se trate de una aserción - vea más adelante)

El cuantificador general de repetición indica un número mínimo y un número máximo de coincidencias permitidas, dando los dos números entre corchetes ondulados (llaves), separados por una coma. Los números deben ser menores a 65536, y el primero debe ser menor o igual al segundo. Por ejemplo: z{2,4} coincide con "zz", "zzz", o "zzzz". Una llave de cierre por sí sola no es un caracter especial. Si el segundo número es omitido, pero aparece la coma, entonces no hay límite superior; si el segundo número y la coma son omitidos ambos, el cuantificador indica el número exacto de repeticiones requeridas. Por lo tanto [aeiou]{3,} coincide con al menos 3 vocales sucesivas, pero podría coincidir con muchas más, mientras que \d{8} coincide con exactamente ocho dígitos. Una llave de apertura que aparezca en una posición en donde no se permite un cuantificador, o una que no coincida con la sintaxis de un cuantificador, es tomada como un caracter literal. Por ejemplo, {,6} no es un cuantificador, sino una cadena literal de cuatro caracteres.

Se permite el uso del cuantificador {0}, lo que provoca que la expresión se comporte como si el elemento anterior y el cuantificador no estuvieran presentes.

Por conveniencia (y compatibilidad histórica) los tres cuantificadores más comunes tienen abreviaciones de un solo caracter:

Tabla 3. Cuantificadores de caracter-único

* | equivalente a {0,}
+ | equivalente a {1,}
? | equivalente a {0,1}

Es posible construir ciclos infinitos mediante un sub-patrón que no pueda coincidar con ningún caracter con un cuantificador que no tenga límite superior, por ejemplo: (a?)*

Las primeras versiones de Perl y PCRE solían producir un error en tiempo de compilación para tales patrones. Sin embargo, dado que existen casos en donde esto puede ser útil, tales patrones son aceptados ahora, pero si cualquier repetición del sub-patrón no coincide realmente con ningún caracter, el ciclo es interrumpido a la fuerza.

Por defecto, los cuantificadores son "ambiciosos", lo que quiere decir, coinciden con tanto material como les es posible (hasta el número máximo de veces permitido), sin provocar que el resto del patrón falle. El ejemplo clásico en el que esto causa problema es a la hora de crear coincidencias con comentarios en programas en C. Éstos aparecen entre las secuencias /* y */ y, al interior de la secuencia, los caracteres * y / pueden aparecer individualmente. Un intento por coincidir comentarios en C al aplicar el patrón /\*.*\*/ sobre la cadena /* primer comentario */ no comentado /* segundo comentario */ falla, ya que coincide con la cadena entera debido a la ambición del elemento .*

Sin embargo, si un cuantificador es seguido por un signo de interrogación, entonces deja de ser ambicioso, y en su lugar coincide el mínimo número de veces posibles, de tal suerte que el patrón /\*.*?\*/ hace lo correcto con los comentarios en C. El significado de los varios cuantificadores no se modifica en otro modo, tan sólo el número preferido de coincidencias. No confunda éste uso del signo de interrogación con su uso como un cuantificador por sí solo. Debido a que tiene dos usos, a veces puede aparecer dos veces seguidas, como en \d??\d caso que coincide con un dígito de ser posible, pero puede coincidir con dos si ese el único modo en que el resto del patrón coincida.

Si se encuentra definida la opción PCRE_UNGREEDY (la cual no está disponible en Perl) entonces los cuantificadores no son ambiciosos por defecto, pero cada uno por separado puede serlo cuando a continuación de ellos se encuentra un signo de interrogación. En otras palabras, invierte el comportamiento predeterminada.

Los cuantificadores seguidos por + son "posesivos". Ellos consumen tantos caracteres como es posible y no regresan para coincidir con el resto del patrón. Por lo tanto .*abc coincide con "aabc" pero .*+abc no ya que .*+ consume la cadena completa. Los cuantificadores posesivos pueden ser usados para incrementar la rapidez de procesamiento desde PHP 4.3.3.

Cuando un sub-patrón entre paréntesis es cuantificado con un número mínimo de repeticiones superior a 1 o con un límite máximo, se necesita mayor almacenamiento para el patrón compilado, en proporción al tamaño del mínimo o del máximo.

Si un patrón empieza con .* o .{0,} y la opción PCRE_DOTALL (equivalente a /s en Perl) es definida, permitiendo de esa forma que . coincida con nuevas líneas, entonces el patrón es anclado implícitamente, ya que cualquier cosa a continuación será comparada contra cada posición de caracter en la cadena de asunto, así que no hay razones para reintentar la coincidencia en su totalidad en cualquier posición luego de la primera. PCRE trata tales patrones como si estuvieran precedidos por \A. En los casos donde se conoce que la cadena de asunto no contiene nuevas líneas, vale la pena definir PCRE_DOTALL cuando el patrón comienza con .* para obtener esta optimización, o alternativamente usar ^ para indicar el anclamiento explícitamente.

Cuando un sub-patrón de captura es repetido, el valor capturado es la sub-cadena que coincidió con la iteración final. Por ejemplo, luego de que (tweedle[dume]{3}\s*)+ ha coincidido con "tweedledum tweedledee" el valor de la sub-cadena capturada es "tweedledee". Sin embargo, si hay sub-patrones de captura anidados, los valores capturados correspondientes pueden haber sido definidos en las iteraciones anteriores. Por ejemplo, después de que /(a|(b))+/ coincide con "aba", el valor de la segunda sub-cadena capturada es "b".

Referencias hacia atrás

Por fuera de una clase de caracteres, una barra invertida seguida por un digito mayor que cero (y posiblemente más dígitos) es una referencia hacia atrás a un sub-patrón de captura anterior (es decir, a su izquierda) en el patrón, siempre y cuando existan tantos paréntesis izquierdos de captura.

Sin embargo, si el número decimal a continuación de la barra invertida es menor que diez, siempre es tomado como una referencia hacia atrás, y causa un error sólo si no hay los suficientes paréntesis izquierdos de captura en todo el patrón. En otras palabras, los paréntesis que son referidos no necesitan estar a la izquierda de la referencia para números menores que diez. Vea la sección anterior titulada "Barra invertida" para más detalles sobre el manejo de los dígitos que siguen a una barra invertida.

Una referencia hacia atrás coincide con cualquier cosa que haya coincidido realmente con el sub-patrón de captura en la cadena de asunto actual, en lugar de hacerlo con cualquier cosa que coincida con el sub-patrón mismo. De modo que el patrón (sens|respons)e and \1ibility coincide con "sense and sensibility" y "response and responsibility", pero no "sense and responsibility". Si se está aplicando una comparación sensible a mayúsculas y minúsculas al momento de la referencia hacia atrás, entonces la distinción de las letras es importante. Por ejemplo, ((?i)rah)\s+\1 coincide con "rah rah" y "RAH RAH", pero no "RAH rah", incluso cuando el sub-patrón de captura original fue comparado de forma insensible a mayúsculas y minúsculas.

Puede haber más de una referencia hacia atrás hacia el mismo sub-patrón. Si un sub-patrón no ha sido usado realmente en una coincidencia particular, entonces cualquier referencia hacia atrás hacia aquél siempre falla. Por ejemplo, el patrón (a|(bc))\2 siempre falla si comienza coincidiendo con "a" en lugar de "bc". Ya que puede haber hasta 99 referencias hacia atrás, todos los dígitos que siguen a la barra invertida son tomados como parte de un potencial número de referencia hacia atrás. Si el patrón continúa con un caracter de dígito, entonces debe ser usado algún delimitador para terminar la referencia hacia atrás. Si la opción PCRE_EXTENDED es definida, este puede ser el espacio en blanco. De otro modo, un comentario vació puede ser usado.

Una referencia hacia atrás que ocurra dentro del paréntesis al cual hace referencia falla cuando el sub-patrón es usado por primera vez, así que, por ejemplo, (a\1) nunca crea coincidencias. Sin embargo, tales referencia pueden ser útiles al interior de sub-patrones repetidos. Por ejemplo, el patrón (a|b\1)+ coincide con cualquier número de "a"s y también con "aba", "ababaa" etc. Para cada iteración del sub-patrón, la referencia hacia atrás coincide con la cadena de caracteres correspondiente a la iteración anterior. Para que esto funcione, el patrón debe ser tal que la primera iteración no necesite coincidir con la referencia hacia atrás. Esto puede lograrse usando alternaciones, como en el ejemplo anterior, o por medio de un cuantificador con un mínimo de cero.

Aserciones

Una aserción es una prueba sobre los caracteres a continuación o antes del punto actual de coincidencia que no consume caracteres en realidad. Las aserciones simples codificadas como \b, \B, \A, \Z, \z, ^ y $ son descritas anteriormente. Las aserciones más complicadas son codificadas como sub-patrones. Hay dos tipos: aquellas que trabajan con material más adelante de la posición actual en la cadena de asunto y aquellas que lo hacen con material hacia atrás.

Un sub-patrón de aserción es comparado del modo usual, excepto que no causa que el punto actual de coincidencia cambie. Las aserciones hacia adelante comienzan con (?= en el caso de aserciones positivas y (?! para las negativas. Por ejemplo, \w+(?=;) coincide con una palabra seguida por un punto-y-coma. pero no incluye el punto-y-coma en la coincidencia, y foo(?!bar) coincide con cualquier ocurrencia de "foo" que no sea seguida por "bar". Note que el patrón, en apariencia semejante, (?!foo)bar no encuentra una ocurrencia de "bar" que sea precedida por algo diferente de "foo"; encuentra cualquier ocurrencia de "bar", ya que la aserción (?!foo) es siempre verdadera cuando los siguientes tres caracteres son "bar". Una aserción hacia atrás es necesaria para conseguir este efecto.

Las aserciones hacia atrás comienzan con (?<= para las aserciones positivas y (?<! para las negativas. Por ejemplo, (?<!foo)bar encuentra una ocurrencia de "bar" que no es precedida por "foo". Los contenidos de una aserción hacia atrás son restringidos de tal forma que todas las cadenas con las que coinciden deben tener una longitud fija. Sin embargo, si hay varias alternativas, no todas tienen que tener la misma longitud. Por lo tanto (?<=bullock|donkey) se permite, pero (?<!dogs?|cats?) genera un error en tiempo de compilación. Las ramas que coinciden con cadenas de diferentes longitudes son permitidas sólo en el nivel superior de la aserción hacia atrás. Ésta es una extensión en comparación con Perl 5.005, en donde se requiere que todas las ramas coincidan con la misma longitud de cadena. Una aserción como (?<=ab(c|de)) no es permitida, ya que su rama única de nivel superior puede coincidir con dos longitudes diferentes, pero es aceptable si se reescribe para usar dos ramas de nivel superior: (?<=abc|abde) La implementación de las aserciones hacia atrás consiste en, para cada alternativa, mover temporalmente la posición actual hacia atrás en el ancho fijo e intentar la coincidencia. Si no hay suficientes caracteres antes de la posición actual, la coincidencia está destinada a fallar. Las aserciones hacia atrás, en unión con los sub-patrones de una sola aplicación, pueden ser particularmente útiles para las coincidencias al final de cadenas; un ejemplo es dado al final de la sección sobre sub-patrones de una aplicación.

Varias aserciones (de cualquier tipo) pueden ocurrir en sucesión. Por ejemplo, (?<=\d{3})(?<!999)foo coincide con "foo" precedido de tres dígitos que no sean "999". Note que cada una de las aserciones es aplicada independientemente en el mismo punto en la cadena de asunto. Primero hay un chequeo para que los tres caracteres previos sean todos dígitos, luego hay un chequeo para que los mismos caracteres no sean "999". Este patrón no coincide con "foo" precedido de seis caracteres, en donde los primeros son dígitos y los últimos tres no son "999". Por ejemplo, no coincide con "123abcfoo". Un patrón para conseguir eso es (?<=\d{3}...)(?<!999)foo

En este caso la primera aserción revisa los seis caracteres anteriores, y chequea que los tres primeros sean dígitos, y luego la segunda aserción chequea que los tres caracteres anteriores no sean "999".

Las aserciones puede ser anidadas en cualquier combinación. Por ejemplo, (?<=(?<!foo)bar)baz coincide con una ocurrencia de "baz" que sea precedida por "bar", la cual a su vez no sea precedida por "foo", mientras que (?<=\d{3}...(?<!999))foo es otro patrón que coincide con "foo" precedido por tres dígitos y tres caracteres cualquiera que no sean "999".

Los sub-patrones de aserción no son sub-patrones de captura, y no pueden ser repetidos, ya que no tiene sentido afirmar la misma cosa varias veces. Si una aserción de cualquier tipo contiene sub-patrones de captura en su interior, éstos son contados con el propósito de numerar los sub-patrones de captura en todo el patrón. Sin embargo, la captura de subcadenas solo se lleva a cabo en las aserciones positivas, porque no tiene sentido para las negativas.

Las aserciones cuentan para el máximo de 200 sub-patrones entre paréntesis.

Sub-patrones de una sola aplicación

Tanto con las repeticiones máximas como en las mínimas, el hecho de que falle de lo que se encuentra a continuación causa por lo general que el item repetido sea re-evaluado para ver si un número diferente de repeticiones permite que el resto del patrón coincida. A veces es útil prevenir esto, ya sea cambiando la naturaleza de la coincidencia, o causando que falle antes de cuando ocurriría de otra forma, cuando el creador del patrón sabe que no tiene sentido continuar.

Considere, por ejemplo, el patrón \d+foo cuando se aplica a la línea de asunto 123456bar

Después de coincidir con los seis dígitos y fallar al comparar con "foo", la acción normal del motor es intentar otra vez con sólo cinco dígitos para coincidir con \d+, y luego con cuatro, y así sucesivamente, antes de fallar por completo. Los sub-patrones de una aplicación ofrecen el medio de especificar que una vez una porción del patrón ha coincidido, no debe ser re-evaluada en esta manera, así que el motor se rendiría inmediamente al fallar su intento por coincidir con "foo" la primera vez. La notación es otra forma especial de paréntesis, iniciado con (?> como en este ejemplo: (?>\d+)bar

Este tipo de paréntesis "bloquea" la parte del patrón que contiene una vez ha coincidido, y se previene que un fallo más al interior del patrón retroceda al punto original. El retroceso hacia elementos previos funciona normalmente, después de todo.

Una descripción alternativa es que un sub-patrón de este tipo coincide con la cadena de carecteres que un patrón independiente idéntico coincidiría, si estuviera anclado en el punto actual de la cadena de asunto.

Los sub-patrones de una sola aplicación no son sub-patrones de captura. Los casos simples como el ejemplo anterior pueden verse como una repetición máxima que debe tragar todo lo que pueda. Así que, mientras que tanto \d+ como \d? están preparados para ajustar el número de dígitos con los que coinciden para hacer que el resto del patrón coincida, (?>\d+) puede coincidir sólo con un secuencia enteramente de dígitos.

Esta construcción puede, por supuesto, contener sub-patrones arbitrariamente complicados, y pueden estar anidados.

Los sub-patrones de una aplicación pueden ser usados en unión con aserciones hacia atrás para especificar coincidencias eficientes al final de la cadena de asunto. Considere un patrón sencillo como abcd$ cuando se aplica a una cadena larga con la cual no coincide. Dado que la comparación se realiza de izquierda a derecha, PCRE buscará cada "a" en el asunto y luego verá si lo que sigue coincide con el resto del patrón. Si el patrón se especifica como ^.*abcd$ entonces el segmento .* inicial coincide con la cadena entera primero, pero cuando esto falle (ya que no habrá una "a" a continuación), retrocede para coincidir con todo menos el último caracter, luego con todo excepto los dos últimos y así sucesivamente. Una vez más, la búsqueda de "a" cubre la cadena completa, de derecha a izquierda, así que no hemos mejorado. Sin embargo, si el patrón se escribiese como ^(?>.*)(?<=abcd) entonces no hay retroceso para el elemento .*; sólo puede coincidir con la cadena entera. La aserción hacia atrás subsiguiente realiza una prueba única sobre los últimos cuatro caracteres. Si falla, la coincidencia falla inmediatamente. Para cadena largas, este enfoque representa una diferencia significativa en el tiempo de procesamiento.

Cuando un patrón contiene una repetición ilimitada al interior de un sub-patrón que puede ser por sí mismo repetido un número ilimitado de veces, el uso de un sub-patrón de una aplicación es la única forma de evitar algunas coincidencias fallidas que consumen ciertamente un tiempo muy largo. El patrón (\D+|<\d+>)*[!?] coincide con un número ilimitado de subcadenas que consisten ya sea de no-dígitos, o dígitos entre <>, seguidos por ! o ?. Cuando coincida, se ejecuta rápido. Sin embargo, si se aplica sobre aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa toma un largo tiempo antes de reportar el fallo. Esto es porque la cadena puede ser dividida entre las dos repeticiones en un gran número de formas, y todas deben ser probadas. (El ejemplo usó [!?] en lugar de un caracter sencillo al final, ya que tanto PCRE como Perl cuentan con una optimización que permite reportar fallos rápidamente cuando un caracter sencillo es usado. Recuerdan el último caracter simple que es requerido para una coincidencia, y falla tempranamente si no está presente en la cadena.) Si el patrón es modificado a ((?>\D+)|<\d+>)*[!?] las secuencias de no-dígitos no pueden ser interrumpidas, y la falla ocurre rápidamente.

Sub-patrones condicionales

Es posible hacer que el proceso de comparación obedezca a un sub-patrón condicionalmente o que elija entre dos sub-patrones alternativos, dependiendo del resultado de una aserción, o de si un sub-patrón de captura previo coincidió o no. Las dos formas posibles de sub-patrones condicionales son:

(?(condición)patrón-si)
(?(condición)patrón-si|patrón-no)

Si la condición es satisfecha, el patrón-si es usado; de otra forma el patrón-no es usado (si está presente). Si hay más de dos alternativas en el sub-patrón, se produce un error en tiempo de compilación.

Hay dos clases de condición. Si el texto entre los paréntesis consiste de una secuencia de dígitos, entonces la condición es satisfecha si el sub-patrón de captura de ese número ha sido coincidido previamente. Consideremos el siguiente patrón, el cual contiene espacios en blanco sin significado para hacerlo más legible (asumiendo la opción PCRE_EXTENDED) y lo dividimos en tres partes para facilitar su discusión: ( \( )? [^()]+ (?(1) \) )

La primera parte coincide con un paréntesis de apertura opcional, y si ese caracter está presente, lo define como la primera subcadena capturada. La segunda parte coincide con uno o más caracteres que no sean paréntesis. La tercera parte es un sub-patrón condicional que examina si el primer conjunto de paréntesis coincidió o no. Si lo hizo, es decir, si el asunto comenzó con un paréntesis de apertura, la condición es cierta, así que el patrón-si es ejecutado y un paréntesis de cierre es requerido. De otro modo, ya que no existe un patrón-no, el sub-patrón coincide con nada. En otras palabras, este patrón coincide con una secuencia de no-paréntesis, opcionalmente entre paréntesis.

Si la condición es la cadena (R), es satisfecha si se ha hecho una llamada recursiva al patrón o sub-partón. En el "nivel superior", la condición es falsa.

Si la condición no es una secuencia de dígitos o (R), debe ser una aserción. Ésta puede ser una aserción positiva o negativa hacia adelante o hacia atrás. Considere este patrón, el cual contiene una vez más espacios en blanco sin significado, y con las dos alternativas en la siguiente línea:

(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} )

La condición es una aserción positiva hacia adelante que coincide con una secuencia opcional de no-letras seguida por una letra. En otras palabras, examina la presencia de al menos una letra en el asunto. Si se encuentra una letra, el asunto es comparado contra la primera alternativa; de otra forma lo es con la segunda. Este patrón coincide con cadenas en una de las dos formas dd-aaa-dd o dd-dd-dd, en donde aaa son letras y dd son dígitos.

Comentarios

La secuencia (?# marca el inicio de un comentario el cual continúa hasta el siguiente paréntesis de cierre. Los paréntesis anidados no son permitidos. Los caracteres que forman un comentario no hacen parte del patrón de coincidencia en ningún caso.

Si la opción PCRE_EXTENDED es definida, un caracter # no escapado por fuera de una clase de caracteres crea un comentario que continúa hasta el próximo caracter de nueva línea en el patrón.

Patrones recursivos

Considere el problema de coincidir con una cadena entre paréntesis, permitiendo un número ilimitado de paréntesis anidados. Sin el uso de recursiones, lo mejor que puede lograrse es usar un patrón que coincida hasta un número límite de profundidad en el anidamiento. No es posible manejar una profundidad arbitraria de anidamiento. Perl 5.6 contiene una característica experimental que permite que las expresiones regulares sean recursivas (entre otras cosas). El elemento especial (?R) está disponible para el caso específico de recursión. Este patrón de PCRE resuelve el problema de los paréntesis (asumiendo que la opción PCRE_EXTENDED es definida, de modo que los espacios en blanco sean ignorados): \( ( (?>[^()]+) | (?R) )* \)

Primero coincide con un paréntesis de apertura. Luego coincide con cualquier número de subcadenas, que pueden ser o bien una secuencia de no-paréntesis, o una coincidencia recursiva del patrón mismo (es decir, una subcadena correctamente envuelta por paréntesis). Finalmente hay un paréntesis de cierre.

Este patrón de ejemplo en particular contiene repeticiones anidadas ilimitadas, así que el uso de un sub-patrón de una aplicación para la comparación de cadenas de no-paréntesis es importante cuando se aplica el patrón a cadenas que no coinciden. Por ejemplo, cuando se aplica a (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() descubre una "no coincidencia" rápidamente. Sin embargo, si un sub-patrón de una aplicación no es usado, la comparación es ejecutada por un tiempo muy largo realmente ya que hay muchas formas diferentes en las que las repeticiones + y * pueden moldear el asunto, y todas deben ser probadas antes que pueda reportarse el fallo.

Los valores establecidos para cualquier sub-patrón de captura son aquellos del nivel de recursión más externo en el que esté definido el valor del sub-patrón. Si el patrón anterior fuera comparado contra (ab(cd)ef) el valor para los paréntesis de captura es "ef", el cual es el último valor tomado del nivel superior. Si se agregan paréntesis adicionales, produciendo \( ( ( (?>[^()]+) | (?R) )* ) \) entonces la cadena que capturan es "ab(cd)ef", los contenidos de los paréntesis del nivel superior. Si hay más de 15 paréntesis de captura en un patrón, PCRE tiene que obtener memoria extra para almacenar datos durante una recursión, cosa que logra usando pcre_malloc, y la libera más adelante mediante pcre_free. Si no se puede obtener memoria, guarda datos únicamente para los primeros 15 paréntesis de captura, dado que no hay forma de producir un error de memoria-insuficiente desde el interior de una recursión.

A partir de PHP 4.3.3, (?1), (?2) y demás pueden usarse para sub-patrones recursivos también. Asimismo es posible usar sub-patrones con nombre: (?P>foo).

Si la sintaxis para una referencia de sub-patrón recursivo (ya sea por número o por nombre) es usada por fuera de los paréntesis a los que hace referencia, opera como una subrutina en un lenguaje de programación. Un ejemplo anterior anotaba que el patrón (sens|respons)e and \1ibility coincide con "sense and sensibility" y "response and responsibility", pero no con "sense and responsibility". Si en su lugar se usa el patrón (sens|respons)e and (?1)ibility, entonces efectivamente coincide con "sense and responsibility" al igual que con las otras dos cadenas. Sin embargo, tales referencias deben seguir al sub-patrón al que hacer referencia.

Rendimientos

Ciertos elementos que pueden aparecer entre los patrones son más eficientes que otros. Es más eficiente usar una clase de caracteres como [aeiou] que un conjunto de alternativas tal como (a|e|i|o|u). En general, la contrucción más simple que ofrezca el comportamiento requerido es usualmente la más eficiente. El libro de Jeffrey Friedl contiene una cantidad considerable de comentarios sobre la optimización de expresiones regulares para un rendimiento eficiente.

Cuando un patrón empieza con .* y la opción PCRE_DOTALL está definida, el patrón es anclado implícitamente por PCRE, ya que sólo puede coincidir al inicio de la cadena de asunto. Sin embargo, si PCRE_DOTALL no es definido, PCRE no puede hacer esta optimización, ya que el meta-caracter . no coincide entonces con una nueva línea y si la cadena de asunto contiene nuevas líneas, el patrón podría coincidir desde el caracter inmediatamente siguiente a una de ellas en vez del inicio absoluto. Por ejemplo, el patrón (.*) second coincide con el asunto "first\nand second" (en donde \n representa un caracter de nueva línea) con la primera subcadena capturada que sea "and". Para conseguirlo, PCRE tiene que reintentar la coincidencia comenzando en cada nueva línea del asunto.

Si está usando un patrón así con cadenas de asunto que no contienen nuevas líneas, el mejor rendimiento se obtiene definiendo PCRE_DOTALL o iniciando el patrón con ^.* para indicar un anclamiento explícito. Esto le ahorra a PCRE tener que examinar toda la cadena de entrada buscando nuevas líneas para empezar de nuevo.

Tenga cuidado con los patrones que contienen repeticiones anidadas ilimitadas. Éstos pueden tomar un tiempo de ejecución muy largo cuando se aplican sobre una cadena que no coincide. Considere el fragmento de patrón (a+)*

Éste puede coincidir con "aaaa" en 33 maneras diferentes, y este número crece muy rápidamente a medida que la cadena se hace más larga. (La repetición * puede coincidir 0, 1, 2, 3, o 4 veces, y por cada uno de esos casos diferentes a 0, las repeticiones + pueden coincidir un número diferente de veces.) Cuando el resto del patrón es de tal forma que la coincidencia completa está destinada a fallar, PCRE en principio intenta cada variación posible, y esto puede tomar un tiempo extremadamente largo.

Una optimización atrapa algunos de los casos más simples tales como (a+)*b en donde un caracter literal se encuentra a continuación. Antes de embarcarse en el procedimiento estándar de comparación, PCRE chequea que haya una letra "b" más adelante en la cadena de asunto, y si no lo hay, falla la coincidencia inmediatamente. Sin embargo, cuando no hay un literal a continuación, esta optimización no puede ser usada. Puede apreciar la diferencia al comparar el comportamiento de (a+)*\d con el patrón anterior. El primero produce un fallo casi instantáneamente cuando se aplica a una línea completa de caracteres "a", mientras que el segundo toma un tiempo apreciable con cadenas más largas de aproximadamente 20 caracteres.

Anterior | Inicio | Siguiente
Modificadores de Patrón | Subir | preg_grep


preg_grep

(PHP 4, PHP 5)

preg_grep -- Devuelve una matriz con las entradas que coinciden con el patrón

Descripción

array preg_grep ( string patron, array entrada [, int banderas] )

preg_grep() devuelve una matriz que consiste de elementos de la matriz de entrada que coinciden con el patron dado.

banderas puede ser el siguiente valor:

PREG_GREP_INVERT

Si es pasada esta bandera, preg_grep() devuelve los elementos de la matriz de entrada que no coinciden con el patron dado. Esta bandera está disponible desde PHP 4.2.0.

A partir de PHP 4.0.4, los resultados devueltos por preg_grep() son indexados usando las claves del matriz de entrada. Si este comportamiento no es el deseado, use array_values() sobre la matriz devuelta por preg_grep() para re-indexar los valores.

Ejemplo 1. Ejemplo de preg_grep()

<?php
// devolver todos los elementos de la matriz
// que contienen numeros de punto flotante
$matriz_fl = preg_grep("/^(\d+)?\.\d+$/", $matriz);
?>

Anterior | Inicio | Siguiente
Sintaxis de los Patrones | Subir | preg_last_error


preg_match_all

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_match_all -- Realizar una comparación global con una expresión regular

Descripción

int preg_match_all ( string patron, string asunto, array &coincidencias [, int banderas [, int desplazamiento]] )

Busca el asunto por todas las coincidencias con la expresión regular dada en patron, y las coloca en coincidencias en el orden especificado por banderas.

Después de que la primera coincidencia es encontrada, las búsquedas subsiguientes continúan desde el final de la última coincidencia.

Lista de parámetros

patron

El patrón a buscar, como una cadena.

asunto

La cadena de entrada.

coincidencias

En este caso, $coincidencias[0] es el primer conjunto de coincidencias, y $coincidencias[0][0] tiene el texto que coincidió con el patrón completo, $coincidencias[0][1] tiene el texto que coincidió con el primer sub-patrón y así sucesivamente. De forma semejante, $coincidencias[1] es el segundo conjunto de coincidencias, etc.

banderas

Puede ser una combinación de las siguientes banderas (note que no tiene sentido usar PREG_PATTERN_ORDER junto con PREG_SET_ORDER):

PREG_PATTERN_ORDER

Ordena los resultados de tal forma que $coincidencias[0] es una matriz con las coincidencias completas del patrón, $coincidencias[1] es una matriz con las cadenas que coinciden con el primer sub-patrón entre paréntesis, y así sucesivamente.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>ejemplo: </b><div align=left>esta es una prueba</div>",
    $salida, PREG_PATTERN_ORDER);
echo $salida[0][0] . ", " . $salida[0][1] . "\n";
echo $salida[1][0] . ", " . $salida[1][1] . "\n";
?>

El resultado del ejemplo seria:

<b>ejemplo: </b>, <div align=left>esta es una prueba</div>
ejemplo: , esta es una prueba

Así que $salida[0] contiene una matriz de cadenas que coincidieron con el patrón completo, y $salida[1] contiene una matriz de cadenas ubicadas entre etiquetas.

PREG_SET_ORDER

Ordena los resultados de forma tal que $coincidencias[0] es una matriz que contiene el primer conjunto de coincidencias, $coincidencias[1] es una matriz con el segundo conjunto de coincidencias, y así sucesivamente.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>ejemplo: </b><div align=\"left\">esta es una prueba</div>",
    $salida, PREG_SET_ORDER);
echo $salida[0][0] . ", " . $salida[0][1] . "\n";
echo $salida[1][0] . ", " . $salida[1][1] . "\n";
?>

El resultado del ejemplo seria:

<b>ejemplo: </b>, ejemplo:
<div align="left">esta es una prueba</div>, esta es una prueba

PREG_OFFSET_CAPTURE

Si es pasada esta bandera, para cada coincidencia que ocurre, será devuelto también el desplazamiento de la cadena adjunta. Note que esto modifica el valor de coincidencias, convirtiéndolo en una matriz en donde cada elemento es una matriz que consiste de la cadena que coincidió en la posición 0, y su desplazamiento de cadena al interior del asunto en la posición 1.

Si no se indica bandera alguna, se asume el uso de PREG_PATTERN_ORDER.

desplazamiento

Normalmente, la búsqueda comienza desde el inicio de la cadena de asunto. El parámetro opcional desplazamiento puede ser usado para especificar el lugar alternativo desde donde debe iniciar la búsqueda.

Nota: El uso de desplazamiento no es equivalente a pasar substr($asunto, $desplazamiento) a preg_match_all() en lugar de la cadena de asunto, ya que patron puede contener aserciones como ^, $ o (?<=x). Vea preg_match() para más ejemplos.

Valores retornados

Devuelve el número de coincidencias con el patrón completo (que puede ser cero), o FALSE si ocurre un error.

Registro de cambios

Versión | Descripción
4.3.3 | Fue agregado el parámetro desplazamiento
4.3.0 | Fue agregada la bandera PREG_OFFSET_CAPTURE

Ejemplos

Ejemplo 1. Obtener todos los números telefónicos de un segmento de texto.

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Llame al 555-1212  1-800-555-1212", $telefonos);
?>

Ejemplo 2. Encontrar etiquetas HTML coincidentes (de forma ambiciosa)

<?php

// El \\2 es un ejemplo de referencia hacia atrás. Este le dice a pcre
// que debe buscar el segundo conjunto de paréntesis en la expresión
// regular misma, que sería ([\w]+) en este caso. La barra invertida
// extra es requerida ya que la cadena se encuentra entre comillas
// dobles.
$html = "<b>texto en negrilla</b><a href=hola.html>haga clic aquí</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $coincidencias, PREG_SET_ORDER);

foreach ($coincidencias as $val) {
    echo "coincidencia: " . $val[0] . "\n";
    echo "parte 1: " . $val[1] . "\n";
    echo "parte 2: " . $val[3] . "\n";
    echo "parte 3: " . $val[4] . "\n\n";
}
?>

El resultado del ejemplo seria:

coincidencia: <b>texto en negrilla</b>
parte 1: <b>
parte 2: texto en negrilla
parte 3: </b>

coincidencia: <a href=hola.html>haga clic aquí</a>
parte 1: <a href=hola.html>
parte 2: haga clic aquí
parte 3: </a>

Ver también

preg_match()
preg_replace()
preg_split()

Anterior | Inicio | Siguiente
preg_last_error | Subir | preg_match


preg_match

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_match -- Realizar una comparación de expresión regular

Descripción

int preg_match ( string patron, string asunto [, array &coincidencias [, int banderas [, int desplazamiento]]] )

Busca en asunto por una coincidencia con la expresión regular dada en patron.

Si se entrega el parámetro coincidencias, entonces éste es llenado con los resultados de la búsqueda. $coincidencias[0] contendrá el texto que coincidió con el patrón completo, $coincidencias[1] tendrá el texto que coincidió con el primer sub-patrón en paréntesis capturado, y así sucesivamente.

banderas puede ser la siguiente bandera:

PREG_OFFSET_CAPTURE

Si es pasada esta bandera, entonces para cada coincidencia encontrada también será devuelto el desplazamiento de la cadena anexa. Note que esto modifica el valor de retorno a una matriz en donde cada elemento es una matriz que consiste de la cadena coincidente en la posición 0 y su desplazamiento de cadena al interior de asunto en la posición 1. Esta bandera está disponible desde PHP 4.3.0.

El parámetro banderas está disponible desde PHP 4.3.0.

Normalmente, la búsqueda comienza desde el principio de la cadena de asunto. El parámetro opcional desplazamiento puede ser usado para especificar el lugar alterno desde donde empezar la búsqueda. El parámetro desplazamiento está disponible desde PHP 4.3.3.

Nota: El uso de desplazamiento no es equivalente a pasar substr($asunto, $desplazamiento) a preg_match() en lugar de la cadena de asunto, ya que patron puede contener aserciones tales como ^, $ o (?<=x). Compare:

<?php
$asunto = "abcdef";
$patron = '/^def/';
preg_match($patron, $asunto, $coincidencias, PREG_OFFSET_CAPTURE, 3);
print_r($coincidencias);
?>

El resultado del ejemplo seria:

Array
(
)

mientras que el siguiente ejemplo

<?php
$asunto = "abcdef";
$patron = '/^def/';
preg_match($patron, substr($asunto,3), $coincidencias, PREG_OFFSET_CAPTURE);
print_r($coincidencias);
?>

producirá

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

preg_match() devuelve el número de veces que patron coincide. Este número será 0 (no existe coincidencia) o 1, ya que preg_match() detendrá la búsqueda después de la primera coincidencia. Por el contrario, preg_match_all() continuará hasta llegar al final de asunto. preg_match() devuelve FALSE si ocurre un error.

Sugerencia: No use preg_match() si sólo desea verificiar si una cadena está contenida en otra. Use strpos() o strstr() en su lugar, ya que éstas son alternativas más rápidas.

Ejemplo 1. Buscar la cadena de texto "php"

<?php
// El caracter "i" después del delimitador del patrón indica una
// busqueda insensible a mayúsculas/minúsculas
if (preg_match("/php/i", "PHP es el lenguaje de scripting web de moda.")) {
    echo "Se ha encontrado una coincidencia.";
} else {
    echo "No se ha encontrado una coincidencia.";
}
?>

Ejemplo 2. Buscar la palabra "web"

<?php
/* La secuencia \b en el patrón indica un límite de palabra, así que solo la
 * palabra única "web" coincide, y no una palabra parcial como "webbing" o
 * "cobweb" */
if (preg_match("/\bweb\b/i", "PHP es el lenguaje de scripting web de moda.")) {
    echo "Se ha encontrado una coincidencia.";
} else {
    echo "No se ha encontrado una coincidencia.";
}

if (preg_match("/\bweb\b/i", "PHP es el website del lenguaje de scripting de moda.")) {
    echo "Se ha encontrado una coincidencia.";
} else {
    echo "No se ha encontrado una coincidencia.";
}
?>

Ejemplo 3. Obtener el nombre de dominio de una URL

<?php
// obtener el nombre de host de una URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.php.net/index.html", $coincidencias);
$host = $coincidencias[1];

// obtener los últimos dos segmentos del nombre de host
preg_match('/[^.]+\.[^.]+$/', $host, $coincidencias);
echo "el nombre de dominio es: {$coincidencias[0]}\n";
?>

El resultado del ejemplo seria:

el nombre de dominio es: php.net

Vea también preg_match_all(),
preg_replace(), y
preg_split().

Anterior | Inicio | Siguiente
preg_match_all | Subir | preg_quote


preg_quote

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_quote -- Escapar caracteres de expresiones regulares

Descripción

string preg_quote ( string cadena [, string delimitador] )

preg_quote() toma cadena y coloca una barra invertida al frente de cada caracter que es parte de la sintaxis de expresiones regulares. Esto resulta útil si usted tiene una cadena en tiempo de ejecución que necesita comparar con algún texto y la cadena puede contener caracteres especiales de expresiones regulares.

Si el valor opcional delimitador es especificado, éste también será escapado. Esto es útil para escapar el delimitador que es requerido por las funciones PCRE. El caracter / es el delimitador usado con más frecuencia.

Los caracteres especiales de expresiones regulares son: . \ + * ? [ ^ ] $ ( ) { } = ! < > | :

Ejemplo 1. Ejemplo de preg_quote()

<?php
$palabras_clave = '$40 para un g3/400';
$palabras_clave = preg_quote($palabras_clave, '/');
echo $palabras_clave; // devuelve \$40 para un g3\/400
?>

Ejemplo 2. Marcar una palabra en estilo cursivo al interior de un texto

<?php
// En este ejemplo, preg_quote($palabra) es usado para evitar que
// los asteriscos tengan un significado especial en la expresion
// regular.

$cuerpo_texto = "Este libro es *muy* dificil de encontrar.";
$palabra = "*muy*";
$cuerpo_texto = preg_replace ("/" . preg_quote($palabra) . "/",
                              "<i>" . $palabra . "</i>",
                              $cuerpo_texto);
?>

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
preg_match | Subir | preg_replace_callback


preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5)

preg_replace_callback -- Realizar una búsqueda con expresiones regulares y generar reemplazos usando una llamada de retorno

Descripción

mixed preg_replace_callback ( mixed patron, callback llamada_de_retorno, mixed fuente [, int limite [, int &conteo]] )

El comportamiento de esta función es casi idéntico al de preg_replace(), con la excepción de que en lugar del parámetro reemplazo, uno debe especificar una llamada_de_retorno que será usada pasándole una matriz de los elementos coincidentes en la cadena fuente. La llamada de retorno debería devolver la cadena de reemplazo. Vea preg_replace() para la descripción de otros parámetros.

Ejemplo 1. Ejemplo de preg_replace_callback()

<?php
// este texto fue usado en 2002
// queremos actualizarlo para 2003
$texto = "El día de los inocentes es 04/01/2002\n";
$texto.= "La última navidad fue 12/24/2001\n";
// la llamada de retorno
function siguiente_anyo($coincidencias)
{
  // como es usual: $coincidencias[0] es la coincidencia completa
  // $coincidencias[1] la coincidencia para el primer subpatrón
  // ubicado entre '(...)' y así sucesivamente

  return $coincidencias[1].($coincidencias[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "siguiente_anyo",
            $texto);
// el resultado es:
// El día de los inocentes es 04/01/2003
// La última navidad fue 12/24/2002
?>

Con frecuencia necesitará la función de llamada de retorno cuando use preg_replace_callback() únicamente en un lugar. En este caso, usted puede usar create_function() para declarar una función anónima como llamada de retorno dentro del llamado a preg_replace_callback(). Al hacerlo de este modo, usted tendrá toda la información necesaria para el llamado en un solo lugar y no abarrota su espacio de nombres de funciones con nombres de llamadas de retorno que no son usadas en ninguna otra parte.

Ejemplo 2. preg_replace_callback() y create_function()

<?php
/* un filtro de línea de comandos tipo Unix para convertir letras
 * mayúsculas al comienzo de los parágrafos a minúsculas */
$da = fopen("php://stdin", "r") or die("no se puede leer stdin");
while (!feof($da)) {
    $linea = fgets($da);
    $linea = preg_replace_callback(
        '|<p>\s*\w|',
        create_function(
            // las comillas sencillas son cruciales aquí,
            // o alternativamente escapar todos los signos $ como \$
            '$coincidencias',
            'return strtolower($coincidencias[0]);'
        ),
        $linea
    );
    echo $linea;
}
fclose($da);
?>

Ejemplo 3. preg_replace_callback() usando una estructura recursiva para manejar código BB encapsulado

<?php
$entrada = "plano [indent] profundo [indent] más profundo [/indent] profundo [/indent] plano";

function procesarEtiquetasRecursivamente($entrada)
{

    $regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

    if (is_array($entrada)) {
        $entrada = '<div style="margin-left: 10px">'.$entrada[1].'</div>';
    }

    return preg_replace_callback($regex, 'procesarEtiquetasRecursivamente', $entrada);
}

$salida = procesarEtiquetasRecursivamente($entrada);

echo $salida;
?>

Nota: El parámetro conteo está disponible desde PHP 5.1.0.

Vea también preg_replace(), create_function(), , y information about the callback type.

Anterior | Inicio | Siguiente
preg_quote | Subir | preg_replace


preg_replace

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_replace -- Realizar una operación de búsqueda y reemplazo con expresiones regulares

Descripción

mixed preg_replace ( mixed patron, mixed reemplazo, mixed asunto [, int limite [, int &conteo]] )

Busca en asunto por coincidencias con patron y las reemplaza con reemplazo.

reemplazo puede contener referencias de la forma \\n o (desde PHP 4.0.4) $n, siendo este último estilo el más recomendable. Cada referencia de este tipo será reemplazada con el texto capturado por el nésimo patrón entre paréntesis. n puede ser un valor de 0 a 99, y \\0 o $0 hacen referencia al texto coincidente con el patrón completo. Los paréntesis de apertura son contados de izquierda a derecha (comenzando en 1) para obtener el número del sub-patrón de captura.

Cuando se trabaja con un patrón de reemplazo en donde una referencia hacia atrás está inmediatamente seguida por otro número (es decir, se coloca un número literal inmediatamente después de un patrón coincidente), no es posible usar la familiar notación \\1 para la referencia hacia atrás. \\11, por ejemplo, confundiría a preg_replace() ya que no es claro si se desea la referencia hacia atrás \\1 seguida de un 1 literal, o la referencia hacia atrás \\11 seguida por nada. En este caso la solución es usar \${1}1. Esto crea una referencia hacia atrás separada $1, dejando el 1 como una secuencia literal.

Si asunto es una matriz, entonces la operación de búsqueda y reemplazo se realiza sobre cada entrada de asunto, y el valor de retorno es una matriz también.

El modificador e hace que preg_replace() trate el parámetro reemplazo como código PHP después de que las sustituciones de referencias correspondientes son realizadas. Consejo: asegúrese de que reemplazo constituya una cadena de código PHP válido, de otra forma PHP se quejará sobre un error de análisis sintáctico en la línea que contiene la llamada a preg_replace().

Lista de parámetros

patron

El patrón a buscar. Puede ser una cadena o una matriz con cadenas.

reemplazo

La cadena o una matriz con las cadenas de reemplazo. Si este parámetro es una cadena y el parámetro patron es una matriz, todos los patrones serán reemplazados por esa cadena. Si tanto patron como reemplazo son matrices, cada patron será reemplazado por su contraparte en reemplazo. Si hay menos claves en la matriz reemplazo que en la matriz patron, los patrones excedentes serán reemplazados con una cadena vacía.

asunto

La cadena o una matriz con cadenas para buscar y reemplazar.

limite

La cantidad máxima posible de reemplazos para cada patrón en cada cadena asunto. Su valor predeterminado es -1 (sin límite).

conteo

Si se especifica, esta variables será llenada con el número de reemplazos realizados.

Valores retornados

preg_replace() devuelve una matriz si el parámetro asunto es una matriz, o una cadena de lo contrario.

Si se encuentran coincidencias, el nuevo asunto será devuelto, de otra forma asunto será devuelto intacto.

Registro de cambios

Versión | Descripción
4.0.1pl2 | Se agregó el parámetro limite
4.0.4 | Se agregó la forma '$n' para el parámetro reemplazo
5.1.0 | Se agregó el parámetro conteo

Ejemplos

Ejemplo 1. Uso de referencias hacia atrás seguidas de literales numéricos

<?php
$cadena = 'April 15, 2003';
$patron = '/(\w+) (\d+), (\d+)/i';
$reemplazo = '${1}1,$3';
echo preg_replace($patron, $reemplazo, $cadena);
?>

El resultado del ejemplo seria:

April1,2003

Ejemplo 2. Uso de matrices indexadas con preg_replace()

<?php
$cadena = 'The quick brown fox jumped over the lazy dog.';
$patrones[0] = '/quick/';
$patrones[1] = '/brown/';
$patrones[2] = '/fox/';
$reemplazos[2] = 'bear';
$reemplazos[1] = 'black';
$reemplazos[0] = 'slow';
echo preg_replace($patrones, $reemplazos, $cadena);
?>

El resultado del ejemplo seria:

The bear black slow jumped over the lazy dog.

Ordenando por clave los patrones y reemplazos, podemos obtener lo que queríamos.

<?php
ksort($patrones);
ksort($reemplazos);
echo preg_replace($patrones, $reemplazos, $cadena);
?>

El resultado del ejemplo seria:

The slow black bear jumped over the lazy dog.

Ejemplo 3. Reemplazo de varios valores

<?php
$patrones = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
                   '/^\s*{(\w+)}\s*=/');
$reemplazar = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patrones, $reemplazar, '{fechaInicio} = 1999-5-27');
?>

El resultado del ejemplo seria:

$fechaInicio = 5/27/1999

Ejemplo 4. Uso del modificador 'e'

<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
             "'\\1'.strtoupper('\\2').'\\3'",
             $cuerpo_html);
?>

Esto pasaría a mayúsculas todas las etiquetas HTML en el texto de entrada.

Ejemplo 5. Eliminar espacios en blanco

Este ejemplo remueve espacios de más de una cadena.

<?php
$cadena = 'foo   o';
$cadena = preg_replace('/\s\s+/', ' ', $cadena);
// Ahora sera 'foo o'
echo $cadena;
?>

Ejemplo 6. Uso del parámetro conteo

<?php
$conteo = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $conteo);
echo $conteo; //3
?>

El resultado del ejemplo seria:

xp***to
3

Notes

Nota: Cuando se usan matrices con patron y reemplazo, las claves son procesadas en el orden en que aparecen en la matriz. Esto no es necesariamente lo mismo que el orden de índices numéricos. Si usan índices para identificar cuál patron debería ser reemplazado por cuál reemplazo, debería usar ksort() sobre cada matriz antes de llamar preg_replace().

Ver también

preg_match()
preg_replace_callback()
preg_split()

Anterior | Inicio | Siguiente
preg_replace_callback | Subir | preg_split


preg_split

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_split -- Separar una cadena por una expresión regular

Descripción

array preg_split ( string patron, string asunto [, int limite [, int banderas]] )

Devuelve una matriz que contiene sub-cadenas de asunto, separadas sobre ciertos límites coincidentes con patron.

Si se especifica limite, entonces sólo se devuelve una cantidad de hasta limite sub-cadenas, y si limite es -1, quiere decir "sin límite", lo cual es útil cuando se quiere pasar un valor al parámetro banderas.

banderas puede ser cualquier combinación de las siguientes banderas (combinadas con el operador de bits |):

PREG_SPLIT_NO_EMPTY

Si esta bandera es definida, preg_split() sólo devolverá segmentos no-vacíos.

PREG_SPLIT_DELIM_CAPTURE

Si se define esta bandera, las expresiones entre paréntesis en el patrón de delimitación serán capturadas y devueltas también. Esta bandera fue agregada en 4.0.5.

PREG_SPLIT_OFFSET_CAPTURE

Si se define esta bandera, para cada coincidencia encontrada, se devolverá también la posición de la cadena anexa. Note que esto modifica el valor de retorno a una matriz en donde cada elemento es una matriz consistente de la cadena coincidente en la posición 0 y su desplazamiento de cadena al interior de asunto en la posición 1. Esta bandera está disponible desde PHP 4.3.0.

Sugerencia: Si no necesita el poder de las expresiones regulares, es posible usar alternativas más rápidas (aunque más simples) como explode() o str_split().

Ejemplo 1. Ejemplo de preg_split(): Obtener las partes de una cadena de búsqueda

<?php
// separar la frase por cualquier numero de comas o caracteres de espacio,
// incluyendo " ", \r, \t, \n y \f
$palabras_clave = preg_split("/[\s,]+/", "lenguaje hipertexto, programacion");
?>

Ejemplo 2. Separar una cadena en sus caracteres

<?php
$cadena = 'cadena';
$caracteres = preg_split('//', $cadena, -1, PREG_SPLIT_NO_EMPTY);
print_r($caracteres);
?>

Ejemplo 3. Separar una cadena en coincidencias y sus desplazamientos

<?php
$cadena = 'programacion lenguaje hipertexto';
$caracteres = preg_split('/ /', $cadena, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($caracteres);
?>

producirá:

Array
(
    [0] => Array
        (
            [0] => programacion
            [1] => 0
        )

    [1] => Array
        (
            [0] => lenguaje
            [1] => 13
        )

    [2] => Array
        (
            [0] => hipertexto
            [1] => 22
        )

)

Nota: El parámetro banderas fue agregado en PHP 4 Beta 3.

Vea también spliti(),
split(), implode(),
preg_match(),
preg_match_all(), y
preg_replace().

Anterior | Inicio | Siguiente
preg_replace | Subir | Funciones PDF


qtdom Functions

Manual de PHP
Anterior Siguiente

CXXXI. qtdom Functions

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Nota: Esta extensión no está disponible en plataformas Windows

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Requisitos

You need the Qt-library >=2.2.0

Instalación

Configure PHP --with-qtdom to use these functions.

Tabla de contenidos
qdom_error -- Returns the error string from the last QDOM operation or FALSE if no errors occurred
qdom_tree -- Creates a tree of an XML string

Anterior | Inicio | Siguiente
pspell_suggest | Subir | qdom_error


qdom_error

(PHP 4 >= 4.0.5, PECL)

qdom_error -- Returns the error string from the last QDOM operation or FALSE if no errors occurred

Descripción

string qdom_error ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
qtdom Functions | Subir | qdom_tree


qdom_tree

(PHP 4 >= 4.0.4, PECL)

qdom_tree -- Creates a tree of an XML string

Descripción

QDomDocument qdom_tree ( string doc )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
qdom_error | Subir | Radius


Rar Functions

Manual de PHP
Anterior Siguiente

CXXXIII. Rar Functions

Introducción

Rar is a powerful and effective archiver created by Eugene Roshal. This extension gives you possibility to read Rar archives but doesn't support writing Rar archives, because this is not supported by UnRar library and is directly prohibited by it's license.

More information about Rar and UnRar can be found at http://www.rarlabs.com/.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Instalación

Rar is currently available through PECL http://pecl.php.net/package/rar.

Also you can use the PECL installer to install the Rar extension, using the following command: pecl -v install rar.

You can always download the tar.gz package and install Rar by hand:

Ejemplo 1. Rar installation

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Windows users can download the extension dll php_rar.dll here: http://snaps.php.net/win32/PECL_STABLE/.

Tipos de recursos

There is one resource used in Rar extension: a file descriptor returned by rar_open().

Constantes predefinidas

RAR_HOST_MSDOS (integer)

RAR_HOST_OS2 (integer)

RAR_HOST_WIN32 (integer)

RAR_HOST_UNIX (integer)

RAR_HOST_BEOS (integer)

Ejemplos

Ejemplo 2. Rar extension overview example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Filename: ' . $entry->getName() . "\n";
    echo 'Packed size: ' . $entry->getPackedSize() . "\n";
    echo 'Unpacked size: ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

This example opens a Rar file archive and extracts each entry to the specified directory.

Tabla de contenidos
rar_close -- Close Rar archive and free all resources
rar_entry_get -- Get entry object from the Rar archive
Rar::extract -- Extract entry from the archive
Rar::getAttr -- Get attributes of the entry
Rar::getCrc -- Get CRC of the entry
Rar::getFileTime -- Get entry last modification time
Rar::getHostOs -- Get entry host OS
Rar::getMethod -- Get pack method of the entry
Rar::getName -- Get name of the entry
Rar::getPackedSize -- Get packed size of the entry
Rar::getUnpackedSize -- Get unpacked size of the entry
Rar::getVersion -- Get version of the archiver used to add the entry
rar_list -- Get entries list from the Rar archive
rar_open -- Open Rar archive

Anterior | Inicio | Siguiente
radius_strerror | Subir | rar_close


rar_close

(no version information, might be only in CVS)

rar_close -- Close Rar archive and free all resources

Description

bool rar_close ( resource rar_file )

Close Rar archive and free all allocated resources.

rar_close() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar Functions | Subir | rar_entry_get


rar_entry_get

(no version information, might be only in CVS)

rar_entry_get -- Get entry object from the Rar archive

Description

RarEntry rar_entry_get ( resource rar_file, string entry_name )

Get entry object from the Rar archive.

Ejemplo 1. Rar::() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

print_r($entry);

?>

rar_get_entry() returns entry object or FALSE on error.

Anterior | Inicio | Siguiente
rar_close | Subir | Rar::extract


Rar::extract

(no version information, might be only in CVS)

Rar::extract -- Extract entry from the archive

Description

bool Rar::extract ( string dir [, string filepath] )

Rar::extract() extracts entry's data to the dir. It will create new file in the specified dir with the name identical to the entry's name. If parameter filepath is specified instead dir, Rar::extract() will extract entry's data to the specified file.

Ejemplo 1. Rar::extract() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt

?>

Ejemplo 2. How to extract all files in archive:

<?php

/* example by Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // extract to the current dir
}
rar_close($rar_file);

?>

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
rar_entry_get | Subir | Rar::getAttr


Rar::getAttr

(no version information, might be only in CVS)

Rar::getAttr -- Get attributes of the entry

Description

int Rar::getAttr ( void )

Rar::getAttr() returns attributes of the archive entry.

Ejemplo 1. Rar::getAttr() example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

Rar::getAttr() returns FALSE on error.

See also Rar::getHostOs().

Anterior | Inicio | Siguiente
Rar::extract | Subir | Rar::getCrc


Rar::getCrc

(no version information, might be only in CVS)

Rar::getCrc -- Get CRC of the entry

Description

int Rar::getCrc ( void )

Rar::getCrc() returns CRC of the archive entry.

Ejemplo 1. Rar::getCrc() example

<?php

?>

Rar::getCrc() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getAttr | Subir | Rar::getFileTime


Rar::getFileTime

(no version information, might be only in CVS)

Rar::getFileTime -- Get entry last modification time

Description

string Rar::getFileTime ( void )

Rar::getFileTime() returns entry last modification time as string in format YYYY-MM-DD HH:II:SS.

Ejemplo 1. Rar::() example

<?php

?>

Rar::getFileTime() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getCrc | Subir | Rar::getHostOs


Rar::getHostOs

(no version information, might be only in CVS)

Rar::getHostOs -- Get entry host OS

Description

int Rar::getHostOs ( void )

Rar::getHostOs() return code of the host OS of the archive entry.

Ejemplo 1. Rar::getHostOs() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Rar::getHostOs() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getFileTime | Subir | Rar::getMethod


Rar::getMethod

(no version information, might be only in CVS)

Rar::getMethod -- Get pack method of the entry

Description

int Rar::getMethod ( void )

Rar::getMethod() returns number of the method used when adding current archive entry.

Ejemplo 1. Rar::getMethod() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>

Rar::getMethod() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getHostOs | Subir | Rar::getName


Rar::getName

(no version information, might be only in CVS)

Rar::getName -- Get name of the entry

Description

string Rar::getName ( void )

Rar::getName() returns full name of the archive entry.

Ejemplo 1. Rar::getName() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . $entry->getName();

?>

Rar::getName() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getMethod | Subir | Rar::getPackedSize


Rar::getPackedSize

(no version information, might be only in CVS)

Rar::getPackedSize -- Get packed size of the entry

Description

int Rar::getPackedSize ( void )

Get packed size of the archive entry.

Ejemplo 1. Rar::() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

Rar::getPackedSize() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getName | Subir | Rar::getUnpackedSize


Rar::getUnpackedSize

(no version information, might be only in CVS)

Rar::getUnpackedSize -- Get unpacked size of the entry

Description

int Rar::getUnpackedSize ( void )

Get unpacked size of the archive entry.

Ejemplo 1. Rar::getUnpackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

Rar::getUnpackedSize() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getPackedSize | Subir | Rar::getVersion


Rar::getVersion

(no version information, might be only in CVS)

Rar::getVersion -- Get version of the archiver used to add the entry

Description

int Rar::getVersion ( void )

Get version of the archiver used to add the archive entry.

Ejemplo 1. Rar::getVersion() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar (WinRAR) version used: " . $entry->getVersion();

?>

Rar::getVersion() returns FALSE on error.

Anterior | Inicio | Siguiente
Rar::getUnpackedSize | Subir | rar_list


rar_list

(no version information, might be only in CVS)

rar_list -- Get entries list from the Rar archive

Description

array rar_list ( resource rar_file )

Get entries list from the Rar archive.

Ejemplo 1. Rar::() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entries_list = rar_list($rar_file);

print_r($entries_list);

?>

rar_list() returns array of entries or FALSE on error.

Anterior | Inicio | Siguiente
Rar::getVersion | Subir | rar_open


rar_open

(no version information, might be only in CVS)

rar_open -- Open Rar archive

Description

resource rar_open ( string filename [, string password] )

Open specified Rar archive and return Rar file resource.

rar_open() returns Rar file resource or FALSE on error.

Anterior | Inicio | Siguiente
rar_list | Subir | GNU Readline


Funciones de Expresiones Regulares (POSIX Extendido)

Manual de PHP
Anterior Siguiente

CXXIV. Funciones de Expresiones Regulares (POSIX Extendido)

Introducción

Sugerencia: PHP ofrece también soporte de expresiones regulares usando una sintaxis compatible con Perl usando las Funciones PCRE. Tales funciones soportan coincidencias no-ambiciosas, aserciones, subpatrones condicionales, y un número de características adicionales que no son soportadas por las sintaxis de expresiones regulares POSIX-extendido.

Aviso

Estas expresiones regulares no son seguras con material binario. Las Funciones PCRE lo son.

Las expresiones regulares son usadas para la manipulación compleja de cadenas. PHP usa expresiones regulares POSIX extendidas, tal y como se definen por POSIX 1003.2. Para una descripción completa de las expresiones regulares POSIX, vea las páginas de manual de regex incluidas en el directorio regex en la distribución de PHP. Se encuentran en formato manpage, así que querrá hacer algo del estilo de man /usr/local/src/regex/regex.7 para leerlas.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

Aviso

No modifique el TIPO a menos que sepa lo que está haciendo.

Para habilitar el soporte para expresiones regulares, configure PHP con la opción --with-regex[=TIPO]. TIPO puede ser un valor entre system, apache, php. La acción predeterminada es usar php.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Ejemplos de Expresiones Regulares

<?php
// Devuelve true si "abc" se encuentra en cualquier lugar de $cadena.
ereg("abc", $cadena);

// Devuelve true si "abc" es encontrado al comienzo de $cadena
ereg("^abc", $cadena);

// Devuelve true si "abc" es encontrado al final de $cadena.
ereg("abc$", $cadena);

// Devuelve true si el navegador del cliente es Netscape 2, 3 or MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);

// Coloca tres palabras separadas por espacios en $regs[1], $regs[2] y $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $cadena, $regs);

// Coloca una etiqueta <br /> al comienzo de $cadena.
$cadena = ereg_replace("^", "<br />", $cadena);

// Coloca una etiqueta <br /> al final de $cadena.
$cadena = ereg_replace("$", "<br />", $cadena);

// Se deshace de cualquier caracter de salto de linea en $cadena.
$cadena = ereg_replace("\n", "", $cadena);
?>

Ver también

Para consultar sobre expresiones regulares en una sintaxis compatible con Perl, eche un vistazo a las Funciones PCRE. Las coincidencias más simples de comodines tipo intérprete de comandos son ofrecidas por fnmatch().

Tabla de contenidos
ereg_replace -- reemplaza expresiones regulares
ereg -- Coincidencia de expresiones regulares
eregi_replace -- reemplaza expresiones regularse sin diferenciar mayúsculas y minúsculas
eregi -- coincidencia de expresiones regulares sin diferenciar mayúsculas y minúsculas
split -- divide la cadena en elementos de un array según una expresión regular
spliti -- Separar una cadena en una matriz mediante una expresión regular, no sensible a mayúsculas ni minúsculas
sql_regcase -- construye una expresión regular para buscar coincidencias sin diferenciar mayúsculas y minúsculas

Anterior | Inicio | Siguiente
posix_uname | Subir | ereg_replace


ereg_replace

(PHP 3, PHP 4, PHP 5)

ereg_replace -- reemplaza expresiones regulares

Descripción

string ereg_replace ( string pattern, string replacement, string string )

Esta función examina string buscando coincidencias de pattern, y reemplaza el texto encontrado con replacement.

Devuelve la cadena modificada. Si no hay coincidencias que reemplazar, devuelve la cadena original.

Si pattern contiene subcadenas entre paréntesis, replacement puede contener subcadenas de la forma \\cifra, que serán reemplazadas por el texto que coincide con la subcadena entre paréntesis que ocupa el lugar indicado por la cifra; \\0 produce el contenido total de la cadena. Se pueden usar hasta nueve subcadenas. Los paréntesis pueden anidarse; en este caso se cuentan los paréntesis de apertura.

Si no se encuentran coincidencias en string, se devuelve string sin cambios.

Por ejemplo, el siguiente fragmento de código imprime "This was a test" tres veces:

Ejemplo 1. ereg_replace() example

$string = "This is a test";
echo ereg_replace( " is", " was", $string );
echo ereg_replace( "( )is", "\\1was", $string );
echo ereg_replace( "(( )is)", "\\2was", $string );

Ver también ereg(), eregi(), y eregi_replace().

Anterior | Inicio | Siguiente
Funciones de Expresiones Regulares (POSIX Extendido) | Subir | ereg


ereg

(PHP 3, PHP 4, PHP 5)

ereg -- Coincidencia de expresiones regulares

Descripción

int ereg ( string pattern, string string [, array regs] )

Busca en string las coincidencias con la expresión regular pattern.

Si se encuentran coincidencias con subcadenas entre paréntesis de pattern y la función se ha llamado con el tercer argumento regs, las coincidencias se almacenarán en los elementos de regs. $regs[1] contendrá la subcadena que empieza en el primer paréntesis izquierdo; $regs[2] la que comienza en el segundo, etc. $regs[0] contendrá una copia de string.

La búsqueda diferencia mayúsculas y minúsculas.

Devuelve un valor verdadero si se encontró alguna coincidencia, o falso in no se encontraron coincidencias u ocurrió algún error.

El siguiente fragmento de código toma una fecha en formato ISO (AAAA-MM-DD) y la imprime en formato DD.MM.AAAA:

Ejemplo 1. ereg() example

if ( ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs ) ) {
    echo "$regs[3].$regs[2].$regs[1]";
} else {
    echo "Invalid date format: $date";
}

Ver también eregi(),
ereg_replace(), y
eregi_replace().

Anterior | Inicio | Siguiente
ereg_replace | Subir | eregi_replace


eregi_replace

(PHP 3, PHP 4, PHP 5)

eregi_replace -- reemplaza expresiones regularse sin diferenciar mayúsculas y minúsculas

Descripción

string eregi_replace ( string pattern, string replacement, string string )

Esta función es idéntica a ereg_replace(), excepto en que ignora la distinción entre mayúsculas y minúsculas.

Ver también ereg(),
eregi(), y
ereg_replace().

Anterior | Inicio | Siguiente
ereg | Subir | eregi


eregi

(PHP 3, PHP 4, PHP 5)

eregi -- coincidencia de expresiones regulares sin diferenciar mayúsculas y minúsculas

Descripción

int eregi ( string pattern, string string [, array regs] )

Esta función es idéntica a ereg(), excepto en que ignora la distinción entre mayúsculas y minúsculas.

Ver también ereg(),
ereg_replace(), y
eregi_replace().

Anterior | Inicio | Siguiente
eregi_replace | Subir | split


split

(PHP 3, PHP 4, PHP 5)

split -- divide la cadena en elementos de un array según una expresión regular

Descripción

array split ( string pattern, string string [, int limit] )

Devuelve un array de cadenas, cada una de las cuales es una subcadena de string formada al dividir esta en los límites formados por la expresión regular pattern. Si ocurre un error, devuelve un valor falso.

Para obtener los cinco primeros campos de una línea de /etc/passwd:

Ejemplo 1. split() example

$passwd_list = split( ":", $passwd_line, 5 );

Para examinar una fecha que puede estar delimitada por barras, puntos o guiones:

Ejemplo 2. split() example

$date = "04/30/1973";  // Los delimitadores pueden ser barras, puntos o guiones
list( $month, $day, $year ) = split( '[/.-]', $date );
echo "Month: $month; Day: $day; Year: $year<br>\n";

Observar que pattern distingue entre mayúsculas y minúsculas.

Observar que si no se necesita la potencia de las expresiones regulares, es más rápido utilizar explode(), que no carga el motor de expresiones regulares.

Por favor, observar que pattern es una expresión regular. Si se quiere dividir con alguno de los caracteres especiales de las expresiones regulares, se necesita protegerlo antes. Si pareciera que split() (o cualquier otra función de regex) está haciendo algo irregular, léase el archivo regex.7, incluido en el subdirectorio regex de la distribución de PHP. Está en formato de página de manual, por lo que para leerlo es necesaria una orden como man /usr/local/src/regex/regex.7.

Ver también: explode() e implode().

Anterior | Inicio | Siguiente
eregi | Subir | spliti


spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti -- Separar una cadena en una matriz mediante una expresión regular, no sensible a mayúsculas ni minúsculas

Descripción

array spliti ( string patron, string cadena [, int limite] )

Esta función es idéntica a split(), excepto que ignora la distinción entre mayúsculas y minúsculas cuando realiza coincidencias sobre caracteres alfabéticos.

Este ejemplo separa una cadena usando 'a' como el separador:

Ejemplo 1. Ejemplo de spliti()

<?php
$cadena = "aBBBaCCCADDDaEEEaGGGA";
$segmentos = spliti ("a", $cadena, 5);
print_r($segmentos);
?>

El resultado del ejemplo seria:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Vea también preg_split(),
split(), explode(), e
implode().

Anterior | Inicio | Siguiente
split | Subir | sql_regcase


sql_regcase

(PHP 3, PHP 4, PHP 5)

sql_regcase -- construye una expresión regular para buscar coincidencias sin diferenciar mayúsculas y minúsculas

Descripción

string sql_regcase ( string string )

Devuelve una expresión regular válida que coincide con string sin distinguir mayúsculas y minúsculas. Esta expresión es string con cada carácter convertido a una expresión entre corchetes que contiene el carácter en mayúscula y minúscula, si es posible; en caso contrario, contiene el carácter original dos veces.

Ejemplo 1. sql_regcase() example

echo sql_regcase( "Foo bar" );
imprime
[Ff][Oo][Oo][  ][Bb][Aa][Rr]
.

Se puede utilizar para lograr coincidencias que no diferencien mayúsculas de minúsculas en productos que sólo soportan expresiones regulares que sí distinguen.

Anterior | Inicio | Siguiente
spliti | Subir | Funciones PostgreSQL


Funciones Semáforo y de memoria compartida

Manual de PHP
Anterior Siguiente

CXLIV. Funciones Semáforo y de memoria compartida

Este módulo provee funciones semáforo utilizando los semaforos de System V. Los semáforos pueden usarse para obtener acceso exclusivo a algun recurso del ordenador en cuestión, o para limitar el número de procesos que pueden usar un recurso simultaneamente.

Este módulo provee tambien funciones de memoria compartida, usando el compartimiento de memoria de System V. La memoria compartida puede usarse para proveer acceso a variables globales. Los diferentes demonios http e incluso otros programas, (como Perl, C, ...) son capaces de utilizar estos datos, para intercambiarlos de modo global. Recuerde que, la memoria compartida NO es segura para los accesos simultáneos. Use los semáforos para obtener sincronismo.

Tabla 1. Limites de la memoria compartida del SO Unix

SHMMAX | máximo tamaño de memoria compartida, normalmente 131072 bytes
SHMMIN | minimo tamaño de memoria compartida, por lo general 1 byte
SHMMNI | máxima cantidad de segmentos de memoria compartida, normalmente 100
SHMSEG | máximo de memoria compartida por proceso, normalmente 6

Tabla de contenidos
ftok -- Convert a pathname and a project identifier to a System V IPC key
msg_get_queue -- Create or attach to a message queue
msg_receive -- Receive a message from a message queue
msg_remove_queue -- Destroy a message queue
msg_send -- Send a message to a message queue
msg_set_queue -- Set information in the message queue data structure
msg_stat_queue -- Returns information from the message queue data structure
sem_acquire -- adquiere un semáforo, lo toma para sí
sem_get -- obtiene la identificacion de un semáforo (semaphore id)
sem_release -- release a semaphore
sem_remove -- Remove a semaphore
shm_attach -- Crea o abre un segmento de memoria compartida
shm_detach -- Finaliza conexión con un segmento de memoria compartida
shm_get_var -- Devuelve una variable de la memoria compartida
shm_put_var -- Inserta o actualiza una variable en la memoria compartida
shm_remove_var -- Elimina una variable de la memoria compartida
shm_remove -- Elimina memoria compartida del sistma Unix

Anterior | Inicio | Siguiente
SDO_DAS_Relational::executeQuery | Subir | ftok


ftok

(PHP 4 >= 4.2.0, PHP 5)

ftok -- Convert a pathname and a project identifier to a System V IPC key

Description

int ftok ( string pathname, string proj )

The function converts the pathname of an existing accessible file and a project identifier (proj) into a integer for use with for example shmop_open() and other System V IPC keys. The proj parameter must be a one character string.

On success the return value will be the created key value, otherwise -1 is returned.

See also shmop_open() and sem_get().

Anterior | Inicio | Siguiente
Funciones Semáforo y de memoria compartida | Subir | msg_get_queue


msg_get_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_get_queue -- Create or attach to a message queue

Description

resource msg_get_queue ( int key [, int perms] )

msg_get_queue() returns an id that can be used to access the System V message queue with the given key. The first call creates the message queue with the optional perms (default: 0666). A second call to msg_get_queue() for the same key will return a different message queue identifier, but both identifiers access the same underlying message queue. If the message queue already exists, the perms will be ignored.

See also msg_remove_queue(),
msg_receive(), msg_send(),
msg_stat_queue() and
msg_set_queue().

Anterior | Inicio | Siguiente
ftok | Subir | msg_receive


msg_receive

(PHP 4 >= 4.3.0, PHP 5)

msg_receive -- Receive a message from a message queue

Description

bool msg_receive ( resource queue, int desiredmsgtype, int &msgtype, int maxsize, mixed &message [, bool unserialize [, int flags [, int &errorcode]]] )

msg_receive() will receive the first message from the specified queue of the type specified by desiredmsgtype. The type of the message that was received will be stored in msgtype. The maximum size of message to be accepted is specified by the maxsize; if the message in the queue is larger than this size the function will fail (unless you set flags as described below). The received message will be stored in message, unless there were errors receiving the message, in which case the optional errorcode will be set to the value of the system errno variable to help you identify the cause.

If desiredmsgtype is 0, the message from the front of the queue is returned. If desiredmsgtype is greater than 0, then the first message of that type is returned. If desiredmsgtype is less than 0, the first message on the queue with the lowest type less than or equal to the absolute value of desiredmsgtype will be read. If no messages match the criteria, your script will wait until a suitable message arrives on the queue. You can prevent the script from blocking by specifying MSG_IPC_NOWAIT in the flags parameter.

unserialize defaults to TRUE; if it is set to TRUE, the message is treated as though it was serialized using the same mechanism as the session module. The message will be unserialized and then returned to your script. This allows you to easily receive arrays or complex object structures from other PHP scripts, or if you are using the WDDX serializer, from any WDDX compatible source. If unserialize is FALSE, the message will be returned as a binary-safe string.

The optional flags allows you to pass flags to the low-level msgrcv system call. It defaults to 0, but you may specify one or more of the following values (by adding or ORing them together).

Tabla 1. Flag values for msg_receive

MSG_IPC_NOWAIT | If there are no messages of the desiredmsgtype, return immediately and do not wait. The function will fail and return an integer value corresponding to MSG_ENOMSG.
MSG_EXCEPT | Using this flag in combination with a desiredmsgtype greater than 0 will cause the function to receive the first message that is not equal to desiredmsgtype.
MSG_NOERROR | If the message is longer than maxsize, setting this flag will truncate the message to maxsize and will not signal an error.

Upon successful completion the message queue data structure is updated as follows: msg_lrpid is set to the process-ID of the calling process, msg_qnum is decremented by 1 and msg_rtime is set to the current time.

msg_receive() returns TRUE on success or FALSE on failure. If the function fails, the optional errorcode will be set to the value of the system errno variable.

See also msg_remove_queue(),
msg_send(),
msg_stat_queue() and
msg_set_queue().

Anterior | Inicio | Siguiente
msg_get_queue | Subir | msg_remove_queue


msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_remove_queue -- Destroy a message queue

Description

bool msg_remove_queue ( resource queue )

msg_remove_queue() destroys the message queue specified by the queue. Only use this function when all processes have finished working with the message queue and you need to release the system resources held by it.

See also msg_get_queue(),
msg_receive(),
msg_stat_queue() and
msg_set_queue().

Anterior | Inicio | Siguiente
msg_receive | Subir | msg_send


msg_send

(PHP 4 >= 4.3.0, PHP 5)

msg_send -- Send a message to a message queue

Description

bool msg_send ( resource queue, int msgtype, mixed message [, bool serialize [, bool blocking [, int &errorcode]]] )

msg_send() sends a message of type msgtype (which MUST be greater than 0) to the message queue specified by queue.

If the message is too large to fit in the queue, your script will wait until another process reads messages from the queue and frees enough space for your message to be sent. This is called blocking; you can prevent blocking by setting the optional blocking parameter to FALSE, in which case msg_send() will immediately return FALSE if the message is too big for the queue, and set the optional errorcode to MSG_EAGAIN, indicating that you should try to send your message again a little later on.

The optional serialize controls how the message is sent. serialize defaults to TRUE which means that the message is serialized using the same mechanism as the session module before being sent to the queue. This allows complex arrays and objects to be sent to other PHP scripts, or if you are using the WDDX serializer, to any WDDX compatible client.

Upon successful completion the message queue data structure is updated as follows: msg_lspid is set to the process-ID of the calling process, msg_qnum is incremented by 1 and msg_stime is set to the current time.

See also msg_remove_queue(),
msg_receive(),
msg_stat_queue() and
msg_set_queue().

Anterior | Inicio | Siguiente
msg_remove_queue | Subir | msg_set_queue


msg_set_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_set_queue -- Set information in the message queue data structure

Description

bool msg_set_queue ( resource queue, array data )

msg_set_queue() allows you to change the values of the msg_perm.uid, msg_perm.gid, msg_perm.mode and msg_qbytes fields of the underlying message queue data structure. You specify the values you require by setting the value of the keys that you require in the data array.

Changing the data structure will require that PHP be running as the same user that created the queue, owns the queue (as determined by the existing msg_perm.xxx fields), or be running with root privileges. root privileges are required to raise the msg_qbytes values above the system defined limit.

See also msg_remove_queue(),
msg_receive(),
msg_stat_queue() and
msg_get_queue().

Anterior | Inicio | Siguiente
msg_send | Subir | msg_stat_queue


msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_stat_queue -- Returns information from the message queue data structure

Description

array msg_stat_queue ( resource queue )

msg_stat_queue() returns the message queue meta data for the message queue specified by the queue. This is useful, for example, to determine which process sent the message that was just received.

The return value is an array whose keys and values have the following meanings:

Tabla 1. Array structure for msg_stat_queue

msg_perm.uid | The uid of the owner of the queue.
msg_perm.gid | The gid of the owner of the queue.
msg_perm.mode | The file access mode of the queue.
msg_stime | The time that the last message was sent to the queue.
msg_rtime | The time that the last message was received from the queue.
msg_ctime | The time that the queue was last changed.
msg_qnum | The number of messages waiting to be read from the queue.
msg_qbytes | The number of bytes of space currently available in the queue to hold sent messages until they are received.
msg_lspid | The pid of the process that sent the last message to the queue.
msg_lrpid | The pid of the process that received the last message from the queue.

See also msg_remove_queue(),
msg_receive(),
msg_get_queue() and
msg_set_queue().

Anterior | Inicio | Siguiente
msg_set_queue | Subir | sem_acquire


sem_acquire

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

sem_acquire -- adquiere un semáforo, lo toma para sí

Descripción

int sem_acquire ( int sem_identifier )

Devuelve: Verdadero si hay éxito, falso si hay errores

sem_acquire() Produce un bloqueo (de ser necesario) hasta que el semáforo puede adquirirse. Un proceso intentando adquirir un semáforo ya adquirido, se bloqueará permanentemente si adquiriendo el semáforo, excede su valor de max_acquire.

Despues de procesar una petición, cualquier semáforo adquirido por un proceso, que no sea explícitamente liberado, será liberado automñaticamente, generando un mensaje de alerta.

Véase tambien: sem_get() and sem_release().

Anterior | Inicio | Siguiente
msg_stat_queue | Subir | sem_get


sem_get

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

sem_get -- obtiene la identificacion de un semáforo (semaphore id)

Descripción

int sem_get ( int key [, int max_acquire [, int perm]] )

Devuelve: Un identificador positivo de semáforo en caso de éxito, o falso en caso de error.

sem_get() Devuelve un id que puede usarse para acceder al semáforo de System V con la llave dada. El semáforo se usa si es necesario usando los bits de permisos especificados en perm (por defecto 0666). El número de procesos que pueden adquirir el semáforo simultáneamente, se define en max_acquire (por defecto es 1). Actualmente este valor se fija sólo si el proceso determina que es el único relacionado actualmente al semáforo.

Una segunda llamada a sem_get() para la misma llave, devolverá un id de semáforo diferente, pero con ambos identificadoes, se accederá al mismo semáforo.

Véase también: sem_acquire() y sem_release().

Anterior | Inicio | Siguiente
sem_acquire | Subir | sem_release


sem_release

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

sem_release -- release a semaphore

Descripción

int sem_release ( int sem_identifier )

Returns: TRUE on success, FALSE on error

sem_release() releases the semaphore if it is currently acquired by the calling process, otherwise a warning is generated.

After releasing the semaphore, sem_acquire() may be called to re-acquire it.

Véase tambien: sem_get() y sem_acquire().

Anterior | Inicio | Siguiente
sem_get | Subir | sem_remove


sem_remove

(PHP 4 >= 4.1.0, PHP 5)

sem_remove -- Remove a semaphore

Description

bool sem_remove ( resource sem_identifier )

sem_remove() removes the semaphore sem_identifier if it has been created by sem_get(), otherwise generates a warning.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

After removing the semaphore, it is no more accessible.

See also sem_get(),
sem_release() and
sem_acquire().

Anterior | Inicio | Siguiente
sem_release | Subir | shm_attach


shm_attach

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

shm_attach -- Crea o abre un segmento de memoria compartida

Descripción

int shm_attach ( int key [, int memsize [, int perm]] )

shm_attach() devuelve un identificador que puede usarse para acceder a la memoria compartida de SystemV, con la llave dada, la primera llamada creará el segmento de memoria compartida con mem_size de tamaño (por defecto: sysvshm.init_mem en el archivo de configuración, o bien de 10000 bytes) y los bits de permiso mas apropiados (por defecto: 0666).

Una segunda llamada a shm_attach() con la misma llave devolvera un id diferente de memoria compartida, pero ambos identificadores acceden a la misma porción de memoria compartida. memsize y perm serán ignorados.

Anterior | Inicio | Siguiente
sem_remove | Subir | shm_detach


shm_detach

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

shm_detach -- Finaliza conexión con un segmento de memoria compartida

Descripción

int shm_detach ( int shm_identifier )

shm_detach() finaliza la conexión con la memoria compartida, especificada por el identificador shm_identifier creado con shm_attach(). Hay que recordar que la memoria compartida aún existe en el sistema Unix, y los datos aún están presentes.

Anterior | Inicio | Siguiente
shm_attach | Subir | shm_get_var


shm_get_var

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

shm_get_var -- Devuelve una variable de la memoria compartida

Descripción

mixed shm_get_var ( int id, int variable_key )

shm_get_var() devuelve la variable con la llave variable_key dada. La variable, queda presente en la memoria compartida.

Anterior | Inicio | Siguiente
shm_detach | Subir | shm_put_var


shm_put_var

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

shm_put_var -- Inserta o actualiza una variable en la memoria compartida

Descripción

bool shm_put_var ( int identificador_shm, int clave_variable, mixed variable )

shm_put_var() inserta o actualiza la variable con la clave_variable entregada. Todos los tipos de variables son soportados.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Se emitirán advertencias (del nivel E_WARNING) si identificador_shm no es un índice de memoria compartida SysV, o si no existe suficiente memoria compartida disponible para completar su solicitud.

Anterior | Inicio | Siguiente
shm_get_var | Subir | shm_remove_var


shm_remove_var

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

shm_remove_var -- Elimina una variable de la memoria compartida

Descripción

int shm_remove_var ( int id, int variable_key )

Elimina la varible que se corresponde con la llave variable_key dada, liberando la memoria que ocupaba aquella.

Anterior | Inicio | Siguiente
shm_put_var | Subir | shm_remove


shm_remove

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

shm_remove -- Elimina memoria compartida del sistma Unix

Descripción

int shm_remove ( int shm_identifier )

Elimina la memoria compartida de un sistema Unix, Todos los datos serán destruídos.

Anterior | Inicio | Siguiente
shm_remove_var | Subir | SESAM database functions


SESAM database functions

Manual de PHP
Anterior Siguiente

CXLV. SESAM database functions

SESAM/SQL-Server is a mainframe database system, developed by Fujitsu Siemens Computers, Germany. It runs on high-end mainframe servers using the operating system BS2000/OSD.

In numerous productive BS2000 installations, SESAM/SQL-Server has proven ...

  • the ease of use of Java-, Web- and client/server connectivity,

  • the capability to work with an availability of more than 99.99%,

  • the ability to manage tens and even hundreds of thousands of users.

Now there is a PHP3 SESAM interface available which allows database operations via PHP-scripts.

Configuration notes: There is no standalone support for the PHP SESAM interface, it works only as an integrated Apache module. In the Apache PHP module, this SESAM interface is configured using Apache directives.

Tabla 1. SESAM Configuration directives

Directive Meaning
php3_sesam_oml Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions.

Example:

php3_sesam_oml $.SYSLNK.SESAM-SQL.030

php3_sesam_configfile Name of SESAM application configuration file. Required for using SESAM functions.

Example:

php3_sesam_configfile $SESAM.SESAM.CONF.AW

It will usually contain a configuration like (see SESAM reference manual):

CNF=B
NAM=K
NOTYPE

php3_sesam_messagecatalog Name of SESAM message catalog file. In most cases, this directive is not neccessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive.

Example:

php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030

In addition to the configuration of the PHP/SESAM interface, you have to configure the SESAM-Database server itself on your mainframe as usual. That means:

  • starting the SESAM database handler (DBH), and

  • connecting the databases with the SESAM database handler

To get a connection between a PHP script and the database handler, the CNF and NAM parameters of the selected SESAM configuration file must match the id of the started database handler.

In case of distributed databases you have to start a SESAM/SQL-DCN agent with the distribution table including the host and database names.

The communication between PHP (running in the POSIX subsystem) and the database handler (running outside the POSIX subsystem) is realized by a special driver module called SQLSCI and SESAM connection modules using common memory. Because of the common memory access, and because PHP is a static part of the web server, database accesses are very fast, as they do not require remote accesses via ODBC, JDBC or UTM.

Only a small stub loader (SESMOD) is linked with PHP, and the SESAM connection modules are pulled in from SESAM's OML PLAM library. In the configuration, you must tell PHP the name of this PLAM library, and the file link to use for the SESAM configuration file (As of SESAM V3.0, SQLSCI is available in the SESAM Tool Library, which is part of the standard distribution).

Because the SQL command quoting for single quotes uses duplicated single quotes (as opposed to a single quote preceded by a backslash, used in some other databases), it is advisable to set the PHP configuration directives php3_magic_quotes_gpc and php3_magic_quotes_sybase to On for all PHP scripts using the SESAM interface.

Runtime considerations: Because of limitations of the BS2000 process model, the driver can be loaded only after the Apache server has forked off its server child processes. This will slightly slow down the initial SESAM request of each child, but subsequent accesses will respond at full speed.

When explicitly defining a Message Catalog for SESAM, that catalog will be loaded each time the driver is loaded (i.e., at the initial SESAM request). The BS2000 operating system prints a message after successful load of the message catalog, which will be sent to Apache's error_log file. BS2000 currently does not allow suppression of this message, it will slowly fill up the log.

Make sure that the SESAM OML PLAM library and SESAM configuration file are readable by the user id running the web server. Otherwise, the server will be unable to load the driver, and will not allow to call any SESAM functions. Also, access to the database must be granted to the user id under which the Apache server is running. Otherwise, connections to the SESAM database handler will fail.

Cursor Types: The result cursors which are allocated for SQL "select type" queries can be either "sequential" or "scrollable". Because of the larger memory overhead needed by "scrollable" cursors, the default is "sequential".

When using "scrollable" cursors, the cursor can be freely positioned on the result set. For each "scrollable" query, there are global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT) and the scrolling offset which can either be set once by sesam_seek_row() or each time when fetching a row using sesam_fetch_row(). When fetching a row using a "scrollable" cursor, the following post-processing is done for the global default values for the scrolling type and scrolling offset:

Tabla 2. Scrolled Cursor Post-Processing

Scroll Type | Action
SESAM_SEEK_NEXT | none
SESAM_SEEK_PRIOR | none
SESAM_SEEK_FIRST | set scroll type to SESAM_SEEK_NEXT
SESAM_SEEK_LAST | set scroll type to SESAM_SEEK_PRIOR
SESAM_SEEK_ABSOLUTE | Auto-Increment internal offset value
SESAM_SEEK_RELATIVE | none. (maintain global default offset value, which allows for, e.g., fetching each 10th row backwards)

Porting note: Because in the PHP world it is natural to start indexes at zero (rather than 1), some adaptions have been made to the SESAM interface: whenever an indexed array is starting with index 1 in the native SESAM interface, the PHP interface uses index 0 as a starting point. E.g., when retrieving columns with sesam_fetch_row(), the first column has the index 0, and the subsequent columns have indexes up to (but not including) the column count ($array["count"]). When porting SESAM applications from other high level languages to PHP, be aware of this changed interface. Where appropriate, the description of the respective php sesam functions include a note that the index is zero based.

Security concerns: When allowing access to the SESAM databases, the web server user should only have as little privileges as possible. For most databases, only read access privilege should be granted. Depending on your usage scenario, add more access rights as you see fit. Never allow full control to any database for any user from the 'net! Restrict access to php scripts which must administer the database by using password control and/or SSL security.

Migration from other SQL databases: No two SQL dialects are ever 100% compatible. When porting SQL applications from other database interfaces to SESAM, some adaption may be required. The following typical differences should be noted:

  • Vendor specific data types

    Some vendor specific data types may have to be replaced by standard SQL data types (e.g., TEXT could be replaced by VARCHAR(max. size)).

  • Keywords as SQL identifiers

    In SESAM (as in standard SQL), such identifiers must be enclosed in double quotes (or renamed).

  • Display length in data types

    SESAM data types have a precision, not a display length. Instead of int(4) (intended use: integers up to '9999'), SESAM requires simply int for an implied size of 31 bits. Also, the only datetime data types available in SESAM are: DATE, TIME(3) and TIMESTAMP(3).

  • SQL types with vendor-specific unsigned, zerofill, or auto_increment attributes

    Unsigned and zerofill are not supported. Auto_increment is automatic (use "INSERT ... VALUES(*, ...)" instead of "... VALUES(0, ...)" to take advantage of SESAM-implied auto-increment.

  • int ... DEFAULT '0000'

    Numeric variables must not be initialized with string constants. Use DEFAULT 0 instead. To initialize variables of the datetime SQL data types, the initialization string must be prefixed with the respective type keyword, as in: CREATE TABLE exmpl ( xtime timestamp(3) DEFAULT TIMESTAMP '1970-01-01 00:00:00.000' NOT NULL );

  • $count = xxxx_num_rows();

    Some databases promise to guess/estimate the number of the rows in a query result, even though the returned value is grossly incorrect. SESAM does not know the number of rows in a query result before actually fetching them. If you REALLY need the count, try SELECT COUNT(...) WHERE ..., it will tell you the number of hits. A second query will (hopefully) return the results.

  • DROP TABLE thename;

    In SESAM, in the DROP TABLE command, the table name must be either followed by the keyword RESTRICT or CASCADE. When specifying RESTRICT, an error is returned if there are dependent objects (e.g., VIEWs), while with CASCADE, dependent objects will be deleted along with the specified table.

Notes on the use of various SQL types: SESAM does not currently support the BLOB type. A future version of SESAM will have support for BLOB.

At the PHP interface, the following type conversions are automatically applied when retrieving SQL fields:

Tabla 3. SQL to PHP Type Conversions

SQL Type | PHP Type
SMALLINT, INTEGER | "integer"
NUMERIC, DECIMAL, FLOAT, REAL, DOUBLE | "double"
DATE, TIME, TIMESTAMP | "string"
VARCHAR, CHARACTER | "string"
When retrieving a complete row, the result is returned as an array. Empty fields are not filled in, so you will have to check for the existence of the individual fields yourself (use isset() or empty() to test for empty fields). That allows more user control over the appearance of empty fields (than in the case of an empty string as the representation of an empty field).

Support of SESAM's "multiple fields" feature: The special "multiple fields" feature of SESAM allows a column to consist of an array of fields. Such a "multiple field" column can be created like this:

Ejemplo 1. Creating a "multiple field" column

CREATE TABLE multi_field_test (
    pkey CHAR(20) PRIMARY KEY,
    multi(3) CHAR(12)
)
and can be filled in using:

Ejemplo 2. Filling a "multiple field" column

INSERT INTO multi_field_test (pkey, multi(2..3) )
    VALUES ('Second', <'first_val', 'second_val'>)
Note that (like in this case) leading empty sub-fields are ignored, and the filled-in values are collapsed, so that in the above example the result will appear as multi(1..2) instead of multi(2..3).

When retrieving a result row, "multiple columns" are accessed like "inlined" additional columns. In the example above, "pkey" will have the index 0, and the three "multi(1..3)" columns will be accessible as indices 1 through 3.

For specific SESAM details, please refer to the SESAM/SQL-Server documentation (english) or the SESAM/SQL-Server documentation (german), both available online, or use the respective manuals.

Tabla de contenidos
sesam_affected_rows -- Get number of rows affected by an immediate query
sesam_commit -- Commit pending updates to the SESAM database
sesam_connect -- Open SESAM database connection
sesam_diagnostic -- Return status information for last SESAM call
sesam_disconnect -- Detach from SESAM connection
sesam_errormsg -- Returns error message of last SESAM call
sesam_execimm -- Execute an "immediate" SQL-statement
sesam_fetch_array -- Fetch one row as an associative array
sesam_fetch_result -- Return all or part of a query result
sesam_fetch_row -- Fetch one row as an array
sesam_field_array -- Return meta information about individual columns in a result
sesam_field_name -- Return one column name of the result set
sesam_free_result -- Releases resources for the query
sesam_num_fields -- Return the number of fields/columns in a result set
sesam_query -- Perform a SESAM SQL query and prepare the result
sesam_rollback -- Discard any pending updates to the SESAM database
sesam_seek_row -- Set scrollable cursor mode for subsequent fetches
sesam_settransaction -- Set SESAM transaction parameters

Anterior | Inicio | Siguiente
shm_remove | Subir | sesam_affected_rows


sesam_affected_rows

(PHP 3 CVS only)

sesam_affected_rows -- Get number of rows affected by an immediate query

Description

int sesam_affected_rows ( string result_id )

result_id is a valid result id returned by sesam_query().

Returns the number of rows affected by a query associated with result_id.

The sesam_affected_rows() function can only return useful values when used in combination with "immediate" SQL statements (updating operations like INSERT, UPDATE and DELETE) because SESAM does not deliver any "affected rows" information for "select type" queries. The number returned is the number of affected rows.

See also: sesam_query() and sesam_execimm()

$result = sesam_execimm ("DELETE FROM PHONE WHERE LASTNAME = '".strtoupper ($name)."'");
if (!$result) {
    ... error ...
}
print sesam_affected_rows ($result).
    " entries with last name ".$name." deleted.\n"

Anterior | Inicio | Siguiente
SESAM database functions | Subir | sesam_commit


sesam_commit

(PHP 3 CVS only)

sesam_commit -- Commit pending updates to the SESAM database

Description

bool sesam_commit ( void )

Returns: TRUE on success, FALSE on errors

sesam_commit() commits any pending updates to the database.

Note that there is no "auto-commit" feature as in other databases, as it could lead to accidental data loss. Uncommitted data at the end of the current script (or when calling sesam_disconnect()) will be discarded by an implied sesam_rollback() call.

See also: sesam_rollback().

Ejemplo 1. Committing an update to the SESAM database

<?php
if (sesam_connect ("mycatalog", "myschema", "otto")) {
    if (!sesam_execimm ("INSERT INTO mytable VALUES (*, 'Small Test', <0, 8, 15>)"))
        die("insert failed");
    if (!sesam_commit())
        die("commit failed");
}
?>

Anterior | Inicio | Siguiente
sesam_affected_rows | Subir | sesam_connect


sesam_connect

(PHP 3 CVS only)

sesam_connect -- Open SESAM database connection

Description

bool sesam_connect ( string catalog, string schema, string user )

Returns TRUE if a connection to the SESAM database was made, or FALSE on error.

sesam_connect() establishes a connection to an SESAM database handler task. The connection is always "persistant" in the sense that only the very first invocation will actually load the driver from the configured SESAM OML PLAM library. Subsequent calls will reuse the driver and will immediately use the given catalog, schema, and user.

When creating a database, the "catalog" name is specified in the SESAM configuration directive //ADD-SQL-DATABASE-CATALOG-LIST ENTRY-1 = *CATALOG(CATALOG-NAME = catalogname,...)

The "schema" references the desired database schema (see SESAM handbook).

The "user" argument references one of the users which are allowed to access this "catalog" / "schema" combination. Note that "user" is completely independent from both the system's user id's and from HTTP user/password protection. It appears in the SESAM configuration only.

See also sesam_disconnect().

Ejemplo 1. Connect to a SESAM database

<?php
if (!sesam_connect ("mycatalog", "myschema", "otto")
    die("Unable to connect to SESAM";
?>

Anterior | Inicio | Siguiente
sesam_commit | Subir | sesam_diagnostic


sesam_diagnostic

(PHP 3 CVS only)

sesam_diagnostic -- Return status information for last SESAM call

Description

array sesam_diagnostic ( void )

Returns an associative array of status and return codes for the last SQL query/statement/command. Elements of the array are:

Tabla 1. Status information returned by sesam_diagnostic()

Element | Contents
$array["sqlstate"] | 5 digit SQL return code (see the SESAM manual for the description of the possible values of SQLSTATE)
$array["rowcount"] | number of affected rows in last update/insert/delete (set after "immediate" statements only)
$array["errmsg"] | "human readable" error message string (set after errors only)
$array["errcol"] | error column number of previous error (0-based; or -1 if undefined. Set after errors only)
$array["errlin"] | error line number of previous error (0-based; or -1 if undefined. Set after errors only)

In the following example, a syntax error (E SEW42AE ILLEGAL CHARACTER) is displayed by including the offending SQL statement and pointing to the error location:

Ejemplo 1. Displaying SESAM error messages with error position

<?php
// Function which prints a formatted error message,
// displaying a pointer to the syntax error in the
// SQL statement
function PrintReturncode ($exec_str) {
    $err = Sesam_Diagnostic();
    $colspan=4; // 4 cols for: sqlstate, errlin, errcol, rowcount
    if ($err["errlin"] == -1)
        --$colspan;
    if ($err["errcol"] == -1)
        --$colspan;
    if ($err["rowcount"] == 0)
        --$colspan;
    echo "<TABLE BORDER>\n";
    echo "<TR><TH COLSPAN=".$colspan."><FONT COLOR=red>ERROR:</FONT> ".
          htmlspecialchars($err["errmsg"])."</TH></TR>\n";
    if ($err["errcol"] >= 0) {
        echo "<TR><TD COLSPAN=".$colspan."><PRE>\n";
        $errstmt = $exec_str."\n";
        for ($lin=0; $errstmt != ""; ++$lin) {
            if ($lin != $err["errlin"]) { // $lin is less or greater than errlin
                if (!($i = strchr ($errstmt, "\n")))
                    $i = "";
                $line = substr ($errstmt, 0, strlen($errstmt)-strlen($i)+1);
                $errstmt = substr($i, 1);
                if ($line != "\n")
                    print htmlspecialchars ($line);
            } else {
                if (! ($i = strchr ($errstmt, "\n")))
                    $i = "";
                $line = substr ($errstmt, 0, strlen ($errstmt)-strlen($i)+1);
                $errstmt = substr($i, 1);
                for ($col=0; $col < $err["errcol"]; ++$col)
                    echo (substr($line, $col, 1) == "\t") ? "\t" : ".";
                echo "<FONT COLOR=RED><BLINK>\\</BLINK></FONT>\n";
                print "<FONT COLOR=\"#880000\">".htmlspecialchars($line)."</FONT>";
                for ($col=0; $col < $err["errcol"]; ++$col)
                    echo (substr ($line, $col, 1) == "\t") ? "\t" : ".";
                echo "<FONT COLOR=RED><BLINK>/</BLINK></FONT>\n";
            }
        }
        echo "</PRE></TD></TR>\n";
    }
    echo "<TR>\n";
    echo " <TD>sqlstate=" . $err["sqlstate"] . "</TD>\n";
    if ($err["errlin"] != -1)
        echo " <TD>errlin=" . $err["errlin"] . "</TD>\n";
    if ($err["errcol"] != -1)
        echo " <TD>errcol=" . $err["errcol"] . "</TD>\n";
    if ($err["rowcount"] != 0)
         echo " <TD>rowcount=" . $err["rowcount"] . "</TD>\n";
    echo "</TR>\n";
    echo "</TABLE>\n";
}

if (!sesam_connect ("mycatalog", "phoneno", "otto"))
  die ("cannot connect");

$stmt = "SELECT * FROM phone\n".
        " WHERE@ LASTNAME='KRAEMER'\n".
        " ORDER BY FIRSTNAME";
if (!($result = sesam_query ($stmt)))
    PrintReturncode ($stmt);
?>

See also: sesam_errormsg() for simple access to the error string only

Anterior | Inicio | Siguiente
sesam_connect | Subir | sesam_disconnect


sesam_disconnect

(PHP 3 CVS only)

sesam_disconnect -- Detach from SESAM connection

Description

bool sesam_disconnect ( void )

Returns: always TRUE.

sesam_disconnect() closes the logical link to a SESAM database (without actually disconnecting and unloading the driver).

Note that this isn't usually necessary, as the open connection is automatically closed at the end of the script's execution. Uncommitted data will be discarded, because an implicit sesam_rollback() is executed.

sesam_disconnect() will not close the persistent link, it will only invalidate the currently defined "catalog", "schema" and "user" triple, so that any sesam function called after sesam_disconnect() will fail.

See also: sesam_connect().

Ejemplo 1. Closing a SESAM connection

if (sesam_connect ("mycatalog", "myschema", "otto")) {
    ... some queries and stuff ...
    sesam_disconnect();
}

Anterior | Inicio | Siguiente
sesam_diagnostic | Subir | sesam_errormsg


sesam_errormsg

(PHP 3 CVS only)

sesam_errormsg -- Returns error message of last SESAM call

Description

string sesam_errormsg ( void )

Returns the SESAM error message associated with the most recent SESAM error.

if (!sesam_execimm ($stmt))
  printf ("%s<br>\n", sesam_errormsg());

See also: sesam_diagnostic() for the full set of SESAM SQL status information

Anterior | Inicio | Siguiente
sesam_disconnect | Subir | sesam_execimm


sesam_execimm

(PHP 3 CVS only)

sesam_execimm -- Execute an "immediate" SQL-statement

Description

string sesam_execimm ( string query )

Returns: A SESAM "result identifier" on success, or FALSE on error.

sesam_execimm() executes an "immediate" statement (i.e., a statement like UPDATE, INSERT or DELETE which returns no result, and has no INPUT or OUTPUT variables). "select type" queries can not be used with sesam_execimm(). Sets the affected_rows value for retrieval by the sesam_affected_rows() function.

Note that sesam_query() can handle both "immediate" and "select-type" queries. Use sesam_execimm() only if you know beforehand what type of statement will be executed. An attempt to use SELECT type queries with sesam_execimm() will return $err["sqlstate"] == "42SBW".

The returned "result identifier" can not be used for retrieving anything but the sesam_affected_rows(); it is only returned for symmetry with the sesam_query() function.

$stmt = "INSERT INTO mytable VALUES ('one', 'two')";
$result = sesam_execimm ($stmt);
$err = sesam_diagnostic();
print ("sqlstate = ".$err["sqlstate"]."\n".
       "Affected rows = ".$err["rowcount"]." == ".
       sesam_affected_rows($result)."\n");

See also: sesam_query() and sesam_affected_rows().

Anterior | Inicio | Siguiente
sesam_errormsg | Subir | sesam_fetch_array


sesam_fetch_array

(PHP 3 CVS only)

sesam_fetch_array -- Fetch one row as an associative array

Description

array sesam_fetch_array ( string result_id [, int whence [, int offset]] )

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

sesam_fetch_array() is an alternative version of sesam_fetch_row(). Instead of storing the data in the numeric indices of the result array, it stores the data in associative indices, using the field names as keys.

result_id is a valid result id returned by sesam_query() (select type queries only!).

For the valid values of the optional whenceand offset parameters, see the sesam_fetch_row() function for details.

sesam_fetch_array() fetches one row of data from the result associated with the specified result identifier. The row is returned as an associative array. Each result column is stored with an associative index equal to its column (aka. field) name. The column names are converted to lower case.

Columns without a field name (e.g., results of arithmetic operations) and empty fields are not stored in the array. Also, if two or more columns of the result have the same column names, the later column will take precedence. In this situation, either call sesam_fetch_row() or make an alias for the column.

SELECT TBL1.COL AS FOO, TBL2.COL AS BAR FROM TBL1, TBL2

A special handling allows fetching "multiple field" columns (which would otherwise all have the same column names). For each column of a "multiple field", the index name is constructed by appending the string "(n)" where n is the sub-index of the multiple field column, ranging from 1 to its declared repetition factor. The indices are NOT zero based, in order to match the nomenclature used in the respective query syntax. For a column declared as:

CREATE TABLE ... ( ... MULTI(3) INT )

the associative indices used for the individual "multiple field" columns would be "multi(1)", "multi(2)", and "multi(3)" respectively.

Subsequent calls to sesam_fetch_array() would return the next (or prior, or n'th next/prior, depending on the scroll attributes) row in the result set, or FALSE if there are no more rows.

Ejemplo 1. SESAM fetch array

<?php
$result = sesam_query ("SELECT * FROM phone\n".
                       "  WHERE LASTNAME='".strtoupper($name)."'\n".
                       "  ORDER BY FIRSTNAME", 1);
if (!$result) {
    ... error ...
}
// print the table:
print "<TABLE BORDER>\n";
while (($row = sesam_fetch_array ($result)) && count ($row) > 0) {
    print " <TR>\n";
    print " <TD>".htmlspecialchars ($row["firstname"])."</TD>\n";
    print " <TD>".htmlspecialchars ($row["lastname"])."</TD>\n";
    print " <TD>".htmlspecialchars ($row["phoneno"])."</TD>\n";
    print " </TR>\n";
}
print "</TABLE>\n";
sesam_free_result ($result);
?>

See also: sesam_fetch_row() which returns an indexed array.

Anterior | Inicio | Siguiente
sesam_execimm | Subir | sesam_fetch_result


sesam_fetch_result

(PHP 3 CVS only)

sesam_fetch_result -- Return all or part of a query result

Description

mixed sesam_fetch_result ( string result_id [, int max_rows] )

Returns a mixed array with the query result entries, optionally limited to a maximum of max_rows rows. Note that both row and column indexes are zero-based.

Tabla 1. Mixed result set returned by sesam_fetch_result()

Array Element | Contents
int $arr["count"] | number of columns in result set (or zero if this was an "immediate" query)
int $arr["rows"] | number of rows in result set (between zero and max_rows)
bool $arr["truncated"] | TRUE if the number of rows was at least max_rows, FALSE otherwise. Note that even when this is TRUE, the next sesam_fetch_result() call may return zero rows because there are no more result entries.
mixed $arr[col][row] | result data for all the fields at row(row) and column(col), (where the integer index row is between 0 and $arr["rows"]-1, and col is between 0 and $arr["count"]-1). Fields may be empty, so you must check for the existence of a field by using the php isset() function. The type of the returned fields depend on the respective SQL type declared for its column (see SESAM overview for the conversions applied). SESAM "multiple fields" are "inlined" and treated like a sequence of columns.
Note that the amount of memory used up by a large query may be gigantic. Use the max_rows parameter to limit the maximum number of rows returned, unless you are absolutely sure that your result will not use up all available memory.

See also: sesam_fetch_row(), and sesam_field_array() to check for "multiple fields". See the description of the sesam_query() function for a complete example using sesam_fetch_result().

Anterior | Inicio | Siguiente
sesam_fetch_array | Subir | sesam_fetch_row


sesam_fetch_row

(PHP 3 CVS only)

sesam_fetch_row -- Fetch one row as an array

Description

array sesam_fetch_row ( string result_id [, int whence [, int offset]] )

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

The number of columns in the result set is returned in an associative array element $array["count"]. Because some of the result columns may be empty, the count() function can not be used on the result row returned by sesam_fetch_row().

result_id is a valid result id returned by sesam_query() (select type queries only!).

whence is an optional parameter for a fetch operation on "scrollable" cursors, which can be set to the following predefined constants:

Tabla 1. Valid values for "whence" parameter

Value | Constant | Meaning
0 | SESAM_SEEK_NEXT | read sequentially (after fetch, the internal default is set to SESAM_SEEK_NEXT)
1 | SESAM_SEEK_PRIOR | read sequentially backwards (after fetch, the internal default is set to SESAM_SEEK_PRIOR)
2 | SESAM_SEEK_FIRST | rewind to first row (after fetch, the default is set to SESAM_SEEK_NEXT)
3 | SESAM_SEEK_LAST | seek to last row (after fetch, the default is set to SESAM_SEEK_PRIOR)
4 | SESAM_SEEK_ABSOLUTE | seek to absolute row number given as offset (Zero-based. After fetch, the internal default is set to SESAM_SEEK_ABSOLUTE, and the internal offset value is auto-incremented)
5 | SESAM_SEEK_RELATIVE | seek relative to current scroll position, where offset can be a positive or negative offset value.
This parameter is only valid for "scrollable" cursors.

When using "scrollable" cursors, the cursor can be freely positioned on the result set. If the whence parameter is omitted, the global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT, and settable by sesam_seek_row()) are used. If whence is supplied, its value replaces the global default.

offset is an optional parameter which is only evaluated (and required) if whence is either SESAM_SEEK_RELATIVE or SESAM_SEEK_ABSOLUTE. This parameter is only valid for "scrollable" cursors.

sesam_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array (indexed by values between 0 and $array["count"]-1). Fields may be empty, so you must check for the existence of a field by using the php isset() function. The type of the returned fields depend on the respective SQL type declared for its column (see SESAM overview for the conversions applied). SESAM "multiple fields" are "inlined" and treated like a sequence of columns.

Subsequent calls to sesam_fetch_row() would return the next (or prior, or n'th next/prior, depending on the scroll attributes) row in the result set, or FALSE if there are no more rows.

Ejemplo 1. SESAM fetch rows

<?php
$result = sesam_query ("SELECT * FROM phone\n".
                       "  WHERE LASTNAME='".strtoupper($name)."'\n".
                       "  ORDER BY FIRSTNAME", 1);
if (!$result) {
    ... error ...
}
// print the table in backward order
print "<TABLE BORDER>\n";
$row = sesam_fetch_row ($result, SESAM_SEEK_LAST);
while (is_array ($row)) {
    print " <TR>\n";
    for ($col = 0; $col < $row["count"]; ++$col) {
        print "  <TD>".htmlspecialchars ($row[$col])."</TD>\n";
    }
    print " </TR>\n";
    // use implied SESAM_SEEK_PRIOR
    $row = sesam_fetch_row ($result);
}
print "</TABLE>\n";
sesam_free_result ($result);
?>

See also: sesam_fetch_array() which returns an associative array, and sesam_fetch_result() which returns many rows per invocation.

Anterior | Inicio | Siguiente
sesam_fetch_result | Subir | sesam_field_array


sesam_field_array

(PHP 3 CVS only)

sesam_field_array -- Return meta information about individual columns in a result

Description

array sesam_field_array ( string result_id )

result_id is a valid result id returned by sesam_query().

Returns a mixed associative/indexed array with meta information (column name, type, precision, ...) about individual columns of the result after the query associated with result_id.

Tabla 1. Mixed result set returned by sesam_field_array()

Array Element | Contents
int $arr["count"] | Total number of columns in result set (or zero if this was an "immediate" query). SESAM "multiple fields" are "inlined" and treated like the respective number of columns.
string $arr[col]["name"] | column name for column(col), where col is between 0 and $arr["count"]-1. The returned value can be the empty string (for dynamically computed columns). SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same column name.
string $arr[col]["count"] | The "count" attribute describes the repetition factor when the column has been declared as a "multiple field". Usually, the "count" attribute is 1. The first column of a "multiple field" column however contains the number of repetitions (the second and following column of the "multiple field" contain a "count" attribute of 1). This can be used to detect "multiple fields" in the result set. See the example shown in the sesam_query() description for a sample use of the "count" attribute.
string $arr[col]["type"] php variable type of the data for column(col), where col is between 0 and $arr["count"]-1. The returned value can be one of

  • "integer"

  • "double"

  • "string"

depending on the SQL type of the result. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same php type.
string $arr[col]["sqltype"] SQL variable type of the column data for column(col), where col is between 0 and $arr["count"]-1. The returned value can be one of

  • "CHARACTER"

  • "VARCHAR"

  • "NUMERIC"

  • "DECIMAL"

  • "INTEGER"

  • "SMALLINT"

  • "FLOAT"

  • "REAL"

  • "DOUBLE"

  • "DATE"

  • "TIME"

  • "TIMESTAMP"

describing the SQL type of the result. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same SQL type.
string $arr[col]["length"] | The SQL "length" attribute of the SQL variable in column(col), where col is between 0 and $arr["count"]-1. The "length" attribute is used with "CHARACTER" and "VARCHAR" SQL types to specify the (maximum) length of the string variable. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same length attribute.
string $arr[col]["precision"] | The "precision" attribute of the SQL variable in column(col), where col is between 0 and $arr["count"]-1. The "precision" attribute is used with numeric and time data types. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same precision attribute.
string $arr[col]["scale"] | The "scale" attribute of the SQL variable in column(col), where col is between 0 and $arr["count"]-1. The "scale" attribute is used with numeric data types. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same scale attribute.

See the sesam_query() function for an example of the sesam_field_array() use.

Anterior | Inicio | Siguiente
sesam_fetch_row | Subir | sesam_field_name


sesam_field_name

(PHP 3 CVS only)

sesam_field_name -- Return one column name of the result set

Description

int sesam_field_name ( string result_id, int index )

Returns the name of a field (i.e., the column name) in the result set, or FALSE on error.

For "immediate" queries, or for dynamic columns, an empty string is returned.

Nota: The column index is zero-based, not one-based as in SESAM.

See also: sesam_field_array(). It provides an easier interface to access the column names and types, and allows for detection of "multiple fields".

Anterior | Inicio | Siguiente
sesam_field_array | Subir | sesam_free_result


sesam_free_result

(PHP 3 CVS only)

sesam_free_result -- Releases resources for the query

Description

int sesam_free_result ( string result_id )

Releases resources for the query associated with result_id. Returns FALSE on error.

Anterior | Inicio | Siguiente
sesam_field_name | Subir | sesam_num_fields


sesam_num_fields

(PHP 3 CVS only)

sesam_num_fields -- Return the number of fields/columns in a result set

Description

int sesam_num_fields ( string result_id )

After calling sesam_query() with a "select type" query, this function gives you the number of columns in the result. Returns an integer describing the total number of columns (aka. fields) in the current result_id result set or FALSE on error.

For "immediate" statements, the value zero is returned. The SESAM "multiple field" columns count as their respective dimension, i.e., a three-column "multiple field" counts as three columns.

See also: sesam_query() and sesam_field_array() for a way to distinguish between "multiple field" columns and regular columns.

Anterior | Inicio | Siguiente
sesam_free_result | Subir | sesam_query


sesam_query

(PHP 3 CVS only)

sesam_query -- Perform a SESAM SQL query and prepare the result

Description

string sesam_query ( string query [, bool scrollable] )

Returns: A SESAM "result identifier" on success, or FALSE on error.

A "result_id" resource is used by other functions to retrieve the query results.

sesam_query() sends a query to the currently active database on the server. It can execute both "immediate" SQL statements and "select type" queries. If an "immediate" statement is executed, then no cursor is allocated, and any subsequent sesam_fetch_row() or sesam_fetch_result() call will return an empty result (zero columns, indicating end-of-result). For "select type" statements, a result descriptor and a (scrollable or sequential, depending on the optional boolean scrollable parameter) cursor will be allocated. If scrollable is omitted, the cursor will be sequential.

When using "scrollable" cursors, the cursor can be freely positioned on the result set. For each "scrollable" query, there are global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT) and the scrolling offset which can either be set once by sesam_seek_row() or each time when fetching a row using sesam_fetch_row().

For "immediate" statements, the number of affected rows is saved for retrieval by the sesam_affected_rows() function.

See also: sesam_fetch_row() and sesam_fetch_result().

Ejemplo 1. Show all rows of the "phone" table as a html table

<?php
if (!sesam_connect ("phonedb", "demo", "otto"))
    die ("cannot connect");
$result = sesam_query ("select * from phone");
if (!$result) {
    $err = sesam_diagnostic();
    die ($err["errmsg"]);
}
echo "<TABLE BORDER>\n";
// Add title header with column names above the result:
if ($cols = sesam_field_array ($result)) {
    echo " <TR><TH COLSPAN=".$cols["count"].">Result:</TH></TR>\n";
    echo " <TR>\n";
    for ($col = 0; $col < $cols["count"]; ++$col) {
        $colattr = $cols[$col];
        /* Span the table head over SESAM's "Multiple Fields": */
        if ($colattr["count"] > 1) {
            echo "  <TH COLSPAN=".$colattr["count"].">".$colattr["name"].
                "(1..".$colattr["count"].")</TH>\n";
            $col += $colattr["count"] - 1;
        } else
            echo "  <TH>" . $colattr["name"] . "</TH>\n";
    }
    echo " </TR>\n";
}

do {
    // Fetch the result in chunks of 100 rows max.
    $ok = sesam_fetch_result ($result, 100);
    for ($row=0; $row < $ok["rows"]; ++$row) {
        echo " <TR>\n";
        for ($col = 0; $col < $ok["cols"]; ++$col) {
            if (isset($ok[$col][$row]))
                echo "  <TD>" . $ok[$col][$row] . "</TD>\n";
            } else {
                echo "  <TD>-empty-</TD>\n";
            }
        }
        echo " </TR>\n";
    }
}
while ($ok["truncated"]) { // while there may be more data
    echo "</TABLE>\n";
}
// free result id
sesam_free_result($result);
?>

Anterior | Inicio | Siguiente
sesam_num_fields | Subir | sesam_rollback


sesam_rollback

(PHP 3 CVS only)

sesam_rollback -- Discard any pending updates to the SESAM database

Description

bool sesam_rollback ( void )

Returns: TRUE on success, FALSE on errors

sesam_rollback() discards any pending updates to the database. Also affected are result cursors and result descriptors.

At the end of each script, and as part of the sesam_disconnect() function, an implied sesam_rollback() is executed, discarding any pending changes to the database.

See also: sesam_commit().

Ejemplo 1. Discarding an update to the SESAM database

<?php
if (sesam_connect ("mycatalog", "myschema", "otto")) {
    if (sesam_execimm ("INSERT INTO mytable VALUES (*, 'Small Test', <0, 8, 15>)")
        && sesam_execimm ("INSERT INTO othertable VALUES (*, 'Another Test', 1)"))
        sesam_commit();
    else
        sesam_rollback();
}
?>

Anterior | Inicio | Siguiente
sesam_query | Subir | sesam_seek_row


sesam_seek_row

(PHP 3 CVS only)

sesam_seek_row -- Set scrollable cursor mode for subsequent fetches

Description

bool sesam_seek_row ( string result_id, int whence [, int offset] )

result_id is a valid result id (select type queries only, and only if a "scrollable" cursor was requested when calling sesam_query()).

whence sets the global default value for the scrolling type, it specifies the scroll type to use in subsequent fetch operations on "scrollable" cursors, which can be set to the following predefined constants:

Tabla 1. Valid values for "whence" parameter

Value | Constant | Meaning
0 | SESAM_SEEK_NEXT | read sequentially
1 | SESAM_SEEK_PRIOR | read sequentially backwards
2 | SESAM_SEEK_FIRST | fetch first row (after fetch, the default is set to SESAM_SEEK_NEXT)
3 | SESAM_SEEK_LAST | fetch last row (after fetch, the default is set to SESAM_SEEK_PRIOR)
4 | SESAM_SEEK_ABSOLUTE | fetch absolute row number given as offset (Zero-based. After fetch, the default is set to SESAM_SEEK_ABSOLUTE, and the offset value is auto-incremented)
5 | SESAM_SEEK_RELATIVE | fetch relative to current scroll position, where offset can be a positive or negative offset value (this also sets the default "offset" value for subsequent fetches).

offset is an optional parameter which is only evaluated (and required) if whence is either SESAM_SEEK_RELATIVE or SESAM_SEEK_ABSOLUTE.

Anterior | Inicio | Siguiente
sesam_rollback | Subir | sesam_settransaction


sesam_settransaction

(PHP 3 CVS only)

sesam_settransaction -- Set SESAM transaction parameters

Description

bool sesam_settransaction ( int isolation_level, int read_only )

Returns: TRUE if the values are valid, and the settransaction() operation was successful, FALSE otherwise.

sesam_settransaction() overrides the default values for the "isolation level" and "read-only" transaction parameters (which are set in the SESAM configuration file), in order to optimize subsequent queries and guarantee database consistency. The overridden values are used for the next transaction only.

sesam_settransaction() can only be called before starting a transaction, not after the transaction has been started already.

To simplify the use in php scripts, the following constants have been predefined in php (see SESAM handbook for detailed explanation of the semantics):

Tabla 1. Valid values for "Isolation_Level" parameter

Value | Constant | Meaning
1 | SESAM_TXISOL_READ_UNCOMMITTED | Read Uncommitted
2 | SESAM_TXISOL_READ_COMMITTED | Read Committed
3 | SESAM_TXISOL_REPEATABLE_READ | Repeatable Read
4 | SESAM_TXISOL_SERIALIZABLE | Serializable

Tabla 2. Valid values for "Read_Only" parameter

Value | Constant | Meaning
0 | SESAM_TXREAD_READWRITE | Read/Write
1 | SESAM_TXREAD_READONLY | Read-Only

The values set by sesam_settransaction() will override the default setting specified in the SESAM configuration file.

Ejemplo 1. Setting SESAM transaction parameters

<?php
sesam_settransaction (SESAM_TXISOL_REPEATABLE_READ,
                     SESAM_TXREAD_READONLY);
?>

Anterior | Inicio | Siguiente
sesam_seek_row | Subir | PostgreSQL Session Save Handler


Funciones para el manejo de sesiones

Manual de PHP
Anterior Siguiente

CXLVII. Funciones para el manejo de sesiones

El apoyo que PHP proporciona para las sesiones consiste en una forma de conservar ciertos datos a lo largo de los subsiguientes accesos, lo cual le permite construir aplicaciones más personalizadas e incrementar el atractivo de su sitio web.

Si ya está familiarizado con el tratamiento de sesiones de PHPLIB, notará que algunos conceptos son similares al soporte de las sesiones de PHP.

A cada visitante que accede a su web se le asigna un identificador único, llamado "session id" (identificador de sesión). Éste se almacena en una cookie por parte del usuario o se propaga en la URL.

El soporte de las sesiones le permite registrar un número arbitrario de variables que se conservarán en las siguientes peticiones. Cuando un visitante acceda a su web, PHP comprobará automáticamente (si session.auto_start está puesto a 1) o cuando usted lo especifique (de forma explícita mendiante session_start() o implícita a través de session_register()) si se le ha enviado un "session id" específico con su petición, en cuyo caso se recrean las variables que se habían guardado anteriormente.

Todas las variables registradas son almacenadas tras finalizar la petición. Las variables que están indefinidas se marcan como no definidas. En los subsiguientes accesos, no estarán definidas por el módulo de sesiones a menos que el usuario las defina más tarde.

Las opciones de configuración track_vars y register_globals influyen notablemente en la forma en que las variables de la sesión se almacenan y restauran.

Nota: A partir de PHP 4.0.3, track_vars siempre está activado.

Nota: A partir de PHP 4.1.0, $_SESSION está disponible como variable global, al igual que $_POST, $_GET, $_REQUEST y demás. Al contrario que $HTTP_SESSION_VARS, $_SESSION siempre es global. Por tanto, no se debe usar global para $_SESSION.

Si track_vars está activado y register_globals está desactivado, sólo los miembros del vector asociativo global $HTTP_SESSION_VARS pueden ser registrados como variables de la sesión. Las variables restauradas de la sesión sólo estarán disponibles en el vector $HTTP_SESSION_VARS.

Ejemplo 1. Registrar una variable con track_vars activado

<?php
session_start();
if (isset($HTTP_SESSION_VARS['count'])) {
   $HTTP_SESSION_VARS['count']++;
}
else {
   $HTTP_SESSION_VARS['count'] = 0;
}
?>

Se recomienda usar $_SESSION (o $HTTP_SESSION_VARS con PHP 4.0.6 o inferior) por seguridad y para hacer el código más legible. Con $_SESSION o $HTTP_SESSION_VARS, no es necesario usar las funciones session_register() / session_unregister() / session_is_registered(). Los usuarios pueden acceder a una variable de la sesión como si se tratase de una variable normal.

Ejemplo 2. Registrar una variable con $_SESSION.

<?php
session_start();
// Use $HTTP_SESSION_VARS con PHP 4.0.6 o inferior
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
} else {
    $_SESSION['count']++;
}
?>

Ejemplo 3. Borrar una variable con $_SESSION.

<?php
session_start();
// Use $HTTP_SESSION_VARS con PHP 4.0.6 o inferior
unset($_SESSION['count']);
?>

Si register_globals está activado, todas las variables globales pueden ser registradas como variables de la sesión, y las variables de la sesión serán restauradas a sus correspondientes variables globales. Como PHP debe saber qué variables globles están registradas como variables de la sesión, los usuarios deben registrar las variables con la función session_register(), mientras que con $HTTP_SESSION_VARS/$_SESSION no es necesario usar session_register().

Atención

Si está usando $HTTP_SESSION_VARS/$_SESSION y desactiva register_globals, no use session_register(), session_is_registered() ni session_unregister().

Si activa register_globals, session_unregister() debería ser usado a partir de que las variables de la sesión sean registradas como variables globales cuando los datos de la sesión se guardan. Se recomienda desactivar register_globals por motivos de seguridad y rendimiendo.

Ejemplo 4. Registrar una variable con register_globals activado

<?php
if (!session_is_registered('count')) {
    session_register("count");
    $count = 0;
}
else {
    $count++;
}
?>

Si track_vars y register_globals están activados, las variables globales y las entradas de $HTTP_SESSION_VARS/$_SESSION harán referencia al mismo valor para variables ya registradas.

Si el usuario utiliza session_register() para registrar una variable, el vector $HTTP_SESSION_VARS/$_SESSION no contendrá esa variable hasta que se cargue de los datos de la sesión. (p.ej. hasta la próxima petición).

Hay dos formas de propagar un "session id":

  • Cookies

  • Parámetro en la URL

El módulo de sesiones admite ambas formas. Las Cookies son la mejor opción, pero como no son fiables (los clientes no están obligados a aceptarlas), no podemos confiar en ellas. El segundo método incrusta el "session id" directamente en las URLs.

PHP es capaz de hacerlo de forma transparente al usuario cuando se compila con --enable-trans-sid. Si activa esta opción, las URIs relativas serán modificadas de forma que contengan el session id automáticamente. Alternativamente, puede usar la constante SID que está definida, si el cliente no envía la cookie adecuada. El SID puede tener la forma de nombre_de_sesion=session_id o ser una cadena vacía.

El ejemplo siguiente demuestra cómo registrar una variable, y cómo colocar correctamente un enlace a otra página usando la constante SID.

Ejemplo 5. Contar el número de impresiones de un usuario

<?php
if (!session_is_registered('count')) {
    session_register('count');
    $count = 1;
}
else {
    $count++;
}
?>

Hola, visitante. Has visto esta p&aacute;gina <?php echo $count; ?> veces.

<?php
# el <?php echo SID?> (Se puede usar <?=SID?> si short tag est&aacute; activado)
# es necesario para conservar el session id
# en caso de que el usuario haya desactivado las cookies
?>

Para continuar, haga click <A HREF="nextpage.php?<?php echo SID?>">aqu&iacute;</A>.

El <?=SID?> no es necesario si se ha usado --enable-trans-sid al compilar PHP.

Nota: Se asume que las URLs no relativas apuntan a sitios web externos, y por tanto no se añade el SID, ya que pasar el SID a un servidor diferente podría ocasionar un agujero de seguridad.

Para implementar el almacenamiento en bases de datos o en otro tipo de almacenamiento, necesitará usar session_set_save_handler()() para crear una colección de funciones de almacenamiento a nivel de usuario.

El sistema de control de sesiones soporta varias opciones de configuración que puede colocar en su archivo php.ini. Les daremos un pequeño repaso.

  • session.save_handler define el nombre del controlador que se usa para almacenar y recuperar los datos asociados a la sesión. Su valor por defecto es files.

  • session.save_path define el argumento que se pasa al controlador de almacenamiento. Si elige el controlador de archivos por defecto, esta es la ruta donde los archivos se crean. Por defecto es /tmp. Si la profundidad de la ruta de session.save_path es mayor que 2, no se llevará a cabo la recolección de basura.

    Aviso

    Si lo deja apuntando a un directorio con permiso de lectura por el resto de usuarios, como /tmp (la opción por defecto), los demás usuarios del servidor pueden conseguir robar las sesiones obteniéndolas de la lista de archivos de ese directorio.

  • session.name especifica el nombre de la sesión que se usa como nombre de la cookie. Sólo debería contener caracteres alfanuméricos. Por defecto vale PHPSESSID.

  • session.auto_start especifica si el módulo de las sesión inicia una sesión automáticamente al comenzar la petición. Por defecto está 0 (desactivado).

  • session.cookie_lifetime especifica la duración de la cookie en segundos que se manda al navegador. El valor 0 significa "hasta que se cierra el navegador", y es el que se encuentra por defecto.

  • session.serialize_handler define el nombre del controlador que se utiliza para guardar y restaurar los datos. Actualmente se soportan un formato interno de PHP (cuyo nombre es php) y WDDX (cuyo nombre es wddx). WDDX sólo está disponible si PHP está compilado con Soporte para WDDX. Por defecto es php.

  • session.gc_probability especifica la probabilidad de que se inicie la rutina gc (garbage collection - recoleción de basura) en cada petición en porcentaje. Por defecto es 1.

  • session.gc_maxlifetime especifica el número de segundos tras los cuales los datos se considerarán como 'basura' y serán eliminados.

  • session.referer_check contiene la subcadena que usted quiera que se compruebe en cada "HTTP Referer" (N.T.: Página desde donde proviene el enlace a la página actual). Si el "Referer" fue enviado por el cliente y la subcadena no se ha encontrado, el session id incrustado será marcado como inválido. Por defecto es una cadena vacía.

  • session.entropy_file indica la ruta a un recurso externo (un archivo) que se usará como fuente adicional de entropía en el proceso de creación de session id's. Por ejemplo /dev/random o /dev/urandom, que están disponibles en muchos sistemas Unix.

  • session.entropy_length especifica el número de bytes que serán leidos del archivo indicado más arriba. Por defecto es 0 (desactivado).

  • session.use_cookies indica si el módulo puede usar cookies para guardar el session id en el lado del cliente. Por defecto está a 1 (activado).

  • session.cookie_path especifica la ruta a colocar en session_cookie. Por defecto es /.

  • session.cookie_domain especifica el dominio a establecer en session_cookie. Por defecto no se especifica ninguno en ningún caso.

  • session.cache_limiter especifica el método de control del caché a usar en las páginas de la sesión (none/nocache/private/private_no_expire/public). Por defecto es nocache (no guardar las páginas en el caché).

  • session.cache_expire especifica el tiempo-de-vida de las páginas de la sesión que se encuentran en el caché en minutos. No tiene efecto para el limitador nocache. Por defecto vale 180.

  • session.use_trans_sid indica si la inclusión del sid transparente está activada o no, si fue activada compilando con --enable-trans-sid. Por defecto está a 1 (activado).

  • url_rewriter.tags especifica qué etiquetas html serán reescritas para incluir el session id si la inclusión del sid transparente está activada. Las etiquetas por defecto son a=href,area=href,frame=src,input=src,form=fakeentry

Nota: El manejo de sesiones fue añadido en PHP 4.0.

Tabla de contenidos
session_cache_expire -- Devuelve la caducidad actual del caché
session_cache_limiter -- Lee y/o cambia el limitador del caché actual
session_commit -- Alias of session_write_close()
session_decode -- Decodifica los datos de una sesión a partir de una cadena
session_destroy -- Destruye todos los datos guardados en una sesión
session_encode -- Codifica los datos de la sesión actual en una cadena
session_get_cookie_params -- Obtiene los parámetros de la cookie de la sesión
session_id -- Lee y/o cambia el session id actual
session_is_registered -- Comprueba si una variable está registrada en la sesión
session_module_name -- Lee y/o cambia el módulo de la sesión actual
session_name -- Lee y/o cambia el nombre de la sesión actual
session_regenerate_id -- Actualizar el id de sesión actual con una recién generada
session_register -- Registrar una o más variables globales con la sesión actual
session_save_path -- Lee y/o cambia la ruta donde se guardan los datos de la sesión actual
session_set_cookie_params -- Cambia los parámetros de la cookie de la sesión
session_set_save_handler -- Establece unas funciones para el almacenamiento de los datos de la sesión a nivel de usuario
session_start -- Inicializar los datos de una sesión
session_unregister -- Desregistrar una variable de la sesión actual
session_unset -- Elimina todas las variables de la sesión
session_write_close -- Escribe los datos de la sesión y la finaliza

Anterior | Inicio | Siguiente
session_pgsql_status | Subir | session_cache_expire


session_cache_expire

(PHP 4 >= 4.2.0, PHP 5)

session_cache_expire -- Devuelve la caducidad actual del caché

Descripción

int session_cache_expire ( [int nueva_caducidad_cache] )

session_cache_expire() devuelve la caducidad actual del caché. Si se proporciona nueva_caducidad_cache, se reemplazará la caducidad actual con nueva_caducidad_cache.

Anterior | Inicio | Siguiente
Funciones para el manejo de sesiones | Subir | session_cache_limiter


session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5)

session_cache_limiter -- Lee y/o cambia el limitador del caché actual

Descripción

string session_cache_limiter ( [string limitador_del_cache] )

session_cache_limiter() devuelve el nombre del limitador de caché actual. Si se especifica limitador_del_cache, el nombre del limitador de caché actual se cambia al nuevo valor.

El limitador de caché controla las cabeceras HTTP de control del caché enviadas al cliente. Estas cabeceras determinan las reglas por las que el contenido de la página puede ser guardado en el caché local del cliente. Cambiando el limitador de caché a nocache, por ejemplo, impedirá cualquier tipo de almacenamiento en el caché por parte del cliente. Un valor de public, en cambio, permitiría el almacenamiento en el caché. Tambié se puede cambiar a private, que es un poco más restrictivo que el public.

En el modo private, la cabecera Expire (caducidad) enviada al cliente puede confundir a algunos navegadores incluyendo Mozilla. Puede evitar este problema con el modo private_no_expire. La cabecera Expire nunca se envía al cliente en este modo.

Nota: private_no_expire fue añadida en PHP 4.2.0dev.

Al comenzar la ejecución del script, el limitador de caché se reestablece al valor por defecto guardado en session.cache_limiter. De este modo, es necesario llamar a session_cache_limiter() en cada petición (y antes de llamar a session_start()).

Ejemplo 1. Ejemplos con session_cache_limiter()

<?php

# cambia el limitador del cach&eacute; a 'private'

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "El limitador de cach&eacute; est&aacute; puesto ahora en $cache_limiter<p>";
?>

Anterior | Inicio | Siguiente
session_cache_expire | Subir | session_commit


session_commit

(PHP 4 >= 4.3.11, PHP 5)

session_commit -- Alias of session_write_close()

Descripción

This function is an alias of: session_write_close().

Anterior | Inicio | Siguiente
session_cache_limiter | Subir | session_decode


session_decode

(PHP 4, PHP 5)

session_decode -- Decodifica los datos de una sesión a partir de una cadena

Descripción

bool session_decode ( string datos )

session_decode() decodifica los datos de una sesión que se encuentran en datos, creando las variables guardadas en la sesión.

Anterior | Inicio | Siguiente
session_commit | Subir | session_destroy


session_destroy

(PHP 4, PHP 5)

session_destroy -- Destruye todos los datos guardados en una sesión

Descripción

bool session_destroy ( void )

session_destroy() destruye todos los datos asociados con la sesión actual. No destruye ninguna de las variables globales asociadas a la sesión ni la cookie.

Esta función devuelve TRUE si se ha destruido la sesión correctamente y FALSE si ha habido algún problema al intentarlo.

Ejemplo 1. Destrucción de una sesión

<?php

// Inicializa de la sesi&oacute;n.
// Si est&aacute; usando session_name("algo"), &iexcl;no lo olvide ahora!
session_start();
// Destruye todas las variables de la sesi&oacute;n
session_unset();
// Finalmente, destruye la sesi&oacute;n
session_destroy();

?>

Ejemplo 2. Destrucción de una sesión con $_SESSION

<?php

// Inicializa la sesi&oacute;n.
// Si est&aacute; usando session_name("algo"), &iexcl;no lo olvide ahora!
session_start();
// Destruye todas las variables de la sesi&oacute;n
$_SESSION = array();
// Finalmente, destruye la sesi&oacute;n
session_destroy();

?>

Anterior | Inicio | Siguiente
session_decode | Subir | session_encode


session_encode

(PHP 4, PHP 5)

session_encode -- Codifica los datos de la sesión actual en una cadena

Descripción

string session_encode ( void )

session_encode() devuelve una cadena con el contenido de la sesión actual en su interior.

Anterior | Inicio | Siguiente
session_destroy | Subir | session_get_cookie_params


session_get_cookie_params

(PHP 4, PHP 5)

session_get_cookie_params -- Obtiene los parámetros de la cookie de la sesión

Descripción

array session_get_cookie_params ( void )

La función session_get_cookie_params() devuelve un vector con información sobre la cookie de la sesión actual, conteniendo los siguientes elementos:

  • "lifetime" - La duración de la cookie.

  • "path" - La ruta donde se guarda la información.

  • "domain" - El dominio de la cookie.

  • "secure" - La cookie debe ser enviada sólo bajo conexiones seguras. (Este elemento fue añadido en PHP 4.0.4.)

Anterior | Inicio | Siguiente
session_encode | Subir | session_id


session_id

(PHP 4, PHP 5)

session_id -- Lee y/o cambia el session id actual

Descripción

string session_id ( [string id] )

session_id() devuelve el session id de la sesión actual. Si se especifica un id, reemplazará el session id actual.

También se puede utilizar la constante SID para recuperar el nombre y el session id de la sesión actual como una cadena adecuada para añadir a las URLs.

Anterior | Inicio | Siguiente
session_get_cookie_params | Subir | session_is_registered


session_is_registered

(PHP 4, PHP 5)

session_is_registered -- Comprueba si una variable está registrada en la sesión

Descripción

bool session_is_registered ( string nombre )

session_is_registered() devuelve TRUE si hay una variable registrada en la sesión actual cuyo nombre es nombre.

Nota: Si utiliza $_SESSION (o $HTTP_SESSION_VARS con PHP 4.0.6 o inferior), use isset() para comprobar si una variable está registrada en $_SESSION.

Atención

Si utiliza $HTTP_SESSION_VARS/$_SESSION, no use session_register(), session_is_registered() ni session_unregister().

Anterior | Inicio | Siguiente
session_id | Subir | session_module_name


session_module_name

(PHP 4, PHP 5)

session_module_name -- Lee y/o cambia el módulo de la sesión actual

Descripción

string session_module_name ( [string módulo] )

session_module_name() devuelve el nombre del módulo de la sesión actual. Si se especifica módulo, se usará ese módulo en su lugar.

Anterior | Inicio | Siguiente
session_is_registered | Subir | session_name


session_name

(PHP 4, PHP 5)

session_name -- Lee y/o cambia el nombre de la sesión actual

Descripción

string session_name ( [string nombre] )

session_name() devuelve el nombre de la sesión actual. Si se especifica un nombre, el nombre de de la sesión actual se cambia a este valor.

El nombre de la sesión hace referencia al session id utilizado en las cookies y en las URLs. Debería contener únicamente caracteres alfanuméricos; también debería ser corto y descriptivo (p.ej. para usuarios con los avisos de las cookies activados). El nombre de la sesión se restaura al valor guardado por defecto en session.name al comenzar la petición. Así, pues, es necesario llamar a session_name() en cada petición (y antes de llamar a session_start() o a session_register()).

Ejemplo 1. Ejemplos de session_name()

<?php

// Cambiar el nombre de la sesi&oacute;n a WebsiteID

$nombre_anterior = session_name("WebsiteID");

echo "El anterior nombre de la sesi&oacute;n era $nombre_anterior<p>";
?>

Anterior | Inicio | Siguiente
session_module_name | Subir | session_regenerate_id


session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5)

session_regenerate_id -- Actualizar el id de sesión actual con una recién generada

Descripción

bool session_regenerate_id ( [bool borrar_sesion_vieja] )

session_regenerate_id() reemplazará la id de sesión actual con una nueva, y conservará la información de sesión actual.

Lista de parámetros

borrar_sesion_vieja

Indica si se debe eliminar el archivo viejo de sesión asociado o no. Su valor predeterminado es FALSE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
4.3.3 | Desde esta versión, si las cookies de sesión están habilitadas, el uso de session_regenerate_id() también enviará una nueva cookie de sesión con el nuevo id de sesión.
5.1.0 | Se agregó el parámetro borrar_sesion_vieja.

Ejemplos

Ejemplo 1. Un ejemplo de session_regenerate_id()

<?php
session_start();

$id_sesion_antigua = session_id();

session_regenerate_id();

$id_sesion_nueva = session_id();

echo "Sesi&oacute;n Vieja: $id_sesion_antigua<br />";
echo "Sesi&oacute;n Nueva: $id_sesion_nueva<br />";

print_r($_SESSION);
?>

Ver también

session_id()
session_start()
session_name()

Anterior | Inicio | Siguiente
session_name | Subir | session_register


session_register

(PHP 4, PHP 5)

session_register -- Registrar una o más variables globales con la sesión actual

Descripción

bool session_register ( mixed nombre [, mixed ...] )

session_register() acepta un número variable de argumentos, cualquiera de los cuales puede ser o una cadena que contiene el nombre de una variable, o una matriz que consista de nombres de variables u otras matrices. Para cada nombre, session_register() registra la variable global con ese nombre en la sesión actual.

Atención

Si desea que su script funcione independientemente de register_globals, necesita usar en su lugar la matriz $_SESSION, dado que las entradas de $_SESSION son registradas automáticamente. Si su script usa session_register(), no funcionará en entornos en donde la directiva PHP register_globals esté deshabilitada.

register_globals: Nota importante: Desde PHP 4.2.0 el valor por defecto de la directiva register_globals es off. La comunidad PHP anima a todos a no confiar en esta directiva y usar en su lugar superglobals.

Atención

Esto registra una variable global. Si desea registrar una variable de sesión desde el interior de una función, necesita asegurarse de hacerla global usando la palabra clave global o la matriz $GLOBALS[], o usar las matrices de sesión especiales, como se anota a continuación.

Atención

Si está usando $_SESSION (o $HTTP_SESSION_VARS), no use session_register(), session_is_registered(), ni session_unregister().

Esta función devuelve TRUE cuando todas las variables son registradas satisfactoriamente en la sesión.

Si session_start() no fue llamada antes de que ésta función sea llamada, se realizará un llamado implícito a session_start() sin parámetro alguno. $_SESSION no imita este comportamiento y requiere session_start() antes de su uso.

Puede crear también una variable de sesión, simplemente definiendo el miembro apropiado de $_SESSION o la matriz $HTTP_SESSION_VARS (PHP < 4.1.0).

<?php
// El uso de session_register() es considerado obsoleto
$barney = "Un dinosaurio grande y violeta.";
session_register("barney");

// Se prefiere el uso de $_SESSION, a partir de PHP 4.1.0
$_SESSION["zim"] = "Un invasor de otro planeta.";

// El modo antiguo era usar $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["bob_esponja"] = "&Eacute;l tiene pantalones cuadrados.";
?>

Nota: Actualmente es imposible registrar variables de recurso en una sesión. Por ejemplo, no puede crear una conexión a una base de datos y almacenar la id de conexión como una variable de sesión y esperar que la conexión aun sea válida la próxima vez que la sesión sea restaurada. Las funciones PHP que devuelven un recurso se identifican por tener un tipo de retorno de resource en su definicón de función. Una lista de funciones que devuelven recursos está disponible en el apéndice tipos de recurso.

Si $_SESSION (o $HTTP_SESSION_VARS para PHP 4.0.6 o versiones anteriores) es usado, asigne valores a $_SESSION. Por ejemplo: $_SESSION['var'] = 'ABC';

Vea también session_is_registered(), session_unregister(), y $_SESSION.

Anterior | Inicio | Siguiente
session_regenerate_id | Subir | session_save_path


session_save_path

(PHP 4, PHP 5)

session_save_path -- Lee y/o cambia la ruta donde se guardan los datos de la sesión actual

Descripción

string session_save_path ( [string path] )

session_save_path() devuelve la ruta del directorio usado actualmente para guardar los datos de la sesión. Si se especifica path, se cambiará la ruta donde se guardan los datos.

Nota: En algunos sistemas operativos, puede que quiera especificar una ruta en un sistema de archivos que maneja muchos archivos pequeños de forma eficiente. Por ejemplo, en Linux, reiserfs puede dar un rendimiento mejor que ext2fs.

Anterior | Inicio | Siguiente
session_register | Subir | session_set_cookie_params


session_set_cookie_params

(PHP 4, PHP 5)

session_set_cookie_params -- Cambia los parámetros de la cookie de la sesión

Descripción

void session_set_cookie_params ( int duración [, string path [, string dominio [, bool segura]]] )

Cambia los parámetros de la cookie definidos en el archivo php.ini. El efecto de esta función sólo dura hasta que termina el script.

Nota: El parámetro segura fue añadido en PHP 4.0.4.

Anterior | Inicio | Siguiente
session_save_path | Subir | session_set_save_handler


session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler -- Establece unas funciones para el almacenamiento de los datos de la sesión a nivel de usuario

Descripción

bool session_set_save_handler ( string abrir, string cerrar, string leer, string escribir, string destruir, string gc )

session_set_save_handler() establece las funciones que se utilizan a nivel de usuario para el almacenamiento y recuperación de los datos asociados a una sesión. Es lo más útil cuando se prefiere utilizar otro método de almacenamiento distinto del proporcionaddo por las sesiones de PHP. p.ej. Almacenar los datos de la sesión en una base de datos local. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Debe cambiar la opción session.save_handler en la configuración a user en su archivo php.ini para que session_set_save_handler() tenga efecto.

Nota: El manejador "escribir" no se ejecuta hasta que se cierra la salida. Por ello, la salida de las sentencias que coloquemos en el manejador "escribir" para el depurado nunca será enviadas al navegador. Si se necesita producir una salida para el depurado, se sugiere que la salida se produzca en un archivo.

El siguiente ejemplo proporciona almacenamiento de las sesiones basado en archivos de forma similar al manejador de sesiones por defecto de PHP files. Este ejemplo puede ser extendido fácilmente para cubrir el almacenamiento en bases de datos usando su motor de soporte de bases de datos de PHP favorito.

La función de lectura debe devolver siempre una cadena para que el manejador de escritura funcione como se espera. Devuelva una cadena vacía si no hay ningún dato a leer. Los valores devueltos de otros manejadores son convertidos a una expresión booleana. TRUE si todo ha ido correctamente, FALSE si ha habido algún problema.

Ejemplo 1. Ejemplo de session_set_save_handler()

<?php
function abrir ($save_path, $session_name) {
  global $sess_save_path, $sess_session_name;

  $sess_save_path = $save_path;
  $sess_session_name = $session_name;
  return(true);
}

function cerrar() {
  return(true);
}

function leer ($id) {
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "r")) {
    $sess_data = fread($fp, filesize($sess_file));
    return($sess_data);
  } else {
    return(""); // Debe devolver "" aqu&iacute;.
  }

}

function escribir ($id, $sess_data) {
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "w")) {
    return(fwrite($fp, $sess_data));
  } else {
    return(false);
  }

}

function destruir ($id) {
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
}

/***********************************************
 * ATENCI&Oacute;N - Necesitar&aacute; implementar alg&uacute;n     *
 * tipo de rutinas recolectoras de basura aqu&iacute; *
 ***********************************************/
function rb ($maxlifetime) {
  return true;
}

session_set_save_handler ("abrir", "cerrar", "leer", "escribir", "destruir", "rb");

session_start();

// proceed to use sessions normally

?>

Anterior | Inicio | Siguiente
session_set_cookie_params | Subir | session_start


session_start

(PHP 4, PHP 5)

session_start -- Inicializar los datos de una sesión

Descripción

bool session_start ( void )

session_start() crea una sesión (o la continúa basandose en el session id pasado por GET o mediante una cookie).

Si desea usar una sesión con un nombre en concreto, debe llamar a session_name() antes de llamar a session_start().

Esta función siempre devuelve TRUE.

Nota: Si está usando sesiones basadas en las cookies, debe llamar a session_start() antes de que haya ninguna salida al navegador.

session_start() registrará un manejador de salida interno para la reescritura de las URL's si trans-sid está activado. Si un usuario utiliza ob_gzhandler o algo como ob_start(), el orden del manejador de salida es importante para que la salida sea la adecuada. Por ejemplo, el usuario debe registrar ob_gzhandler antes de iniciar la sesión.

Nota: Se recomienda utilizar zlib.output_compression en lugar de ob_gzhandler

Anterior | Inicio | Siguiente
session_set_save_handler | Subir | session_unregister


session_unregister

(PHP 4, PHP 5)

session_unregister -- Desregistrar una variable de la sesión actual

Descripción

bool session_unregister ( string nombre )

session_unregister() desregistra (olvida) la variable global llamada nombre de la sesión actual.

Esta función devuelve TRUE cuando la variable es eliminada de la sesión correctamente.

Nota: Si utiliza $_SESSION (o $HTTP_SESSION_VARS con PHP 4.0.6 o inferior), use unset() para eliminar una variable de la sesión actual.

Atención

Esta función no borra la variable global correspondiente a nombre, sólo evita que la variable sea guardada como parte de la sesión. Debe llamar a unset() para eliminar la variable global correspondiente.

Atención

Si está trabajando con $HTTP_SESSION_VARS/$_SESSION, no utilice session_register(), session_is_registered() ni session_unregister().

Anterior | Inicio | Siguiente
session_start | Subir | session_unset


session_unset

(PHP 4, PHP 5)

session_unset -- Elimina todas las variables de la sesión

Descripción

void session_unset ( void )

La función session_unset() elimina y libera el espacio ocupado por todas las variables de la sesión actual registradas.

Nota: Si utiliza $_SESSION (o $HTTP_SESSION_VARS con PHP 4.0.6 o inferior), use unset() en su lugar para desregistrar una variable de la sesión. p.ej. $_SESSION = array();

Anterior | Inicio | Siguiente
session_unregister | Subir | session_write_close


session_write_close

(PHP 4 >= 4.0.4, PHP 5)

session_write_close -- Escribe los datos de la sesión y la finaliza

Descripción

void session_write_close ( void )

Finaliza la sesión actual y guarda sus datos

Los datos de la sesió se suelen guardar tras finalizar la ejecución de su script sin necesidad de llamar a session_write_close(), pero como los datos de la sesió están bloqueados para evitar escrituras concurrentes, sólo un script puede trabajar con una sesión a la vez. Cuando se usan framesets junto con sesiones, podrá comprobar que los frames se cargan uno a uno debido a este bloqueo. Puede reducir el tiempo necesario para cargar los frames finalizando la sesión tan pronto como haya terminado los cambios a las variables de la sesión.

Anterior | Inicio | Siguiente
session_unset | Subir | Funciones de Memoria Compartida


Funciones de Memoria Compartida

Manual de PHP
Anterior Siguiente

CXLVIII. Funciones de Memoria Compartida

Introducción

Shmop es un conjunto de funciones que permiten a PHP leer, escribir, crear y borrar de forma sencilla segmentos de memoria compartida de tipo UNIX.

Nota: Se debe tener en cuenta que las versiones de Windows anteriores a Windows 2000 no soportan el uso de memoria compartida. En sistemas Windows, Shmop solamente funciona cuando PHP se ejecuta como módulo de un servidor web como Apache o IIS (por tanto, no funciona si PHP se ejecuta como CGI o desde linea de comandos CLI).

Nota: En PHP 4.0.3, el nombre de todas estas funciones estaba precedido por el prefijo shm y actualmente lo están por el prefijo shmop.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

Para usar las funciones de memoria compartida, se debe añadir el parámetro --enable-shmop a las opciones de configuración de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Resumen de las operaciones con Memoria Compartida

<?php

// Creacion de un segmento de memoria compartida de 100 bytes y con un
// identificador igual a 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
    echo "No se pudo crear el segmento de memoria compartida\n";
}

// Obtencion del tama&ntilde;o del segmento de memoria compartida
$shm_size = shmop_size($shm_id);
echo "Segmento de memoria: se han reservado ".$shm_size. " bytes.\n";

// Escritura de una cadena de texto de prueba en la memoria compartida
$shm_bytes_written = shmop_write($shm_id, "mi segmento de memoria compartida",
0);
if($shm_bytes_written != strlen("mi segmento de memoria compartida")) {
    echo "No se pudieron escribir todos los datos indicados\n";
}

// Lectura de la cadena de texto de prueba
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
    echo "No se pudo leer el segmento de memoria compartida\n";
}
echo "Los datos que contenia el segmento de memoria compartida son los
siguientes:".$my_string."\n";

// Borrado y eliminacion del segmento de memoria compartida
if(!shmop_delete($shm_id)) {
    echo "No se pudo borrar el segmento de memoria compartida.";
}
shmop_close($shm_id);

?>

Tabla de contenidos
shmop_close -- Cierra un segmento de memoria compartida
shmop_delete -- Borra un segmento de memoria compartida
shmop_open -- Crea o abre un segmento de memoria compartida
shmop_read -- Lee un segmento de memoria compartida
shmop_size -- Obtiene el tamaño de un segmento de memoria compartida
shmop_write -- Escribe datos en un segmento de memoria compartida

Anterior | Inicio | Siguiente
session_write_close | Subir | shmop_close


shmop_close

(PHP 4 >= 4.0.4, PHP 5)

shmop_close -- Cierra un segmento de memoria compartida

Descripción

void shmop_close ( int shmid )

shmop_close() se utiliza para cerrar un segmento de memoria compartida.

shmop_close() utiliza como parámetro el identificador del segmento de memoria compartida devuelto por la función shmop_open().

Ejemplo 1. Cierre de un segmento de memoria compartida

<?php
shmop_close($shm_id);
?>

En el ejemplo anterior se cierra un segmento de memoria compartida cuyo identificador es $shm_id.

Anterior | Inicio | Siguiente
Funciones de Memoria Compartida | Subir | shmop_delete


shmop_delete

(PHP 4 >= 4.0.4, PHP 5)

shmop_delete -- Borra un segmento de memoria compartida

Descripción

bool shmop_delete ( int shmid )

shmop_delete() se utiliza para borrar un segmento de memoria compartida.

shmop_delete() utiliza como parámetro el identificador del segmento de memoria compartida devuelto por la función shmop_open(). Si la función tiene éxito, devolverá un 1 (uno) y si no lo tiene devolverá un 0 (cero).

Ejemplo 1. Borrado de un segmento de memoria compartida

<?php
shmop_delete($shm_id);
?>

En el ejemplo anterior se borra un segmento de memoria compartida cuyo identificador es $shm_id.

Anterior | Inicio | Siguiente
shmop_close | Subir | shmop_open


shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open -- Crea o abre un segmento de memoria compartida

Descripción

int shmop_open ( int clave, string opciones, int modo, int tamanio )

shmop_open() se utiliza para crear o abrir un segmento de memoria compartida.

shmop_open() utiliza 4 parametros: clave, que es el identificador que el sistema utilizará para ese segmento de memoria compartida y que puede ser indicado tanto en formato decimal como hexadecimal. El segundo parámetro son las opciones que se pueden utilizar:

  • "a" para acceder (se activa SHM_RDONLY en el shmat) se utiliza esta opción para abrir un segmento de memoria compartida que ya existe en modo de solo lectura.

  • "c" para crear (se activa IPC_CREATE) se utiliza esta opción para crear un nuevo segmento de memoria compartida o para intentar abrir en modo de lectura y escritura un segmento que ya existe.

  • "w" para acceder en modo de lectura y escritura. Se utiliza esta opción para poder leer un segmento de memoria compartida y además poder escribir en el. Se trata de la opción más habitual en la mayoría de los casos.

  • "n" para crear un nuevo segmento de memoria compartida (se activan IPC_CREATE|IPC_EXCL) se utiliza esta opción para crear un nuevo segmento de memoria compartida a no ser que ya exista otro segmento de memoria compartida con la misma clave. Esta opción es útil por motivos de seguridad para evitar por ejemplo "condiciones de carrera" (en inglés "race conditions").

El tercer parámetro es el modo, que son los permisos que se van a asignar al segmento de memoria compartida. Estos permisos son similares a los que se asignan a los archivos. La forma de indicar los permisos es identica a la que se utiliza en sistemas UNIX para indicar los permisos de los archivos, como por ejemplo "0644". El último parámetro es el tamaño en bytes del segmento de memoria compartida que se va a crear.

Nota: Nota: el tercer y cuarto parámetro deben ser igual a 0 (cero) si se está abriendo un segmento de memoria compartida existente. Si la función shmop_open() tiene éxito, devolverá un identificador que se puede utilizar posteriormente para acceder al segmento de memoria compartida que se ha creado.

Ejemplo 1. Creación de un nuevo segmento de memoria compartida

<?php
$shm_key = ftok(__FILE__,'t');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

En el ejemplo anterior se crea un nuevo segmento de memoria compartida cuya clave se ha generado con ayuda de la función ftok().

Anterior | Inicio | Siguiente
shmop_delete | Subir | shmop_read


shmop_read

(PHP 4 >= 4.0.4, PHP 5)

shmop_read -- Lee un segmento de memoria compartida

Descripción

string shmop_read ( int shmid, int comienzo, int posiciones )

shmop_read() se utiliza para leer datos almacenados en un segmento de memoria compartida.

shmop_read() utiliza 3 parámetros: shmid, que es el identificador del segmento de memoria compartida devuelto por la función shmop_open(); comienzo, que es la posición desde la que se empezarán a leer los datos del segmento de memoria y posiciones, que indica el número de bytes que se leerán a partir del comienzo indicado anteriormente.

Ejemplo 1. Lectura de un segmento de memoria compartida

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

En el ejemplo anterior se leen los 50 primeros bytes del segmento de memoria y se almacenan los datos en la variable $shm_data.

Anterior | Inicio | Siguiente
shmop_open | Subir | shmop_size


shmop_size

(PHP 4 >= 4.0.4, PHP 5)

shmop_size -- Obtiene el tamaño de un segmento de memoria compartida

Descripción

int shmop_size ( int shmid )

shmop_size() se utiliza para obtener el tamaño en bytes de un segmento de memoria compartida.

shmop_size() utiliza como parámetro el identificador del segmento de memoria compartida devuelto por la función shmop_open(). La función devuelve un dato de tipo int que contiene el tamaño en bytes del segmento de memoria compartida.

Ejemplo 1. Obtención del tamaño de un segmento de memoria compartida

<?php
$shm_size = shmop_size($shm_id);
?>

En el ejemplo anterior se almacena en la variable $shm_size el tamaño en bytes del segmento de memoria compartida cuyo identificador es $shm_id.

Anterior | Inicio | Siguiente
shmop_read | Subir | shmop_write


shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write -- Escribe datos en un segmento de memoria compartida

Descriptión

int shmop_write ( int shmid, string datos, int comienzo )

shmop_write() se utiliza para escribir datos en un segmento de memoria compartida.

shmop_write() utiliza 3 parámetros: shmid, que es el identificador del segmento de memoria compartida devuelto por la función shmop_open(); datos, que es una cadena que contiene los datos que se quieren escribir en el segmento de memoria compartida y comienzo, que indica la posición desde la que se empezarán a escribir los datos.

Ejemplo 1. Escritura en un segmento de memoria compartida

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

En el anterior ejemplo se escriben en el segmento de memoria compartida los datos contenidos en la variable $my_string. La variable $shm_bytes_written contendrá el número de bytes escritos.

Anterior | Inicio | Siguiente
shmop_size | Subir | Funciones SimpleXML


Funciones SimpleXML

Manual de PHP
Anterior Siguiente

CXLIX. Funciones SimpleXML

Introducción

La extensión SimpleXML ofrece un conjunto de herramientas simples y fáciles de usar para convertir un XML en un objeto que puede ser procesado con selectores de propiedades e iteradores de matrices.

Requisitos

La extensión SimpleXML requiere PHP 5.

Instalación

La extensión SimpleXML está habilitada por defecto. Para deshabilitarla, usa la opción de configuración --disable-simplexml.

Ejemplos

Varios ejemplos de la referencia requieren una cadena XML. En vez de repetir esta cadena cada vez, la ponemos en un fichero php que incluiremos en cada ejemplo. éste fichero lo mostramos en la siguiente sección de ejemplo. Alternativamente, puedes crear un documento XML y cargarlo mediante la función simplexml_load_file().

Ejemplo 1. Fichero de Inclusión ejemplo.php con una cadena XML

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

La simplicidad de SimpleXML aparece más claramente cuando se extrae una cadena o un número de un documento XML básico.

Ejemplo 2. Obteniendo <plot>

<?php
include 'ejemplo.php';

$xml = simplexml_load_string($xmlstr);

echo $xml->movie[0]->plot; // "So this language. It's like..."
?>

Ejemplo 3. Accediendo a elementos no únicos en SimpleXML

Cuando existen multiples instancias de un elemento de un mismo elemento padre, se aplican las técnicas normales de iteración.

<?php
include 'ejemplo.php';

$xml = simplexml_load_string($xmlstr);

/* Para cada nodo <movie>, mostramos un <plot>. */
foreach ($xml->movie as $movie) {
   echo $movie->plot, '<br />';
}

?>

Ejemplo 4. Usando atributos

Por ahora, solo hemos cubierto la parte de leer los nombres de los elementos y sus valores. SimpleXML también puede acceder a los atributos de los elementos. Acceder a los atributos de un elemento es como acceder a los elementos de una array.

<?php
include 'ejemplo.php';

$xml = simplexml_load_string($xmlstr);

/* Accede a los nodos <rating> de la primera pel&iacute;cula.
 * Output the rating scale, too. */
foreach ($xml->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Obtenemos los atributos como elementos &iacute;ndice
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }
}
?>

Ejemplo 5. Comparando Elementos y Atributos con Texto

Para comparar un elemento o atributo con una cadena o pasarlo a una función que requiera una cadena, debes convertirlo a cadena mediante (string). De otra forma, PHP tratará el elemento como un objeto.

<?php
include 'ejemplo.php';

$xml = simplexml_load_string($xmlstr);

if ((string) $xml->movie->title == 'PHP: Behind the Parser') {
    print 'Mi pel&iacute;cula favorita.';
}

htmlentities((string) $xml->movie->title);
?>

Ejemplo 6. Usando Xpath

SimpleXML incluye soporte nativo de Xpath. Para encontrar todos los elementos <character>:

<?php
include 'ejemplo.php';
$xml = simplexml_load_string($xmlstr);

foreach ($xml->xpath('//character') as $character) {
    echo $character->name, 'played by ', $character->actor, '<br />';
}
?>

'//' sirve como comodín. Para especificar paths absolutos, hay que omitir una de las barras invertidas.

Ejemplo 7. Definiendo valores

Los datos en SimpleXML no tienen porqué ser constantes. El objeto permite la manipulación de todos sus elementos.

<?php
include 'ejemplo.php';
$xml = simplexml_load_string($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
?>

El código de arriba mostrará un documento XML nuevo, como el original, excepto que el nuevo XML tendrá Miss Coder en vez de Ms. Coder.

Ejemplo 8. Interoperabilidad con DOM

PHP tiene un mecanismo para convertir nodos XML entre los formatos de SimpleXML y DOM. Este ejemplo muestra como se podría cambiar un elemento DOM a otro SimpleXML.

<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
     echo 'Error al parsear el documento';
     exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

Tabla de contenidos
SimpleXMLElement->addAttribute() -- Adds an attribute to the SimpleXML element
SimpleXMLElement->addChild() -- Adds a child element to the XML node
SimpleXMLElement->asXML -- Devuelve una cadena XML basada en el objeto SimpleXML
SimpleXMLElement->attributes -- Identifica los atributos de un elemento
SimpleXMLElement->children -- Encuentra los hijos del nodo dado
SimpleXMLElement->__construct() -- Creates a new SimpleXMLElement object
SimpleXMLElement->getDocNamespaces() -- Returns namespaces declared in document
SimpleXMLElement->getName() -- Gets the name of the XML element
SimpleXMLElement->getNamespaces() -- Returns namespaces used in document
SimpleXMLElement->registerXPathNamespace() -- Creates a prefix/ns context for the next XPath query
SimpleXMLElement->xpath -- Ejecuta una petición Xpath en la cadena XML
simplexml_import_dom -- Obtiene un objeto SimpleXMLElement a partir de un nodo DOM.
simplexml_load_file -- Interpreta un fichero XML en un objeto
simplexml_load_string -- Interpreta una cadena XML en un objeto

Anterior | Inicio | Siguiente
shmop_write | Subir | SimpleXMLElement->addAttribute()


SimpleXMLElement->asXML

(no version information, might be only in CVS)

SimpleXMLElement->asXML -- Devuelve una cadena XML basada en el objeto SimpleXML

Descripción

mixed SimpleXMLElement->asXML ( [string nombre_archivo] )

El método asXML da formato a los datos del objeto al que pertenece en XML versión 1.0.

Lista de parámetros

nombre_archivo

Si se especifica, la función escribe la cadena en el fichero indicado en vez de devolverla.

Valores retornados

Si no se especifica el parámetro nombre_archivo, la función devuelve una string si tuvo éxito y FALSE si hubo algún error. Si se especifica el parámetro, devuelve TRUE si se escribió el fichero correctamente y FALSE en caso contrario.

Ejemplos

Ejemplo 1. Obtener un XML

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = simplexml_load_string($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>stuff</c> ...

?>

asXML también funciona con resultados Xpath:

Ejemplo 2. Usando asXML() en resultados Xpath

<?php
// Continuado a partir del ejemplo XML de arriba.

/* Buscando <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML(); // <c>text</c> and <c>stuff</c>
}
?>

Anterior | Inicio | Siguiente
SimpleXMLElement->addChild() | Subir | SimpleXMLElement->attributes


SimpleXMLElement->attributes

(no version information, might be only in CVS)

SimpleXMLElement->attributes -- Identifica los atributos de un elemento

Descripción

SimpleXMLElement simplexml_element->attributes ( [string data] )

Esta función porporciona atributos y valores definidos dentro de un tag xml.

Nota: SimpleXML ha creado una regla de añadir propiedades iterativas a la mayoria de metodos. No se pueden ver usando var_dump() o cualquier cosa que examine objetos.

Ejemplo 1. Interpretar una cadena XML

<?php
$string = <<<XML
<a>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

Este script mostrará:

name="one"
game="lonely"

Anterior | Inicio | Siguiente
SimpleXMLElement->asXML | Subir | SimpleXMLElement->children


SimpleXMLElement->children

(no version information, might be only in CVS)

SimpleXMLElement->children -- Encuentra los hijos del nodo dado

Descripción

SimpleXMLElement simplexml_element->children ( [string nsprefix] )

Este método encuentra los hijos del elemento al que pertenece. El resultado sigue las reglas de iteración habituales.

Nota: SimpleXML ha creado una regla de añadir propiedades iterativas a la mayoria de metodos. No se pueden ver usando var_dump() o cualquier cosa que examine objetos.

Ejemplo 1. Recorrer una pseudo-matriz children()

<?php
$xml = simplexml_load_string(
'<person>
 <child role="son">
  <child role="daughter"/>
 </child>
 <child role="daughter">
  <child role="son">
   <child role="son"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' The person begot a ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' who begot a ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' and that ' . $third_gen['role'] .
                ' begot a ' . $fourth_gen['role'];
        }
    }
}
?>

Este script mostrará:

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

Anterior | Inicio | Siguiente
SimpleXMLElement->attributes | Subir | SimpleXMLElement->__construct()


SimpleXMLElement->xpath

(no version information, might be only in CVS)

SimpleXMLElement->xpath -- Ejecuta una petición Xpath en la cadena XML

Descripción

array SimpleXMLElement->xpath ( string path )

El método xpath busca en el nodo SimpleXML los hijos que emparejen con el parámetro path de Xpath. Devuelve siempre un array de objetos SimpleXMLElement.

Ejemplo 1. Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = simplexml_load_string($string);

/* Busca en <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Paths relativos tambi&eacute;n funcionan... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

Éste script mostrará:

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Notar que ámbos resultados son iguales.

Anterior | Inicio | Siguiente
SimpleXMLElement->registerXPathNamespace() | Subir | simplexml_import_dom


simplexml_import_dom

(PHP 5)

simplexml_import_dom -- Obtiene un objeto SimpleXMLElement a partir de un nodo DOM.

Descripción

SimpleXMLElement simplexml_import_dom ( DOMNode node [, string class_name] )

Esta función toma un nodo de un documento DOM y crea un nodo SimpleXML a partir de él. Este nuevo objeto puede usarse como un elemento SimpleXML nativo. Si ocurre algún error se devolverá FALSE.

Ejemplo 1. Importar DOM

<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'Error al parsear el documento';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title; // blah
?>

Vea también: dom_import_simplexml().

Anterior | Inicio | Siguiente
SimpleXMLElement->xpath | Subir | simplexml_load_file


simplexml_load_file

(PHP 5)

simplexml_load_file -- Interpreta un fichero XML en un objeto

Descripción

object simplexml_load_file ( string filename [, string class_name [, int options]] )

Esta función convertirá un documento XML válido en un fichero especificado por filename en un objeto de clase SimpleXMLElement. Si ocurre algún error durante el acceso o la interpretación, la función devolverá FALSE.

Puedes utilizar el parámetro opcional class_name de forma que simplexml_load_file() devolverá un objeto de la clase especificada. Esa clase deberí debe extender la clase SimpleXMLElement.

Desde PHP 5.1.0 y Libxml 2.6.0, también puedes usar el parámetro options para especificar parámetros de Libxml adicionales.

Nota: Libxml 2 decodifica la URI, así que si quieres pasar e.j. b&c como parámetro URI a, tienes que llamar simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). A partir de PHP 5.1.0 ya no es necesario hacer esto porque PHP lo hará automáticamente.

Ejemplo 1. Interpretar un documento XML

<?php
// El fichero test.xml contiene un documento XML con el elemento raiz
// y almenos un elemento /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    var_dump($xml);
} else {
    exit('Error al abrir test.xml.');
}
?>

Este script mostrará, si tiene éxito:

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

A partir de aquí, puedes puedes acceder al nodo title mediante $xml->title y a cualquier otro elemento.

Vea también: simplexml_load_string()

Anterior | Inicio | Siguiente
simplexml_import_dom | Subir | simplexml_load_string


simplexml_load_string

(PHP 5)

simplexml_load_string -- Interpreta una cadena XML en un objeto

Descripción

object simplexml_load_string ( string data [, string class_name [, int options]] )

Esta función tomará una cadena xml válida data y devolverá un object de clase SimpleXMLElement con propiedades conteniendo la información del documento xml. Si ocurre cualquier error, se devolverá FALSE.

También puedes usar el parámetro opcional class_name de forma que simplexml_load_string() devolverá un objeto de la clase especificada. Esa clase debe extender la clase SimpleXMLElement.

Desde PHP 5.1.0 y Libxml 2.6.0, también puedes usar el parámetro options para especificar parámetros de Libxml adicionales.

Ejemplo 1. Interpreta una cadena XML

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?>

This script will display:

SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

A partir de aquí, puedes puedes acceder al nodo body mediante $xml->body y a cualquier otro elemento.

Vea también: simplexml_load_file().

Anterior | Inicio | Siguiente
simplexml_load_file | Subir | Funciones SNMP


Funciones SOAP

Manual de PHP
Anterior Siguiente

CLI. Funciones SOAP

Introducción

La extensión SOAP puede ser usada para escribir Servidores y Clientes SOAP. Soporta subconjuntos de las especificaciones SOAP 1.1, SOAP 1.2 y WSDL 1.1.

Requisitos

Esta extensión hace uso de la biblioteca xml de GNOME. Descargue e instale esta biblioteca. Necesitará por lo menos de libxml-2.5.4.

Instalación

Esta extensión se encuentra disponible únicamente si PHP fue configurado con --enable-soap.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración de SOAP

Nombre | Predeterminado | Modificable | Cambios
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

soap.wsdl_cache_enabled boolean

Habilita o deshabilita la característica de caché de WSDL.

soap.wsdl_cache_dir string

Establece el nombre del directorio en el que la extensión SOAP pondrá los archivos de caché.

soap.wsdl_cache_ttl int

Establece el número de segundos (tiempo de vida o TTL) en el que los archivos de caché serán usados en lugar de los originales.

Clases predefinidas

SoapClient

Constructor

  • SoapClient->__construct() - construye un nuevo objeto SoapClient

Métodos

  • SoapClient->__call() - Llama una función SOAP (obsoleto)

  • SoapClient->__doRequest() - Realiza una petición SOAP

  • SoapClient->__getFunctions() - Devuelve una lista de funciones SOAP

  • SoapClient->__getLastRequest() - Devuelve la última petición SOAP

  • SoapClient->__getLastRequestHeaders() - Devuelve las cabeceras de la última petición SOAP

  • SoapClient->__getLastResponse() - Devuelve la última respuesta SOAP

  • SoapClient->__getLastResponseHeaders() - Devuelve las cabeceras de la última respuesta SOAP

  • SoapClient->__getTypes() - Devuelve la lista de tipos SOAP

  • SoapClient->__setCookie() - Define la cookie que será enviada con la petición SOAP

  • SoapClient->__soapCall() - Llama una función SOAP

SoapFault

Constructor

  • SoapFault->__construct() - construir un nuevo objeto SoapFault

SoapHeader

SoapHeader es una clase especial de bajo nivel para pasar o devolver cabeceras SOAP. Es simplemente un contenedor de datos y no tiene métodos especiales aparte de su constructor. Puede ser usado en el método SoapClient->__soapCall() para pasar una cabecera o en un gestor de cabecera SOAP para devolver la cabecera en una respuesta SOAP.

Constructor

  • SoapHeader->__construct() - construir un nuevo objeto SoapHeader

SoapParam

SoapParam es una clase especial de bajo nivel para nombrar parámetros y devolver valores en modo no-WSDL. Es simplemente un contenedor de datos y no tiene métodos especiales aparte de su constructor.

Constructor

  • SoapParam->__construct() - construir un nuevo objeto SoapParam

SoapServer

Constructor

  • SoapServer->__construct() - construir un nuevo objeto SoapServer

Métodos

  • SoapServer->addFunction() - Agrega una o varias funciones para manejar peticiones SOAP

  • SoapServer->fault() -

  • SoapServer->getFunctions() - Devuelve la lista de funciones definidas

  • SoapServer->handle() - Maneja una petición SOAP

  • SoapServer->setClass() - Define una clase que manejará peticiones SOAP

  • SoapServer->setPersistence() - Define el modo de persistencia de SoapServer

SoapVar

SoapVar es una clase especial de bajo nivel para codificar parámetros y valores de retorno en modo no-WSDL. Es simplemente un contenedor de datos y no tiene métodos especiale aparte del constructor. Es útil cuando se desea definir la propiedad tipo en peticiones o respuestas SOAP.

Constructor

  • SoapVar->__construct() - construir un nuevo objeto SoapVar

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

SOAP_1_1 (integer)

SOAP_1_2 (integer)

SOAP_PERSISTENCE_SESSION (integer)

SOAP_PERSISTENCE_REQUEST (integer)

SOAP_FUNCTIONS_ALL (integer)

SOAP_ENCODED (integer)

SOAP_LITERAL (integer)

SOAP_RPC (integer)

SOAP_DOCUMENT (integer)

SOAP_ACTOR_NEXT (integer)

SOAP_ACTOR_NONE (integer)

SOAP_ACTOR_UNLIMATERECEIVER (integer)

SOAP_COMPRESSION_ACCEPT (integer)

SOAP_COMPRESSION_GZIP (integer)

SOAP_COMPRESSION_DEFLATE (integer)

UNKNOWN_TYPE (integer)

XSD_STRING (integer)

XSD_BOOLEAN (integer)

XSD_DECIMAL (integer)

XSD_FLOAT (integer)

XSD_DOUBLE (integer)

XSD_DURATION (integer)

XSD_DATETIME (integer)

XSD_TIME (integer)

XSD_DATE (integer)

XSD_GYEARMONTH (integer)

XSD_GYEAR (integer)

XSD_GMONTHDAY (integer)

XSD_GDAY (integer)

XSD_GMONTH (integer)

XSD_HEXBINARY (integer)

XSD_BASE64BINARY (integer)

XSD_ANYURI (integer)

XSD_ANYXML (integer)

Agregada en PHP 5.1.0.

XSD_QNAME (integer)

XSD_NOTATION (integer)

XSD_NORMALIZEDSTRING (integer)

XSD_TOKEN (integer)

XSD_LANGUAGE (integer)

XSD_NMTOKEN (integer)

XSD_NAME (integer)

XSD_NCNAME (integer)

XSD_ID (integer)

XSD_IDREF (integer)

XSD_IDREFS (integer)

XSD_ENTITY (integer)

XSD_ENTITIES (integer)

XSD_INTEGER (integer)

XSD_NONPOSITIVEINTEGER (integer)

XSD_NEGATIVEINTEGER (integer)

XSD_LONG (integer)

XSD_INT (integer)

XSD_SHORT (integer)

XSD_BYTE (integer)

XSD_NONNEGATIVEINTEGER (integer)

XSD_UNSIGNEDLONG (integer)

XSD_UNSIGNEDINT (integer)

XSD_UNSIGNEDSHORT (integer)

XSD_UNSIGNEDBYTE (integer)

XSD_POSITIVEINTEGER (integer)

XSD_NMTOKENS (integer)

XSD_ANYTYPE (integer)

SOAP_ENC_OBJECT (integer)

SOAP_ENC_ARRAY (integer)

XSD_1999_TIMEINSTANT (integer)

XSD_NAMESPACE (string)

XSD_1999_NAMESPACE (string)

Tabla de contenidos
is_soap_fault -- Checks if SOAP call was failed
SoapClient->__call() -- Calls a SOAP function (deprecated)
SoapClient->__construct() -- SoapClient constructor
SoapClient->__doRequest() -- Performs a SOAP request
SoapClient->__getFunctions() -- Returns list of SOAP functions
SoapClient->__getLastRequest() -- Returns last SOAP request
SoapClient->__getLastRequestHeaders() -- Returns last SOAP request headers
SoapClient->__getLastResponse() -- Returns last SOAP response.
SoapClient->__getLastResponseHeaders() -- Returns last SOAP response headers.
SoapClient->__getTypes() -- Returns list of SOAP types
SoapClient->__setCookie() -- Sets the cookie that will be sent with the SOAP request
SoapClient->__soapCall() -- Calls a SOAP function
SoapFault->__construct() -- SoapFault constructor
SoapHeader->__construct() -- SoapHeader constructor
SoapParam->__construct() -- SoapParam constructor
SoapServer->addFunction() -- Adds one or several functions those will handle SOAP requests
SoapServer->__construct() -- SoapServer constructor
SoapServer->fault() -- Issue SoapServer fault indicating an error
SoapServer->getFunctions() -- Returns list of defined functions
SoapServer->handle() -- Handles a SOAP request
SoapServer->setClass() -- Sets class which will handle SOAP requests
SoapServer->setPersistence() -- Sets persistence mode of SoapServer
SoapVar->__construct() -- SoapVar constructor
use_soap_error_handler -- Set whether to use the SOAP error handler and return the former value

Anterior | Inicio | Siguiente
snmpwalkoid | Subir | is_soap_fault


is_soap_fault

(PHP 5)

is_soap_fault -- Checks if SOAP call was failed

Descripción

bool is_soap_fault ( mixed obj )

This function is useful when you like to check if the SOAP call failed, but don't like to use exceptions. To use it you must create a SoapClient object with the exceptions option set to zero or FALSE. In this case, the SOAP method will return a special SoapFault object which encapsulates the fault details (faultcode, faultstring, faultactor and faultdetails).

If exceptions is not set then SOAP call will throw an exception on error. is_soap_fault() checks if the given parameter is a SoapFault object.

Lista de parámetros

obj

The tested object.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. is_soap_fault() example

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

Ejemplo 2. SOAP's standard method for error reporting is exceptions

<?php
try {
    $client = new SoapClient("some.wsdl");
    $result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

Ver también

SoapClient->__construct()
SoapFault->__construct()

Anterior | Inicio | Siguiente
Funciones SOAP | Subir | SoapClient->__call()


Funciones SQLite

Manual de PHP
Anterior Siguiente

CLIV. Funciones SQLite

Introducción

Se trata de una extensión que permite emplear el motor de base de datos embebible SQLite. SQLite es una biblioteca de C que implementa un motor de base de datos SQL embebible. Las aplicaciones que emplean la biblioteca de SQLite pueden emplear bases de datos sin necesidad de instalar un motor de bases datos externo.

SQLite no es una biblioteca cliente para acceder a un servidor de bases datos. El propio SQLite es el servidor de base datos. La biblioteca SQLite lee y escribe directamente sobre los archivos de la base de datos que se encuentran en el disco.

Nota: Para más información puede acceder al sitio web oficial de SQLite: http://sqlite.org/.

Instalación

Lea el archivo INSTALL que viene con el paquete o utilice el instalador de PEAR con el siguiente comando "pear install sqlite". El propio SQLite ya está incluido, así que no es necesario instalar ningún programa adicional.

Los usuarios de Windows pueden descargar el archivo DLL de la extensión SQLite en esta dirección: (php_sqlite.dll).

En PHP 5, la extensión SQLite y el propio motor de bases de datos está incluido y compilado por defecto.

Instalación en Windows con cuentas de usuario sin privilegios: En los sistemas operativos Windows, las cuentas sin privilegios no tienen la variable de entorno TMP establecida por defecto. Por este motivo, SQLite creará los archivos temporales en el directorio de Windows, lo que no es muy recomendable. La solución pasa por crear una variable de entorno llamada TMP para el servidor web o para la cuenta de usuario con la que se ejecuta el servidor web. Si el servidor empleado es Apache, puede establecerse esta variable mediante la directiva SetEnv del archivo de configuración httpd.conf. Por ejemplo:

SetEnv TMP c:/temp

Si no es posible establecer la variable a nivel de servidor, se puede realizar en el mismo script:

putenv('TMP=C:/temp');

La configuración debe hacer referencia a un directorio en el que el servidor web tenga permisos para crear archivos y por tanto para escribir y borrar los archivos creados. Si no tiene los permisos adecuados, se mostrará el siguiente mensaje de error: malformed database schema - unable to open a temporary database file for storing temporary tables

Requisitos

Para poder utilizar estas funciones, se debe compilar PHP con soporte para SQLite o cargar la extensión SQLite de forma dinámica desde el archivo php.ini.

Tipos de recursos

La interfaz de SQLite utiliza 2 recursos: el primero es de la conexión con la base de datos y el segundo es el resultado.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Las funciones sqlite_fetch_array() y sqlite_current() emplean una constante para seleccionar los diferentes tipos de matrices del resultado. Los diferentes constantes definidas son las siguientes:

Constantes del tipo de resultado de SQLite

SQLITE_ASSOC (int)

La matriz contiene el nombre de las columnas como índice de los valores.

SQLITE_BOTH (int)

La matriz contiene el nombre de las columnas y un índice numérico como índice de los valores.

SQLITE_NUM (int)

La matriz contiene un índice numérico como índice de los valores. El índice empieza asignando el 0 al primer campo del resultado.

Algunas funciones devuelven códigos de estado. Se han definido los siguientes códigos:

Constantes del código de estado de SQLite

SQLITE_OK (int)

Resultado exitoso.

SQLITE_ERROR (int)

Error de SQL o base de datos desconocida.

SQLITE_INTERNAL (int)

Error lógico interno de SQLite.

SQLITE_PERM (int)

Permiso de acceso denegado.

SQLITE_ABORT (int)

La función de callback solicitó una interrupción.

SQLITE_BUSY (int)

El archivo de base de datos está bloqueado.

SQLITE_LOCKED (int)

Una tabla de la base de datos está bloqueada.

SQLITE_NOMEM (int)

Error en la reserva de memoria.

SQLITE_READONLY (int)

Se intentó escribir en una base de datos de solo lectura.

SQLITE_INTERRUPT (int)

La operación finalizaó internamente.

SQLITE_IOERR (int)

Error de E/S en el disco.

SQLITE_CORRUPT (int)

La imagen de la base de datos en el disco está corrupta.

SQLITE_NOTFOUND (int)

Tabla o registro (internos) no encontrados.

SQLITE_FULL (int)

No se pudo reañizar la inserción porque la base de datos está llena.

SQLITE_CANTOPEN (int)

No se pudo abrir el archivo de la base de datos.

SQLITE_PROTOCOL (int)

Error de bloqueo de base de datos.

SQLITE_EMPTY (int)

La tabla (interna) de la base de datos está vacía.

SQLITE_SCHEMA (int)

Se ha cambiado el esquema de la base de datos.

SQLITE_TOOBIG (int)

Demasiados datos para una fila de la tabla.

SQLITE_CONSTRAINT (int)

Interrupción debida a la violación de una restricción (constraint).

SQLITE_MISMATCH (int)

Confusión en el tipo de los datos.

SQLITE_MISUSE (int)

La librería se empleó de forma incorrecta.

SQLITE_NOLFS (int)

Se intentó utilizar unas características de SO no soportadas en el sistema.

SQLITE_AUTH (int)

Error de autenticación.

SQLITE_ROW (int)

El proceso interno dispone de otra fila.

SQLITE_DONE (int)

El proceso interno ha finalizado la ejecución.

Clases predefinidas

SQLiteDatabase

Representa una base de datos de SQLite abierta.

Constructor

  • __construct - construye un nuevo objeto de tipo SQLiteDatabase

Métodos

  • query - Ejecuta una consulta

  • queryExec - Ejecuta una consulta sin resultado

  • arrayQuery - Ejecuta una consulta y devuelve el resultado como una matriz

  • singleQuery - Ejecuta una consulta y devuelve o una matriz para una columna o el valor de la primera fila

  • unbufferedQuery - Ejecuta una consulta que devuelve el resultado de forma inmediata (unbuffered)

  • lastInsertRowid - Devuelve el identificador de la última fila que se ha insertado

  • changes - Devuelve el número de filas que se han modificado tras la última sentencia SQL

  • createAggregate - Registra una FDU (Función Definida por el Usuario) empleada para agregar resultados en las sentencias SQL

  • createFunction - Registra una FDU (Función Definida por el Usuario) para emplearla en las sentencias SQL

  • busyTimeout - Establece el valor o deshabilita la duración del temporizador de ocupado

  • lastErorr - Devuelve el último código de error del último error producido

  • fetchColumnTypes - Devuelve una matriz con los tipos de las columnas de una tabla determinada

SQLiteResult

Representa un resultado almacenado (buffered) de SQLite

Métodos

  • fetch - Obtiene la siguiente fila del resultado y la devuelve como una matriz

  • fetchObject - Obtiene la siguiente fila del resultado y la devuelve como un objeto

  • fetchSingle - Obtiene la primera columna del resultado y la devuelve en una cadena

  • fetchAll - Obtiene todas las filas del resultado y las devuelve como una matriz de matrices

  • column - Obtiene una columna de la fila actual del resultado

  • numFields - Obtiene el n´mero de campos del resultado

  • fieldName - Obtiene el nombre de un campo del resultado

  • current - Obtiene la fila actual del resultado y la devuelve como una matriz

  • key - Obtiene el índice de la fila actual

  • next - Se desplaza hasta el siguiente número de fila

  • valid - Indica si hay disponibles más filas

  • rewind - Se desplaza hasta el primer número de fila del resultado

  • prev - Se desplaza hasta el anterior número de fila

  • hasPrev - Indica si hay disponible alguna fila anterior

  • numRows - Obtiene el n´mero de filas en el resultado

  • seek - Se desplaza hasta un determinado número de fila

SQLiteUnbuffered

Representa un resultado no almacenado (unbuffered) de SQLite. Los resultados no almacenados son secuenciales y por tanto solamente se puede avanzar en ellos (no retroceder).

Métodos

  • fetch - Obtiene la siguiente fila del resultado y la devuelve como una matriz

  • fetchObject - Obtiene la siguiente fila del resultado y la devuelve como un objeto

  • fetchSingle - Obtiene la primera columna del resultado y la devuelve en una cadena

  • fetchAll - Obtiene todas las filas del resultado y las devuelve como una matriz de matrices

  • column - Obtiene una columna de la fila actual del resultado

  • numFields - Obtiene el n´mero de campos del resultado

  • fieldName - Obtiene el nombre de un campo del resultado

  • current - Obtiene la fila actual del resultado y la devuelve como una matriz

  • next - Se desplaza hasta el siguiente número de fila

  • valid - Indica si hay disponibles más filas

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Configure Options de SQLite

Name | Default | Changeable | Registro de cambios
sqlite.assoc_case | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

sqlite.assoc_case int

Uso de índices hash sin distinguir mayúsculas y minúsculas (0), solo mayúsculas (1) o solo minúsculas(2).

Esta opción se emplea cuando se requiere compatibilidad con otros sistemas de bases de datos, donde los nombres de las columnas siempre se devuelven o en mayúsculas o en minúsculas, independientemente de la forma en la que se almacenan los nombres de los campos en el esquema de la base de datos.

La librería SQLite devuelve el nombre de las columnas tal y como aparecen en el esquema de base de datos. Si el valor de sqlite.assoc_case es 0, se mantendrán los nombres originales. Si se pone a 1 o a 2, PHP convertirá los nombres originales a mayúsculas o en minúsculas respectivamente.

El uso de esta opción introduce una pequeña penalización en el rendimiento, pero es significativamente más rápida que hacerlo manualmente en el script de PHP.

Tabla de contenidos
sqlite_array_query -- Ejecuta una consulta contra una base de datos y devuelve el resultado en forma de matriz
sqlite_busy_timeout -- Establece la duración del temporizador de ocupado o deshabilita los temporizadores
sqlite_changes -- Devuelve el número de filas que se han modificado en la última sentencia SQL
sqlite_close -- Cierra una base de datos SQLite abierta
sqlite_column -- Obtiene una columna de la fila actual del resultado
sqlite_create_aggregate -- Registra una FDU (función definida por el usuario) de grupo normal para su uso en sentencias SQL
sqlite_create_function -- Registra una FDU (función definida por el usuario) normal para su uso en sentencias SQL
sqlite_current -- Obtiene la fila actual del resultado en forma de matriz
sqlite_error_string -- Devuelve la descripción del error producido a partir de un código de error
sqlite_escape_string -- Escapa una cadena de texto para poder usarla como parámetro en una consulta
sqlite_exec -- Ejecuta una consulta que no produce resultado
sqlite_factory -- Abre una base de datos SQLite y devuelve un objeto SQLiteDatabase
sqlite_fetch_all -- Obtiene todas las filas del resultado en forma de matriz de matrices
sqlite_fetch_array -- Obtiene la siguiente fila del resultado en forma de matriz
sqlite_fetch_column_types -- Obtiene una matriz con los tipos de las columnas de una tabla
sqlite_fetch_object -- Obtiene la siguiente fila del resultado en forma de objeto
sqlite_fetch_single -- Obtiene la primera columna del resultado en forma de cadena
sqlite_fetch_string -- Alias of sqlite_fetch_single()
sqlite_field_name -- Obtiene el nombre de un campo
sqlite_has_more -- Indica si existen más filas disponibles
sqlite_has_prev -- Indica si está disponible una fila anterior
sqlite_key -- Devuelve el índice de la fila actual
sqlite_last_error -- Devuelve el código de error del último error producido en la base de datos
sqlite_last_insert_rowid -- Devuelve el identificador de fila de la última fila insertada
sqlite_libencoding -- Devuelve la codificación de la librería SQLite que se está empleando
sqlite_libversion -- Devuelve la versión de la librería SQLite que se está empleando
sqlite_next -- Se desplaza hasta el siguiente número de fila
sqlite_num_fields -- Obtiene el número de campos de un resultado
sqlite_num_rows -- Obtiene el número de filas de un resultado almacenado (buffered)
sqlite_open -- Abre una base de datos de SQLite y la crea si no existía
sqlite_popen -- Abre una base de datos de SQLite de forma persistente y la crea si no existía
sqlite_prev -- Se desplaza hasta el anterior número de fila
sqlite_query -- Ejecuta una consulta sobre la base de datos y devuelve un manejador del resultado
sqlite_rewind -- Se desplaza hasta el primer número de fila
sqlite_seek -- Se desplaza hasta un determinado número de fila de un resultado almacenado (buffered)
sqlite_single_query -- Ejecuta una consulta y devuelve o una matriz para una columna o el valor de la primera fila
sqlite_udf_decode_binary -- Decodifica los datos binarios que se pasan como parámetro a las funciones FDU (función definida por el usuario)
sqlite_udf_encode_binary -- Codifica los datos binarios antes de devolverlos de una FDU (función definida por el usuario)
sqlite_unbuffered_query -- Ejecuta una consulta sobre la base de datos cuyo resultado no almacena todos los datos devueltos
sqlite_valid -- Indica si hay más filas disponibles en el resultado

Anterior | Inicio | Siguiente
spl_object_hash | Subir | sqlite_array_query


sqlite_array_query

(PHP 5)

sqlite_array_query

(no version information, might be only in CVS)

SQLiteDatabase->arrayQuery -- Ejecuta una consulta contra una base de datos y devuelve el resultado en forma de matriz

Descripción

array sqlite_array_query ( resource manejador_bd, string consulta [, int tipo_resultado [, bool decodificar_binario]] )

array sqlite_array_query ( string consulta, resource manejador_bd [, int tipo_resultado [, bool decodificar_binario]] )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

array arrayQuery ( string consulta [, int tipo_resultado [, bool decodificar_binario]] )

}

sqlite_array_query() executes the given query and returns an array of the entire result set. It is similar to calling sqlite_query() and then sqlite_fetch_array() for each row in the result set. sqlite_array_query() is significantly faster than the aforementioned.

Sugerencia: sqlite_array_query() está especialmente preparada para las consultas que devuelven 45 filas o menos. Si el resultado es más grande se recomienda emplear la función sqlite_unbuffered_query() que tiene un mejor rendimiento con resultados grandes.

Lista de parámetros

consulta

La consulta que se quiere ejecutar.

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

tipo_resultado

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_BOTH is the default for this function.

decodificar_binario

When the decode_binary parameter is set to TRUE (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

Nota: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

Valores retornados

Devuelve una matriz que contiene todo el resultado completo o FALSE en cualquier otro caso.

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('sqlitedb');
$resultado = sqlite_array_query($manejador_bd, 'SELECT nombre, email FROM usuarios LIMIT 25', SQLITE_ASSOC);
foreach ($resultado as $fila) {
    echo 'Nombre: ' . $fila['nombre'] . '  E-mail: ' . $fila['email'];
}
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('sqlitedb');
$resultado = $manejador_bd->arrayQuery('SELECT nombre, email FROM usuarios LIMIT 25', SQLITE_ASSOC);
foreach ($resultado as $fila) {
    echo 'Nombre: ' . $fila['nombre'] . '  E-mail: ' . $fila['email'];
}
?>

Ver también

sqlite_query()
sqlite_fetch_array()
sqlite_fetch_string()

Anterior | Inicio | Siguiente
Funciones SQLite | Subir | sqlite_busy_timeout


sqlite_busy_timeout

(PHP 5)

sqlite_busy_timeout

(no version information, might be only in CVS)

SQLiteDatabase->busyTimeout -- Establece la duración del temporizador de ocupado o deshabilita los temporizadores

Descripción

void sqlite_busy_timeout ( resource manejador_bd, int milisegundos )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

void busyTimeout ( int milisegundos )

}

Establece la duración máxima, en milisegundos, que SQLite espera para que la base de datos indicada por manejador_bd esté lista para ser usada.

Lista de parámetros

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

milisegundos

El número de milisegundos. Cuando se establece a 0, se deshabilitan los temporizadores de ocupado y SQLite devuelve el valor SQLITE_BUSY de forma inmediata cuando otro proceso ha bloqueado la base de datos para realizar una actualización de datos.

PHP establece el temporizador de ocupado por defecto en 60 segundos a partir de la apertura de la base de datos.

Nota: Cada segundo está formado por mil (1000) milisegundos.

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('sqlitedb');
sqlite_busy_timeout($manejador_bd, 10000); // establece el temporizador en 10 segundos
sqlite_busy_timeout($manejador_bd, 0); // deshabilita los temporizadores
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('sqlitedb');
$manejador_bd->busyTimeout(10000); // establece el temporizador en 10 segundos
$manejador_bd->busyTimeout(0); // deshabilita los temporizadores
?>

Ver también

sqlite_open()

Anterior | Inicio | Siguiente
sqlite_array_query | Subir | sqlite_changes


sqlite_changes

(PHP 5)

sqlite_changes

(no version information, might be only in CVS)

SQLiteDatabase->changes -- Devuelve el número de filas que se han modificado en la última sentencia SQL

Descripción

int sqlite_changes ( resource manejador_bd )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

int changes ( void )

}

Devuelve el número de filas que se han modificado en la última sentencia SQL ejecutada en la base de datos indicada con el parámetro manejador_bd.

Lista de parámetros

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('mysqlitedb');
$consulta = sqlite_query($manejador_bd, "UPDATE usuarios SET email='pedroperez@example.com' WHERE nombre_usuario='pedroperez'");
if (!$consulta) {
    exit('Error en la consulta.');
} else {
    echo 'Numero de filas modificadas: ', sqlite_changes($manejador_bd);
}
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('mysqlitedb');
$consulta = $manejador_bd->query("UPDATE usuarios SET email='pedroperez@example.com' WHERE nombre_usuario='pedroperez'");
if (!$consulta) {
    exit('Error en la consulta.');
} else {
    echo 'Numero de filas modificadas: ', $manejador_bd->changes();
}
?>

Ver también

sqlite_open()

Anterior | Inicio | Siguiente
sqlite_busy_timeout | Subir | sqlite_close


sqlite_close

(PHP 5)

sqlite_close -- Cierra una base de datos SQLite abierta

Descripción

void sqlite_close ( resource manejador_bd )

Cierra la base de datos indicada por el parámetro manejador_bd. Si la conexión era persistente, se cierra y se borra de la lista de conexiones persistentes.

Lista de parámetros

manejador_bd

El manejador de la base de datos SQLite devuelto por la función sqlite_open().

Ejemplos

Ejemplo 1. Ejemplo de sqlite_close()

<?php
$manejador_bd = sqlite_open('sqlitedb');
sqlite_close($manejador_bd);
?>

Ver también

sqlite_open()
sqlite_popen()

Anterior | Inicio | Siguiente
sqlite_changes | Subir | sqlite_column


sqlite_column

(PHP 5)

sqlite_column

(no version information, might be only in CVS)

SQLiteResult->column

(no version information, might be only in CVS)

SQLiteUnbuffered->column -- Obtiene una columna de la fila actual del resultado

Descripción

mixed sqlite_column ( resource manejador_resultado, mixed indice_o_nombre [, bool decodificar_binario] )

class SQLiteResult {

mixed column ( mixed indice_o_nombre [, bool decodificar_binario] )

}class SQLiteUnbuffered {

mixed column ( mixed indice_o_nombre [, bool decodificar_binario] )

}

Obtiene el valor de la columna llamada indice_o_nombre (si el parámetro es una cadena) o el valor de la columna cuyo índice es indice_o_nombre (si el parámetro es un número entero) dentro de la fila actual del resultado identificado por manejador_resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

indice_o_nombre

El índice o nombre de la columna que se quiere obtener.

decodificar_binario

When the decode_binary parameter is set to TRUE (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

Notes

Nota: Se emplea esta función cuando se está iterando sobre un resultado muy grande con un gran número de columnas o cuando las columnas contienen un gran número de datos.

Ver también

sqlite_fetch_string()

Anterior | Inicio | Siguiente
sqlite_close | Subir | sqlite_create_aggregate


sqlite_create_aggregate

(PHP 5)

sqlite_create_aggregate

(no version information, might be only in CVS)

SQLiteDatabase->createAggregate -- Registra una FDU (función definida por el usuario) de grupo normal para su uso en sentencias SQL

Descripción

void sqlite_create_aggregate ( resource manejador_bd, string nombre_funcion, callback funcion_intermedia, callback funcion_final [, int numero_argumentos] )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

void createAggregate ( string nombre_funcion, callback funcion_intermedia, callback funcion_final [, int numero_argumentos] )

}

sqlite_create_aggregate() es similar a sqlite_create_function() salvo que registrar funciones que se emplean para calcular resultados agrupados de todas las filas del resultado de una consulta.

La diferencia principal entre esta función y sqlite_create_function() es que se requieren 2 funciones para manejar los cálculos agrupados. La función indicada en funcion_intermedia se llama para cada una de las filas del resultado. La función PHP acumula y guarda el resultado temporal en el llamado "contexto de agregación". Una vez que todas las filas han sido procesadas, se llama a la función funcion_final, que obtendrá los resultados intermedios a partir del contexto de agregación y devolverá el resultado calculado. Las funciones de callback deben devolver un tipo de datos entendido por SQLite (esto es, tipo escalar).

Lista de parámetros

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

nombre_funcion

El nombre de la función a utilizar en las sentencias SQL.

funcion_intermedia

La función de callback que se llama para cada una de las filas del resultado.

funcion_final

La función de callback que se llama para realizar los cálculos agrupados a partir de los datos temporales almacenados por la función intermedia que se ejecuta sobre cada una de las filas.

numero_argumentos

Valor destinado al parseador de SQLite si la función de callback acepta un número predeterminado de argumentos.

Ejemplos

Ejemplo 1. Ejemplo de función de grupo llamada max_longitud

<?php
$datos = array(
   'uno',
   'dos',
   'tres',
   'cuatro',
   'cinco',
   'seis',
   'siete',
   'ocho',
   'nueve',
   'diez',
   );
$manejador_bd = sqlite_open(':memory:');
sqlite_query($manejador_bd, "CREATE TABLE tabla_cadenas(a)");
foreach ($datos as $cadena) {
    $cadena = sqlite_escape_string($cadena);
    sqlite_query($manejador_bd, "INSERT INTO tabla_cadenas VALUES ('$cadena')");
}

function max_longitud_temporal(&$contexto, $cadena)
{
    $cadena = sqlite_udf_decode_binary($cadena);
    if (strlen($cadena) > $contexto) {
        $contexto = strlen($cadena);
    }
}

function max_longitud_final(&$contexto)
{
    return $contexto;
}

sqlite_create_aggregate($dbhandle, 'max_longitud', 'max_longitud_temporal', 'max_longitud_final');

var_dump(sqlite_array_query($manejador_bd, 'SELECT max_longitud(a) from tabla_cadenas'));

?>

En este ejemplo, se crea una función de agregación que calcula la longitud de la cadena más larga de una de las columnas de la tabla. Para cada filam se llama a la función max_longitud_temporal y se le pasa el parámetro contexto. El parámetro contexto es como cualquier otra variable de PHP y puede contener una matriz o incluso un objeto. En el ejemplo, solamente almacena la longitud más larga hasta ese momento. Si la cadena tiene una longitud superior al máximo de ese momento, se actualiza el valor almacenado en el contexto para que contenga el nuevo valor máximo.

Una vez que todas las filas han sido procesadas, SQLite llama a la función max_longitud_final que calcula el resultado de la agregación. en esta función se pueden realizar los calculos necesarios a partir del valor de contexto. En este ejemplo tan sencillo, simplemente se devuelve el valor almacenado en contexto, porque ya contiene la longitud máxima de todas las cadenas procesadas.

Nota: El ejemplo mostrado no funciona correctamente si la columna contiene datos binarios. Vea la página del manual de la función sqlite_udf_decode_binary() para una explicación detallada de este hecho y para ver un ejemplo sobre la forma de tratar los datos binarios mediante su codificación.

Sugerencia: No se recomienda copiar todos los valores en el contexto y depuesés realizar su procesamiento al final, ya que esto provocaría que SQLite emplee mucha memoria para almacenar todos los datos. Por ejemplo, es fácil hacerse una idea del problema que puede surgir si se almacenan 1 millón de registros cada uno de ellos conteniendo 32 bytes de longitud.

Sugerencia: Se pueden emplear las funciones sqlite_create_function() y sqlite_create_aggregate() para sobrecargar las funciones SQL nativas de SQLite.

Ver también

sqlite_create_function()
sqlite_udf_encode_binary()
sqlite_udf_decode_binary()

Anterior | Inicio | Siguiente
sqlite_column | Subir | sqlite_create_function


sqlite_create_function

(PHP 5)

sqlite_create_function

(no version information, might be only in CVS)

SQLiteDatabase->createFunction -- Registra una FDU (función definida por el usuario) normal para su uso en sentencias SQL

Descripción

void sqlite_create_function ( resource manejador_bd, string nombre_funcion, callback callback [, int numero_argumentos] )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

void createFunction ( string nombre_funcion, callback callback [, int numero_argumentos] )

}

sqlite_create_function() permite registrar una función PHP para que SQLite la emplee como FDU (función definida por el usuario). De esta forma, la función se puede llamar desde las sentencias SQL.

La función FDU se puede utilizar en cualquier sentencia que pueda invocar funciones, como SELECT y UPDATE, además de en triggers.

Lista de parámetros

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

nombre_funcion

El nombre de la función a utilizar en las sentencias SQL.

callback

Función de callback que se encarga de manejar la función SQL.

Nota: Las funciones de callback deben devolver un tipo de datos entendido por SQLite (esto es, tipo escalar).

numero_argumentos

Valor destinado al parseador de SQLite si la función de callback acepta un número predeterminado de argumentos.

Nota: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

Ejemplos

Ejemplo 1. Ejemplo de sqlite_create_function()

<?php
function md5_invertida($cadena)
{
    return strrev(md5($cadena));
}

if ($manejador_bd = sqlite_open('mysqlitedb', 0666, $error_sqlite)) {

    sqlite_create_function($manejador_bd, 'md5inv', 'md5_invertida', 1);

    $consulta  = 'SELECT md5inv(nombre_archivo) FROM archivos';
    $filas = sqlite_array_query($manejador_bd, $consulta);
} else {
    echo 'Error al abriri a base de datos de SQLite: ' . $error_sqlite;
    exit;
}
?>

La función del ejemplo calcula el valor del resumen md5 de una cadena y lo invierte antes de devolverlo. Cuando se ejecuta la sentencia SQL, devuelve el valor del nombre de archivo devuelto por esta función. Los datos devueltos en la variable $filas contienen los resultados procesados.

La gran ventaja de esta técnica es que no se tienen que procesar los resultados mediante un bucle de tipo foreach() una vez obtenidos los resultados.

PHP registra una función especial llamada php cuando la base de datos se abre por primera vez. La función php se puede emplear para llamar a cualquier función PHP sin necesidad de tener que registrarla previamente.

Ejemplo 2. Ejemplo de uso de una función PHP

<?php
$filas = sqlite_array_query($manejador_bd, "SELECT php('md5', nombre_archivo) from archivos");
?>

El ejemplo llama a la función md5() de PHP para cada columna llamada nombre_archivo de la base de datos y devuelve el resultado en la variable $filas

Nota: PHP no realiza el proceso de codificación/decodificación de datos binarios de forma automática, ya que esto podría penalizar seriamente el rendimiento de las aplicaciones. Por tanto, se debe codificar/decodificar manualmente los parámetros y valores devueltos por estas funciones. Para más detalles, se puede consultar la documentación relativa a las funciones sqlite_udf_encode_binary() y sqlite_udf_decode_binary().

Sugerencia: No se recomienda que las propias funciones FDU se encarguen del procesamiento de los datos binarios, a no ser que el rendimiento de la aplicación no sea un elemento determinante.

Sugerencia: Se pueden emplear las funciones sqlite_create_function() y sqlite_create_aggregate() para sobrecargar las funciones SQL nativas de SQLite.

Ver también

sqlite_create_aggregate()

Anterior | Inicio | Siguiente
sqlite_create_aggregate | Subir | sqlite_current


sqlite_current

(PHP 5)

sqlite_current

(no version information, might be only in CVS)

SQLiteResult->current

(no version information, might be only in CVS)

SQLiteUnbuffered->current -- Obtiene la fila actual del resultado en forma de matriz

Descripción

array sqlite_current ( resource manejador_resultado [, int tipo_resultado [, bool decodificar_binario]] )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

array current ( [int tipo_resultado [, bool decodificar_binario]] )

}class SQLiteUnbuffered {

array current ( [int tipo_resultado [, bool decodificar_binario]] )

}

sqlite_current() es idéntica a la función sqlite_fetch_array() salvo que no se avanza a la siguiente fila del resultado antes de devolver los datos. De esta forma, solamente devuelve los datos de la posición actual.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

tipo_resultado

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_BOTH is the default for this function.

decodificar_binario

When the decode_binary parameter is set to TRUE (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

Valores retornados

Devuelve una matriz que contiene los valores de la fila actual del resultado o FALSE si la posición actual se encuentra más allá de la última fila.

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Ver también

sqlite_seek()
sqlite_next()
sqlite_fetch_array()

Anterior | Inicio | Siguiente
sqlite_create_function | Subir | sqlite_error_string


sqlite_error_string

(PHP 5)

sqlite_error_string -- Devuelve la descripción del error producido a partir de un código de error

Descripción

string sqlite_error_string ( int codigo_error )

Devuelve una descripción detallada del error producido a partir del código de error proporcionado por codigo_error y obtenido con la función sqlite_last_error().

Ver también

sqlite_last_error()

Anterior | Inicio | Siguiente
sqlite_current | Subir | sqlite_escape_string


sqlite_escape_string

(PHP 5)

sqlite_escape_string -- Escapa una cadena de texto para poder usarla como parámetro en una consulta

Descripción

string sqlite_escape_string ( string cadena )

sqlite_escape_string() modifica la cadena proporcionada en el parámetro cadena de forma que se escapan los caracteres especiales y así la cadena está lista para emplearse en las sentencias SQL de SQLite. Los cambios realizados incluyen doblar las comillas simples (') y comprobar que no existen caracteres binarios inseguros que se vayan a emplear en la cadena de consulta SQL.

Si la cadena contiene caracteres de tipo NUL o si empieza con un carácter cuyo valor ordinal sea 0x01, PHP aplica un esquema de codificación binaria para asegurar que los datos binarios pueden almacenarse (y recuperarse posteriormente) con seguridad.

Aunque la codificación permite transformar los datos binarios en seguros, impedirá que se puedan emplar comparaciones como LIKE en las columnas que contienen datos binarios. En la práctica sin embargo, este hecho no debería ser un problema ya que en los esquemas de bases datos no se suelen emplear ese tipo de comparaciones con las columnas que almacenan datos binarios (de hecho, es mejor emplear otros medios para almacenar los datos binarios, como por ejemplo archivos en el sistema).

Aviso

No se debe emplear la función addslashes() para escapar las cadenas que se utilizan en las consultas de SQLite, ya que puede provocar comportamientos indeseados a la hora de recuperar los datos.

Nota: No se debe emplear esta función para codificar los datos devueltos por FDU (funciones definidas por el usuario) creadas con las funciones sqlite_create_function() o sqlite_create_aggregate(). Se debe emplear la función sqlite_udf_encode_binary() en su lugar.

Ver también

sqlite_udf_encode_binary()

Anterior | Inicio | Siguiente
sqlite_error_string | Subir | sqlite_exec


sqlite_exec

(PHP 5)

sqlite_exec

(no version information, might be only in CVS)

SQLiteDatabase->exec -- Ejecuta una consulta que no produce resultado

Descripción

bool sqlite_exec ( resource manejador_bd, string consulta )

bool sqlite_exec ( string consulta, resource manejador_bd )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

bool exec ( string consulta )

}

Ejecuta la sentencia SQL indicada por el parámetro consulta en la base de datos identificada por el parámetro manejador_bd.

Aviso

SQLite permite ejecutar múltiples consultas seguidas separadas por un punto y coma. De esta forma, se pueden ejecutar de una vez una serie de consultas SQL que se han cargado por ejemplo de un archivo o que se han incluido en un script.

Lista de parámetros

consulta

La consulta que se quiere ejecutar.

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

Nota: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

Valores retornados

La función devuelve un resultado booleano: TRUE si tiene éxito y FALSE en caso contrario. Si se requiere que la consulta ejecutada devuelva las filas en el resultado, se debe emplear la función sqlite_query().

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('mysqlitedb');
$consulta = sqlite_exec($manejador_bd, "UPDATE usuarios SET email='pedroperez@example.com' WHERE nombre_usuario='pedroperez'");
if (!$consulta) {
    exit('Error en la consulta.');
} else {
    echo 'Numero de filas modificadas: ', sqlite_changes($manejador_bd);
}
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('mysqlitedb');
$consulta = $dbhandle->exec("UPDATE usuarios SET email='pedroperez@example.com' WHERE nombre_usuario='pedroperez'");
if (!$consulta) {
    exit('Error en la consulta.');
} else {
    echo 'Numero de filas modificadas: ', $manejador_bd->changes();
}
?>

Ver también

sqlite_query()
sqlite_unbuffered_query()
sqlite_array_query()

Anterior | Inicio | Siguiente
sqlite_escape_string | Subir | sqlite_factory


sqlite_factory

(PHP 5)

sqlite_factory -- Abre una base de datos SQLite y devuelve un objeto SQLiteDatabase

Descripción

SQLiteDatabase sqlite_factory ( string nombre_archivo [, int modo [, string &mensaje_error]] )

sqlite_factory() se comporta de forma similar a la función sqlite_open() ya que abre una base de datos SQLite o intenta crearla si no existe. La diferencia es que se devuelve un objeto de tipo SQLiteDatabase y no un manejador de base de datos. Consulte la documentación de la función sqlite_open() para obtener mas información sobre su uso.

Lista de parámetros

nombre_archivo

El nombre de archivo de la base de datos de SQLite.

modo

El modo del archivo, que se emplea para abrir la base de datos en modo solo lectura. Actualmente, la librería sqlite ignora este parámetro. El valor por defecto en formato octal es 0666, que además es el valor recomendado.

mensaje_error

Se pasa por referencia y contiene un mensaje de error descriptivo que explica el motivo por el que no se pudo abrir la base de datos.

Valores retornados

Devuelve un objeto de tipo SQLiteDatabase en caso de éxito o NULL si se ha producido un error.

Ejemplos

Ejemplo 1. Ejemplo de sqlite_factory()

<?php
$manejador_bd = sqlite_factory('sqlitedb');
$manejador_bd->query('SELECT id_usuario, nombre_usuario FROM usuarios');

/* Equivalente a: */

$manejador_bd = new SQLiteDatabase('sqlitedb');
$manejador_bd->query('SELECT id_usuario, nombre_usuario FROM usuarios');

?>

Ver también

sqlite_open()
sqlite_popen()

Anterior | Inicio | Siguiente
sqlite_exec | Subir | sqlite_fetch_all


sqlite_fetch_all

(PHP 5)

sqlite_fetch_all

(no version information, might be only in CVS)

SQLiteResult->fetchAll

(no version information, might be only in CVS)

SQLiteUnbuffered->fetchAll -- Obtiene todas las filas del resultado en forma de matriz de matrices

Descripción

array sqlite_fetch_all ( resource manejador_resultado [, int tipo_resultado [, bool decodificar_binario]] )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

array fetchAll ( [int tipo_resultado [, bool decodificar_binario]] )

}class SQLiteUnbuffered {

array fetchAll ( [int tipo_resultado [, bool decodificar_binario]] )

}

sqlite_fetch_all() devuelve una matriz que contiene todos los valores del resultado representado por el parámetro manejador_resultado. Su funcionamiento es similar a emplear la función sqlite_query() (o sqlite_unbuffered_query()) y después llamar a sqlite_fetch_array() para cada una de las filas del resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

tipo_resultado

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_BOTH is the default for this function.

decodificar_binario

When the decode_binary parameter is set to TRUE (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

Valores retornados

Devuelve una matriz que contiene las filas restantes del resultado. Si se llama a la función justo después de sqlite_query(), devuelve todas las filas. Si se llama después de la función sqlite_fetch_array(), devuelve el resto. Si el resultado no contiene filas, devuelve una matriz vacía.

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('sqlitedb');
$consulta = sqlite_query($manejador_bd, 'SELECT nombre, email FROM usuarios LIMIT 25');
$resultado = sqlite_fetch_all($consulta, SQLITE_ASSOC);
foreach ($resultado as $fila) {
    echo 'Nombre: ' . $fila['nombre'] . '  E-mail: ' . $fila['email'];
}
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('sqlitedb');

$consulta = $manejador_bd->query('SELECT nombre, email FROM usuarios LIMIT 25'); // resultado almacenado (buffered)
$consulta = $manejador_bd->unbufferedQuery('SELECT nombre, email FROM usuarios LIMIT 25'); // resultado no almacenado (unbuffered)

$resultado = $consulta->fetchAll(SQLITE_ASSOC);
foreach ($resultado as $fila) {
    echo 'Nombre: ' . $fila['nombre'] . '  E-mail: ' . $fila['email'];
}
?>

Ver también

sqlite_fetch_array()

Anterior | Inicio | Siguiente
sqlite_factory | Subir | sqlite_fetch_array


sqlite_fetch_array

(PHP 5)

sqlite_fetch_array

(no version information, might be only in CVS)

SQLiteResult->fetch

(no version information, might be only in CVS)

SQLiteUnbuffered->fetch -- Obtiene la siguiente fila del resultado en forma de matriz

Descripción

array sqlite_fetch_array ( resource manejador_resultado [, int tipo_resultado [, bool decodificar_binario]] )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

array fetch ( [int tipo_resultado [, bool decodificar_binario]] )

}class SQLiteUnbuffered {

array fetch ( [int tipo_resultado [, bool decodificar_binario]] )

}

Obtiene la siguiente fila del resultado identificado mediante el parámetro manejador_resultado. Si no existen mas filas, devuelve FALSE, en cualquier otro caso, devuelve una matriz asociativa que contiene los datos de la fila.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

tipo_resultado

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_BOTH is the default for this function.

decodificar_binario

When the decode_binary parameter is set to TRUE (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

Valores retornados

Devuelve una matriz con los datos de la siguiente fila del resultado o FALSE si la siguiente posición se encuentra más allá de la última fila.

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('sqlitedb');
$consulta = sqlite_query($manejador_bd, 'SELECT nombre, email FROM usuarios LIMIT 25');
$resultado = sqlite_fetch_all($consulta, SQLITE_ASSOC);
foreach ($resultado as $fila) {
    echo 'Nombre: ' . $fila['nombre'] . '  E-mail: ' . $fila['email'];
}
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('sqlitedb');

$consulta = $manejador_bd->query('SELECT nombre, email FROM usuarios LIMIT 25'); // resultado almacenado (buffered)
$consulta = $manejador_bd->unbufferedQuery('SELECT nombre, email FROM usuarios LIMIT 25'); // resultado no almacenado (unbuffered)

$resultado = $consulta->fetchAll(SQLITE_ASSOC);
foreach ($resultado as $fila) {
    echo 'Nombre: ' . $fila['nombre'] . '  E-mail: ' . $fila['email'];
}
?>

Ver también

sqlite_array_query()
sqlite_fetch_string()

Anterior | Inicio | Siguiente
sqlite_fetch_all | Subir | sqlite_fetch_column_types


sqlite_fetch_column_types

(PHP 5)

sqlite_fetch_column_types

(no version information, might be only in CVS)

SQLiteDatabase->fetchColumnTypes -- Obtiene una matriz con los tipos de las columnas de una tabla

Descripción

array sqlite_fetch_column_types ( string nombre_tabla, resource manejador_bd [, int tipo_resultado] )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

array fetchColumnTypes ( string nombre_tabla [, int tipo_resultado] )

}

sqlite_fetch_column_types() devuelve una matriz con los tipos de las columnas de la tabla indicada por el parámetro nombre_tabla.

Lista de parámetros

nombre_tabla

El nombre de la tabla que se quiere consultar.

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

tipo_resultado

El parámetro opcional result_type acepta una serie de constantes que controlan como se indexa la matriz devuelta. Si se emplea el valor SQLITE_ASSOC se devuelven solamente índices asociativos (esto es, los campos tienen nombre) mientras que el valor SQLITE_NUM hace que se devuelvan solamente índices numéricos (los campos se referencian por números ordinales). Por último, el valor SQLITE_BOTH hace que se devuelvan tanto los índices numéricos como los asociativos. El valor por defecto para esta función es SQLITE_ASSOC.

Valores retornados

Devuelve una matriz con los tipos de las columnas de la tabla o FALSE en caso de error.

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Registro de cambios

Versión | Descripción
5.1.0 | Se añade result_type

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('mysqlitedb');
sqlite_query($db, 'CREATE TABLE prueba (nombre varchar(10), comentario text)');
$columnas = sqlite_fetch_column_types('prueba', $manejador_bd, SQLITE_ASSOC);

foreach ($columnas as $columna => $tipo) {
    echo "Columna: $columna  Tipo: $tipo";
}
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('mysqlitedb');
$manejador_bd->query('CREATE TABLE prueba (nombre varchar(10), comentario text)');
$columnas = $manejador_bd->fetchColumnTypes('prueba', SQLITE_ASSOC);

foreach ($columnas as $columna => $tipo) {
    echo "Columna: $columna  Tipo: $tipo";
}
?>

El resultado del ejemplo seria:

Columna: nombre  Type: VARCHAR
Columna: comentario  Type: TEXT

Anterior | Inicio | Siguiente
sqlite_fetch_array | Subir | sqlite_fetch_object


sqlite_fetch_object

(PHP 5)

sqlite_fetch_object

(no version information, might be only in CVS)

SQLiteResult->fetchObject

(no version information, might be only in CVS)

SQLiteUnbuffered->fetchObject -- Obtiene la siguiente fila del resultado en forma de objeto

Descripción

object sqlite_fetch_object ( resource result [, string class_name [, array ctor_params [, bool decode_binary]]] )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

object fetchObject ( [string class_name [, array ctor_params [, bool decode_binary]]] )

}class SQLiteUnbuffered {

object fetchObject ( [string class_name [, array ctor_params [, bool decode_binary]]] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
sqlite_fetch_column_types | Subir | sqlite_fetch_single


sqlite_fetch_single

(PHP 5)

sqlite_fetch_single

(no version information, might be only in CVS)

SQLiteResult->fetchSingle

(no version information, might be only in CVS)

SQLiteUnbuffered->fetchSingle -- Obtiene la primera columna del resultado en forma de cadena

Descripción

string sqlite_fetch_single ( resource manejador_resultado [, bool decodificar_binario] )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

string fetchSingle ( [bool decodificar_binario] )

}class SQLiteUnbuffered {

string fetchSingle ( [bool decodificar_binario] )

}

sqlite_fetch_single() es idéntica a la función sqlite_fetch_array() salvo que devuelve el valor de la primera columna del resultado.

Esta es la forma óptima de obtener datos cuando solamente se requieren los valores de una columna del resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

decodificar_binario

When the decode_binary parameter is set to TRUE (the default), PHP will decode the binary encoding it applied to the data if it was encoded using the sqlite_escape_string(). You should normally leave this value at its default, unless you are interoperating with databases created by other sqlite capable applications.

Ejemplos

Ejemplo 1. Ejemplo de sqlite_fetch_single()

<?php
if ($manejador_bd = sqlite_open('mysqlitedb', 0666, $error_sqlite)) {

    $consulta = "SELECT id FROM usuarios WHERE id = 42";
    $resultado = sqlite_query($manejador_bd, $consulta);

    if (sqlite_num_rows($resultado) > 0) {
        echo sqlite_fetch_single($resultado); // 42
    }

    sqlite_close($manejador_bd);
}
?>

Ver también

sqlite_fetch_array()

Anterior | Inicio | Siguiente
sqlite_fetch_object | Subir | sqlite_fetch_string


sqlite_fetch_string

(PHP 5)

sqlite_fetch_string -- Alias of sqlite_fetch_single()

Descripción

This function is an alias of: sqlite_fetch_single().

Anterior | Inicio | Siguiente
sqlite_fetch_single | Subir | sqlite_field_name


sqlite_field_name

(PHP 5)

sqlite_field_name

(no version information, might be only in CVS)

SQLiteResult->fieldName

(no version information, might be only in CVS)

SQLiteUnbuffered->fieldName -- Obtiene el nombre de un campo

Descripción

string sqlite_field_name ( resource manejador_resultado, int indice_campo )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

string fieldName ( int indice_campo )

}class SQLiteUnbuffered {

string fieldName ( int indice_campo )

}

A partir del número de columna (indice_campo) sqlite_field_name() devuelve el nombre de ese campo dentro del resultado indicado con manejador_resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

indice_campo

El número de columna dentro del resultado.

Valores retornados

Devuelve el nombre del campo del resultado de SQLite a partir de su número de columna o FALSE si se ha producido un error.

The column names returned by SQLITE_ASSOC and SQLITE_BOTH will be case-folded according to the value of the sqlite.assoc_case configuration option.

Anterior | Inicio | Siguiente
sqlite_fetch_string | Subir | sqlite_has_more


sqlite_has_more

(PHP 5)

sqlite_has_more -- Indica si existen más filas disponibles

Descripción

bool sqlite_has_more ( resource manejador_resultado )

Averigua si existen más filas disponibles para el resultado indicado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite.

Valores retornados

Devuelve TRUE si hay más filas disponibles en el resultado identificado por el parámetro manejador_resultado o FALSE en cualquier otro caso.

Ver también

sqlite_num_rows()
sqlite_changes()

Anterior | Inicio | Siguiente
sqlite_field_name | Subir | sqlite_has_prev


sqlite_has_prev

(PHP 5)

sqlite_has_prev

(no version information, might be only in CVS)

SQLiteResult->hasPrev -- Indica si está disponible una fila anterior

Descripción

bool sqlite_has_prev ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

bool hasPrev ( void )

}

Averigua si existen filas anteriores disponibles para el resultado indicado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Valores retornados

Devuelve TRUE si existen filas anteriores disponibles para el resultado identificado mediante el parámetro manejador_resultado o FALSE en cualquier otro caso.

Ver también

sqlite_prev()
sqlite_has_more()
sqlite_num_rows()

Anterior | Inicio | Siguiente
sqlite_has_more | Subir | sqlite_key


sqlite_last_error

(PHP 5)

sqlite_last_error

(no version information, might be only in CVS)

SQLiteDatabase->lastError -- Devuelve el código de error del último error producido en la base de datos

Descripción

int sqlite_last_error ( resource manejador_bd )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

int ultimo_error ( void )

}

Devuelve el código de error de la última operación realizada en la base de datos identificada mediante el parámetro manejador_bd. Para obtener un mensaje de error descriptivo sobre el problema surgido se debe emplear la función sqlite_error_string().

Lista de parámetros

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

Ver también

sqlite_error_string()

Anterior | Inicio | Siguiente
sqlite_key | Subir | sqlite_last_insert_rowid


sqlite_last_insert_rowid

(PHP 5)

sqlite_last_insert_rowid

(no version information, might be only in CVS)

SQLiteDatabase->lastInsertRowid -- Devuelve el identificador de fila de la última fila insertada

Descripción

int sqlite_last_insert_rowid ( resource manejador_bd )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

int lastInsertRowid ( void )

}

Devuelve el identificador de fila de la última fila insertada en la base de datos identificada mediante el parámetro manejador_bd, si se creó como un campo autoincremental.

Sugerencia: Se pueden crear campos autoincrementales en SQLite declarándolos como INTEGER PRIMARY KEY en el esquema de la tabla.

Lista de parámetros

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

Anterior | Inicio | Siguiente
sqlite_last_error | Subir | sqlite_libencoding


sqlite_libencoding

(PHP 5)

sqlite_libencoding -- Devuelve la codificación de la librería SQLite que se está empleando

Descripción

string sqlite_libencoding ( void )

La librería SQLite puede compilarse en uno de los 2 modos siguientes: ISO-8859-1 o UTF-8. Esta función permite averiguar qué esquema de codificación se ha definido para la librería que se está utilizando.

Aviso

La distribución de SQLite que viene con PHP se compila por defecto con soporte para ISO-8859-1. Sin embargo, este hecho puede crear confusión ya que en vez de emplear ISO-8859-1, realmente se comporta de acuerdo a la configuración de localización del sistema para el ordenamiento de cadenas y para su comparación. Asi que en vez de creer que se emplea ISO-8859-1, se debería asimilar a que se está empleando 8 bits simplemente.

Cuando se compila con soporte UTF-8, SQLite se encarga de la codificació y decodificación de las secuencias de caracteres multi-byte de UTF-8. Sin embargo, no se encarga por ejemplo de la normalización de los datos y algunas de las operaciones de comparación no se realizan de forma correcta.

Aviso

No se recomienda emplear la librería SQLite compilada con soporte UTF-8 junto con PHP en un servidor web de producción, ya que la librerí libsqlite interrumpirá el proceso si detecta un problema con la codificación UTF-8.

Ver también

sqlite_lib_version()

Anterior | Inicio | Siguiente
sqlite_last_insert_rowid | Subir | sqlite_libversion


sqlite_libversion

(PHP 5)

sqlite_libversion -- Devuelve la versión de la librería SQLite que se está empleando

Descripción

string sqlite_libversion ( void )

Devuelve la versión de la librería SQLite que se está empleando

Ver también

sqlite_libencoding()

Anterior | Inicio | Siguiente
sqlite_libencoding | Subir | sqlite_next


sqlite_next

(PHP 5)

sqlite_next

(no version information, might be only in CVS)

SQLiteResult->next

(no version information, might be only in CVS)

SQLiteUnbuffered->next -- Se desplaza hasta el siguiente número de fila

Descripción

bool sqlite_next ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

bool next ( void )

}class SQLiteUnbuffered {

bool next ( void )

}

sqlite_next() desplaza el manejador de resultado (indicado en el parámetro manejador_resultado) hasta la siguiente fila.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Valores retornados

Devuelve TRUE en caso de éxito o FALSE si no existen más filas.

Ver también

sqlite_seek()
sqlite_current()
sqlite_rewind()

Anterior | Inicio | Siguiente
sqlite_libversion | Subir | sqlite_num_fields


sqlite_num_fields

(PHP 5)

sqlite_num_fields

(no version information, might be only in CVS)

SQLiteResult->numFields

(no version information, might be only in CVS)

SQLiteUnbuffered->numFields -- Obtiene el número de campos de un resultado

Descripción

int sqlite_num_fields ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

int numFields ( void )

}class SQLiteUnbuffered {

int numFields ( void )

}

Devuelve el número de campos del resultado identificado por el parámetro manejador_resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Ver también

sqlite_changes()
sqlite_num_rows()

Anterior | Inicio | Siguiente
sqlite_next | Subir | sqlite_num_rows


sqlite_num_rows

(PHP 5)

sqlite_num_rows

(no version information, might be only in CVS)

SQLiteResult->numRows -- Obtiene el número de filas de un resultado almacenado (buffered)

Description

int sqlite_num_rows ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

int numRows ( void )

}

Devuelve el número de filas del resultado almacenado (buffered) identificado por el parámetro manejador_resultado set.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Ejemplos

Ejemplo 1. Ejemplo no orientado a objetos

<?php
$manejador_bd = sqlite_open('mysqlitedb');
$resultado = sqlite_query($manejador_bd, "SELECT * FROM usuarios WHERE name='Pedro Perez'");
$filas = sqlite_num_rows($resultado);

echo "Numero de filas: $filas";
?>

Ejemplo 2. Ejemplo orientado a objetos

<?php
$manejador_bd = new SQLiteDatabase('mysqlitedb');
$resultado = $manejador_bd->query("SELECT * FROM usuarios WHERE name='Pedro Perez'");
$filas = $resultado->numRows();

echo "Numero de filas: $filas";
?>

Ver también

sqlite_changes()
sqlite_query()
sqlite_num_fields()

Anterior | Inicio | Siguiente
sqlite_num_fields | Subir | sqlite_open


sqlite_open

(PHP 5)

sqlite_open -- Abre una base de datos de SQLite y la crea si no existía

Descripción

resource sqlite_open ( string nombre_archivo [, int modo [, string &mensaje_error]] )

(Constructor) según el estilo orientado a objetos:

class SQLiteDatabase {

__construct ( string nombre_archivo [, int modo [, string &mensaje_error]] )

}

Abre una base de datos de SQLite o la crea si no existía

Lista de parámetros

nombre_archivo

El nombre de archivo de la base de datos de SQLite. Si el archivo no existe, SQLite intenta crearlo. PHP debe tener permisos de escritura en el archivo si se van a insertar datos, si el esquema de la base de datos se modifica o si se va a crear la propia base de datos por no existir.

modo

El modo del archivo, que se emplea para abrir la base de datos en modo solo lectura. Actualmente, la librería sqlite ignora este parámetro. El valor por defecto en formato octal es 0666, que además es el valor recomendado.

mensaje_error

Se pasa por referencia y contiene un mensaje de error descriptivo que explica el motivo por el que no se pudo abrir la base de datos.

Valores retornados

Devuelve un recurso en caso de éxito (que realmente es un manejador de base de datos) o FALSE en caso de error.

Ejemplos

Ejemplo 1. Ejemplo de sqlite_open()

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqlite_error)) {
    sqlite_query($db, 'CREATE TABLE prueba (nombre varchar(10))');
    sqlite_query($db, "INSERT INTO prueba VALUES ('prueba_de_nombre')");
    $resultado = sqlite_query($db, 'select nombre from prueba');
    var_dump(sqlite_fetch_array($resultado));
} else {
    die($sqlite_error);
}
?>

Notes

Sugerencia: En sistemas Unix, SQLite puede tener problemas con scripts que hacen uso de llamadas a fork(). Los scripts que realicen ese tipo de llamadas, deberín cerrar el manejador antes de realizar el fork() y volver a abrirlo en el proceso hijo y/o en el proceso padre original. Para más información sobre este asunto, vea la La interfaz de C a la librería de SQLite y en concreto la sección Multi-Threading And SQLite (SQLite y los procesos con múltiples hilos de ejecución).

Sugerencia: No se recomienda utilizar bases de datos SQLite montadas sobre particiones NFS. Como es sabido, NFS tiene un comportamiento con los bloqueos bastante deficiente, lo que puede provocar que no se puedan abrir bases de datos o que el comportamiento con las que estén abiertas sea impredecible debido al bloqueo.

Nota: Desde la versión 2.8.2 de la librería SQLite, se puede indicar como nombre_archivo el valor :memory:, con lo que se creará la base de datos en la memoria del sistema. Este tipo de bases de datos son útiles cuando se necesita realizar un procesamiento temporal, ya que las bases de datos residentes en memoria se eliminan cuando termina la ejecución del proceso. También puede ser útil cuando se emplea junto con la sentencia SQL ATTACH DATABASE, de forma que se puedan cargar bases de datos y mover y consultar datos entre ellas.

Nota: SQLite es safe mode y está preparada para el "open_basedir".

Ver también

sqlite_popen()
sqlite_close()
sqlite_factory()

Anterior | Inicio | Siguiente
sqlite_num_rows | Subir | sqlite_popen


sqlite_popen

(PHP 5)

sqlite_popen -- Abre una base de datos de SQLite de forma persistente y la crea si no existía

Descripción

resource sqlite_popen ( string nombre_archivo [, int modo [, string &mensaje_error]] )

Esta función se comporta de la misma forma que sqlite_open(), salvo que emplea el mecanismo de persistencia de recursos de PHP. Para más información sobre el significado de los parámetros, consulte la página del manual de la función sqlite_open().

sqlite_popen() comprueba en primer lugar si ya existe un manejador creado para el nombre_archivo indicado. Si encuentra uno, devuelve ese manejador al script; en caso contrario, abre una nueva conexión con la base de datos.

La ventaja de esta forma de actuar es que no se penaliza el rendimiento del script debido al proceso de creaión de la conexión con la base de datos, la lectura de su esquema, etc. Si se emplean SAPIs de servidor web que permiten la persistencia, no se tiene que crear una nueva conexión con la base de datos cada vez que se produce un acceso a la página web. (Los SAPIs que no permiten esta persistencia son el CGI y el CLI).

Nota: Si se emplean conexiones persistentes y se utilizan procesos en segundo plano (por ejemplo, con el crontab) que actualizan la base de datos volviendola a crear (debido a una reconstrucción o copiando una versión actualizada machacando la anterior versión) puede que se produzcan comportamientos no deseados con los manejadores que se crearon para la base de datos que ha sido reemplazada.

Para solucionar este problema, los procesos en segundo plano deberían abrir la base de datos y realizar sus actualizaciones en una transacción.

Lista de parámetros

nombre_archivo

El nombre de archivo de la base de datos de SQLite. Si el archivo no existe, SQLite intenta crearlo. PHP debe tener permisos de escritura en el archivo si se van a insertar datos, si el esquema de la base de datos se modifica o si se va a crear la propia base de datos por no existir.

modo

El modo del archivo, que se emplea para abrir la base de datos en modo solo lectura. Actualmente, la librería sqlite ignora este parámetro. El valor por defecto en formato octal es 0666, que además es el valor recomendado.

mensaje_error

Se pasa por referencia y contiene un mensaje de error descriptivo que explica el motivo por el que no se pudo abrir la base de datos.

Valores retornados

Devuelve un recurso en caso de éxito (que realmente es un manejador de base de datos) o FALSE en caso de error.

Ver también

sqlite_open()
sqlite_close()
sqlite_factory()

Anterior | Inicio | Siguiente
sqlite_open | Subir | sqlite_prev


sqlite_prev

(PHP 5)

sqlite_prev

(no version information, might be only in CVS)

SQLiteResult->prev -- Se desplaza hasta el anterior número de fila

Descripción

bool sqlite_prev ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

bool prev ( void )

}

sqlite_prev() desplaza el manejador de resultado (indicado en el parámetro manejador_resultado) hasta la anterior fila.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Valores retornados

Devuelve TRUE en caso de éxito o FALSE si no existen más filas previas.

Ver también

sqlite_has_prev()
sqlite_rewind()
sqlite_next()

Anterior | Inicio | Siguiente
sqlite_popen | Subir | sqlite_query


sqlite_query

(PHP 5)

sqlite_query

(no version information, might be only in CVS)

SQLiteDatabase->query -- Ejecuta una consulta sobre la base de datos y devuelve un manejador del resultado

Descripción

resource sqlite_query ( resource manejador_bd, string consulta [, int tipo_resultado] )

resource sqlite_query ( string consulta, resource manejador_bd [, int tipo_resultado] )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

SQLiteResult query ( string consulta [, int tipo_resultado] )

}

Ejecuta una sentencia SQL dada por el parámetro consulta contra una base de datos identificada mediante el parámetro manejador_bd.

Lista de parámetros

consulta

La consulta que se quiere ejecutar.

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

tipo_resultado

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_BOTH is the default for this function.

Nota: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

Valores retornados

La función devuelve el manejador del resultado o FALSE si se produce un error. Para las consultas que devuelven una serie de filas, el manejador del resultado se puede emplear con funciones como sqlite_fetch_array() y sqlite_seek().

Independientemente del tipo de consulta, la función devuelve FALSE si la consulta ha producido un error.

sqlite_query() devuelve un manejador de resultado que referencia un resultado almacenado (buffered) y que se puede recorrer hacia delante y hacia detrás. Este tipo de resultado es útil para consultas pequeñas en las que es necesario recorrer el resultado en cualquier sentido para poder acceder de forma directa a cualquiera de las filas. Los resultados almacenados reservan la memoria suficiente como para almacenar todo el resultado y el manejador no se devuelve hasta que se han obtenido todas las filas. Si solamente es necesario el acceso secuencial a los resultados, se recomienda emplear la función sqlite_unbuffered_query(), que tiene un rendimiento muy superior, ya que el resultado no es almacenado (unbuffered).

Notes

Aviso

SQLite permite ejecutar múltiples consultas seguidas separadas por un punto y coma. De esta forma, se pueden ejecutar de una vez una serie de consultas SQL que se han cargado por ejemplo de un archivo o que se han incluido en un script. De todas formas, este funcionamiento solo es válido cuando el resultado de una consulta no se utiliza en las demás. Si se utiliza el resultado, entonces solamente se ejecuta la primera sentencia SQL. La función sqlite_exec() siempre ejecuta múltiples consultas SQL.

Cuando se ejecutan varias consultas de forma seguida, el valor devuelto por esta función será FALSE si se ha producido un error o indefinido en cualquier otro caso ya que depende de las consultas realizadas (puede que devuelva TRUE si se ha tenido éxito o puede que devuelva un manejador de un resultado).

Ver también

sqlite_unbuffered_query()
sqlite_array_query()

Anterior | Inicio | Siguiente
sqlite_prev | Subir | sqlite_rewind


sqlite_rewind

(PHP 5)

sqlite_rewind

(no version information, might be only in CVS)

SQLiteResult->rewind -- Se desplaza hasta el primer número de fila

Descripción

bool sqlite_rewind ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

bool rewind ( void )

}

sqlite_rewind() desplaza el resultado identificado por el parámetro manejador_resultado hasta el primer número de fila.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Valores retornados

Devuelve FALSE si no hay filas en el resultado, o TRUE en cualquier otro caso.

Ver también

sqlite_next()
sqlite_current()
sqlite_seek()

Anterior | Inicio | Siguiente
sqlite_query | Subir | sqlite_seek


sqlite_seek

(PHP 5)

sqlite_seek

(no version information, might be only in CVS)

SQLiteResult->seek -- Se desplaza hasta un determinado número de fila de un resultado almacenado (buffered)

Descripción

bool sqlite_seek ( resource manejador_resultado, int numero_fila )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

bool seek ( int rownum )

}

sqlite_seek() se desplaza hasta el número de fila indicado en el parámetro numero_fila dentro del resultado indicado en el parámetro manejador_resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

numero_fila

El número de fila al que se va a desplazar. El número de fila empieza a contarse en el número 0 (cero) para la primera fila.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Valores retornados

Devuelve FALSE si la fila no existe o TRUE en cualquier otro caso.

Ver también

sqlite_next()
sqlite_current()
sqlite_rewind()

Anterior | Inicio | Siguiente
sqlite_rewind | Subir | sqlite_single_query


sqlite_single_query

(PHP 5)

sqlite_single_query

(no version information, might be only in CVS)

SQLiteDatabase->singleQuery -- Ejecuta una consulta y devuelve o una matriz para una columna o el valor de la primera fila

Descripción

array sqlite_single_query ( resource manejador_bd, string consulta [, bool solo_primera_fila [, bool decodificar_binario]] )

Object oriented style (method):

class SQLiteDatabase {

array singleQuery ( string consulta [, bool solo_primera_fila [, bool decodificar_binario]] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
sqlite_seek | Subir | sqlite_udf_decode_binary


sqlite_udf_decode_binary

(PHP 5)

sqlite_udf_decode_binary -- Decodifica los datos binarios que se pasan como parámetro a las funciones FDU (función definida por el usuario)

Descripción

string sqlite_udf_decode_binary ( string datos )

sqlite_udf_decode_binary() decodifica la codificación binaria aplicada por las funciones sqlite_udf_encode_binary() o sqlite_escape_string().

Se debe utilizar esta función para los parámetros que se pasan a las funciones FDU (función definida por el usuario) si éstos pueden contener datos binarios.

PHP no realiza este proceso de codificación/decodificación de forma automática, ya que esto podría penalizar seriamente el rendimiento de las aplicaciones.

Ejemplos

Ejemplo 1. Ejemplo de función max_length segura con datos binarios

<?php
$datos = array(
   'uno',
   'dos',
   'tres',
   'cuatro',
   'cinco',
   'seis',
   'siete',
   'ocho',
   'nueve',
   'diez',
   );
$manejador_bd = sqlite_open(':memory:');
sqlite_query($manejador_bd, "CREATE TABLE tabla_cadenas(a)");
foreach ($datos as $cadena) {
    $cadena = sqlite_escape_string($cadena);
    sqlite_query($manejador_bd, "INSERT INTO tabla_cadenas VALUES ('$cadena')");
}

function max_longitud_temporal(&$contexto, $cadena)
{
    $cadena = sqlite_udf_decode_binary($cadena);
    if (strlen($cadena) > $contexto) {
        $contexto = strlen($cadena);
    }
}

function max_longitud_final(&$contexto)
{
    return $contexto;
}

sqlite_create_aggregate($manejador_bd, 'max_longitud', 'max_longitud_temporal', 'max_longitud_final');

var_dump(sqlite_array_query($manejador_bd, 'SELECT max_longitud(a) from tabla_cadenas'));

?>

Ver también

sqlite_udf_encode_binary()
sqlite_create_function()
sqlite_create_aggregate()

Anterior | Inicio | Siguiente
sqlite_single_query | Subir | sqlite_udf_encode_binary


sqlite_udf_encode_binary

(PHP 5)

sqlite_udf_encode_binary -- Codifica los datos binarios antes de devolverlos de una FDU (función definida por el usuario)

Descripción

string sqlite_udf_encode_binary ( string datos )

sqlite_udf_encode_binary() aplica una codificación binaria a los datos, de forma que sea seguro devolverlos en los resultados de las consultas (la API de la librería libsqlite no es segura con los datos binarios).

Si existe alguna posibilidad de que los datos no sean seguros de forma binaria (por ejemplo porque contienen bytes de tipo NUL o tienen un byte de tipo 0x01 como primer carácter) se debe emplear esta función para codificar los valores devueltos por la FDU.

PHP no realiza este proceso de codificación/decodificación de forma automática, ya que esto podría penalizar seriamente el rendimiento de las aplicaciones.

Nota: No se debe emplear la función sqlite_escape_string() para escapar las cadenas devueltas por las funciones FDU, ya que provocaría un escape doble de los datos. Se debe emplear la función sqlite_udf_encode_binary() en su lugar.

Ver también

sqlite_udf_decode_binary()
sqlite_escape_string()
sqlite_create_function()
sqlite_create_aggregate()

Anterior | Inicio | Siguiente
sqlite_udf_decode_binary | Subir | sqlite_unbuffered_query


sqlite_unbuffered_query

(PHP 5)

sqlite_unbuffered_query

(no version information, might be only in CVS)

SQLiteDatabase->unbufferedQuery -- Ejecuta una consulta sobre la base de datos cuyo resultado no almacena todos los datos devueltos

Descripción

resource sqlite_unbuffered_query ( resource manejador_bd, string consulta [, int tipo_resultado] )

resource sqlite_unbuffered_query ( string consulta, resource manejador_bd [, int tipo_resultado] )

Método que sigue el estilo orientado a objetos:

class SQLiteDatabase {

SQLiteUnbuffered unbufferedQuery ( string consulta [, int tipo_resultado] )

}

sqlite_unbuffered_query() es idéntica a sqlite_query() savlo que el resultado devuelto es secuencial y solamente se puede avanzar en el hacia delante. Por tanto, este tipo de resultados solamente puede emplearse para leer todas y cada una de las filas de forma secuencial una detrás de otra.

Esta función es útil por ejemplo para generar tablas HTML donde solo se necesita procesar una fila cada vez y no es necesario acceder de forma directa a cualquier fila del resultado en cualquier momento.

Nota:
    Las funciones sqlite_seek(),
    sqlite_rewind(), sqlite_next(),
    sqlite_current() y
    sqlite_num_rows() no funcionan con manejadores de resultados
    devueltos por sqlite_unbuffered_query().

Lista de parámetros

consulta

La consulta que se quiere ejecutar.

manejador_bd

El recurso que identifica la base de datos SQLite (y que es el que devuelve la función sqlite_open()). Este parámetro no se requiere cuando se emplea el método orientado a objetos.

tipo_resultado

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_BOTH is the default for this function.

Nota: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

Valores retornados

La función devuelve el manejador del resultado o FALSE si se produce un error.

sqlite_unbuffered_query() devuelve un resultado secuencial que solamente puede recorrerse hacia delante, de forma que solo se puede emplear para leer todas las filas del resultado una detrás de otra.

Ver también

sqlite_query()

Anterior | Inicio | Siguiente
sqlite_udf_encode_binary | Subir | sqlite_valid


Shockwave Flash functions

Manual de PHP
Anterior Siguiente

CLX. Shockwave Flash functions

PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module. You can download libswf at ftp://ftp.sgi.com/sgi/graphics/grafica/flash/. Once you have libswf all you need to do is to configure --with-swf[=DIR] where DIR is a location containing the directories include and lib. The include directory has to contain the swf.h file and the lib directory has to contain the libswf.a file. If you unpack the libswf distribution the two files will be in one directory. Consequently you will have to copy the files to the proper location manually.

Once you've successfully installed PHP with Shockwave Flash support you can then go about creating Shockwave files from PHP. You would be surprised at what you can do, take the following code:

Ejemplo 1. SWF example

<?php
swf_openfile ("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2 (-100, 100, -100, 100);
swf_defineline (1, -70, 0, 70, 0, .2);
swf_definerect (4, 60, -10, 70, 0, 0);
swf_definerect (5, -60, 0, -70, 10, 0);
swf_addcolor (0, 0, 0, 0);

swf_definefont (10, "Mod");
swf_fontsize (5);
swf_fontslant (10);
swf_definetext (11, "This be Flash wit PHP!", 1);

swf_pushmatrix ();
swf_translate (-50, 80, 0);
swf_placeobject (11, 60);
swf_popmatrix ();

for ($i = 0; $i < 30; $i++) {
    $p = $i/(30-1);
    swf_pushmatrix ();
    swf_scale (1-($p*.9), 1, 1);
    swf_rotate (60*$p,  'z');
    swf_translate (20+20*$p, $p/1.5, 0);
    swf_rotate (270*$p,  'z');
    swf_addcolor ($p, 0, $p/1.2, -$p);
    swf_placeobject (1, 50);
    swf_placeobject (4, 50);
    swf_placeobject (5, 50);
    swf_popmatrix ();
    swf_showframe ();
}

for ($i = 0; $i < 30; $i++) {
    swf_removeobject (50);
    if (($i%4) == 0) {
        swf_showframe ();
    }
}

swf_startdoaction ();
swf_actionstop ();
swf_enddoaction ();

swf_closefile ();
?>

Nota: SWF support was added in PHP4 RC2.

Tabla de contenidos
swf_actiongeturl -- Get a URL from a Shockwave Flash movie
swf_actiongotoframe -- Play a frame and then stop
swf_actiongotolabel -- Display a frame with the specified label
swf_actionnextframe -- Go foward one frame
swf_actionplay -- Start playing the flash movie from the current frame
swf_actionprevframe -- Go backwards one frame
swf_actionsettarget -- Set the context for actions
swf_actionstop -- Stop playing the flash movie at the current frame
swf_actiontogglequality -- Toggle between low and high quality
swf_actionwaitforframe -- Skip actions if a frame has not been loaded
swf_addbuttonrecord -- Controls location, appearance and active area of the current button
swf_addcolor -- Set the global add color to the rgba value specified
swf_closefile -- Close the current Shockwave Flash file
swf_definebitmap -- Define a bitmap
swf_definefont -- Defines a font
swf_defineline -- Define a line
swf_definepoly -- Define a polygon
swf_definerect -- Define a rectangle
swf_definetext -- Define a text string
swf_endbutton -- End the definition of the current button
swf_enddoaction -- End the current action
swf_endshape -- Completes the definition of the current shape
swf_endsymbol -- End the definition of a symbol
swf_fontsize -- Change the font size
swf_fontslant -- Set the font slant
swf_fonttracking -- Set the current font tracking
swf_getbitmapinfo -- Get information about a bitmap
swf_getfontinfo -- The height in pixels of a capital A and a lowercase x
swf_getframe -- Get the frame number of the current frame
swf_labelframe -- Label the current frame
swf_lookat -- Define a viewing transformation
swf_modifyobject -- Modify an object
swf_mulcolor -- Sets the global multiply color to the rgba value specified
swf_nextid -- Returns the next free object id
swf_oncondition -- Describe a transition used to trigger an action list
swf_openfile -- Open a new Shockwave Flash file
swf_ortho2 -- Defines 2D orthographic mapping of user coordinates onto the current viewport
swf_ortho -- Defines an orthographic mapping of user coordinates onto the current viewport
swf_perspective -- Define a perspective projection transformation
swf_placeobject -- Place an object onto the screen
swf_polarview -- Define the viewer's position with polar coordinates
swf_popmatrix -- Restore a previous transformation matrix
swf_posround -- Enables or Disables the rounding of the translation when objects are placed or moved
swf_pushmatrix -- Push the current transformation matrix back unto the stack
swf_removeobject -- Remove an object
swf_rotate -- Rotate the current transformation
swf_scale -- Scale the current transformation
swf_setfont -- Change the current font
swf_setframe -- Switch to a specified frame
swf_shapearc -- Draw a circular arc
swf_shapecurveto3 -- Draw a cubic bezier curve
swf_shapecurveto -- Draw a quadratic bezier curve between two points
swf_shapefillbitmapclip -- Set current fill mode to clipped bitmap
swf_shapefillbitmaptile -- Set current fill mode to tiled bitmap
swf_shapefilloff -- Turns off filling
swf_shapefillsolid -- Set the current fill style to the specified color
swf_shapelinesolid -- Set the current line style
swf_shapelineto -- Draw a line
swf_shapemoveto -- Move the current position
swf_showframe -- Display the current frame
swf_startbutton -- Start the definition of a button
swf_startdoaction -- Start a description of an action list for the current frame
swf_startshape -- Start a complex shape
swf_startsymbol -- Define a symbol
swf_textwidth -- Get the width of a string
swf_translate -- Translate the current transformations
swf_viewport -- Select an area for future drawing

Anterior | Inicio | Siguiente
wordwrap | Subir | swf_actiongeturl


swf_actiongeturl

(PHP 4, PECL)

swf_actiongeturl -- Get a URL from a Shockwave Flash movie

Description

void swf_actiongeturl ( string url, string target )

The swf_actionGetUrl() function gets the URL specified by the parameter url with the target target.

Anterior | Inicio | Siguiente
Shockwave Flash functions | Subir | swf_actiongotoframe


swf_actiongotoframe

(PHP 4, PECL)

swf_actiongotoframe -- Play a frame and then stop

Description

void swf_actiongotoframe ( int framenumber )

The swf_actionGotoFrame() function will go to the frame specified by framenumber, play it, and then stop.

Anterior | Inicio | Siguiente
swf_actiongeturl | Subir | swf_actiongotolabel


swf_actiongotolabel

(PHP 4, PECL)

swf_actiongotolabel -- Display a frame with the specified label

Description

void swf_actiongotolabel ( string label )

The swf_actionGotoLabel() function displays the frame with the label given by the label parameter and then stops.

Anterior | Inicio | Siguiente
swf_actiongotoframe | Subir | swf_actionnextframe


swf_actionnextframe

(PHP 4, PECL)

swf_actionnextframe -- Go foward one frame

Description

void swf_actionnextframe ( void )

Go foward one frame.

Anterior | Inicio | Siguiente
swf_actiongotolabel | Subir | swf_actionplay


swf_actionplay

(PHP 4, PECL)

swf_actionplay -- Start playing the flash movie from the current frame

Description

void swf_actionplay ( void )

Start playing the flash movie from the current frame.

Anterior | Inicio | Siguiente
swf_actionnextframe | Subir | swf_actionprevframe


swf_actionprevframe

(PHP 4, PECL)

swf_actionprevframe -- Go backwards one frame

Description

void swf_actionprevframe ( void )

Anterior | Inicio | Siguiente
swf_actionplay | Subir | swf_actionsettarget


swf_actionsettarget

(PHP 4, PECL)

swf_actionsettarget -- Set the context for actions

Description

void swf_actionsettarget ( string target )

The swf_actionSetTarget() function sets the context for all actions. You can use this to control other flash movies that are currently playing.

Anterior | Inicio | Siguiente
swf_actionprevframe | Subir | swf_actionstop


swf_actionstop

(PHP 4, PECL)

swf_actionstop -- Stop playing the flash movie at the current frame

Description

void swf_actionstop ( void )

Stop playing the flash movie at the current frame.

Anterior | Inicio | Siguiente
swf_actionsettarget | Subir | swf_actiontogglequality


swf_actiontogglequality

(PHP 4, PECL)

swf_actiontogglequality -- Toggle between low and high quality

Description

void swf_actiontogglequality ( void )

Toggle the flash movie between high and low quality.

Anterior | Inicio | Siguiente
swf_actionstop | Subir | swf_actionwaitforframe


swf_actionwaitforframe

(PHP 4, PECL)

swf_actionwaitforframe -- Skip actions if a frame has not been loaded

Description

void swf_actionwaitforframe ( int framenumber, int skipcount )

The swf_actionWaitForFrame() function will check to see if the frame, specified by the framenumber parameter has been loaded, if not it will skip the number of actions specified by the skipcount parameter. This can be useful for "Loading..." type animations.

Anterior | Inicio | Siguiente
swf_actiontogglequality | Subir | swf_addbuttonrecord


swf_addbuttonrecord

(PHP 4, PECL)

swf_addbuttonrecord -- Controls location, appearance and active area of the current button

Description

void swf_addbuttonrecord ( int states, int shapeid, int depth )

The swf_addbuttonrecord() function allows you to define the specifics of using a button. The first parameter, states, defines what states the button can have, these can be any or all of the following constants: BSHitTest, BSDown, BSOver or BSUp. The second parameter, the shapeid is the look of the button, this is usually the object id of the shape of the button. The depth parameter is the placement of the button in the current frame.

Ejemplo 1. swf_addbuttonrecord() function example

swf_startButton ($objid, TYPE_MENUBUTTON);
    swf_addButtonRecord (BSDown|BSOver, $buttonImageId, 340);
    swf_onCondition (MenuEnter);
        swf_actionGetUrl ("http://www.designmultimedia.com", "_level1");
    swf_onCondition (MenuExit);
        swf_actionGetUrl ("", "_level1");
swf_endButton ();

Anterior | Inicio | Siguiente
swf_actionwaitforframe | Subir | swf_addcolor


swf_addcolor

(PHP 4, PECL)

swf_addcolor -- Set the global add color to the rgba value specified

Description

void swf_addcolor ( float r, float g, float b, float a )

The swf_addcolor() function sets the global add color to the rgba color specified. This color is then used (implicitly) by the swf_placeobject(), swf_modifyobject() and the swf_addbuttonrecord() functions. The color of the object will be add by the rgba values when the object is written to the screen.

Nota: The rgba values can be either positive or negative.

Anterior | Inicio | Siguiente
swf_addbuttonrecord | Subir | swf_closefile


swf_closefile

(PHP 4, PECL)

swf_closefile -- Close the current Shockwave Flash file

Description

void swf_closefile ( void )

Close a file that was opened by the swf_openfile() function.

Anterior | Inicio | Siguiente
swf_addcolor | Subir | swf_definebitmap


swf_definebitmap

(PHP 4, PECL)

swf_definebitmap -- Define a bitmap

Description

void swf_definebitmap ( int objid, string image_name )

The swf_definebitmap() function defines a bitmap given a GIF, JPEG, RGB or FI image. The image will be converted into a Flash JPEG or Flash color map format.

Anterior | Inicio | Siguiente
swf_closefile | Subir | swf_definefont


swf_definefont

(PHP 4, PECL)

swf_definefont -- Defines a font

Description

void swf_definefont ( int fontid, string fontname )

The swf_definefont() function defines a font given by the fontname parameter and gives it the id specified by the fontid parameter. It then sets the font given by fontname to the current font.

Anterior | Inicio | Siguiente
swf_definebitmap | Subir | swf_defineline


swf_defineline

(PHP 4, PECL)

swf_defineline -- Define a line

Description

void swf_defineline ( int objid, float x1, float y1, float x2, float y2, float width )

The swf_defineline() defines a line starting from the x coordinate given by x1 and the y coordinate given by y1 parameter. Up to the x coordinate given by the x2 parameter and the y coordinate given by the y2 parameter. It will have a width defined by the width parameter.

Anterior | Inicio | Siguiente
swf_definefont | Subir | swf_definepoly


swf_definepoly

(PHP 4, PECL)

swf_definepoly -- Define a polygon

Description

void swf_definepoly ( int objid, array coords, int npoints, float width )

The swf_definepoly() function defines a polygon given an array of x, y coordinates (the coordinates are defined in the parameter coords). The parameter npoints is the number of overall points that are contained in the array given by coords. The width is the width of the polygon's border, if set to 0.0 the polygon is filled.

Anterior | Inicio | Siguiente
swf_defineline | Subir | swf_definerect


swf_definerect

(PHP 4, PECL)

swf_definerect -- Define a rectangle

Description

void swf_definerect ( int objid, float x1, float y1, float x2, float y2, float width )

The swf_definerect() defines a rectangle with an upper left hand coordinate given by the x, x1, and the y, y1. And a lower right hand coordinate given by the x coordinate, x2, and the y coordinate, y2 . Width of the rectangles border is given by the width parameter, if the width is 0.0 then the rectangle is filled.

Anterior | Inicio | Siguiente
swf_definepoly | Subir | swf_definetext


swf_definetext

(PHP 4, PECL)

swf_definetext -- Define a text string

Description

void swf_definetext ( int objid, string str, int docenter )

Define a text string (the str parameter) using the current font and font size. The docenter is where the word is centered, if docenter is 1, then the word is centered in x.

Anterior | Inicio | Siguiente
swf_definerect | Subir | swf_endbutton


swf_endbutton

(PHP 4, PECL)

swf_endbutton -- End the definition of the current button

Description

void swf_endbutton ( void )

The swf_endButton() function ends the definition of the current button.

Anterior | Inicio | Siguiente
swf_definetext | Subir | swf_enddoaction


swf_enddoaction

(PHP 4, PECL)

swf_enddoaction -- End the current action

Description

void swf_enddoaction ( void )

Ends the current action started by the swf_startdoaction() function.

Anterior | Inicio | Siguiente
swf_endbutton | Subir | swf_endshape


swf_endshape

(PHP 4, PECL)

swf_endshape -- Completes the definition of the current shape

Description

void swf_endshape ( void )

The swf_endshape() completes the definition of the current shape.

Anterior | Inicio | Siguiente
swf_enddoaction | Subir | swf_endsymbol


swf_endsymbol

(PHP 4, PECL)

swf_endsymbol -- End the definition of a symbol

Description

void swf_endsymbol ( void )

The swf_endsymbol() function ends the definition of a symbol that was started by the swf_startsymbol() function.

Anterior | Inicio | Siguiente
swf_endshape | Subir | swf_fontsize


swf_fontsize

(PHP 4, PECL)

swf_fontsize -- Change the font size

Description

void swf_fontsize ( float size )

The swf_fontsize() function changes the font size to the value given by the size parameter.

Anterior | Inicio | Siguiente
swf_endsymbol | Subir | swf_fontslant


swf_fontslant

(PHP 4, PECL)

swf_fontslant -- Set the font slant

Description

void swf_fontslant ( float slant )

Set the current font slant to the angle indicated by the slant parameter. Positive values create a foward slant, negative values create a negative slant.

Anterior | Inicio | Siguiente
swf_fontsize | Subir | swf_fonttracking


swf_fonttracking

(PHP 4, PECL)

swf_fonttracking -- Set the current font tracking

Description

void swf_fonttracking ( float tracking )

Set the font tracking to the value specified by the tracking parameter. This function is used to increase the spacing between letters and text, positive values increase the space and negative values decrease the space between letters.

Anterior | Inicio | Siguiente
swf_fontslant | Subir | swf_getbitmapinfo


swf_getbitmapinfo

(PHP 4, PECL)

swf_getbitmapinfo -- Get information about a bitmap

Description

array swf_getbitmapinfo ( int bitmapid )

The swf_getbitmapinfo() function returns an array of information about a bitmap given by the bitmapid parameter. The returned array has the following elements:

  • "size" - The size in bytes of the bitmap.

  • "width" - The width in pixels of the bitmap.

  • "height" - The height in pixels of the bitmap.

Anterior | Inicio | Siguiente
swf_fonttracking | Subir | swf_getfontinfo


swf_getfontinfo

(PHP 4, PECL)

swf_getfontinfo -- The height in pixels of a capital A and a lowercase x

Description

array swf_getfontinfo ( void )

The swf_getfontinfo() function returns an associative array with the following parameters:

  • Aheight - The height in pixels of a capital A.

  • xheight - The height in pixels of a lowercase x.

Anterior | Inicio | Siguiente
swf_getbitmapinfo | Subir | swf_getframe


swf_getframe

(PHP 4, PECL)

swf_getframe -- Get the frame number of the current frame

Description

int swf_getframe ( void )

The swf_getframe() function gets the number of the current frame.

Anterior | Inicio | Siguiente
swf_getfontinfo | Subir | swf_labelframe


swf_labelframe

(PHP 4, PECL)

swf_labelframe -- Label the current frame

Description

void swf_labelframe ( string name )

Label the current frame with the name given by the name parameter.

Anterior | Inicio | Siguiente
swf_getframe | Subir | swf_lookat


swf_lookat

(PHP 4, PECL)

swf_lookat -- Define a viewing transformation

Description

void swf_lookat ( double view_x, double view_y, double view_z, double reference_x, double reference_y, double reference_z, double twist )

The swf_lookat() function defines a viewing transformation by giving the viewing position (the parameters view_x, view_y, and view_z) and the coordinates of a reference point in the scene, the reference point is defined by the reference_x, reference_y , and reference_z parameters. The twist controls the rotation along with viewer's z axis.

Anterior | Inicio | Siguiente
swf_labelframe | Subir | swf_modifyobject


swf_modifyobject

(PHP 4, PECL)

swf_modifyobject -- Modify an object

Description

void swf_modifyobject ( int depth, int how )

Updates the position and/or color of the object at the specified depth, depth. The parameter how determines what is updated. how can either be the constant MOD_MATRIX or MOD_COLOR or it can be a combination of both (MOD_MATRIX|MOD_COLOR).

MOD_COLOR uses the current mulcolor (specified by the function swf_mulcolor()) and addcolor (specified by the function swf_addcolor()) to color the object. MOD_MATRIX uses the current matrix to position the object.

Anterior | Inicio | Siguiente
swf_lookat | Subir | swf_mulcolor


swf_mulcolor

(PHP 4, PECL)

swf_mulcolor -- Sets the global multiply color to the rgba value specified

Description

void swf_mulcolor ( float r, float g, float b, float a )

The swf_mulcolor() function sets the global multiply color to the rgba color specified. This color is then used (implicitly) by the swf_placeobject(), swf_modifyobject() and the swf_addbuttonrecord() functions. The color of the object will be multiplied by the rgba values when the object is written to the screen.

Nota: The rgba values can be either positive or negative.

Anterior | Inicio | Siguiente
swf_modifyobject | Subir | swf_nextid


swf_nextid

(PHP 4, PECL)

swf_nextid -- Returns the next free object id

Description

int swf_nextid ( void )

The swf_nextid() function returns the next available object id.

Anterior | Inicio | Siguiente
swf_mulcolor | Subir | swf_oncondition


swf_oncondition

(PHP 4, PECL)

swf_oncondition -- Describe a transition used to trigger an action list

Description

void swf_oncondition ( int transition )

The swf_onCondition() function describes a transition that will trigger an action list. There are several types of possible transitions, the following are for buttons defined as TYPE_MENUBUTTON:

  • IdletoOverUp

  • OverUptoIdle

  • OverUptoOverDown

  • OverDowntoOverUp

  • IdletoOverDown

  • OutDowntoIdle

  • MenuEnter (IdletoOverUp|IdletoOverDown)

  • MenuExit (OverUptoIdle|OverDowntoIdle)

For TYPE_PUSHBUTTON there are the following options:

  • IdletoOverUp

  • OverUptoIdle

  • OverUptoOverDown

  • OverDowntoOverUp

  • OverDowntoOutDown

  • OutDowntoOverDown

  • OutDowntoIdle

  • ButtonEnter (IdletoOverUp|OutDowntoOverDown)

  • ButtonExit (OverUptoIdle|OverDowntoOutDown)

Anterior | Inicio | Siguiente
swf_nextid | Subir | swf_openfile


swf_openfile

(PHP 4, PECL)

swf_openfile -- Open a new Shockwave Flash file

Description

void swf_openfile ( string filename, float width, float height, float framerate, float r, float g, float b )

The swf_openfile() function opens a new file named filename with a width of width and a height of height a frame rate of framerate and background with a red color of r a green color of g and a blue color of b.

The swf_openfile() must be the first function you call, otherwise your script will cause a segfault. If you want to send your output to the screen make the filename: "php://stdout" (support for this is in 4.0.1 and up).

Anterior | Inicio | Siguiente
swf_oncondition | Subir | swf_ortho2


swf_ortho2

(PHP 4, PECL)

swf_ortho2 -- Defines 2D orthographic mapping of user coordinates onto the current viewport

Description

void swf_ortho2 ( double xmin, double xmax, double ymin, double ymax )

The swf_ortho2() function defines a two dimensional orthographic mapping of user coordinates onto the current viewport, this defaults to one to one mapping of the area of the Flash movie. If a perspective transformation is desired, the swf_perspective () function can be used.

Anterior | Inicio | Siguiente
swf_openfile | Subir | swf_ortho


swf_ortho

(PHP 4 >= 4.0.1, PECL)

swf_ortho -- Defines an orthographic mapping of user coordinates onto the current viewport

Description

void swf_ortho ( double xmin, double xmax, double ymin, double ymax, double zmin, double zmax )

The swf_ortho() funcion defines a orthographic mapping of user coordinates onto the current viewport.

Anterior | Inicio | Siguiente
swf_ortho2 | Subir | swf_perspective


swf_perspective

(PHP 4, PECL)

swf_perspective -- Define a perspective projection transformation

Description

void swf_perspective ( double fovy, double aspect, double near, double far )

The swf_perspective() function defines a perspective projection transformation. The fovy parameter is field-of-view angle in the y direction. The aspect parameter should be set to the aspect ratio of the viewport that is being drawn onto. The near parameter is the near clipping plane and the far parameter is the far clipping plane.

Nota: Various distortion artifacts may appear when performing a perspective projection, this is because Flash players only have a two dimensional matrix. Some are not to pretty.

Anterior | Inicio | Siguiente
swf_ortho | Subir | swf_placeobject


swf_placeobject

(PHP 4, PECL)

swf_placeobject -- Place an object onto the screen

Description

void swf_placeobject ( int objid, int depth )

Places the object specified by objid in the current frame at a depth of depth. The objid parameter and the depth must be between 1 and 65535.

This uses the current mulcolor (specified by swf_mulcolor()) and the current addcolor (specified by swf_addcolor()) to color the object and it uses the current matrix to position the object.

Nota: Full RGBA colors are supported.

Anterior | Inicio | Siguiente
swf_perspective | Subir | swf_polarview


swf_polarview

(PHP 4, PECL)

swf_polarview -- Define the viewer's position with polar coordinates

Description

void swf_polarview ( double dist, double azimuth, double incidence, double twist )

The swf_polarview() function defines the viewer's position in polar coordinates. The dist parameter gives the distance between the viewpoint to the world space origin. The azimuth parameter defines the azimuthal angle in the x,y coordinate plane, measured in distance from the y axis. The incidence parameter defines the angle of incidence in the y,z plane, measured in distance from the z axis. The incidence angle is defined as the angle of the viewport relative to the z axis. Finally the twist specifies the amount that the viewpoint is to be rotated about the line of sight using the right hand rule.

Anterior | Inicio | Siguiente
swf_placeobject | Subir | swf_popmatrix


swf_popmatrix

(PHP 4, PECL)

swf_popmatrix -- Restore a previous transformation matrix

Description

void swf_popmatrix ( void )

The swf_popmatrix() function pushes the current transformation matrix back onto the stack.

Anterior | Inicio | Siguiente
swf_polarview | Subir | swf_posround


swf_posround

(PHP 4, PECL)

swf_posround -- Enables or Disables the rounding of the translation when objects are placed or moved

Description

void swf_posround ( int round )

The swf_posround() function enables or disables the rounding of the translation when objects are placed or moved, there are times when text becomes more readable because rounding has been enabled. The round is whether to enable rounding or not, if set to the value of 1, then rounding is enabled, if set to 0 then rounding is disabled.

Anterior | Inicio | Siguiente
swf_popmatrix | Subir | swf_pushmatrix


swf_pushmatrix

(PHP 4, PECL)

swf_pushmatrix -- Push the current transformation matrix back unto the stack

Description

void swf_pushmatrix ( void )

The swf_pushmatrix() function pushes the current transformation matrix back onto the stack.

Anterior | Inicio | Siguiente
swf_posround | Subir | swf_removeobject


swf_removeobject

(PHP 4, PECL)

swf_removeobject -- Remove an object

Description

void swf_removeobject ( int depth )

Removes the object at the depth specified by depth.

Anterior | Inicio | Siguiente
swf_pushmatrix | Subir | swf_rotate


swf_rotate

(PHP 4, PECL)

swf_rotate -- Rotate the current transformation

Description

void swf_rotate ( double angle, string axis )

The swf_rotate() rotates the current transformation by the angle given by the angle parameter around the axis given by the axis parameter. Valid values for the axis are 'x' (the x axis), 'y' (the y axis) or 'z' (the z axis).

Anterior | Inicio | Siguiente
swf_removeobject | Subir | swf_scale


swf_scale

(PHP 4, PECL)

swf_scale -- Scale the current transformation

Description

void swf_scale ( double x, double y, double z )

The swf_scale() scales the x coordinate of the curve by the value of the x parameter, the y coordinate of the curve by the value of the y parameter, and the z coordinate of the curve by the value of the z parameter.

Anterior | Inicio | Siguiente
swf_rotate | Subir | swf_setfont


swf_setfont

(PHP 4, PECL)

swf_setfont -- Change the current font

Description

void swf_setfont ( int fontid )

The swf_setfont() sets the current font to the value given by the fontid parameter.

Anterior | Inicio | Siguiente
swf_scale | Subir | swf_setframe


swf_setframe

(PHP 4, PECL)

swf_setframe -- Switch to a specified frame

Description

void swf_setframe ( int framenumber )

The swf_setframe() changes the active frame to the frame specified by framenumber.

Anterior | Inicio | Siguiente
swf_setfont | Subir | swf_shapearc


swf_shapearc

(PHP 4, PECL)

swf_shapearc -- Draw a circular arc

Description

void swf_shapearc ( float x, float y, float r, float ang1, float ang2 )

The swf_shapeArc() function draws a circular arc from angle A given by the ang1 parameter to angle B given by the ang2 parameter. The center of the circle has an x coordinate given by the x parameter and a y coordinate given by the y, the radius of the circle is given by the r parameter.

Anterior | Inicio | Siguiente
swf_setframe | Subir | swf_shapecurveto3


swf_shapecurveto3

(PHP 4, PECL)

swf_shapecurveto3 -- Draw a cubic bezier curve

Description

void swf_shapecurveto3 ( float x1, float y1, float x2, float y2, float x3, float y3 )

Draw a cubic bezier curve using the x,y coordinate pairs x1, y1 and x2,y2 as off curve control points and the x,y coordinate x3, y3 as an endpoint. The current position is then set to the x,y coordinate pair given by x3,y3.

Anterior | Inicio | Siguiente
swf_shapearc | Subir | swf_shapecurveto


swf_shapecurveto

(PHP 4, PECL)

swf_shapecurveto -- Draw a quadratic bezier curve between two points

Description

void swf_shapecurveto ( float x1, float y1, float x2, float y2 )

The swf_shapecurveto() function draws a quadratic bezier curve from the x coordinate given by x1 and the y coordinate given by y1 to the x coordinate given by x2 and the y coordinate given by y2. The current position is then set to the x,y coordinates given by the x2 and y2 parameters

Anterior | Inicio | Siguiente
swf_shapecurveto3 | Subir | swf_shapefillbitmapclip


swf_shapefillbitmapclip

(PHP 4, PECL)

swf_shapefillbitmapclip -- Set current fill mode to clipped bitmap

Description

void swf_shapefillbitmapclip ( int bitmapid )

Sets the fill to bitmap clipped, empty spaces will be filled by the bitmap given by the bitmapid parameter.

Anterior | Inicio | Siguiente
swf_shapecurveto | Subir | swf_shapefillbitmaptile


swf_shapefillbitmaptile

(PHP 4, PECL)

swf_shapefillbitmaptile -- Set current fill mode to tiled bitmap

Description

void swf_shapefillbitmaptile ( int bitmapid )

Sets the fill to bitmap tile, empty spaces will be filled by the bitmap given by the bitmapid parameter (tiled).

Anterior | Inicio | Siguiente
swf_shapefillbitmapclip | Subir | swf_shapefilloff


swf_shapefilloff

(PHP 4, PECL)

swf_shapefilloff -- Turns off filling

Description

void swf_shapefilloff ( void )

The swf_shapeFillOff() function turns off filling for the current shape.

Anterior | Inicio | Siguiente
swf_shapefillbitmaptile | Subir | swf_shapefillsolid


swf_shapefillsolid

(PHP 4, PECL)

swf_shapefillsolid -- Set the current fill style to the specified color

Description

void swf_shapefillsolid ( float r, float g, float b, float a )

The swf_shapeFillSolid() function sets the current fill style to solid, and then sets the fill color to the values of the rgba parameters.

Anterior | Inicio | Siguiente
swf_shapefilloff | Subir | swf_shapelinesolid


swf_shapelinesolid

(PHP 4, PECL)

swf_shapelinesolid -- Set the current line style

Descripción

void swf_shapelinesolid ( float r, float g, float b, float a, float width )

Sets the current line style to the given color and width.

Lista de parámetros

r

Red value

g

Green value

b

Blue value

a

Alpha value

width

The line width. If 0.0 is given then no lines are drawn.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
swf_shapefillsolid | Subir | swf_shapelineto


swf_shapelineto

(PHP 4, PECL)

swf_shapelineto -- Draw a line

Description

void swf_shapelineto ( float x, float y )

The swf_shapeLineTo() draws a line to the x,y coordinates given by the x parameter & the y parameter. The current position is then set to the x,y parameters.

Anterior | Inicio | Siguiente
swf_shapelinesolid | Subir | swf_shapemoveto


swf_shapemoveto

(PHP 4, PECL)

swf_shapemoveto -- Move the current position

Description

void swf_shapemoveto ( float x, float y )

The swf_shapeMoveTo() function moves the current position to the x coordinate given by the x parameter and the y position given by the y parameter.

Anterior | Inicio | Siguiente
swf_shapelineto | Subir | swf_showframe


swf_showframe

(PHP 4, PECL)

swf_showframe -- Display the current frame

Description

void swf_showframe ( void )

The swf_showframe function will output the current frame.

Anterior | Inicio | Siguiente
swf_shapemoveto | Subir | swf_startbutton


swf_startbutton

(PHP 4, PECL)

swf_startbutton -- Start the definition of a button

Description

void swf_startbutton ( int objid, int type )

The swf_startbutton() function starts off the definition of a button. The type parameter can either be TYPE_MENUBUTTON or TYPE_PUSHBUTTON. The TYPE_MENUBUTTON constant allows the focus to travel from the button when the mouse is down, TYPE_PUSHBUTTON does not allow the focus to travel when the mouse is down.

Anterior | Inicio | Siguiente
swf_showframe | Subir | swf_startdoaction


swf_startdoaction

(PHP 4, PECL)

swf_startdoaction -- Start a description of an action list for the current frame

Description

void swf_startdoaction ( void )

The swf_startdoaction() function starts the description of an action list for the current frame. This must be called before actions are defined for the current frame.

Anterior | Inicio | Siguiente
swf_startbutton | Subir | swf_startshape


swf_startshape

(PHP 4, PECL)

swf_startshape -- Start a complex shape

Description

void swf_startshape ( int objid )

The swf_startshape() function starts a complex shape, with an object id given by the objid parameter.

Anterior | Inicio | Siguiente
swf_startdoaction | Subir | swf_startsymbol


swf_startsymbol

(PHP 4, PECL)

swf_startsymbol -- Define a symbol

Description

void swf_startsymbol ( int objid )

Define an object id as a symbol. Symbols are tiny flash movies that can be played simultaneously. The objid parameter is the object id you want to define as a symbol.

Anterior | Inicio | Siguiente
swf_startshape | Subir | swf_textwidth


swf_textwidth

(PHP 4, PECL)

swf_textwidth -- Get the width of a string

Description

float swf_textwidth ( string str )

The swf_textwidth() function gives the width of the string, str, in pixels, using the current font and font size.

Anterior | Inicio | Siguiente
swf_startsymbol | Subir | swf_translate


swf_translate

(PHP 4, PECL)

swf_translate -- Translate the current transformations

Description

void swf_translate ( double x, double y, double z )

The swf_translate() function translates the current transformation by the x, y, and z values given.

Anterior | Inicio | Siguiente
swf_textwidth | Subir | swf_viewport


swf_viewport

(PHP 4, PECL)

swf_viewport -- Select an area for future drawing

Description

void swf_viewport ( double xmin, double xmax, double ymin, double ymax )

The swf_viewport() function selects an area for future drawing for xmin to xmax and ymin to ymax, if this function is not called the area defaults to the size of the screen.

Anterior | Inicio | Siguiente
swf_translate | Subir | Swish Functions


Funciones SNMP

Manual de PHP
Anterior Siguiente

CL. Funciones SNMP

Para usar las funciones SNMP en Unix necesita instalar el paquete UCD SNMP. En Windows estas funciones están solamente disponibles en NT y no en Win95/98.

Importante: Para usar el paquete UCD SNMP, necesita definir NO_ZEROLENGTH_COMMUNITY a 1 antes de compilarlo. Despues de configurar UCD SNMP, edite config.h y busque NO_ZEROLENGTH_COMMUNITY. Descomente la línea #define. Debería de verse como sigue:

#define NO_ZEROLENGTH_COMMUNITY 1

Si ve faltas de segmentación desconocidas en combinación con los comandos SNMP, no siga las siguientes instrucciones. Si no desea recompilar UCD SNMP, puede compilar PHP con la opción --enable-ucd-snmp-hack la cual trabajará entorno a las mismas características.

Tabla de contenidos
snmp_get_quick_print -- Va a buscar el valor actual de la biblioteca UCD estableciendo quick_print
snmp_get_valueretrieval -- Return the method how the SNMP values will be returned
snmp_read_mib -- Reads and parses a MIB file into the active MIB tree
snmp_set_enum_print -- Return all values that are enums with their enum value instead of the raw integer
snmp_set_oid_numeric_print -- Return all objects including their respective object id within the specified one
snmp_set_oid_output_format -- Set the OID output format
snmp_set_quick_print -- Establece el valor de quick_print con el de la biblioteca UCD SNMP.
snmp_set_valueretrieval -- Specify the method how the SNMP values will be returned
snmpget -- Va a buscar un objeto SNMP
snmpgetnext -- Fetch a SNMP object
snmprealwalk -- Return all objects including their respective object ID within the specified one
snmpset -- Va a buscar un objeto SNMP
snmpwalk -- Busqueda por un arbol de información acerca de un entidad de red
snmpwalkoid -- Busqueda por un arbol de información acerca de un entidad de red

Anterior | Inicio | Siguiente
simplexml_load_string | Subir | snmp_get_quick_print


snmp_get_quick_print

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

snmp_get_quick_print -- Va a buscar el valor actual de la biblioteca UCD estableciendo quick_print

Descripción

boolean snmp_get_quick_print ( void )

Delvuele el valor actual almacenado en la biblioteca UCD para quick_print. quick_print está desactivado por defecto.

$quickprint = snmp_get_quick_print();

La llamada a la función superior podría devolver FALSE si quick_print está activo, y TRUE si quick_print está activo.

snmp_get_quick_print() está solamente disponible cuando estemos usando la biblioteca UCD SNMP. Esta función no está disponible cuando estemos usando la biblioteca Windows SNMP.

Ver: snmp_get_quick_print() para una descripción completa de lo que hace quick_print.

Anterior | Inicio | Siguiente
Funciones SNMP | Subir | snmp_get_valueretrieval


snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_get_valueretrieval -- Return the method how the SNMP values will be returned

Descripción

int snmp_get_valueretrieval ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

snmp_set_valueretrieval()

Anterior | Inicio | Siguiente
snmp_get_quick_print | Subir | snmp_read_mib


snmp_read_mib

(PHP 5)

snmp_read_mib -- Reads and parses a MIB file into the active MIB tree

Descripción

bool snmp_read_mib ( string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
snmp_get_valueretrieval | Subir | snmp_set_enum_print


snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_enum_print -- Return all values that are enums with their enum value instead of the raw integer

Descripción

void snmp_set_enum_print ( int enum_print )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Notes

Nota: snmp_set_enum_print() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

Anterior | Inicio | Siguiente
snmp_read_mib | Subir | snmp_set_oid_numeric_print


snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_oid_numeric_print -- Return all objects including their respective object id within the specified one

Descripción

void snmp_set_oid_numeric_print ( int oid_numeric_print )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Registro de cambios

Versión | Descripción
5.2.0 | Since PHP 5.2.0, This function is an alias of: snmp_set_oid_output_format().

Ver también

snmp_set_oid_output_format()

Anterior | Inicio | Siguiente
snmp_set_enum_print | Subir | snmp_set_oid_output_format


snmp_set_quick_print

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

snmp_set_quick_print -- Establece el valor de quick_print con el de la biblioteca UCD SNMP.

Descripción

void snmp_set_quick_print ( boolean quick_print )

Establece el valor de quick_print con la biblioteca UCD SNMP. Cuando esto está establecido (1), la biblioteca SNMP devolverá valores 'quick printed'. De esta manera sólo el valor será impreso. Cuando quick_print no está activada (por defecto) la biblioteca UCD SNMP imprime información extra incluyendo el tipo del valor (p. Ej. IPAddress o OID). Adicionalmente, si quick_print no está activado, la biblioteca imprime valores hexadecimales adicionales para todas las cadenas de 3 o menos caracteres.

El ajuste de quick_print es generalmente usado cuando usando la información devuelta con anterioridad se muestra.

snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a<BR>\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a<BR>\n";

El primer valor impreso debe de ser: 'Timeticks: (0) 0:00:00.00', donde qick_print se activa, solo se imprimira '0:00:00.00'.

Por defecto la biblioteca UCD SNMP devuelve valores detallados, quick_print es usado para devolver solamente el valor.

Las cadenas son mantenidas normalmente con comillas extra, esto será corregido en versiones posteriores.

snmp_get_quick_print() está sólo disponible cuando estemos usando la biblioteca UCD SNMP. Esta función no está disponible cuando estemos usando la biblioteca Windows SNMP.

Anterior | Inicio | Siguiente
snmp_set_oid_output_format | Subir | snmp_set_valueretrieval


snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_set_valueretrieval -- Specify the method how the SNMP values will be returned

Descripción

void snmp_set_valueretrieval ( int method )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

snmp_get_valueretrieval()

Anterior | Inicio | Siguiente
snmp_set_quick_print | Subir | snmpget


snmpget

(PHP 3, PHP 4, PHP 5)

snmpget -- Va a buscar un objeto SNMP

Descripción

string snmpget ( string hostname, string community, string object_id [, int timeout [, int retries]] )

Devuelve el valor de un objeto SNMP en caso de exito y FALSE en caso de error.

La función snmpget() es usada para leer el valor de un objeto SNMP especificado por el object_id. El agente SNMP es especificado por el hostname y la comunidad lectora es especificada por el parametro community.

$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0")

Anterior | Inicio | Siguiente
snmp_set_valueretrieval | Subir | snmpgetnext


snmpgetnext

(PHP 5)

snmpgetnext -- Fetch a SNMP object

Descripción

string snmpgetnext ( string host, string community, string object_id [, int timeout [, int retries]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
snmpget | Subir | snmprealwalk


snmprealwalk

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

snmprealwalk -- Return all objects including their respective object ID within the specified one

Descripción

array snmprealwalk ( string host, string community, string object_id [, int timeout [, int retries]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
snmpgetnext | Subir | snmpset


snmpset

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

snmpset -- Va a buscar un objeto SNMP

Descripción

string snmpset ( string hostname, string community, string object_id, string type, mixed value [, int timeout [, int retries]] )

Establece el valor especificado para el objeto SNMP, devolviendo TRUE en caso de exito o FALSE en caso de error.

La función snmpset() es usada para establecer el valor de un objeto SNMP especificado por el object_id. El agente SNMP es espcificado por el hostname y la comunidad lectora por el parametro community.

Anterior | Inicio | Siguiente
snmprealwalk | Subir | snmpwalk


snmpwalk

(PHP 3, PHP 4, PHP 5)

snmpwalk -- Busqueda por un arbol de información acerca de un entidad de red

Descripción

array snmpwalk ( string hostname, string community, string object_id [, int timeout [, int retries]] )

Devuelve una matriz de valores de objetos SMNP comenzando por el object_id() como raíz y FALSE en caso de error.

La función snmpwalk() es usada para leer todos los valores de un agente SNMP especificado por el hostname. Community especifica la comunidad lectora para el agente. Un object_id nulo se toma como la raíz del arbol de los objetos SNMP y todos los objetos por debajo de ese arbol son devueltos como una matriz. Si object_id es especificado, todos los objetos SNMP por debajo de object_id son devueltos.

$a = snmpwalk("127.0.0.1", "public", "");

Encima de una función de llamada podrían devolverse todos los objetos SNMP del agente SNMP en ejecución en el servidor local. Uno puede pasar por todos los valores con un bucle.

for ($i=0; $i<count($a); $i++) {
    echo $a[$i];
}

Anterior | Inicio | Siguiente
snmpset | Subir | snmpwalkoid


snmpwalkoid

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

snmpwalkoid -- Busqueda por un arbol de información acerca de un entidad de red

Descripción

array snmpwalkoid ( string hostname, string community, string object_id [, int timeout [, int retries]] )

Devuelve una matriz asociativa con los identificadores de los objetos y sus respectivos valores comenzando por el object_id como raíz y FALSE en caso de error.

La función snmpwalkoid() es usada para leer todos los identificadores de objetos y sus respectivos valores de un agente SNMP especificado por el nombre del servidor. La lectura de community especifica la comunidad para el agente. Un object_id nulo es tomado como la raíz del arbol de objetos SNMP y todos los objetos por debajo de este arbol son devueltos como una matriz. Si object_id es especificado, todos los objetos SNMP inferiores al object_id son devueltos.

La existencia de snmpwalkoid() y snmpwalk() tiene razones historicas. Ambas funciones son proporcionadas para compatibilidad hacia atrás.

$a = snmpwalkoid("127.0.0.1", "public", "");

La llamada a las funciones superiores devuelve todos los objetos SNMP del agente SNMP en ejecución en el servidor local. Uno puede pasar por todos los valores con un bucle.

for (reset($a); $i = key($a); next($a)) {
    echo "$i: $a[$i]<br>\n";
}

Anterior | Inicio | Siguiente
snmpwalk | Subir | Funciones SOAP


Funciones de Socket

Manual de PHP
Anterior Siguiente

CLII. Funciones de Socket

Introducción

La extensión de sockets implementa una interfaz de bajo nivel con las funciones de comunicación de sockets, basadas en los populares sockets BSD, ofreciendo la posibilidad de actuar como un servidor de sockets, así como cliente.

Para una interfaz más genérica de sockets del lado
del cliene, vea
stream_socket_client(),
stream_socket_server(),
fsockopen(), y
pfsockopen().

Cuando use estas funciones, es importante recordar que, aunque muchas de ellas tienen nombres idénticos a sus contrapartes en C, usualmente cuentan con declaraciones distintas. Por favor, asegúrese de leer las descripciones, con el propósito de evitar confusiones.

Aquellos que no se encuentran familiarizados con programación de sockets, pueden encontrar una gran cantidad de material útil en las páginas man de Unix apropiadas, y existe una enorme cantidad de información estilo tutorial sobre programación de sockets en C en la web, mucha de la cual puede aplicarse, con ligeras modificaciones, a la programación de sockets en PHP. El FAQ de Sockets Unix puede ser un buen comienzo.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

The socket functions described here are part of an extension to PHP which must be enabled at compile time by giving the --enable-sockets option to configure.

Nota: El soporte para IPv6 fue agregado en PHP 5.0.0 .

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

AF_UNIX (integer)

AF_INET (integer)

AF_INET6 (integer)

SOCK_STREAM (integer)

SOCK_DGRAM (integer)

SOCK_RAW (integer)

SOCK_SEQPACKET (integer)

SOCK_RDM (integer)

MSG_OOB (integer)

MSG_WAITALL (integer)

MSG_PEEK (integer)

MSG_DONTROUTE (integer)

SO_DEBUG (integer)

SO_REUSEADDR (integer)

SO_KEEPALIVE (integer)

SO_DONTROUTE (integer)

SO_LINGER (integer)

SO_BROADCAST (integer)

SO_OOBINLINE (integer)

SO_SNDBUF (integer)

SO_RCVBUF (integer)

SO_SNDLOWAT (integer)

SO_RCVLOWAT (integer)

SO_SNDTIMEO (integer)

SO_RCVTIMEO (integer)

SO_TYPE (integer)

SO_ERROR (integer)

SOL_SOCKET (integer)

PHP_NORMAL_READ (integer)

PHP_BINARY_READ (integer)

SOL_TCP (integer)

SOL_UDP (integer)

Errores de Socket

La extensión de sockets fue escrita para ofrecer una interfaz usable a los poderosos sockets BSD. Se ha tenido cuidado para que las funciones trabajen igualmente bien en implementaciones Win32 y Unix. Casi todas las funciones de sockets pueden fallar bajo ciertas condiciones y por lo tanto emiten un mensaje E_WARNING que describe el error. Algunas veces esto no ocurre conforme al deseo del desarrollador. Por ejemplo, la función socket_read() puede emitir repentinamente un mensaje E_WARNING debido a que la conexión ha sido cerrada inesperadamente. Es común suprimir la advertencia con el operador @ y atrapar el código de error dentro de la aplicación con la función socket_last_error(). Puede llamar la función socket_strerror() con éste código de error para recuperar una cadena que describe el error. Vea su descripción para más información.

Nota: Los mensajes E_WARNING generados por la extensión de sockets se encuentran en Inglés, aunque el mensaje de error recuperado aparecerá dependiendo de la localidad actual (LC_MESSAGES):

Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet

Ejemplos

Ejemplo 1. Ejemplo de Socket: Servidor TCP/IP simple

Este ejemplo le muestra un servidor simple que repite de vuelta su entrada. Modifique las variables direccion y puerto para que se acomoden a su configuración y ejecútelo. Puede entonces conectarse con el servidor mediante un comando similar a: telnet 192.168.1.53 10000 (en donde la dirección y el puerto se ajustan a su configuración). Cualquier cosa que escriba será entonces impresa en el lado del servidor, y devuelta a su lado. Para desconectarse, ingrese 'salir'.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Permitir que el script permanezca en espera de conexiones. */
set_time_limit(0);

/* Habilitar vaciado de salida implicito, de modo que veamos lo que
 * obtenemos a medida que va llegando. */
ob_implicit_flush();

$direccion = '192.168.1.53';
$puerto    = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
    echo "socket_create() fall&oacute;: motivo: " . socket_strerror($sock) . "\n";
}

if (($ret = socket_bind($sock, $direccion, $puerto)) < 0) {
    echo "socket_bind() fall&oacute;: motivo: " . socket_strerror($ret) . "\n";
}

if (($ret = socket_listen($sock, 5)) < 0) {
    echo "socket_listen() fall&oacute;: motivo: " . socket_strerror($ret) . "\n";
}

do {
    if (($mens_sock = socket_accept($sock)) < 0) {
        echo "socket_accept() fall&oacute;: motivo " . socket_strerror($mens_sock) . "\n";
        break;
    }
    /* Enviar instrucciones. */
    $mensaje = "\nBienvenido al Servidor de Prueba PHP. \n" .
               "Para salir, escriba 'salir'. " .
               "Para detener el servidor, escriba 'detener'.\n";
    socket_write($mens_sock, $mensaje, strlen($mensaje));

    do {
        if (false === ($buf = socket_read($mens_sock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() fall&oacute;: motivo: " . socket_strerror($ret) . "\n";
            break 2;
        }
        if (!$buf = trim($buf)) {
            continue;
        }
        if ($buf == 'salir') {
            break;
        }
        if ($buf == 'detener') {
            socket_close($mens_sock);
            break 2;
        }
        $respuesta = "PHP: Usted dijo '$buf'.\n";
        socket_write($mens_sock, $respuesta, strlen($respuesta));
        echo "$buf\n";
    } while (true);
    socket_close($mens_sock);
} while (true);

socket_close($sock);
?>

Ejemplo 2. Ejemplo de Socket: Cliente TCP/IP simple

Este ejemplo muestra un cliente HTTP simple, de un paso. Simplemente se conecta con una página, envia una petición HEAD, imprime la respuesta, y sale.

<?php
error_reporting(E_ALL);

echo "<h2>Conexi&oacute;n TCP/IP</h2>\n";

/* Obtener el puerto para el servicio WWW. */
$puerto_servicio = getservbyname('www', 'tcp');

/* Obtener la direccion IP del host de destino. */
$direccion = gethostbyname('www.example.com');

/* Crear un socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
    echo "socket_create() fall&oacute;: motivo: " . socket_strerror($socket) . "\n";
} else {
    echo "OK.\n";
}

echo "Intentando una conexi&oacute;n con '$direccion' en el puerto '$puerto_servicio'...";
$resultado = socket_connect($socket, $direccion, $puerto_servicio);
if ($resultado < 0) {
    echo "socket_connect() fall&oacute;.\nMotivo: ($resultado) " .
         socket_strerror($resultado) . "\n";
} else {
    echo "OK.\n";
}

$entrada = "HEAD / HTTP/1.1\r\n";
$entrada .= "Host: www.example.com\r\n";
$entrada .= "Connection: Close\r\n\r\n";
$salida = '';

echo "Enviando petici&oacute;n HTTP HEAD...";
socket_write($socket, $entrada, strlen($entrada));
echo "OK.\n";

echo "Leyendo respuesta:\n\n";
while ($salida = socket_read($socket, 2048)) {
    echo $salida;
}

echo "Cerrando socket...";
socket_close($socket);
echo "OK.\n\n";
?>

Tabla de contenidos
socket_accept -- Accepts a connection on a socket
socket_bind -- Binds a name to a socket
socket_clear_error -- Clears the error on the socket or the last error code
socket_close -- Closes a socket resource
socket_connect -- Initiates a connection on a socket
socket_create_listen -- Opens a socket on port to accept connections
socket_create_pair -- Creates a pair of indistinguishable sockets and stores them in an array
socket_create -- Create a socket (endpoint for communication)
socket_get_option -- Gets socket options for the socket
socket_getpeername -- Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
socket_getsockname -- Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
socket_last_error -- Returns the last error on the socket
socket_listen -- Listens for a connection on a socket
socket_read -- Reads a maximum of length bytes from a socket
socket_recv -- Receives data from a connected socket
socket_recvfrom -- Receives data from a socket, connected or not
socket_select -- Runs the select() system call on the given arrays of sockets with a specified timeout
socket_send -- Sends data to a connected socket
socket_sendto -- Sends a message to a socket, whether it is connected or not
socket_set_block -- Sets blocking mode on a socket resource
socket_set_nonblock -- Sets nonblocking mode for file descriptor fd
socket_set_option -- Sets socket options for the socket
socket_shutdown -- Shuts down a socket for receiving, sending, or both
socket_strerror -- Return a string describing a socket error
socket_write -- Write to a socket

Anterior | Inicio | Siguiente
use_soap_error_handler | Subir | socket_accept


socket_accept

(PHP 4 >= 4.1.0, PHP 5)

socket_accept -- Accepts a connection on a socket

Description

resource socket_accept ( resource socket )

After the socket socket has been created using socket_create(), bound to a name with socket_bind(), and told to listen for connections with socket_listen(), this function will accept incoming connections on that socket. Once a successful connection is made, a new socket resource is returned, which may be used for communication. If there are multiple connections queued on the socket, the first will be used. If there are no pending connections, socket_accept() will block until a connection becomes present. If socket has been made non-blocking using socket_set_blocking() or socket_set_nonblock(), FALSE will be returned.

The socket resource returned by socket_accept() may not be used to accept new connections. The original listening socket socket, however, remains open and may be reused.

Returns a new socket resource on success, or FALSE on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

See also
socket_bind(),
socket_connect(),
socket_listen(),
socket_create(), and
socket_strerror().

Anterior | Inicio | Siguiente
Funciones de Socket | Subir | socket_bind


socket_bind

(PHP 4 >= 4.1.0, PHP 5)

socket_bind -- Binds a name to a socket

Descripción

bool socket_bind ( resource socket, string address [, int port] )

Binds the name given in address to the socket described by socket. This has to be done before a connection can be established using socket_connect() or socket_listen().

Lista de parámetros

socket

A valid socket resource created with socket_create().

address

If the socket is of the AF_INET family, the address is an IP in dotted-quad notation (e.g. 127.0.0.1).

If the socket is of the AF_UNIX family, the address is the path of a Unix-domain socket (e.g. /tmp/my.sock).

port (Optional)

The port parameter is only used when connecting to an AF_INET socket, and designates the port on the remote host to which a connection should be made.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Ejemplos

Ejemplo 1. Using socket_bind() to set the source address

<?php
// Create a new socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// An example list of IP addresses owned by the computer
$sourceips['kevin']    = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Bind the source address
socket_bind($sock, $sourceips['madcoder']);

// Connect to destination address
socket_connect($sock, '127.0.0.1', 80);

// Write
$request = 'GET / HTTP/1.1' . "\r\n" .
           'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Close
socket_close($sock);

?>

Notes

Nota: This function must be used on the socket before socket_connect().

Nota: Windows 9x/ME compatibility note: socket_last_error() may return an invalid error code if trying to bind the socket to a wrong address that does not belong to your machine.

Ver también

socket_connect()
socket_listen()
socket_create()
socket_last_error()
socket_strerror()

Anterior | Inicio | Siguiente
socket_accept | Subir | socket_clear_error


socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_error -- Clears the error on the socket or the last error code

Description

void socket_clear_error ( [resource socket] )

This function clears the error code on the given socket or the global last socket error.

This function allows explicitly resetting the error code value either of a socket or of the extension global last error code. This may be useful to detect within a part of the application if an error occurred or not.

See also socket_last_error() and socket_strerror().

Anterior | Inicio | Siguiente
socket_bind | Subir | socket_close


socket_close

(PHP 4 >= 4.1.0, PHP 5)

socket_close -- Closes a socket resource

Description

void socket_close ( resource socket )

socket_close() closes the socket resource given by socket.

Nota: socket_close() can't be used on PHP file resources created with fopen(), popen(), fsockopen(), or pfsockopen(); it is meant for sockets created with socket_create() or socket_accept().

See also socket_bind(), socket_listen(),
socket_create() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_clear_error | Subir | socket_connect


socket_connect

(PHP 4 >= 4.1.0, PHP 5)

socket_connect -- Initiates a connection on a socket

Description

bool socket_connect ( resource socket, string address [, int port] )

Initiates a connection using the socket resource socket, which must be a valid socket resource created with socket_create().

The address parameter is either an IP address in dotted-quad notation (e.g. 127.0.0.1), if the socket is of the AF_INET family; or the pathname of a Unix domain socket, if the socket family is AF_UNIX.

The port parameter is only used when connecting to an AF_INET socket, and designates the port on the remote host to which a connection should be made.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

See also
socket_bind(),
socket_listen(),
socket_create(),
socket_last_error() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_close | Subir | socket_create_listen


socket_create_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_create_listen -- Opens a socket on port to accept connections

Description

resource socket_create_listen ( int port [, int backlog] )

This function is meant to ease the task of creating a new socket which only listens to accept new connections.

socket_create_listen() creates a new socket resource of type AF_INET listening on all local interfaces on the given port waiting for new connections.

The backlog parameter defines the maximum length the queue of pending connections may grow to. SOMAXCONN may be passed as backlog parameter, see socket_listen() for more information.

socket_create_listen() returns a new socket resource on success or FALSE on error. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Nota: If you want to create a socket which only listens on a certain interface you need to use socket_create(), socket_bind() and socket_listen().

See also
socket_create(),
socket_bind(),
socket_listen(),
socket_last_error() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_connect | Subir | socket_create_pair


socket_create_pair

(PHP 4 >= 4.1.0, PHP 5)

socket_create_pair -- Creates a pair of indistinguishable sockets and stores them in an array

Description

bool socket_create_pair ( int domain, int type, int protocol, array &fd )

socket_create_pair() creates two connected and indistinguishable sockets, and stores them in fd. This function is commonly used in IPC (InterProcess Communication).

The domain parameter specifies the protocol family to be used by the socket.

Tabla 1. Available address/protocol families

Domain | Description
AF_INET | IPv4 Internet based protocols. TCP and UDP are common protocols of this protocol family. Supported only in windows.
AF_INET6 | IPv6 Internet based protocols. TCP and UDP are common protocols of this protocol family. Support added in PHP 5.0.0. Supported only in windows.
AF_UNIX | Local communication protocol family. High efficiency and low overhead make it a great form of IPC (Interprocess Communication).

The type parameter selects the type of communication to be used by the socket.

Tabla 2. Available socket types

Type | Description
SOCK_STREAM | Provides sequenced, reliable, full-duplex, connection-based byte streams. An out-of-band data transmission mechanism may be supported. The TCP protocol is based on this socket type.
SOCK_DGRAM | Supports datagrams (connectionless, unreliable messages of a fixed maximum length). The UDP protocol is based on this socket type.
SOCK_SEQPACKET | Provides a sequenced, reliable, two-way connection-based data transmission path for datagrams of fixed maximum length; a consumer is required to read an entire packet with each read call.
SOCK_RAW | Provides raw network protocol access. This special type of socket can be used to manually construct any type of protocol. A common use for this socket type is to perform ICMP requests (like ping, traceroute, etc).
SOCK_RDM | Provides a reliable datagram layer that does not guarantee ordering. This is most likely not implemented on your operating system.

The protocol parameter sets the specific protocol within the specified domain to be used when communicating on the returned socket. The proper value can be retrieved by name by using getprotobyname(). If the desired protocol is TCP, or UDP the corresponding constants SOL_TCP, and SOL_UDP can also be used.

Tabla 3. Common protocols

Name | Description
icmp | The Internet Control Message Protocol is used primarily by gateways and hosts to report errors in datagram communication. The "ping" command (present in most modern operating systems) is an example application of ICMP.
udp | The User Datagram Protocol is a connectionless, unreliable, protocol with fixed record lengths. Due to these aspects, UDP requires a minimum amount of protocol overhead.
tcp | The Transmission Control Protocol is a reliable, connection based, stream oriented, full duplex protocol. TCP guarantees that all data packets will be received in the order in which they were sent. If any packet is somehow lost during communication, TCP will automatically retransmit the packet until the destination host acknowledges that packet. For reliability and performance reasons, the TCP implementation itself decides the appropriate octet boundaries of the underlying datagram communication layer. Therefore, TCP applications must allow for the possibility of partial record transmission.

Ejemplo 1. socket_create_pair() example

<?php
$sockets = array();
/* Setup socket pair */
if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets) === false) {
    echo "socket_create_pair failed. Reason: ".socket_strerror(socket_last_error());
}
/* Send and Recieve Data */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
    echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ) === false) {
    echo "socket_read() failed. Reason: ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Close sockets */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Ejemplo 2. socket_create_pair() IPC example

<?php
$ary = array();
$strone = 'Message From Parent.';
$strtwo = 'Message From Child.';
if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
    echo "socket_create_pair() failed. Reason: ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1) {
    echo 'Could not fork Process.';
} elseif ($pid) {
    /*parent*/
    socket_close($ary[0]);
    if (socket_write($ary[1], $strone, strlen($strone)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[1]));
    }
    if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
        echo "Recieved $strtwo\n";
    }
    socket_close($ary[1]);
} else {
    /*child*/
    socket_close($ary[1]);
    if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[0]));
    }
    if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
        echo "Recieved $strone\n";
    }
    socket_close($ary[0]);
}
?>

Anterior | Inicio | Siguiente
socket_create_listen | Subir | socket_create


socket_create

(PHP 4 >= 4.1.0, PHP 5)

socket_create -- Create a socket (endpoint for communication)

Description

resource socket_create ( int domain, int type, int protocol )

Creates and returns a socket resource, also referred to as an endpoint of communication. A typical network connection is made up of 2 sockets, one performing the role of the client, and another performing the role of the server.

The domain parameter specifies the protocol family to be used by the socket.

Tabla 1. Available address/protocol families

Domain | Description
AF_INET | IPv4 Internet based protocols. TCP and UDP are common protocols of this protocol family.
AF_INET6 | IPv6 Internet based protocols. TCP and UDP are common protocols of this protocol family. Support added in PHP 5.0.0.
AF_UNIX | Local communication protocol family. High efficiency and low overhead make it a great form of IPC (Interprocess Communication).

The type parameter selects the type of communication to be used by the socket.

Tabla 2. Available socket types

Type | Description
SOCK_STREAM | Provides sequenced, reliable, full-duplex, connection-based byte streams. An out-of-band data transmission mechanism may be supported. The TCP protocol is based on this socket type.
SOCK_DGRAM | Supports datagrams (connectionless, unreliable messages of a fixed maximum length). The UDP protocol is based on this socket type.
SOCK_SEQPACKET | Provides a sequenced, reliable, two-way connection-based data transmission path for datagrams of fixed maximum length; a consumer is required to read an entire packet with each read call.
SOCK_RAW | Provides raw network protocol access. This special type of socket can be used to manually construct any type of protocol. A common use for this socket type is to perform ICMP requests (like ping, traceroute, etc).
SOCK_RDM | Provides a reliable datagram layer that does not guarantee ordering. This is most likely not implemented on your operating system.

The protocol parameter sets the specific protocol within the specified domain to be used when communicating on the returned socket. The proper value can be retrieved by name by using getprotobyname(). If the desired protocol is TCP, or UDP the corresponding constants SOL_TCP, and SOL_UDP can also be used.

Tabla 3. Common protocols

Name | Description
icmp | The Internet Control Message Protocol is used primarily by gateways and hosts to report errors in datagram communication. The "ping" command (present in most modern operating systems) is an example application of ICMP.
udp | The User Datagram Protocol is a connectionless, unreliable, protocol with fixed record lengths. Due to these aspects, UDP requires a minimum amount of protocol overhead.
tcp | The Transmission Control Protocol is a reliable, connection based, stream oriented, full duplex protocol. TCP guarantees that all data packets will be received in the order in which they were sent. If any packet is somehow lost during communication, TCP will automatically retransmit the packet until the destination host acknowledges that packet. For reliability and performance reasons, the TCP implementation itself decides the appropriate octet boundaries of the underlying datagram communication layer. Therefore, TCP applications must allow for the possibility of partial record transmission.

socket_create() Returns a socket resource on success, or FALSE on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

Nota: If an invalid domain or type is given, socket_create() defaults to AF_INET and SOCK_STREAM respectively and additionally emits an E_WARNING message.

See also
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(),
socket_last_error(), and
socket_strerror().

Anterior | Inicio | Siguiente
socket_create_pair | Subir | socket_get_option


socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

socket_get_option -- Gets socket options for the socket

Description

mixed socket_get_option ( resource socket, int level, int optname )

The socket_get_option() function retrieves the value for the option specified by the optname parameter for the socket specified by the socket parameter. socket_get_option() will return FALSE on failure.

The level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function.

Tabla 1. Available Socket Options

Option | Description
SO_DEBUG | Reports whether debugging information is being recorded.
SO_ACCEPTCONN | Reports whether socket listening is enabled.
SO_BROADCAST | Reports whether transmission of broadcast messages is supported.
SO_REUSEADDR | Reports whether local addresses can be reused.
SO_KEEPALIVE | Reports whether connections are kept active with periodic transmission of messages. If the connected socket fails to respond to these messages, the connection is broken and processes writing to that socket are notified with a SIGPIPE signal.
SO_LINGER | Reports whether the socket lingers on socket_close() if data is present.
SO_OOBINLINE | Reports whether the socket leaves out-of-band data inline.
SO_SNDBUF | Reports send buffer size information.
SO_RCVBUF | Reports recieve buffer size information.
SO_ERROR | Reports information about error status and clears it.
SO_TYPE | Reports the socket type.
SO_DONTROUTE | Reports whether outgoing messages bypass the standard routing facilities.
SO_RCVLOWAT | Reports the minimum number of bytes to process for socket input operations. ( Defaults to 1 )
SO_RCVTIMEO | Reports the timeout value for input operations.
SO_SNDLOWAT | Reports the minimum number of bytes to process for socket output operations.
SO_SNDTIMEO | Reports the timeout value specifying the amount of time that an output function blocks because flow control prevents data from being sent.

Nota: This function used to be called socket_getopt() prior to PHP 4.3.0

Anterior | Inicio | Siguiente
socket_create | Subir | socket_getpeername


socket_getpeername

(PHP 4 >= 4.1.0, PHP 5)

socket_getpeername -- Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

Description

bool socket_getpeername ( resource socket, string &addr [, int &port] )

If the given socket is of type AF_INET or AF_INET6, socket_getpeername() will return the peers (remote) IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the address parameter and, if the optional port parameter is present, also the associated port.

If the given socket is of type AF_UNIX, socket_getpeername() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the address parameter.

Nota: socket_getpeername() should not be used with AF_UNIX sockets created with socket_accept(). Only sockets created with socket_connect() or a primary server socket following a call to socket_bind() will return meaningful values.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. socket_getpeername() may also return FALSE if the socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which case the last socket error code is not updated.

See also
socket_getsockname(),
socket_last_error() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_get_option | Subir | socket_getsockname


socket_getsockname

(PHP 4 >= 4.1.0, PHP 5)

socket_getsockname -- Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

Description

bool socket_getsockname ( resource socket, string &addr [, int &port] )

If the given socket is of type AF_INET or AF_INET6, socket_getsockname() will return the local IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the address parameter and, if the optional port parameter is present, also the associated port.

If the given socket is of type AF_UNIX, socket_getsockname() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the address parameter.

Nota: socket_getsockname() should not be used with AF_UNIX sockets created with socket_connect(). Only sockets created with socket_accept() or a primary server socket following a call to socket_bind() will return meaningful values.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. socket_getsockname() may also return FALSE if the socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which case the last socket error code is not updated.

See also
socket_getpeername(),
socket_last_error() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_getpeername | Subir | socket_last_error


socket_last_error

(PHP 4 >= 4.1.0, PHP 5)

socket_last_error -- Returns the last error on the socket

Description

int socket_last_error ( [resource socket] )

This function returns a socket error code.

If a socket resource is passed to this function, the last error which occurred on this particular socket is returned. If the socket resource is omitted, the error code of the last failed socket function is returned. The latter is in particular helpful for functions like socket_create() which don't return a socket on failure and socket_select() which can fail for reasons not directly tied to a particular socket. The error code is suitable to be fed to socket_strerror() which returns a string describing the given error code.

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
    die("Couldn't create socket, error code is: " . socket_last_error() .
        ",error message is: " . socket_strerror(socket_last_error()));
}
?>

Nota: socket_last_error() does not clear the error code, use socket_clear_error() for this purpose.

Anterior | Inicio | Siguiente
socket_getsockname | Subir | socket_listen


socket_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_listen -- Listens for a connection on a socket

Description

bool socket_listen ( resource socket [, int backlog] )

After the socket socket has been created using socket_create() and bound to a name with socket_bind(), it may be told to listen for incoming connections on socket.

A maximum of backlog incoming connections will be queued for processing. If a connection request arrives with the queue full the client may receive an error with an indication of ECONNREFUSED, or, if the underlying protocol supports retransmission, the request may be ignored so that retries may succeed.

Nota: The maximum number passed to the backlog parameter highly depends on the underlying platform. On Linux, it is silently truncated to SOMAXCONN. On win32, if passed SOMAXCONN, the underlying service provider responsible for the socket will set the backlog to a maximum reasonable value. There is no standard provision to find out the actual backlog value on this platform.

socket_listen() is applicable only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

See also
socket_accept(),
socket_bind(),
socket_connect(),
socket_create() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_last_error | Subir | socket_read


socket_read

(PHP 4 >= 4.1.0, PHP 5)

socket_read -- Reads a maximum of length bytes from a socket

Description

string socket_read ( resource socket, int length [, int type] )

The function socket_read() reads from the socket resource socket created by the socket_create() or socket_accept() functions. The maximum number of bytes read is specified by the length parameter. Otherwise you can use \r, \n, or \0 to end reading (depending on the type parameter, see below).

socket_read() returns the data as a string on success, or FALSE on error (including if the remote host has closed the connection). The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual representation of the error.

Nota: socket_read() returns a zero length string ("") when there is no more data to read.

Optional type parameter is a named constant:

  • PHP_BINARY_READ - use the system recv() function. Safe for reading binary data. (Default in PHP >= 4.1.0)

  • PHP_NORMAL_READ - reading stops at \n or \r. (Default in PHP <= 4.0.6)

See also
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(),
socket_last_error(),
socket_strerror() and
socket_write().

Anterior | Inicio | Siguiente
socket_listen | Subir | socket_recv


socket_recv

(PHP 4 >= 4.1.0, PHP 5)

socket_recv -- Receives data from a connected socket

Description

int socket_recv ( resource socket, string &buf, int len, int flags )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
socket_read | Subir | socket_recvfrom


socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5)

socket_recvfrom -- Receives data from a socket, connected or not

Description

int socket_recvfrom ( resource socket, string &buf, int len, int flags, string &name [, int &port] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

socket_recvfrom() has been binary safe since PHP 4.3.0

Anterior | Inicio | Siguiente
socket_recv | Subir | socket_select


socket_select

(PHP 4 >= 4.1.0, PHP 5)

socket_select -- Runs the select() system call on the given arrays of sockets with a specified timeout

Description

int socket_select ( array &read, array &write, array &except, int tv_sec [, int tv_usec] )

socket_select() accepts arrays of sockets and waits for them to change status. Those coming with BSD sockets background will recognize that those socket resource arrays are in fact the so-called file descriptor sets. Three independent arrays of socket resources are watched.

The sockets listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block - in particular, a socket resource is also ready on end-of-file, in which case a socket_read() will return a zero length string).

The sockets listed in the write array will be watched to see if a write will not block.

The sockets listed in the except array will be watched for exceptions.

Aviso

On exit, the arrays are modified to indicate which socket resource actually changed status.

You do not need to pass every array to socket_select(). You can leave it out and use an empty array or NULL instead. Also do not forget that those arrays are passed by reference and will be modified after socket_select() returns.

Ejemplo 1. socket_select() example

<?php
/* Prepare the read array */
$read   = array($socket1, $socket2);
$write  = NULL;
$except = NULL;
$num_changed_sockets = socket_select($read, $write, $except, 0);

if ($num_changed_sockets === false) {
    /* Error handling */
} else if ($num_changed_sockets > 0) {
    /* At least at one of the sockets something interesting happened */
}
?>

Nota: Due a limitation in the current Zend Engine it is not possible to pass a constant modifier like NULL directly as a parameter to a function which expects this parameter to be passed by reference. Instead use a temporary variable or an expression with the leftmost member being a temporary variable:

Ejemplo 2. Using NULL with socket_select()

<?php
$e = NULL;
socket_select($r, $w, $e, 0);
?>

The tv_sec and tv_usec together form the timeout parameter. The timeout is an upper bound on the amount of time elapsed before socket_select() return. tv_sec may be zero , causing socket_select() to return immediately. This is useful for polling. If tv_sec is NULL (no timeout), socket_select() can block indefinitely.

On success socket_select() returns the number of socket resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error FALSE is returned. The error code can be retrieved with socket_last_error().

Nota: Be sure to use the === operator when checking for an error. Since the socket_select() may return 0 the comparison with == would evaluate to TRUE:

Ejemplo 3. Understanding socket_select()'s result

<?php
$e = NULL;
if (false === socket_select($r, $w, $e, 0)) {
    echo "socket_select() failed, reason: " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

Nota: Be aware that some socket implementations need to be handled very carefully. A few basic rules:

  • You should always try to use socket_select() without timeout. Your program should have nothing to do if there is no data available. Code that depends on timeouts is not usually portable and difficult to debug.

  • No socket resource must be added to any set if you do not intend to check its result after the socket_select() call, and respond appropriately. After socket_select() returns, all socket resources in all arrays must be checked. Any socket resource that is available for writing must be written to, and any socket resource available for reading must be read from.

  • If you read/write to a socket returns in the arrays be aware that they do not necessarily read/write the full amount of data you have requested. Be prepared to even only be able to read/write a single byte.

  • It's common to most socket implementations that the only exception caught with the except array is out-of-bound data received on a socket.

See also
socket_read(),
socket_write(),
socket_last_error() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_recvfrom | Subir | socket_send


socket_send

(PHP 4 >= 4.1.0, PHP 5)

socket_send -- Sends data to a connected socket

Description

int socket_send ( resource socket, string buf, int len, int flags )

The function socket_send() sends len bytes to the socket socket from buf

The value of flags can be any ORed combination of the following:

Tabla 1. possible values for flags

0x1 | Process OOB (out-of-band) data
0x2 | Peek at incoming message
0x4 | Bypass routing, use direct interface
0x8 | Data completes record
0x100 | Data completes transaction

See also socket_sendmsg() and socket_sendto().

Anterior | Inicio | Siguiente
socket_select | Subir | socket_sendto


socket_sendto

(PHP 4 >= 4.1.0, PHP 5)

socket_sendto -- Sends a message to a socket, whether it is connected or not

Description

int socket_sendto ( resource socket, string buf, int len, int flags, string addr [, int port] )

The function socket_sendto() sends len bytes from buf through the socket socket to the port at the address addr

The value of flags can be one of the following:

Tabla 1. possible values for flags

0x1 | Process OOB (out-of-band) data.
0x2 | Peek at incoming message.
0x4 | Bypass routing, use direct interface.
0x8 | Data completes record.
0x100 | Data completes transaction.

Ejemplo 1. socket_sendto() Example

<?php
    $sh = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if (socket_bind($sh, '127.0.0.1', 4242)) {
        echo "Socket bound correctly";
    }
    $buf = 'Test Message';
    $len = strlen($buf);
    if (socket_sendto($sh, $buf, $len, 0x100, '192.168.0.2', 4242) !== false) {
        echo "Message sent correctly";
    }
    socket_close($sh);
?>

See also socket_send() and socket_sendmsg().

Anterior | Inicio | Siguiente
socket_send | Subir | socket_set_block


socket_set_block

(PHP 4 >= 4.2.0, PHP 5)

socket_set_block -- Sets blocking mode on a socket resource

Description

bool socket_set_block ( resource socket )

The socket_set_block() function removes the O_NONBLOCK flag on the socket specified by the socket parameter.

Ejemplo 1. socket_set_block() example

<?php

$port = 9090;
if (($socket = socket_create_listen($port)) === false) {
    echo "socket_create_listen() failed. Reason: ".socket_strerror(socket_last_error());
}

if (socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1) === false) {
    echo "socket_set_option() failed. Reason: ".socket_strerror(socket_last_error($socket));
}

if (socket_set_nonblock($socket) === false) { // $socket is now nonblocking
    echo "socket_set_nonblock() failed. Reason: ".socket_strerror(socket_last_error($socket));
}

if (socket_set_block($socket) === false) {     // $socket is now blocking
    echo "socket_set_block() failed. Reason: ". socket_strerror(socket_last_error($socket));
}

?>

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also socket_set_nonblock() and socket_set_option()

Anterior | Inicio | Siguiente
socket_sendto | Subir | socket_set_nonblock


socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5)

socket_set_nonblock -- Sets nonblocking mode for file descriptor fd

Description

bool socket_set_nonblock ( resource socket )

The socket_set_nonblock() function sets the O_NONBLOCK flag on the socket specified by the socket parameter.

Ejemplo 1. socket_set_nonblock() example

<?php
$port = 9090;
if (($socket = socket_create_listen($port)) === false) {
    echo "socket_create_listen() failed. Reason: ".socket_strerror(socket_last_error());
}

if (socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1) === false) {
    echo "socket_set_option() failed. Reason: ".socket_strerror(socket_last_error($socket));
}

if (socket_set_nonblock($socket) === false) {
    echo "socket_set_nonblock() failed. Reason: ".socket_strerror(socket_last_error($socket));
}
?>

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also socket_set_block() and socket_set_option()

Anterior | Inicio | Siguiente
socket_set_block | Subir | socket_set_option


socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

socket_set_option -- Sets socket options for the socket

Description

bool socket_set_option ( resource socket, int level, int optname, mixed optval )

The socket_set_option() function sets the option specified by the optname parameter, at the protocol level specified by the level parameter, to the value pointed to by the optval parameter for the socket specified by the socket parameter. socket_set_option() will return FALSE on failure.

The level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function.

The available socket options are the same as those for the socket_get_option() function.

Nota: This function used to be called socket_setopt() prior to PHP 4.3.0.

Anterior | Inicio | Siguiente
socket_set_nonblock | Subir | socket_shutdown


socket_shutdown

(PHP 4 >= 4.1.0, PHP 5)

socket_shutdown -- Shuts down a socket for receiving, sending, or both

Description

bool socket_shutdown ( resource socket [, int how] )

The socket_shutdown() function allows you to stop incoming, outgoing or all data (the default) from being sent through the socket

The value of how can be one of the following:

Tabla 1. possible values for how

0 | Shutdown socket reading
1 | Shutdown socket writing
2 | Shutdown socket reading and writing

Anterior | Inicio | Siguiente
socket_set_option | Subir | socket_strerror


socket_strerror

(PHP 4 >= 4.1.0, PHP 5)

socket_strerror -- Return a string describing a socket error

Description

string socket_strerror ( int errno )

socket_strerror() takes as its errno parameter a socket error code as returned by socket_last_error() and returns the corresponding explanatory text. This makes it a bit more pleasant to figure out why something didn't work; for instance, instead of having to track down a system include file to find out what '-111' means, you just pass it to socket_strerror(), and it tells you what happened.

Ejemplo 1. socket_strerror() example

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
   echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

The expected output from the above example (assuming the script is not run with root privileges):

socket_bind() failed: reason: Permission denied

See also
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(), and
socket_create().

Anterior | Inicio | Siguiente
socket_shutdown | Subir | socket_write


socket_write

(PHP 4 >= 4.1.0, PHP 5)

socket_write -- Write to a socket

Description

int socket_write ( resource socket, string buffer [, int length] )

The function socket_write() writes to the socket socket from buffer.

The optional parameter length can specify an alternate length of bytes written to the socket. If this length is greater then the buffer length, it is silently truncated to the length of the buffer.

Returns the number of bytes successfully written to the socket or FALSE one error. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Nota: socket_write() does not necessarily write all bytes from the given buffer. It's valid that, depending on the network buffers etc., only a certain amount of data, even one byte, is written though your buffer is greater. You have to watch out so you don't unintentionally forget to transmit the rest of your data.

Nota: It is perfectly valid for socket_write() to return zero which means no bytes have been written. Be sure to use the === operator to check for FALSE in case of an error.

See also
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(),
socket_read() and
socket_strerror().

Anterior | Inicio | Siguiente
socket_strerror | Subir | Funciones SPL (Standard PHP Library)


Funciones SPL (Standard PHP Library)

Manual de PHP
Anterior Siguiente

CLIII. Funciones SPL (Standard PHP Library)

Introducción

SPL es una colección de clases e interfaces hechas con la intención de solucionar problemas comunes.

Sugerencia: Una documentación mas detallada de SPL se puede encontrar aquí (Enlace en Inglés).

Instalación

Esta extensión está disponible y compilada por defecto en PHP 5.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

RIT_LEAVES_ONLY (integer)

RIT_SELF_FIRST (integer)

RIT_CHILD_FIRST (integer)

CIT_CALL_TOSTRING (integer)

CIT_CATCH_GET_CHILD (integer)

Tabla de contenidos
ArrayIterator::current -- Return current array entry
ArrayIterator::key -- Return current array key
ArrayIterator::next -- Move to next entry
ArrayIterator::rewind -- Rewind array back to the start
ArrayIterator::seek -- Seek to position
ArrayIterator::valid -- Check whether array contains more entries
ArrayObject::append -- Appends the value
ArrayObject::__construct -- Construct a new array object
ArrayObject::count -- Return the number of elements in the Iterator
ArrayObject::getIterator -- Create a new iterator from an ArrayObject instance
ArrayObject::offsetExists -- Returns whether the requested $index exists
ArrayObject::offsetGet -- Returns the value at the specified $index
ArrayObject::offsetSet -- Sets the value at the specified $index to $newval
ArrayObject::offsetUnset -- Unsets the value at the specified $index
CachingIterator::hasNext -- Check whether the inner iterator has a valid next element
CachingIterator::next -- Move the iterator forward
CachingIterator::rewind -- Rewind the iterator
CachingIterator::__toString -- Return the string representation of the current element
CachingIterator::valid -- Check whether the current element is valid
CachingRecursiveIterator::getChildren -- Return the inner iterator's children as a CachingRecursiveIterator
CachingRecursiveIterator::hasChildren -- Check whether the current element of the inner iterator has children
DirectoryIterator::__construct -- Constructs a new dir iterator from a path
DirectoryIterator::current -- Return this (needed for Iterator interface)
DirectoryIterator::getATime -- Get last access time of file
DirectoryIterator::getCTime -- Get inode modification time of file
DirectoryIterator::getChildren -- Returns an iterator for the current entry if it is a directory
DirectoryIterator::getFilename -- Return filename of current dir entry
DirectoryIterator::getGroup -- Get file group
DirectoryIterator::getInode -- Get file inode
DirectoryIterator::getMTime -- Get last modification time of file
DirectoryIterator::getOwner -- Get file owner
DirectoryIterator::getPath -- Return directory path
DirectoryIterator::getPathname -- Return path and filename of current dir entry
DirectoryIterator::getPerms -- Get file permissions
DirectoryIterator::getSize -- Get file size
DirectoryIterator::getType -- Get file type
DirectoryIterator::isDir -- Returns true if file is directory
DirectoryIterator::isDot -- Returns true if current entry is '.' or '..'
DirectoryIterator::isExecutable -- Returns true if file is executable
DirectoryIterator::isFile -- Returns true if file is a regular file
DirectoryIterator::isLink -- Returns true if file is symbolic link
DirectoryIterator::isReadable -- Returns true if file can be read
DirectoryIterator::isWritable -- Returns true if file can be written
DirectoryIterator::key -- Return current dir entry
DirectoryIterator::next -- Move to next entry
DirectoryIterator::rewind -- Rewind dir back to the start
DirectoryIterator::valid -- Check whether dir contains more entries
FilterIterator::current -- Get the current element value
FilterIterator::getInnerIterator -- Get the inner iterator
FilterIterator::key -- Get the current key
FilterIterator::next -- Move the iterator forward
FilterIterator::rewind -- Rewind the iterator
FilterIterator::valid -- Check whether the current element is valid
LimitIterator::getPosition -- Return the current position
LimitIterator::next -- Move the iterator forward
LimitIterator::rewind -- Rewind the iterator to the specified starting offset
LimitIterator::seek -- Seek to the given position
LimitIterator::valid -- Check whether the current element is valid
ParentIterator::getChildren -- Return the inner iterator's children contained in a ParentIterator
ParentIterator::hasChildren -- Check whether the inner iterator's current element has children
ParentIterator::next -- Move the iterator forward
ParentIterator::rewind -- Rewind the iterator
RecursiveDirectoryIterator::getChildren -- Returns an iterator for the current entry if it is a directory
RecursiveDirectoryIterator::hasChildren -- Returns whether current entry is a directory and not '.' or '..'
RecursiveDirectoryIterator::key -- Return path and filename of current dir entry
RecursiveDirectoryIterator::next -- Move to next entry
RecursiveDirectoryIterator::rewind -- Rewind dir back to the start
RecursiveIteratorIterator::current -- Access the current element value
RecursiveIteratorIterator::getDepth -- Get the current depth of the recursive iteration
RecursiveIteratorIterator::getSubIterator -- The current active sub iterator
RecursiveIteratorIterator::key -- Access the current key
RecursiveIteratorIterator::next -- Move forward to the next element
RecursiveIteratorIterator::rewind -- Rewind the iterator to the first element of the top level inner iterator
RecursiveIteratorIterator::valid -- Check whether the current position is valid
SimpleXMLIterator::current -- Devuelve la entrada actual SimpleXML
SimpleXMLIterator::getChildren -- Devuelve un iterador para la entrada actual si es un objeto SimpleXML
SimpleXMLIterator::hasChildren -- Indica si la la iteración contiene mas entradas
SimpleXMLIterator::key -- Devuelve la clave actual SimpleXML
SimpleXMLIterator::next -- Cambia a la siguiente entrada
SimpleXMLIterator::rewind -- Vuelve a la primera entrada
SimpleXMLIterator::valid -- Comprueba si la entrada actual es un objeto SimpleXML
class_implements -- Return the interfaces which are implemented by the given class
class_parents -- Return the parent classes of the given class
iterator_count -- Count the elements in an iterator
iterator_to_array -- Copy the iterator into an array
spl_autoload_call -- Try all registered __autoload() function to load the requested class
spl_autoload_extensions -- Register and return default file extensions for spl_autoload
spl_autoload_functions -- Return all registered __autoload() functions
spl_autoload_register -- Register given function as __autoload() implementation
spl_autoload_unregister -- Unregister given function as __autoload() implementation
spl_autoload -- Default implementation for __autoload()
spl_classes -- Devuelve las clases SPL disponibles
spl_object_hash -- Return hash id for given object

Anterior | Inicio | Siguiente
socket_write | Subir | ArrayIterator::current


ArrayIterator::current

(no version information, might be only in CVS)

ArrayIterator::current -- Return current array entry

Description

mixed ArrayIterator::current ( void )

This function returns the current array entry

Ejemplo 1. ArrayIterator::current() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

El resultado del ejemplo seria:

1 => one
2 => two
3 => three

Anterior | Inicio | Siguiente
Funciones SPL (Standard PHP Library) | Subir | ArrayIterator::key


ArrayIterator::key

(no version information, might be only in CVS)

ArrayIterator::key -- Return current array key

Description

mixed ArrayIterator::key ( void )

This function returns the current array key

Ejemplo 1. ArrayIterator::key() example

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

Anterior | Inicio | Siguiente
ArrayIterator::current | Subir | ArrayIterator::next


ArrayIterator::next

(no version information, might be only in CVS)

ArrayIterator::next -- Move to next entry

Description

void ArrayIterator::next ( void )

This function moves the iterator to the next entry.

Ejemplo 1. ArrayIterator::next() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

El resultado del ejemplo seria:

0 => zero
1 => one

Anterior | Inicio | Siguiente
ArrayIterator::key | Subir | ArrayIterator::rewind


ArrayIterator::rewind

(no version information, might be only in CVS)

ArrayIterator::rewind -- Rewind array back to the start

Description

void ArrayIterator::rewind ( void )

This function rewinds the iterator to the beginning.

Ejemplo 1. ArrayIterator::rewind() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the begining
echo $iterator->key(); //0
?>

Anterior | Inicio | Siguiente
ArrayIterator::next | Subir | ArrayIterator::seek


ArrayIterator::seek

(no version information, might be only in CVS)

ArrayIterator::seek -- Seek to position

Description

void ArrayIterator::seek ( int position )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayIterator::rewind | Subir | ArrayIterator::valid


ArrayIterator::valid

(no version information, might be only in CVS)

ArrayIterator::valid -- Check whether array contains more entries

Description

bool ArrayIterator::valid ( void )

This function checks if the array contains any more entries.

Ejemplo 1. ArrayIterator::valid() example

<?php
$array = array('1' => 'one');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // advance to the next item

//bool(false) because there is only one array element
var_dump($iterator->valid());
?>

Anterior | Inicio | Siguiente
ArrayIterator::seek | Subir | ArrayObject::append


ArrayObject::append

(no version information, might be only in CVS)

ArrayObject::append -- Appends the value

Description

void ArrayObject::append ( mixed newval )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayIterator::valid | Subir | ArrayObject::__construct


ArrayObject::__construct

(no version information, might be only in CVS)

ArrayObject::__construct -- Construct a new array object

Description

ArrayObject ArrayObject::__construct ( mixed input )

This constructs a new array object. The input parameter accepts an array or another ArrayObject.

Ejemplo 1. ArrayObject::__construct() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

El resultado del ejemplo seria:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}

Anterior | Inicio | Siguiente
ArrayObject::append | Subir | ArrayObject::count


ArrayObject::count

(no version information, might be only in CVS)

ArrayObject::count -- Return the number of elements in the Iterator

Description

int ArrayObject::count ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayObject::__construct | Subir | ArrayObject::getIterator


ArrayObject::getIterator

(no version information, might be only in CVS)

ArrayObject::getIterator -- Create a new iterator from an ArrayObject instance

Description

ArrayIterator ArrayObject::getIterator ( void )

This function will return an iterator from an ArrayObject.

Ejemplo 1. ArrayObject::getIterator() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

The above example will output:

1 => one
2 => two
3 => three

Anterior | Inicio | Siguiente
ArrayObject::count | Subir | ArrayObject::offsetExists


ArrayObject::offsetExists

(no version information, might be only in CVS)

ArrayObject::offsetExists -- Returns whether the requested $index exists

Description

bool ArrayObject::offsetExists ( mixed index )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayObject::getIterator | Subir | ArrayObject::offsetGet


ArrayObject::offsetGet

(no version information, might be only in CVS)

ArrayObject::offsetGet -- Returns the value at the specified $index

Description

mixed ArrayObject::offsetGet ( mixed index )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayObject::offsetExists | Subir | ArrayObject::offsetSet


ArrayObject::offsetSet

(no version information, might be only in CVS)

ArrayObject::offsetSet -- Sets the value at the specified $index to $newval

Description

void ArrayObject::offsetSet ( mixed index, mixed newval )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayObject::offsetGet | Subir | ArrayObject::offsetUnset


ArrayObject::offsetUnset

(no version information, might be only in CVS)

ArrayObject::offsetUnset -- Unsets the value at the specified $index

Description

void ArrayObject::offsetUnset ( mixed index )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayObject::offsetSet | Subir | CachingIterator::hasNext


CachingIterator::hasNext

(no version information, might be only in CVS)

CachingIterator::hasNext -- Check whether the inner iterator has a valid next element

Description

bool CachingIterator::hasNext ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ArrayObject::offsetUnset | Subir | CachingIterator::next


CachingIterator::next

(no version information, might be only in CVS)

CachingIterator::next -- Move the iterator forward

Description

void CachingIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingIterator::hasNext | Subir | CachingIterator::rewind


CachingIterator::rewind

(no version information, might be only in CVS)

CachingIterator::rewind -- Rewind the iterator

Description

void CachingIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingIterator::next | Subir | CachingIterator::__toString


CachingIterator::__toString

(no version information, might be only in CVS)

CachingIterator::__toString -- Return the string representation of the current element

Description

string CachingIterator::__toString ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingIterator::rewind | Subir | CachingIterator::valid


CachingIterator::valid

(no version information, might be only in CVS)

CachingIterator::valid -- Check whether the current element is valid

Description

bool CachingIterator::valid ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingIterator::__toString | Subir | CachingRecursiveIterator::getChildren


CachingRecursiveIterator::getChildren

(no version information, might be only in CVS)

CachingRecursiveIterator::getChildren -- Return the inner iterator's children as a CachingRecursiveIterator

Description

CachingRecursiveIterator CachingRecursiveIterator::getChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingIterator::valid | Subir | CachingRecursiveIterator::hasChildren


CachingRecursiveIterator::hasChildren

(no version information, might be only in CVS)

CachingRecursiveIterator::hasChildren -- Check whether the current element of the inner iterator has children

Description

bolean CachingRecursiveIterator::hasChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingRecursiveIterator::getChildren | Subir | DirectoryIterator::__construct


DirectoryIterator::__construct

(no version information, might be only in CVS)

DirectoryIterator::__construct -- Constructs a new dir iterator from a path

Description

DirectoryIterator DirectoryIterator::__construct ( string path )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
CachingRecursiveIterator::hasChildren | Subir | DirectoryIterator::current


DirectoryIterator::current

(no version information, might be only in CVS)

DirectoryIterator::current -- Return this (needed for Iterator interface)

Description

DirectoryIterator DirectoryIterator::current ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::__construct | Subir | DirectoryIterator::getATime


DirectoryIterator::getATime

(no version information, might be only in CVS)

DirectoryIterator::getATime -- Get last access time of file

Description

int DirectoryIterator::getATime ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::current | Subir | DirectoryIterator::getCTime


DirectoryIterator::getCTime

(no version information, might be only in CVS)

DirectoryIterator::getCTime -- Get inode modification time of file

Description

int DirectoryIterator::getCTime ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getATime | Subir | DirectoryIterator::getChildren


DirectoryIterator::getChildren

(no version information, might be only in CVS)

DirectoryIterator::getChildren -- Returns an iterator for the current entry if it is a directory

Description

RecursiveDirectoryIterator DirectoryIterator::getChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getCTime | Subir | DirectoryIterator::getFilename


DirectoryIterator::getFilename

(no version information, might be only in CVS)

DirectoryIterator::getFilename -- Return filename of current dir entry

Description

string DirectoryIterator::getFilename ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getChildren | Subir | DirectoryIterator::getGroup


DirectoryIterator::getGroup

(no version information, might be only in CVS)

DirectoryIterator::getGroup -- Get file group

Description

int DirectoryIterator::getGroup ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getFilename | Subir | DirectoryIterator::getInode


DirectoryIterator::getInode

(no version information, might be only in CVS)

DirectoryIterator::getInode -- Get file inode

Description

int DirectoryIterator::getInode ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getGroup | Subir | DirectoryIterator::getMTime


DirectoryIterator::getMTime

(no version information, might be only in CVS)

DirectoryIterator::getMTime -- Get last modification time of file

Description

int DirectoryIterator::getMTime ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getInode | Subir | DirectoryIterator::getOwner


DirectoryIterator::getOwner

(no version information, might be only in CVS)

DirectoryIterator::getOwner -- Get file owner

Description

int DirectoryIterator::getOwner ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getMTime | Subir | DirectoryIterator::getPath


DirectoryIterator::getPath

(no version information, might be only in CVS)

DirectoryIterator::getPath -- Return directory path

Description

string DirectoryIterator::getPath ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getOwner | Subir | DirectoryIterator::getPathname


DirectoryIterator::getPathname

(no version information, might be only in CVS)

DirectoryIterator::getPathname -- Return path and filename of current dir entry

Description

string DirectoryIterator::getPathname ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getPath | Subir | DirectoryIterator::getPerms


DirectoryIterator::getPerms

(no version information, might be only in CVS)

DirectoryIterator::getPerms -- Get file permissions

Description

int DirectoryIterator::getPerms ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getPathname | Subir | DirectoryIterator::getSize


DirectoryIterator::getSize

(no version information, might be only in CVS)

DirectoryIterator::getSize -- Get file size

Description

int DirectoryIterator::getSize ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getPerms | Subir | DirectoryIterator::getType


DirectoryIterator::getType

(no version information, might be only in CVS)

DirectoryIterator::getType -- Get file type

Description

string DirectoryIterator::getType ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getSize | Subir | DirectoryIterator::isDir


DirectoryIterator::isDir

(no version information, might be only in CVS)

DirectoryIterator::isDir -- Returns true if file is directory

Description

bool DirectoryIterator::isDir ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::getType | Subir | DirectoryIterator::isDot


DirectoryIterator::isDot

(no version information, might be only in CVS)

DirectoryIterator::isDot -- Returns true if current entry is '.' or '..'

Description

bool DirectoryIterator::isDot ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isDir | Subir | DirectoryIterator::isExecutable


DirectoryIterator::isExecutable

(no version information, might be only in CVS)

DirectoryIterator::isExecutable -- Returns true if file is executable

Description

bool DirectoryIterator::isExecutable ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isDot | Subir | DirectoryIterator::isFile


DirectoryIterator::isFile

(no version information, might be only in CVS)

DirectoryIterator::isFile -- Returns true if file is a regular file

Description

bool DirectoryIterator::isFile ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isExecutable | Subir | DirectoryIterator::isLink


DirectoryIterator::isLink

(no version information, might be only in CVS)

DirectoryIterator::isLink -- Returns true if file is symbolic link

Description

bool DirectoryIterator::isLink ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isFile | Subir | DirectoryIterator::isReadable


DirectoryIterator::isReadable

(no version information, might be only in CVS)

DirectoryIterator::isReadable -- Returns true if file can be read

Description

bool DirectoryIterator::isReadable ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isLink | Subir | DirectoryIterator::isWritable


DirectoryIterator::isWritable

(no version information, might be only in CVS)

DirectoryIterator::isWritable -- Returns true if file can be written

Description

bool DirectoryIterator::isWritable ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isReadable | Subir | DirectoryIterator::key


DirectoryIterator::key

(no version information, might be only in CVS)

DirectoryIterator::key -- Return current dir entry

Description

string DirectoryIterator::key ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::isWritable | Subir | DirectoryIterator::next


DirectoryIterator::next

(no version information, might be only in CVS)

DirectoryIterator::next -- Move to next entry

Description

void DirectoryIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::key | Subir | DirectoryIterator::rewind


DirectoryIterator::rewind

(no version information, might be only in CVS)

DirectoryIterator::rewind -- Rewind dir back to the start

Description

void DirectoryIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::next | Subir | DirectoryIterator::valid


DirectoryIterator::valid

(no version information, might be only in CVS)

DirectoryIterator::valid -- Check whether dir contains more entries

Description

string DirectoryIterator::valid ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::rewind | Subir | FilterIterator::current


FilterIterator::current

(no version information, might be only in CVS)

FilterIterator::current -- Get the current element value

Description

mixed FilterIterator::current ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DirectoryIterator::valid | Subir | FilterIterator::getInnerIterator


FilterIterator::getInnerIterator

(no version information, might be only in CVS)

FilterIterator::getInnerIterator -- Get the inner iterator

Description

Iterator FilterIterator::getInnerIterator ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
FilterIterator::current | Subir | FilterIterator::key


FilterIterator::key

(no version information, might be only in CVS)

FilterIterator::key -- Get the current key

Description

mixed FilterIterator::key ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
FilterIterator::getInnerIterator | Subir | FilterIterator::next


FilterIterator::next

(no version information, might be only in CVS)

FilterIterator::next -- Move the iterator forward

Description

void FilterIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
FilterIterator::key | Subir | FilterIterator::rewind


FilterIterator::rewind

(no version information, might be only in CVS)

FilterIterator::rewind -- Rewind the iterator

Description

void FilterIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
FilterIterator::next | Subir | FilterIterator::valid


FilterIterator::valid

(no version information, might be only in CVS)

FilterIterator::valid -- Check whether the current element is valid

Description

bool FilterIterator::valid ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
FilterIterator::rewind | Subir | LimitIterator::getPosition


LimitIterator::getPosition

(no version information, might be only in CVS)

LimitIterator::getPosition -- Return the current position

Description

int LimitIterator::getPosition ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
FilterIterator::valid | Subir | LimitIterator::next


LimitIterator::next

(no version information, might be only in CVS)

LimitIterator::next -- Move the iterator forward

Description

void LimitIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
LimitIterator::getPosition | Subir | LimitIterator::rewind


LimitIterator::rewind

(no version information, might be only in CVS)

LimitIterator::rewind -- Rewind the iterator to the specified starting offset

Description

void LimitIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
LimitIterator::next | Subir | LimitIterator::seek


LimitIterator::seek

(no version information, might be only in CVS)

LimitIterator::seek -- Seek to the given position

Description

void LimitIterator::seek ( int position )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
LimitIterator::rewind | Subir | LimitIterator::valid


LimitIterator::valid

(no version information, might be only in CVS)

LimitIterator::valid -- Check whether the current element is valid

Description

bool LimitIterator::valid ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
LimitIterator::seek | Subir | ParentIterator::getChildren


ParentIterator::getChildren

(no version information, might be only in CVS)

ParentIterator::getChildren -- Return the inner iterator's children contained in a ParentIterator

Description

ParentIterator ParentIterator::getChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
LimitIterator::valid | Subir | ParentIterator::hasChildren


ParentIterator::hasChildren

(no version information, might be only in CVS)

ParentIterator::hasChildren -- Check whether the inner iterator's current element has children

Description

bool ParentIterator::hasChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ParentIterator::getChildren | Subir | ParentIterator::next


ParentIterator::next

(no version information, might be only in CVS)

ParentIterator::next -- Move the iterator forward

Description

void ParentIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ParentIterator::hasChildren | Subir | ParentIterator::rewind


ParentIterator::rewind

(no version information, might be only in CVS)

ParentIterator::rewind -- Rewind the iterator

Description

void ParentIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ParentIterator::next | Subir | RecursiveDirectoryIterator::getChildren


RecursiveDirectoryIterator::getChildren

(no version information, might be only in CVS)

RecursiveDirectoryIterator::getChildren -- Returns an iterator for the current entry if it is a directory

Description

object RecursiveDirectoryIterator::getChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
ParentIterator::rewind | Subir | RecursiveDirectoryIterator::hasChildren


RecursiveDirectoryIterator::hasChildren

(no version information, might be only in CVS)

RecursiveDirectoryIterator::hasChildren -- Returns whether current entry is a directory and not '.' or '..'

Description

bool RecursiveDirectoryIterator::hasChildren ( [bool allow_links] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveDirectoryIterator::getChildren | Subir | RecursiveDirectoryIterator::key


RecursiveDirectoryIterator::key

(no version information, might be only in CVS)

RecursiveDirectoryIterator::key -- Return path and filename of current dir entry

Description

string RecursiveDirectoryIterator::key ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveDirectoryIterator::hasChildren | Subir | RecursiveDirectoryIterator::next


RecursiveDirectoryIterator::next

(no version information, might be only in CVS)

RecursiveDirectoryIterator::next -- Move to next entry

Description

void RecursiveDirectoryIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveDirectoryIterator::key | Subir | RecursiveDirectoryIterator::rewind


RecursiveDirectoryIterator::rewind

(no version information, might be only in CVS)

RecursiveDirectoryIterator::rewind -- Rewind dir back to the start

Description

void RecursiveDirectoryIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveDirectoryIterator::next | Subir | RecursiveIteratorIterator::current


RecursiveIteratorIterator::current

(no version information, might be only in CVS)

RecursiveIteratorIterator::current -- Access the current element value

Description

mixed RecursiveIteratorIterator::current ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveDirectoryIterator::rewind | Subir | RecursiveIteratorIterator::getDepth


RecursiveIteratorIterator::getDepth

(no version information, might be only in CVS)

RecursiveIteratorIterator::getDepth -- Get the current depth of the recursive iteration

Description

int RecursiveIteratorIterator::getDepth ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::current | Subir | RecursiveIteratorIterator::getSubIterator


RecursiveIteratorIterator::getSubIterator

(no version information, might be only in CVS)

RecursiveIteratorIterator::getSubIterator -- The current active sub iterator

Description

RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::getDepth | Subir | RecursiveIteratorIterator::key


RecursiveIteratorIterator::key

(no version information, might be only in CVS)

RecursiveIteratorIterator::key -- Access the current key

Description

mixed RecursiveIteratorIterator::key ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::getSubIterator | Subir | RecursiveIteratorIterator::next


RecursiveIteratorIterator::next

(no version information, might be only in CVS)

RecursiveIteratorIterator::next -- Move forward to the next element

Description

void RecursiveIteratorIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::key | Subir | RecursiveIteratorIterator::rewind


RecursiveIteratorIterator::rewind

(no version information, might be only in CVS)

RecursiveIteratorIterator::rewind -- Rewind the iterator to the first element of the top level inner iterator

Description

void RecursiveIteratorIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::next | Subir | RecursiveIteratorIterator::valid


RecursiveIteratorIterator::valid

(no version information, might be only in CVS)

RecursiveIteratorIterator::valid -- Check whether the current position is valid

Description

bolean RecursiveIteratorIterator::valid ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::rewind | Subir | SimpleXMLIterator::current


SimpleXMLIterator::current

(no version information, might be only in CVS)

SimpleXMLIterator::current -- Devuelve la entrada actual SimpleXML

Descripción

mixed SimpleXMLIterator::current ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
RecursiveIteratorIterator::valid | Subir | SimpleXMLIterator::getChildren


SimpleXMLIterator::getChildren

(no version information, might be only in CVS)

SimpleXMLIterator::getChildren -- Devuelve un iterador para la entrada actual si es un objeto SimpleXML

Descripción

object SimpleXMLIterator::getChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SimpleXMLIterator::current | Subir | SimpleXMLIterator::hasChildren


SimpleXMLIterator::hasChildren

(no version information, might be only in CVS)

SimpleXMLIterator::hasChildren -- Indica si la la iteración contiene mas entradas

Descripción

bool SimpleXMLIterator::hasChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SimpleXMLIterator::getChildren | Subir | SimpleXMLIterator::key


SimpleXMLIterator::key

(no version information, might be only in CVS)

SimpleXMLIterator::key -- Devuelve la clave actual SimpleXML

Descripción

mixed SimpleXMLIterator::key ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SimpleXMLIterator::hasChildren | Subir | SimpleXMLIterator::next


SimpleXMLIterator::next

(no version information, might be only in CVS)

SimpleXMLIterator::next -- Cambia a la siguiente entrada

Descripción

void SimpleXMLIterator::next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SimpleXMLIterator::key | Subir | SimpleXMLIterator::rewind


SimpleXMLIterator::rewind

(no version information, might be only in CVS)

SimpleXMLIterator::rewind -- Vuelve a la primera entrada

Descripción

void SimpleXMLIterator::rewind ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SimpleXMLIterator::next | Subir | SimpleXMLIterator::valid


SimpleXMLIterator::valid

(no version information, might be only in CVS)

SimpleXMLIterator::valid -- Comprueba si la entrada actual es un objeto SimpleXML

Descripción

bool SimpleXMLIterator::valid ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SimpleXMLIterator::rewind | Subir | class_implements


class_implements

(PHP 5)

class_implements -- Return the interfaces which are implemented by the given class

Descripción

array class_implements ( mixed class [, bool autoload] )

This function returns an array with the names of the interfaces that the given class and its parents implement.

Lista de parámetros

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method. Defaults to TRUE.

Valores retornados

Returns an array or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

Ejemplos

Ejemplo 1. class_implements() example

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));

?>

El resultado del ejemplo seria algo similar a:

Array
(
    [foo] => foo
)

Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

Ver también

class_parents()

Anterior | Inicio | Siguiente
SimpleXMLIterator::valid | Subir | class_parents


class_parents

(PHP 5)

class_parents -- Return the parent classes of the given class

Descripción

array class_parents ( mixed class [, bool autoload] )

This function returns an array with the name of the parent classes of the given class.

Lista de parámetros

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method. Defaults to TRUE.

Valores retornados

Returns an array or FALSE on error.

Registro de cambios

Versión | Descripción
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

Ejemplos

Ejemplo 1. class_parents() example

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_parents('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_parents('not_loaded', true));
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [foo] => foo
)

Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

Ver también

class_implements()

Anterior | Inicio | Siguiente
class_implements | Subir | iterator_count


iterator_count

(PHP 5 >= 5.1.0RC1)

iterator_count -- Count the elements in an iterator

Description

int iterator_count ( IteratorAggregate iterator )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
class_parents | Subir | iterator_to_array


iterator_to_array

(PHP 5 >= 5.1.0RC1)

iterator_to_array -- Copy the iterator into an array

Description

array iterator_to_array ( IteratorAggregate iterator )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iterator_count | Subir | spl_autoload_call


spl_classes

(PHP 5)

spl_classes -- Devuelve las clases SPL disponibles

Descripción

array spl_classes ( void )

Esta función devuelve una matriz con las classes SPL disponibles en ese momento.

Ejemplo 1. Ejemplo de spl_classes()

<?php

print_r(spl_classes());

?>

El resultado del ejemplo seria algo similar a:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [CachingRecursiveIterator] => CachingRecursiveIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)

Anterior | Inicio | Siguiente
spl_autoload | Subir | spl_object_hash


Funciones de Secuencias

Manual de PHP
Anterior Siguiente

CLVIII. Funciones de Secuencias

Introducción

Las secuencias (streams) fueron introducidas con PHP 4.3.0 como un medio de generalizar el acceso a archivos, recursos de red, compresión de datos, y otras operaciones que comparten un juego común de funciones y usos. En su forma más simple, una secuencia es un objeto recurso que exhibe un comportamiento secuenciable. Esto quiere decir, pueden leerse datos desde la secuencia o escribir datos hacia ella en una forma lineal, y puede que sea posible efectuar búsquedas con fseek() de ubicaciones arbitrarias dentro de la secuencia.

Una envoltura (wrapper) es un código adicional que le dice a la secuencia cómo gestionar los protocolos y codificaciones específicas. Por ejemplo, la envoltura http sabe cómo traducir una URL a una petición HTTP/1.0 por un archivo en un servidor remoto. Existen varias envolturas incluidas con PHP por defecto (Vea Apéndice M), y envolturas adicionales, personalizadas, pueden agregarse ya sea dentro de un script PHP usando stream_wrapper_register(), o directamente desde una extensión usando la Referencia de API en Capítulo 44. Dado que cualquier tipo de envoltura puede ser agregada a PHP, no existe un límite impuesto en lo que se puede hacer con ellas. Para consultar la lista de envolturas soportadas actualmente, use stream_get_wrappers().

Una secuencia es referenciada como: esquema://destino

  • esquema(cadena) - El nombre de la envoltura a ser usada. Algunos ejemplos: file, http, https, ftp, ftps, compress.zlib, compress.bz2, y php. Vea Apéndice M para consultar una lista de envolturas integradas con PHP. Si no se especifica una envoltura, es usada la envoltura predeterminada de la función (usualmente file://).

  • destino - Depende en la envoltura usada. Para secuencias relacionadas con el sistema de archivos, éste parámetro es por lo general una ruta y un nombre de archivo que apunta al archivo deseado. Para secuencias de red, usualmente consiste de un nombre de host, por lo general con una ruta adicionada al final. Nuevamente, vea Apéndice M para encontrar una descripción de destinos para las secuencias integradas.

Filtros de Secuencia

Un filtro es una pieza final de código que puede efectuar operaciones sobre los datos a medida que éstos son leídos desde una secuencia o escritos hacia una. Puede apilarse cualquier cantidad de filtros sobre una secuencia. Pueden definirse filtros personalizados en un script PHP usando stream_filter_register() o en una extensión usando la Referencia API de Capítulo 44. Para consultar la lista de filtros registrados actualmente, use stream_get_filters().

Contextos de Secuencia

Un contexto es un conjunto de parámetros y opciones específicas de cada envoltura que modifican o mejoran el comportamiento de una secuencia. Los contextos son creados usando stream_context_create() y pueden ser pasados a la mayoría de funciones de creación de secuencias relacionadas con el sistema de archivos (esto es, fopen(), file(), file_get_contents(), etc...).

Pueden especificarse opciones cuando se hacen llamados a stream_context_create(), o más adelante usando stream_context_set_option(). Una lista de opciones específicas de envoltura puede encontrarse con la lista de envolturas integradas (Vea Apéndice M).

Adicionalmente, pueden definirse parámetros en un contexto usando stream_context_set_params(). Actualmente, el único parámetro de contexto soportado por PHP es notificación. El valor de éste parámetro debe ser el nombre de una función a ser llamada cuando un evento ocurre sobre una secuencia. La función de notificación llamada durante un evento debe aceptar los siguientes seis parámetros:

void mi_notificador ( int codigo_notificacion, int severidad, string mensaje, int codigo_mensaje, int bytes_transferidos, int bytes_max )

codigo_mensaje y severidad son valores numéricos que corresponden a las constantes STREAM_NOTIFY_* listadas más adelante. Si un mensaje descriptivo se encuentra disponible desde la secuencia, mensaje y codigo_mensaje se popularán con los valores apropiados. El significado de éstos valores depende de la envoltura específica en uso. bytes_transferidos y bytes_max se popularán cuando sea aplicable.

Instalación

Las secuencias son parte integral de PHP a partir de la versión 4.3.0. No se requiere de ningún paso adicional para habilitarlas.

Clases de Secuencia

Es posible registrar envolturas diseñadas por el usuario mediante stream_wrapper_register(), use la definición de clase expuesta en su respectiva página del manual.

La clase php_user_filter se encuentra predefinida y es una clase base abstracta para su uso con filtros definidos por el usuario. Vea la página del manual sobre stream_filter_register() para más detalles sobre la implementación de filtros definidos por el usuario.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Constante | Descripción
STREAM_FILTER_READ * | Usada con stream_filter_append() y stream_filter_prepend() para indicar que el filtro especificado debería ser aplicado únicamente cuando se esté efectuando lectura.
STREAM_FILTER_WRITE * | Usada con stream_filter_append() y stream_filter_prepend() para indicar que el filtro especificado debería ser aplicado únicamente cuando se esté efectuando escritura.
STREAM_FILTER_ALL * | Esta constante es equivalente a STREAM_FILTER_READ | STREAM_FILTER_WRITE.
PSFS_PASS_ON * | Código de Retorno que indica que el filtro de espacio de usuario devolvió paquetes en $salida.
PSFS_FEED_ME * | Código de Retorno que indica que el filtro de espacio de usuario no devolvió paquetes en $salida (lo que quiere decir que no hay datos disponibles).
PSFS_ERR_FATAL * | Código de Retorno que indica que el filtro de espacio de usuario encontró un error irrecuperable (esto quiere decir, se recibieron datos inválidos).
STREAM_USE_PATH | Bandera que indica si la secuencia usó la ruta de inclusión.
STREAM_REPORT_ERRORS | Bandera que indica si la envoltura es responsable de generar errores usando trigger_error() durante la apertura de la secuencia. Si esta bandera no está definida, usted no debería generar errores.
STREAM_CLIENT_ASYNC_CONNECT * | Abrir el socket de cliente asincrónicamente. Esta opción debe ser usada junto con la bandera STREAM_CLIENT_CONNECT. Constante usada con stream_socket_client().
STREAM_CLIENT_CONNECT * | Abrir una conexión de socket cliente. Los sockets cliente deberían incluir siempre esta bandera. Constante usada con stream_socket_client().
STREAM_CLIENT_PERSISTENT * | El socket de cliente abierto con stream_socket_client() debe permanecer persistente entre cargas de la página.
STREAM_SERVER_BIND * | Le dice a una secuencia creada con stream_socket_server() que se enlace con el destino especificado. Los sockets de servidor siempre deberían incluir ésta bandera.
STREAM_SERVER_LISTEN * | Le dice a una secuencia creada con stream_socket_server() y enlazada usando la bandera STREAM_SERVER_BIND que comience a escuchar en el socket. Los transportes orientados a conexiones (como TCP) deben usar esta bandera, de lo contrario el socket de servidor no será habilitado. Usar esta bandera con transportes sin conexión (como UDP) es un error.
STREAM_NOTIFY_RESOLVE * | Una dirección remota requerida para ésta secuencia ha sido resuelta, o la resolución falló. Vea severidad para contar con una indicación de lo que ha sucedido.
STREAM_NOTIFY_CONNECT | Se ha establecido una conexión con un recurso externo.
STREAM_NOTIFY_AUTH_REQUIRED | Se requiere de autorización adicional para acceder al recurso especificado. Típicamente se emite con un nivel de severidad de STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | El tipo-mime del recurso ha sido identificado, refiérase a mensaje para una descripción del tipo descubierto.
STREAM_NOTIFY_FILE_SIZE_IS | El tamaño del recurso ha sido descubierto.
STREAM_NOTIFY_REDIRECTED | El recurso externo ha redireccionado la secuencia a una ubicación alternativa. Refiérase a mensaje.
STREAM_NOTIFY_PROGRESS | Indica el progreso actual de una transferencia de secuencia en bytes_transferidos, y posiblemente bytes_max también.
STREAM_NOTIFY_COMPLETED * | No hay más datos disponibles en la secuencia.
STREAM_NOTIFY_FAILURE | Un error genérico ocurrió en la secuencia, consulte mensaje y codigo_mensaje para más detalles.
STREAM_NOTIFY_AUTH_RESULT | La autorización se ha completado (con o sin éxito).
STREAM_NOTIFY_SEVERITY_INFO | Notificación normal, no relacionada con errores.
STREAM_NOTIFY_SEVERITY_WARN | Condición de error no-crítico. El procesamiento puede continuar.
STREAM_NOTIFY_SEVERITY_ERR | Un error crítico ha ocurrido. El procesamiento no puede continuar.
STREAM_IPPROTO_ICMP + | Ofrece un socket ICMP.
STREAM_IPPROTO_IP + | Ofrece un socket IP.
STREAM_IPPROTO_RAW + | Ofrece un socket RAW.
STREAM_IPPROTO_TCP + | Ofrece un socket TCP.
STREAM_IPPROTO_UDP + | Ofrece un socket UDP.
STREAM_PF_INET + | Protocolo de Internet Versión 4 (IPv4).
STREAM_PF_INET6 + | Protocolo de Internet Versión 6 (IPv6).
STREAM_PF_UNIX + | Protocolos internos de sistema Unix.
STREAM_SOCK_DGRAM + | Ofrece datagramas, que son mensajes sin conexión (UDP, por ejemplo).
STREAM_SOCK_RAW + | Ofrece un socket puro, lo cual provee accesso a protocolos de red e interfaces internas. Por lo general, este tipo de sockets sólo están disponibles para el usuario administrador (root).
STREAM_SOCK_RDM + | Ofrece un socket RDM (mensajes entregados confiablemente).
STREAM_SOCK_SEQPACKET + | Ofrece un socket de secuencia de paquetes secuenciados.
STREAM_SOCK_STREAM + | Ofrece secuencias de bytes en doble-vía con un mecanismo de transmisión para datos fuera-de-banda (TCP, por ejemplo).

Nota: Las constantes marcadas con * se encuentran disponibles únicamente a partir de PHP 5.0.0.

Nota: Las constantes marcadas con + están disponibles desde PHP 5.1.0 y están diseñadas para ser usadas con stream_socket_pair(). Por favor note que algunas de estas constantes pueden no estar disponibles en su sistema.

Errores de Secuencia

Al igual que con cualquier otra función relacionada con archivos o sockets, una operación sobre una secuencia puede fallar por una variedad de razones normales (esto es: Incapaz de conectarse con el servidor remoto, archivo no encontrado, etc...). Una llamada relacionada con una secuencia puede fallar también debido a que la secuencia deseada no está registrada en el sistema actual. Consulte la matriz devuelta por stream_get_wrappers() para ver una lista de secuencias soportadas en su instalación de PHP. Al igual que con la mayoría de funciones internas de PHP, si ocurre un fallo, se generará un mensaje E_WARNING que describe la naturaleza del error.

Ejemplos

Ejemplo 1. Uso de file_get_contents() para recuperar datos de múltiples fuentes

<?php
/* Leer archivo local desde /home/bar */
$archivo_local = file_get_contents("/home/bar/foo.txt");

/* Identico al ejemplo anterior, indicando explicitamente el esquema FILE */
$archivo_local = file_get_contents("file:///home/bar/foo.txt");

/* Leer un archivo remoto desde www.example.com usando HTTP */
$archivo_http  = file_get_contents("http://www.example.com/foo.txt");

/* Leer un archivo remoto desde www.example.com usando HTTPS */
$archivo_https = file_get_contents("https://www.example.com/foo.txt");

/* Leer un archivo remoto desde ftp.example.com usando FTP */
$archivo_ftp   = file_get_contents("ftp://usuario:contrasenya@ftp.example.com/foo.txt");

/* Leer un archivo remoto desde ftp.example.com usando FTPS */
$archivo_ftps  = file_get_contents("ftps://usuario:contrasenya@ftp.example.com/foo.txt");
?>

Ejemplo 2. Realizar una petición POST a un servidor https

<?php
/* Enviar una peticion POST a https://seguro.example.com/formulario.php
 * Incluir elementos de formulario llamados "foo" y "bar" con valores
 * de prueba
 */

$sock = fsockopen("ssl://seguro.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$datos = "foo=" . urlencode("Valor para Foo") . "&bar=" . urlencode("Valor para Bar");

fwrite($sock, "POST /formulario.php HTTP/1.0\r\n");
fwrite($sock, "Host: seguro.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($datos) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, "$data\r\n");
fwrite($sock, "\r\n");

$cabeceras = "";
while ($cadena = trim(fgets($sock, 4096)))
  $cabeceras .= "$cadena\n";

echo "\n";

$cuerpo = "";
while (!feof($sock))
  $cuerpo .= fgets($sock, 4096);

fclose($sock);
?>

Ejemplo 3. Escritura de datos a un archivo comprimido

<?php
/* Crear un archivo comprimido que contenga una cadena arbitraria
 * El archivo puede ser leido de vuelta usando una secuencia
 * compress.zlib o simplemente descomprimido desde la linea de comandos
 * usando 'gzip -d foo-bar.txt.gz'
 */
$da = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$da) die("No fue posible crear el archivo.");

fwrite($da, "Esto es una prueba.\n");

fclose($da);
?>

Tabla de contenidos
stream_bucket_append -- Anexar cubo a una brigada
stream_bucket_make_writeable -- Devolver un objeto tipo cubo de una brigada para operar sobre él
stream_bucket_new -- Crear un nuevo cubo para su uso en la secuencia actual
stream_bucket_prepend -- Agregar un cubo al comienzo de una brigada
stream_context_create -- Crear un contexto de secuencia
stream_context_get_default -- Recuperar el contexto de secuencias predeterminado
stream_context_get_options -- Recuperar las opciones para una secuencia/envoltura/contexto
stream_context_set_option -- Establece una opción para una secuencia/envoltura/contexto
stream_context_set_params -- Establecer parámetros para una secuencia/envoltura/contexto
stream_copy_to_stream -- Copia datos desde una secuencia a otra
stream_encoding -- Set character set for stream encoding
stream_filter_append -- Adjuntar un filtro a una secuencia
stream_filter_prepend -- Adjuntar un filtro a una secuencia
stream_filter_register -- Registrar un filtro de secuencia implementado como una clase PHP derivada de php_user_filter
stream_filter_remove -- Remover un filtro de una secuencia
stream_get_contents -- Lee el resto de una secuencia en una cadena
stream_get_filters -- Recuperar la lista de filtros registrados
stream_get_line -- Obtiene una línea desde un recurso de secuencia, hasta un delimitador dado
stream_get_meta_data -- Recupera meta datos/cabeceras desde apuntadores a secuencias/archivos
stream_get_transports -- Recuperar la lista de transportes de socket registrados
stream_get_wrappers -- Recuperar la lista de secuencias registradas
stream_register_wrapper -- Alias de stream_wrapper_register()
stream_resolve_include_path -- Determine what file will be opened by calls to fopen() with a relative path
stream_select -- Ejecuta el equivalente al llamado de sistema select() en la matriz de secuencias dada, con un tiempo de espera especificado por tv_sec y tv_usec
stream_set_blocking -- Establecer modo de bloqueo/no-bloqueo sobre una secuencia
stream_set_timeout -- Establecer el periodo de espera de una secuencia
stream_set_write_buffer -- Establece el uso de búferes de archivo en la secuencia dada
stream_socket_accept -- Aceptar una conexión en un socket creado por stream_socket_server()
stream_socket_client -- Abrir una conexión de socket de dominio de Internet o Unix
stream_socket_enable_crypto -- Habilita/deshabilita la encripción sobre un socket ya conectado
stream_socket_get_name -- Recuperar el nombre de los sockets locales o remotos
stream_socket_pair -- Crea un par de secuencias de socket conectados e indistinguibles
stream_socket_recvfrom -- Recibe datos desde un socket, conectado o no
stream_socket_sendto -- Envía un mensaje a un socket, sin importar si está conectado o no
stream_socket_server -- Crear un socket de servidor de dominio de Internet o Unix
stream_socket_shutdown -- Shutdown a full-duplex connection
stream_wrapper_register -- Registrar una envoltura URL implementada como una clase PHP
stream_wrapper_restore -- Recupera una envoltura incorporada, previamente retirada del registro
stream_wrapper_unregister -- Retirar del registro una envoltura de URL

Anterior | Inicio | Siguiente
stats_variance | Subir | stream_bucket_append


stream_context_create

(PHP 4 >= 4.3.0, PHP 5)

stream_context_create -- Crear un contexto de secuencia

Descripción

resource stream_context_create ( [array opciones [, array params]] )

Crea y devuelve un contexto de secuencia con cualquier número de opciones dadas en el conjunto opciones.

Las opciones deben venir en una matriz asociativa de matrices asociativas en el formato $matriz['envoltura']['opcion'] = $valor. Su valor predeterminado es una matriz vacía.

params debe ser una matriz asociativa de la forma $matriz['parametro'] = $valor. Refiérase a stream_context_set_params() para un listado de parámetros de secuencia estándar.

Nota: El argumento params fue agregado a PHP 6.0.0.

Ejemplo 1. Uso de stream_context_create()

<?php
$opciones = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$contexto = stream_context_create($opciones);

/* Envía una petición http a www.example.com con las cabeceras
 * adicionales mostradas anteriormente */
$da = fopen('http://www.example.com', 'r', false, $contexto);
fpassthru($da);
fclose($da);
?>

Vea también stream_context_set_option(), y el listado de envolturas soportadas con opciones de contexto (Apéndice M).

Anterior | Inicio | Siguiente
stream_bucket_prepend | Subir | stream_context_get_default


stream_context_get_default

(PHP 5 >= 5.1.0RC1)

stream_context_get_default -- Recuperar el contexto de secuencias predeterminado

Descripción

resource stream_context_get_default ( [array opciones] )

Devuelve el contexto de secuencias predeterminado usado siempre que son llamadas las operaciones de archivos (fopen(), file_get_contents(), etc...) sin un parámetro de contexto. Las opciones para el contexto predeterminado pueden ser especificadas opcionalmente con esta función usando la misma sintaxis que en stream_context_create().

opciones debe ser una matriz de matrices asociativas en el formato $matriz['envoltura']['opcion'] = $valor.

Ejemplo 1. Uso de stream_context_get_default()

<?php
$opciones_predeterminadas = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$opciones_alternas = array(
  'http'=>array(
    'method'=>"POST",
    'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'content'=>"baz=bomb"
  )
);

$predeterminado = stream_context_get_default($opciones_predeterminadas);
$alterno = stream_context_create($opciones_alternas);

/* Envia una peticion GET normal al servidor proxy en 10.54.1.39
 * Solicita www.example.com usando las opciones de contexto especificadas
 * en $opciones_predeterminadas
 */
readfile('http://www.example.com');

/* Envia una peticion POST directamente a www.example.com
 * Usando las opciones de contexto especificadas en $opciones_alternas
 */
readfile('http://www.example.com', false, $alterno);

?>

Vea también stream_context_create(), y el Listado de envolturas soportadas con opciones de contexto (Apéndice M).

Anterior | Inicio | Siguiente
stream_context_create | Subir | stream_context_get_options


stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5)

stream_context_get_options -- Recuperar las opciones para una secuencia/envoltura/contexto

Descripción

array stream_context_get_options ( resource secuencia_o_contexto )

Devuelve una matriz de opciones de la secuencia o contexto especificado.

Anterior | Inicio | Siguiente
stream_context_get_default | Subir | stream_context_set_option


stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_option -- Establece una opción para una secuencia/envoltura/contexto

Descripción

bool stream_context_set_option ( resource secuencia_o_contexto, string envoltura, string opcion, mixed valor )

bool stream_context_set_option ( resource secuencia_o_contexto, array opciones )

Establece una opción en el contexto especificado. valor recibe el valor de opcion para la envoltura.

Anterior | Inicio | Siguiente
stream_context_get_options | Subir | stream_context_set_params


stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_params -- Establecer parámetros para una secuencia/envoltura/contexto

Descripción

bool stream_context_set_params ( resource secuencia_o_contexto, array parametros )

parametros debe ser una matriz asociativa de la estructura: $parametros['nombre_parametro'] = "valor_parametro";.

Tabla 1. Parámetros

Parámetros | Propósito
notification | Nombre de la llamada de retorno definida por el usuario a ser llamada cuando una secuencia genere una notificación.
options | Matriz de opciones, tal como en stream_context_create().

Anterior | Inicio | Siguiente
stream_context_set_option | Subir | stream_copy_to_stream


stream_copy_to_stream

(PHP 5)

stream_copy_to_stream -- Copia datos desde una secuencia a otra

Descripción

int stream_copy_to_stream ( resource fuente, resource destino [, int longitud_maxima [, int desplazamiento]] )

Crea una copia de hasta longitud_maxima bytes de datos a partir de la posición actual (o desde la posición desplazamiento, si se especifica) en fuente y la direcciona a destino. Si longitud_maxima no se especifica, será copiado todo el contenido restante en fuente.

Lista de parámetros

fuente

La secuencia fuente

destino

La secuencia de destino

longitud_maxima

Cantidad máxima de bytes a copiar

desplazamiento

El desplazamiento desde donde empezar a copiar los datos

Valores retornados

Devuelve el conteo total de bytes copiados.

Registro de cambios

Versión | Descripción
5.1.0 | Se agregó el parámetro desplazamiento

Ejemplos

Ejemplo 1. Un ejemplo de stream_copy_to_stream()

<?php
$fuente = fopen('http://www.example.com', 'r');
$dest1  = fopen('primer1k.txt', 'w');
$dest2  = fopen('resto.txt', 'w');

echo stream_copy_to_stream($fuente, $dest1, 1024) . " bytes copiados a primer1k.txt\n";
echo stream_copy_to_stream($fuente, $dest2) . " bytes copiados a resto.txt\n";

?>

Ver también

copy()

Anterior | Inicio | Siguiente
stream_context_set_params | Subir | stream_encoding


stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append -- Adjuntar un filtro a una secuencia

Descripción

resource stream_filter_append ( resource secuencia, string nombre_filtro [, int lectura_escritura [, mixed parametros]] )

Agrega el nombre_filtro a la lista de filtros adjuntos a la secuencia. Este filtro será añadido con los parametros especificados al final de la lista y por lo tanto será llamado al último durante las operaciones de la secuencia. Para agregar un filtro al comienzo de la lista, use stream_filter_prepend().

Por defecto, stream_filter_append() adjuntará el filtro a la cadena de filtros de lectura si el archivo fue abierto para lectura (esto quiere decir, Modo del Archivo: r, o +). El filtro también se adjuntará a la cadena de filtros de escritura si el archivo fue abierto para escritura (esto quiere decir, Modo del Archivo: w, a, O +). Las constantes STREAM_FILTER_READ, STREAM_FILTER_WRITE, o STREAM_FILTER_ALL pueden ser pasadas también al parámetro lectura_escritura para sobrescribir este comportamiento.

A partir de PHP 5.1.0, esta función devuelve un recurso que puede ser usado para referirse a esta instancia de filtro durante una llamada a stream_filter_remove(). Antes de PHP 5.1.0, esta función devuelve TRUE en caso de éxito o FALSE si ocurre un error.

Ejemplo 1. Control del lugar en el que se aplican los filtros

<?php
/* Abrir un archivo de prueba para lectura y escritura */
$da = fopen('prueba.txt', 'w+');

/* Aplicar el filtro ROT13 a la cadena de filtros de escritura, pero
 * no a la cadena de filtros de lectura */
stream_filter_append($da, "string.rot13", STREAM_FILTER_WRITE);

/* Escribir una cadena simple al archivo, la cual sera transformada
   mediante ROT13 en su camino de salida */
fwrite($da, "Esta es una prueba\n");

/* Volver al inicio del archivo */
rewind($da);

/* Leer los contenidos del archivo de vuelta. Si hubiesemos aplicado
 * el filtro a la cadena de filtros de lectura tambien, veriamos el
 * texto de vuelta a su estado original debido a la retransformacion
 * con ROT133 */
fpassthru($da);

fclose($da);

/* Salida Esperada
   ---------------

Rfgn rf han cehron

 */
?>

Cuando se usan filtros personalizados (de usuario): La función stream_filter_register() debe ser llamada primero para registrar el filtro de usuario deseado para nombre_filtro.

Nota: Los datos de la secuencia son leídos desde los recursos (tanto locales como remotos) en paquetes, usando búferes internos para conservar todos los datos sin consumir. Cuando un nuevo filtro es agregado a la secuencia, los datos en los búferes internos son procesados a través del nuevo filtro en ese momento. Este comportamiento difiere de aquél de stream_filter_prepend().

Vea también stream_filter_register(),
stream_filter_prepend(), y
stream_get_filters().

Anterior | Inicio | Siguiente
stream_encoding | Subir | stream_filter_prepend


stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prepend -- Adjuntar un filtro a una secuencia

Descripción

resource stream_filter_prepend ( resource secuencia, string nombre_filtro [, int lectura_escritura [, mixed parametros]] )

Agrega el nombre_filtro a la lista de filtros adjuntos a la secuencia. Este filtro será añadido con los parametros especificados al comienzo de la lista y por lo tanto será llamado al inicio de las operaciones de secuencia. Para añadir un filtro al final de la lista, use stream_filter_append().

Por defecto, stream_filter_prepend() adjuntará el filtro a la cadena de filtros de lectura si el archivo fue abierto para lectura (esto quiere decir, Modo del Archivo: r, o +). El filtro será adjunto también a la cadena de filtros de escritura si el archivo fue abierto para escritura (esto quiere decir, Modo del Archivo: w, a, o +). Las constantes STREAM_FILTER_READ, STREAM_FILTER_WRITE, o STREAM_FILTER_ALL también pueden ser pasadas al parámetro lectura_escritura para sobrescribir este comportamiente. Vea stream_filter_append() para consultar un ejemplo de éste parámetro.

A partir de PHP 5.1.0, esta función devuelve un recurso que puede ser usado para referirse a esta instancia de filtro durante una llamada a stream_filter_remove(). Antes de PHP 5.1.0, esta función devuelve TRUE en caso de éxito o FALSE si ocurre un error.

Cuando se usan filtros personalizados (de usuario): La función stream_filter_register() debe ser llamada primero para registrar el filtro de usuario deseado para nombre_filtro.

Nota: Los datos de las secuencias son leídos desde los recursos (tanto locales como remotos) en paquetes, usando búferes internos para almacenar datos sin consumir. Cuando un nuevo filtro es agregado al inicio de la lista de filtros en una secuencia, los datos de los búferes internos, que ya han sido procesados con otros filtros, no serán reprocesados a través del nuevo filtro en ese momento. Este comportamiento difiere de aquél de stream_filter_append().

Vea también stream_filter_register(), y stream_filter_append().

Anterior | Inicio | Siguiente
stream_filter_append | Subir | stream_filter_register


stream_filter_register

(PHP 5)

stream_filter_register -- Registrar un filtro de secuencia implementado como una clase PHP derivada de php_user_filter

Descripción

bool stream_filter_register ( string nombre_filtro, string nombre_clase )

stream_filter_register() le permite implementar su propio filtro en cualquier secuencia registrada utilizada con todas los otras funciones de sistema de archivos (tales como fopen(), fread() etc.).

Para implementar un filtro, necesita definir una clase como una extensión de php_user_filter con un número de funciones miembro, tal y como se define más adelante. Cuando realice operaciones de lectura/escritura en la secuencia a la que se ha adjuntado su filtro, PHP pasará los datos a través de su filtro (y cualquier otro filtre adjunto a esa secuencia) de modo que los datos puedan ser modificados como lo desee. Debe implementar los métodos exactamente como se describe más adelante - hacerlo de otra forma llevará a comportamientos indefenidos.

stream_filter_register() devolverá FALSE si nombre_filtro ya se encuentra definido.

int filter ( resource entrada, resource salida, int &consumido, bool cerrando )

Este método es llamado siempre que se lean o escriban datos desde y hacia la secuencia adjunta (tal y como sucede con fread() o fwrite()). entrada es un recurso que apunta a una brigada de paquetes que contiene uno o más objetos de tipo paquete que contienen datos a ser filtrados. salida es un recurso que apunta a una segunda brigada de paquetes en la que deben ser colocados sus paquetes modificados. consumido, que debe declararse siempre por referencia, debe ser incrementado de acuerdo a la longitud de los datos que su filtro lee y altera. En la mayoría de casos esto quiere decir que usted incrementa consumido en $paquete->datalen para cada $paquete. Si la secuencia está en el proceso de ser cerrada (y por lo tanto este es el último paso por la cadena de filtros), el parámetro cerrando será definido como TRUE. El método filter debe devolver uno de tres valores cuando complete su ejecución.

Valor de Retorno | Significado
PSFS_PASS_ON | El filtro fue procesado satisfactoriamente con los datos disponibles en la brigada de paquetes salida.
PSFS_FEED_ME | El filtro fue procesado satisfactoriamente, sin embargo, no habían datos disponibles para devolver. Se requieren más datos desde la secuencia o desde el filtro anterior.
PSFS_ERR_FATAL (predeterminado) | El filtro experimentó un error irrecuperable y no puede continuar.

bool onCreate ( void )

Este método es llamado durante la instanciación del objeto clase del filtro. Si su filtro ubica o inicializa cualquier otro tipo de recursos (como un búfer), éste es el lugar para hacerlo. Su implementación de este método debería devolver FALSE en caso de fallo, o TRUE si tiene éxito.

Cuando su filtro es instanciado por primera vez, y su_filtro->onCreate() es llamado, se colocarán a su disposición un número de propiedades, como lo muestra la siguiente tabla.

Propiedad | Contenidos
ClaseFiltro->filtername | Una cadena que contiene el nombre con el que fue instanciado el filtro. Los filtros pueden ser registrados bajo múltiples nombres o bajo comodines. Use ésta propiedad para determinar el nombre que fue usado.
ClaseFiltro->params | Los contenidos del parámetro parametros pasado a stream_filter_append() o stream_filter_prepend().

void onClose ( void )

Este método es llamado cuando se realiza la destrucción del filtro (por lo general, esto ocurre también durante la destrucción de la secuencia), y es ejecutado después de que el método flush es llamado. Si se ubicaron o inicializaron recursos durante onCreate, éste sería el momento para destruirlos o desecharlos.

El siguiente ejemplo implementa un filtro llamado strtoupper en la secuencia foo-bar.txt, el cual convierte a mayúsculas todos los caracteres alfabéticos escritos hacia/leidos desde esa secuencia.

Ejemplo 1. Filtro para convertir los caracteres a mayúsculas en la secuencia foo-bar.txt

<?php

/* Definicion de nuestra clase de filtro */
class strtoupper_filter extends php_user_filter {
  function filter($entrada, $salida, &$consumido, $cerrando)
  {
    while ($paquete = stream_bucket_make_writeable($entrada)) {
      $paquete->data = strtoupper($paquete->data);
      $consumido += $paquete->datalen;
      stream_bucket_append($salida, $paquete);
    }
    return PSFS_PASS_ON;
  }
}

/* Registrar nuestro filtro con PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Fall&oacute; el registro del filtro");

$da = fopen("foo-bar.txt", "w");

/* Adjuntar el filtro registrado a la secuencia que acabamos de abrir */
stream_filter_append($da, "strtoupper");

fwrite($da, "Linea1\n");
fwrite($da, "Palabra - 2\n");
fwrite($da, "Tan sencillo como 123\n");

fclose($da);

/* Leer los contenidos de vuelta
 */
readfile("foo-bar.txt");

?>

El resultado del ejemplo seria:

LINEA1
PALABRA - 2
TAN SENCILLO COMO 123

Ejemplo 2. Registro de una clase genérica de filtro para que coincida con múltiples nombres de filtro.

<?php

/* Definicion de nuestra clase de filtro */
class filtro_cadena extends php_user_filter {
  var $modo;

  function filter($entrada, $salida, &$consumido, $cerrando)
  {
    while ($paquete = stream_bucket_make_writeable($entrada)) {
      if ($this->modo == 1) {
        $paquete->data = strtoupper($paquete->data);
      } elseif ($this->modo == 0) {
        $paquete->data = strtolower($paquete->data);
      }

      $consumido += $paquete->datalen;
      stream_bucket_append($salida, $paquete);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->modo = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->modo = 0;
    } else {
      /* Se ha pedido otro filtro str.* , reportar un fallo de modo
       * que PHP continue buscando */
      return false;
    }

    return true;
  }
}

/* Registrar nuestro filtro con PHP */
stream_filter_register("str.*", "filtro_cadena")
    or die("Fall&oacute; el registro del filtro");

$da = fopen("foo-bar.txt", "w");

/* Adjuntar el filtro registrado a la secuencia recien
 * abierta. Alternativamente, aqui podemos enlazar str.tolower */
stream_filter_append($da, "str.toupper");

fwrite($da, "Linea1\n");
fwrite($da, "Palabra - 2\n");
fwrite($da, "Tan sencillo como 123\n");

fclose($da);

/* Leer los contenidos de vuelta
 */
readfile("foo-bar.txt");
?>

El resultado del ejemplo seria:

LINEA1
PALABRA - 2
TAN SENCILLO COMO 123

Vea también stream_wrapper_register(),
stream_filter_prepend(), y
stream_filter_append().

Anterior | Inicio | Siguiente
stream_filter_prepend | Subir | stream_filter_remove


stream_filter_remove

(PHP 5 >= 5.1.0RC1)

stream_filter_remove -- Remover un filtro de una secuencia

Descripción

bool stream_filter_remove ( resource filtro_de_secuencia )

Remueve un filtro de secuencia previamente agregado a una secuencia con stream_filter_prepend() o stream_filter_append(). Cualquier dato que permanezca en el búfer interno del filtro será volcado a través del siguiente filtro antes de ser removido.

Ejemplo 1. Refiltrado dinámico de una secuencia

<?php
/* Abrir un archivo de prueba para lectura y escritura */
$da = fopen("prueba.txt", "rw");

$filtro_rot13 = stream_filter_append($da, "string.rot13", STREAM_FILTER_WRITE);
fwrite($da, "Esto es ");
stream_filter_remove($filtro_rot13);
fwrite($da, "una prueba\n");

rewind($da);
fpassthru($da);
fclose($da);

/* Salida Esperada
   ---------------

Rfgb rf una prueba

 */
?>

Vea también stream_filter_register(),
stream_filter_append(), y
stream_filter_prepend().

Anterior | Inicio | Siguiente
stream_filter_register | Subir | stream_get_contents


stream_get_contents

(PHP 5)

stream_get_contents -- Lee el resto de una secuencia en una cadena

Descripción

string stream_get_contents ( resource gestor [, int longitud_maxima [, int offset]] )

Función idéntica a file_get_contents(), excepto que stream_get_contents() opera en un recurso de secuencia ya abierto y devuelve el contenido restante en una cadena, hasta un máximo de longitud_maxima bytes y comenzando en el desplazamiento indicado.

Lista de parámetros

gestor (resource)

Un recurso de secuencia (p.ej. devuelto por fopen())

longitud_maxima (integer)

La cantidad máxima de bytes a leer. Su valor predeterminado es -1 (leer todo el resto del búfer).

desplazamiento (integer)

Buscar el desplazamiento especificado antes de leer. Agregado en PHP 5.1.0.

Valores retornados

Devuelve una cadena, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de stream_get_contents()

<?php

if ($secuencia = fopen('http://www.example.com', 'r')) {
    // imprimir toda la pagina comenzando en la posicion 10
    echo stream_get_contents($secuencia, -1, 10);

    fclose($secuencia);
}

if ($secuencia = fopen('http://www.example.net', 'r')) {
    // imprimir los primeros 5 bytes
    echo stream_get_contents($secuencia, 5);

    fclose($secuencia);
}

?>

Ver también

fgets()
fread()
fpassthru()

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
stream_filter_remove | Subir | stream_get_filters


stream_get_filters

(PHP 5)

stream_get_filters -- Recuperar la lista de filtros registrados

Descripción

array stream_get_filters ( void )

Devuelve una matriz indexada que contiene el nombre de todos los filtros de secuencia disponibles en el sistema actual.

Ejemplo 1. Uso de stream_get_filters()

<?php
$lista_de_secuencias = stream_get_filters();
print_r($lista_de_secuencias);
?>

La salida será similar a la siguiente. Nota: pueden haber más o menos filtros en su versión de PHP.

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

Vea también stream_filter_register(), y stream_get_wrappers().

Anterior | Inicio | Siguiente
stream_get_contents | Subir | stream_get_line


stream_get_line

(PHP 5)

stream_get_line -- Obtiene una línea desde un recurso de secuencia, hasta un delimitador dado

Descripción

string stream_get_line ( resource gestor, int longitud [, string final] )

Devuelve una cadena de hasta longitud bytes leidos desde el archivo apuntado por gestor. La lectura finaliza cuando longitud bytes han sido leidos, cuando la cadena especificado por final es encontrada (la cual no es incluida en el valor de retorno), o al llegar al final del archivo, EOF, (lo que ocurra primero).

Si ocurre un error, devuelve FALSE.

Esta función es casi idéntica a fgets(), excepto que permite el uso de delimitadores de línea diferentes a los estándar \n, \r, y \r\n, y no devuelve el delimitador mismo.

Vea también fread(), fgets(), y fgetc().

Anterior | Inicio | Siguiente
stream_get_filters | Subir | stream_get_meta_data


stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data -- Recupera meta datos/cabeceras desde apuntadores a secuencias/archivos

Descripción

array stream_get_meta_data ( resource secuencia )

Devuelve información sobre una secuencia existente. La secuencia puede ser cualquiera creada por fopen(), fsockopen() y pfsockopen(). La matriz resultante contiene los siguientes items:

  • timed_out (bool) - TRUE si la secuencia ha superado el tiempo de espera máximo mientras esperaba datos en el último llamado a fread() o fgets().

  • blocked (bool) - TRUE si la secuencia se encuentra en modo de bloqueo de E/S. Vea stream_set_blocking().

  • eof (bool) - TRUE si la secuencia ha alcanzado el final del archivo. Note que para secuencias de socket, este miembro puede ser TRUE incluso cuando unread_bytes es diferente de cero. Para determinar si hay más datos para ser leidos, use feof() en lugar de leer este item.

  • unread_bytes (int) - el número de bytes contenidos actualmente en el búfer interno de PHP.

    Nota: Este valor no debe ser usado en un script.

Los siguientes items fueron agregados en PHP 4.3:

  • stream_type (string) - una etiqueta que decribe la implementación de bajo nivel de la secuencia.

  • wrapper_type (string) - una etiqueta que describe la implementación de envoltura de protocolo que cubre a la secuencia. Vea Apéndice M para más información sobre las envolturas.

  • wrapper_data (mixed) - datos específicos de envoltura adjuntos a esta secuencia. Vea Apéndice M para más información sobre las envolturas y sus datos de envoltura.

  • filters (array) - una matriz que contiene los nombres de cualquier filtro que esté apilado para esta secuencia. La documentación sobre los filtros puede encontrarse en el apéndice de Filtros.

Nota: Esta función fue introducida en PHP 4.3, pero anteriormente, socket_get_status() podía ser usado para recuperar los primeros cuatro items, para secuencias basadas en sockets únicamente.

En PHP 4.3 y versiones posteriores, socket_get_status() es un alias de esta función.

Nota: Esta función NO trabaja sobre sockets creados por la Extensión de sockets.

Los siguientes ítems fueron agregados en PHP 5.0:

  • mode (string) - el tipo de acceso requerido para esta secuencia (vea la Tabla 1 de la referencia sobre fopen())

  • seekable (bool) - si la secuencia actual puede ser reubicada.

  • uri (string) - el nombre de archivo/URI asociado con ésta secuencia.

Anterior | Inicio | Siguiente
stream_get_line | Subir | stream_get_transports


stream_get_transports

(PHP 5)

stream_get_transports -- Recuperar la lista de transportes de socket registrados

Descripción

array stream_get_transports ( void )

Devuelve una matriz indexada que contiene los nombres de todos los transportes de socket disponibles en el sistema actual.

Ejemplo 1. Uso de stream_get_transports()

<?php
$lista = stream_get_transports();
print_r($lista);
?>

La salida será similar a la siguiente. Nota: pueden haber más o menos transportes en su versión de PHP.

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

Vea también stream_get_filters(), y stream_get_wrappers().

Anterior | Inicio | Siguiente
stream_get_meta_data | Subir | stream_get_wrappers


stream_get_wrappers

(PHP 5)

stream_get_wrappers -- Recuperar la lista de secuencias registradas

Descripción

array stream_get_wrappers ( void )

Devuelve una matriz indexada que contiene los nombres de todas las envolturas de secuencia disponibles en el sistema actual.

Ejemplo 1. Ejemplo de stream_get_wrappers()

<?php
print_r(stream_get_wrappers());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Ejemplo 2. Chequear la existencia de una envoltura de secuencia

<?php
// chequear por la existencia de la envoltura de secuencia bzip2
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'el soporte para compress.bzip2:// esta habilitado.';
} else {
    echo 'el soporte para compress.bzip2:// no esta habilitado.';
}
?>

Vea también stream_wrapper_register().

Anterior | Inicio | Siguiente
stream_get_transports | Subir | stream_register_wrapper


stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5)

stream_register_wrapper -- Alias de stream_wrapper_register()

Descripción

Esta función es un alias de stream_wrapper_register(). Esta función es incluida por razones de compatibilidad con PHP 4.3.0 y PHP 4.3.1 únicamente. stream_wrapper_register() debería ser usada en su lugar.

Anterior | Inicio | Siguiente
stream_get_wrappers | Subir | stream_resolve_include_path


stream_select

(PHP 4 >= 4.3.0, PHP 5)

stream_select -- Ejecuta el equivalente al llamado de sistema select() en la matriz de secuencias dada, con un tiempo de espera especificado por tv_sec y tv_usec

Descripción

int stream_select ( array &lectura, array &escritura, array &excepcional, int tv_sec [, int tv_usec] )

La función stream_select() acepta una matriz de secuencias y espera a que éstas cambien su status. Su operación es equivalente a la de la función socket_select(), excepto que actúa sobre secuencias.

Las secuencias listadas en la matriz lectura serán vigiladas para ver si aparecen caracteres disponibles para lectura (o más precisamente, para ver si una operación de lectura no producirá un bloqueo - en particular, un recurso de secuencia se encuentra listo también al llegar al final del archivo, en cuyo caso un llamado a fread() devolverá una cadena de longitud cero).

Las secuencias listadas en la matriz escritura serán vigiladas para ver si una escritura no crea bloqueos.

Las secuencias listadas en la matriz excepcional serán vigiladas por la llegada de datos excepcionales ("out-of-band") de alta prioridad.

Nota: Cuando stream_select() devuelve un valor, las matrices lectura, escritura y excepcional son modificadas para indicar cuáles recursos de secuencia modificaron su status en realidad.

Los parámetros tv_sec y tv_usec, juntos forman el parámetro tiempo de espera, tv_sec especifica el número de segundos, mientras que tv_usec el número de microsegundos. El tiempo de espera es un límite superior sobre la cantidad de tiempo que stream_select() esperará antes de devolver un valor. Si tanto tv_sec como tv_usec son definidos como 0, stream_select() no esperará por datos - en su lugar devolverá un valor inmediatamente, indicando el status actual de las secuencias. Si tv_sec es NULL stream_select() puede crear un bloqueo indefinidamente, y sólo devolverá un valor cuando ocurra un evento en alguna de las secuencias vigiladas (o si una señal interrumpe el llamado de sistema).

En caso de éxito, stream_select() devuelve el número de recursos de secuencia modificados contenidos en las matrices, que puede ser cero si el tiempo de espera expira antes de que algo interesante suceda. En caso de fallo, el valor FALSE es devuelto y se genera una advertencia (esto puede pasar si el llamado de sistema es interrumpido por una señal entrante).

Aviso

El uso de un valor de tiempo de espera de 0 le permite consultar el status de las secuencias de forma instantánea, sin embargo, NO es buena idea usar un valor de tiempo de espera de 0 en un ciclo, dado que causará que su script consuma mucho tiempo de CPU.

Es mucho mejor especificar un valor de tiempo de espera de algunos pocos segundos, aunque si necesita hacer chequeos y ejecutar otro segmento de código concurrentemente, usar un valor de tiempo de espera de por lo menos 200000 microsegundos le ayudará a reducir el uso de CPU de su script.

Recuerde que el valor de tiempo de espera es el tiempo máximo que transcurrirá; stream_select() devolverá un valor tan pronto como las secuencias solicitadas se encuentren listas para su uso.

No necesita pasar cada matriz a stream_select(). Puede dejar de especificarlas y usar una matriz vacía o NULL en su lugar. Tampoco olvide que éstas matrices son pasadas por referencia y serán modificadas después de que stream_select() devuelva un valor.

Este ejemplo revisa si han llegado datos para lectura ya sea en $secuencia1 o en $secuencia2. Dado que el valor de tiempo de espera es 0, la función retornará inmediatamente:

<?php
/* Preparar la matriz de lectura */
$lectura = array($secuencia1, $secuencia2);

if (false === ($num_secuencias_modificadas = stream_select($lectura, $escritura = NULL, $excepcional = NULL, 0))) {
    /* Gestion de errores */
} elseif ($num_secuencias_modificadas > 0) {
    /* En por lo menos una de las secuencias ha ocurrido algo interesante */
}
?>

Nota: Debido a una limitación en el Motor Zend actual, no es posible pasar un modificador constante como NULL directamente como parámetro a una función que espera que tal parámetro sea pasado por referencia. En su lugar, use una variable temporal o una expresión en donde el miembro del lado izquierdo sea una variable temporal:

<?php
stream_select($l, $e, $ex = NULL, 0);
?>

Nota: Asegúrese de usar el operador === cuando efectúe chequeos de error. Dado que stream_select() puede devolver 0, la comparación con == evaluaría a TRUE:

<?php
if (false === stream_select($l, $e, $ex = NULL, 0)) {
    echo "stream_select() fall&oacute;\n";
}
?>

Nota: Si lee/escribe sobre una secuencia devuelta con las matrices, tenga en cuenta que éstas no necesariemente leen/escriben la cantidad completa de datos que usted ha solicitado. Prepárese para gestionar incluso la lectura/escritura de un solo byte.

Nota: Compatibilidad con Windows: El uso de stream_select() sobre un pipe devuelto desde proc_open() puede causar pérdida de datos bajo Windows 98.

El uso de stream_select() con descriptores de archivo devueltos por proc_open() fallará y devolverá FALSE bajo Windows.

Vea también stream_set_blocking().

Anterior | Inicio | Siguiente
stream_resolve_include_path | Subir | stream_set_blocking


stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking -- Establecer modo de bloqueo/no-bloqueo sobre una secuencia

Descripción

bool stream_set_blocking ( resource secuencia, int modo )

Si modo es 0, la secuencia dada será colocada en modo de no-bloqueo, y si es 1, será colocada en modo de bloqueo. Esto afecta llamadas como fgets() y fread() que leen datos desde la secuencia. En modo de no-bloqueo, una llamada a fgets() siempre retornará inmediatamante, mientras que en modo de bloqueo esperará a que hayan datos disponibles en la secuencia.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Esta función era llamada anteriormente set_socket_blocking(), y más adelante socket_set_blocking() pero su uso bajo estos nombres se considera obsoleto.

Nota: Antes de PHP 4.3, ésta función solo trabajaba sobre secuencias basadas en sockets. A partir de PHP 4.3, esta función trabaja sobre cualquier secuencia que soporte el modo de no-bloqueo (en la actualidad, archivos regulares y secuencias de socket).

Vea también stream_select().

Anterior | Inicio | Siguiente
stream_select | Subir | stream_set_timeout


stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout -- Establecer el periodo de espera de una secuencia

Descripción

bool stream_set_timeout ( resource secuencia, int segundos [, int microsegundos] )

Establece el valor de tiempo de espera sobre la secuencia, expresada como la suma de segundos y microsegundos. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Cuando la secuencia alcanza su tiempo de espera, la clave 'timed_out' de la matriz devuelta por stream_get_meta_data() se establece a TRUE, aunque ningún error ni advertencia es generada.

Ejemplo 1. Ejemplo de stream_set_timeout()

<?php
$da = fsockopen("www.example.com", 80);
if (!$da) {
    echo "No fue posible abrir\n";
} else {

    fwrite($da, "GET / HTTP/1.0\r\n\r\n");
    stream_set_timeout($da, 2);
    $res = fread($da, 2000);

    $info = stream_get_meta_data($da);
    fclose($da);

    if ($info['timed_out']) {
        echo 'La conexion ha expirado!';
    } else {
        echo $res;
    }

}
?>

Nota: A partir de PHP 4.3, esta función puede (potencialmente) trabajar sobre cualquier clase de secuencia. En PHP 4.3, las secuencias basadas en sockets son aun el único tipo soportado por el núcleo de PHP, aunque las secuencias de otras extensiones pueden soportar esta función.

Nota: Esta función no trabaja con operaciones avanzadas como stream_socket_recvfrom(), use stream_select() con el parámetro de tiempo de espera en su lugar.

Esta función era llamada anteriormente set_socket_timeout() y más adelante socket_set_timeout(), pero su uso bajo estos nombres se considera obsoleto.

Vea también fsockopen() y fopen().

Anterior | Inicio | Siguiente
stream_set_blocking | Subir | stream_set_write_buffer


stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5)

stream_set_write_buffer -- Establece el uso de búferes de archivo en la secuencia dada

Descripción

int stream_set_write_buffer ( resource secuencia, int bufer )

La salida al usar fwrite() se acumula normalmente en un búfer a los 8K. Esto quiere decir que si existen dos procesos que desean escribir sobre la misma secuencia de salida (un archivo), cada uno es pausado después de los 8K de datos para permitir que el otro escriba. stream_set_write_buffer() establece el uso del búfer para operaciones de escritura sobre el apuntador de archivo dado secuencia a bufer bytes. Si bufer es 0, entonces las operaciones de escritura no usan el búfer. Esto se asegura de que todas las escrituras con fwrite() sean completadas antes de que a otros procesos les sea permitido escribir sobre esa secuencia de salida.

La función devuelve 0 en caso de éxito, o EOF si la petición no puede ser cumplida.

El siguiente ejemplo demuestra el modo de usar stream_set_write_buffer() para crear una secuencia sin uso de búferes.

Ejemplo 1. Ejemplo de stream_set_write_buffer()

<?php
$da = fopen($archivo, "w");
if ($da) {
  stream_set_write_buffer($da, 0);
  fwrite($da, $salida);
  fclose($da);
}
?>

Vea también fopen() y fwrite().

Anterior | Inicio | Siguiente
stream_set_timeout | Subir | stream_socket_accept


stream_socket_accept

(PHP 5)

stream_socket_accept -- Aceptar una conexión en un socket creado por stream_socket_server()

Descripción

resource stream_socket_accept ( resource socket_servidor [, float tiempo_espera [, string &nombre_de_par]] )

Aceptar una conexión en un socket creado previamente por stream_socket_server(). Si se especifica tiempo_espera, el tiempo de espera predeterminado para el proceso accept del socket será sobrescrito con el tiempo especificado en segundos. El nombre (dirección) del cliente que se ha conectado será pasado de vuelta en nombre_de_par, si se incluye y se encuentra disponible en el transporte seleccionado.

Puede determinarse el valor de nombre_de_par también más adelante, usando stream_socket_get_name().

Si el llamado falla, devolverá FALSE.

Aviso

Esta función no debería ser usada con sockets de servidor tipo UDP. En su lugar, use stream_socket_recvfrom() y stream_socket_sendto().

Vea también stream_socket_server(),
stream_socket_get_name(),
stream_set_blocking(),
stream_set_timeout(),
fgets(), fgetss(),
fwrite(), fclose(),
feof(), y la extensión Curl.

Anterior | Inicio | Siguiente
stream_set_write_buffer | Subir | stream_socket_client


stream_socket_client

(PHP 5)

stream_socket_client -- Abrir una conexión de socket de dominio de Internet o Unix

Descripción

resource stream_socket_client ( string socket_remoto [, int &errno [, string &errstr [, float tiempo_espera [, int banderas [, resource contexto]]]]] )

Inicia una conexión secuenciada o tipo datagrama al destino especificado por socket_remoto. El tipo de socket creado es determinado por el transporte especificado usando el formato de URL estándar: transporte://destino. Para sockets de dominio de Internet (AF_INET) tales como TCP y UDP, la porción destino del parámetro socket_remoto debe consistir de un nombre de host o dirección IP seguido de un signo de dos puntos y un número de puerto. Para sockets de dominio Unix, la porción destino debe apuntar al archivo de socket en el sistema de archivos. El tiempo_espera opcional puede ser usado para establecer un tiempo de espera máximo en segundos para el llamado de conexión del sistema. banderas es un campo de máscara de bits que puede ser definido como una combinación de banderas de conexión. Actualmente, las banderas de conexión disponibles están limitadas a STREAM_CLIENT_CONNECT (predeterminada), STREAM_CLIENT_ASYNC_CONNECT y STREAM_CLIENT_PERSISTENT.

Nota: Si necesita establecer un tiempo de espera para la lectura/escritura de datos sobre el socket, use stream_set_timeout(), ya que el parámetro tiempo_espera de stream_socket_client() sólo se aplica cuando se establece la conexión con el socket.

stream_socket_client() devuelve un recurso de
secuencia que puede ser usado junto con las otras funciones de
archivos (tales como fgets(),
fgetss(), fwrite(),
fclose(), y feof()).

Si la llamada falla, devolverá FALSE y si los argumentos opcionales errno y errstr están presentes, éstos serán definidos de modo tal que indiquen el error de nivel de sistema actual que ocurrió en el llamado de nivel de sistema connect(). Si el valor devuelto en errno es 0 y la función devolvió FALSE, es un indicio de que el error ocurrió antes del llamado a connect(). Esto es por lo general debido a un problema con la inicialización del socket. Note que los argumentos errno y errstr serán siempre pasados por referencia.

Dependiendo del entorno, el dominio Unix o el tiempo de espera de conexión opcional pueden no estar disponibles. Una lista de transportes disponibles puede ser recuperada usando stream_get_transports(). Vea Apéndice O para consultar una lista de transportes incorporados.

La secuencia será abierta por defecto en modo de bloqueo. Puede modificarla a modo de no-bloqueo usando stream_set_blocking().

Ejemplo 1. Ejemplo de stream_socket_client()

<?php
$da = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$da) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($da, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($da)) {
        echo fgets($da, 1024);
    }
    fclose($da);
}
?>
El siguiente ejemplo muestra cómo recuperar la fecha y hora desde el servicio UDP "daytime" (puerto 13) en su máquina local.

Ejemplo 2. Uso de una conexión UDP

<?php
$da = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$da) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($da, "\n");
    echo fread($da, 26);
    fclose($da);
}
?>

Aviso

Los sockets UDP parecerán haber sido abiertos sin error en ocasiones, incluso si el host remoto no ha podido ser contactado. El error solo se hará aparente cuando lea o escriba datos desde/hacia el socket. La razón de esto es que UDP es un protocolo "sin conexión", lo que quiere decir que el sistema operativo no intenta establecer un enlace para el socket hasta que realmente necesita enviar o recibir datos.

Nota: Cuando se especifique una dirección numérica IPv6 (p.ej. fe80::1) se debe incluir la IP entre corchetes. Por ejemplo tcp://[fe80::1]:80.

Vea también stream_socket_server(),
stream_set_blocking(),
stream_set_timeout(),
stream_select(), fgets(),
fgetss(), fwrite(),
fclose(), feof(), y la
extensión Curl.

Anterior | Inicio | Siguiente
stream_socket_accept | Subir | stream_socket_enable_crypto


stream_socket_enable_crypto

(PHP 5 >= 5.1.0RC1)

stream_socket_enable_crypto -- Habilita/deshabilita la encripción sobre un socket ya conectado

Descripción

mixed stream_socket_enable_crypto ( resource secuencia, bool habilitar [, int tipo_cifrado [, resource secuencia_sesion]] )

Cuando es llamada con el parámetro tipo_cifrado, la función stream_socket_enable_crypto() preparará la encripción sobre la secuencia usando el método especificado.

Valores válidos para tipo_cifrado

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT

  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT

  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT

  • STREAM_CRYPTO_METHOD_TLS_CLIENT

  • STREAM_CRYPTO_METHOD_SSLv2_SERVER

  • STREAM_CRYPTO_METHOD_SSLv3_SERVER

  • STREAM_CRYPTO_METHOD_SSLv23_SERVER

  • STREAM_CRYPTO_METHOD_TLS_SERVER

Una vez se establecen los parámetros de encripción, la criptografía puede ser encendida y apagada dinámicamente pasando TRUE o FALSE en el parámetro habilitar.

Si esta secuencia debe ser alimentada con una semilla usando los parámetros de una secuencia ya establecida y con la encripción habilitada, ha de pasarse la variable de recurso de esa secuencia en el cuarto parámetro.

Devuelve TRUE en caso de éxito, FALSE si la negociación ha fallado o 0 si no hay suficientes datos y debe intentarse de nuevo (solo para sockets que no causan bloqueos).

Ejemplo 1. Ejemplo de stream_socket_enable_crypto()

<?php
$da = stream_socket_client("tcp://miproto.example.com:31337", $errno, $errstr, 30);
if (!$da) {
  die("No fue posible conectarse: $errstr ($errno)");
}
/* Habilitar la encripcion para la fase de inicio de sesion */
stream_socket_enable_crypto($da, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($da, "USER dios\r\n");
fwrite($da, "PASS secreto\r\n");
/* Apagar la encripcion para el resto */
stream_socket_enable_crypto($da, false);
while ($motd = fgets($da)) {
  echo $motd;
}
fclose($da);
?>

Referencia CX, OpenSSL Functions, y Apéndice O

Anterior | Inicio | Siguiente
stream_socket_client | Subir | stream_socket_get_name


stream_socket_get_name

(PHP 5)

stream_socket_get_name -- Recuperar el nombre de los sockets locales o remotos

Descripción

string stream_socket_get_name ( resource gestor, bool desea_nombre_del_par )

Devuelve el nombre local o remoto de una conexión de socket dada. Si desea_nombre_del_par es definido como TRUE, el nombre de socket remoto será devuelto, si es definido como FALSE, se devolverá el nombre de socket local.

Vea también stream_socket_accept().

Anterior | Inicio | Siguiente
stream_socket_enable_crypto | Subir | stream_socket_pair


stream_socket_recvfrom

(PHP 5)

stream_socket_recvfrom -- Recibe datos desde un socket, conectado o no

Descripción

string stream_socket_recvfrom ( resource socket, int longitud [, int banderas [, string &direccion]] )

La función stream_socket_recvfrom() acepta datos desde un socket remoto, hasta una cantidad de longitud bytes. Si se provee una direccion, ésta será definida con la dirección del socket remoto.

El valor de banderas puede ser cualquier combinación de los siguientes:

Tabla 1. valores posibles para banderas

STREAM_OOB | Procesa datos OOB (out-of-band).
STREAM_PEEK | Recuperar datos desde el socket, pero no consumir el búfer. Llamadas subsiguientes a fread() o stream_socket_recvfrom() verán los mismos datos.

Ejemplo 1. Ejemplo de stream_socket_recvfrom()

<?php
/* Abrir un socket de servidor en el puerto 1234 en localhost */
$servidor = stream_socket_server('tcp://127.0.0.1:1234');

/* Aceptar una conexion */
$socket = stream_socket_accept($servidor);

/* Tomar un paquete (1500 es un tamanyo tipico) de datos OOB */
echo "Recibidos Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Echar un vistazo a los datos en banda normales, pero no consumirlos. */
echo "Datos: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Recibir exactamente el mismo paquete de nuevo, pero eliminarlo del
 * bufer esta vez. */
echo "Datos: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Cerrarlo */
fclose($socket);
fclose($servidor);
?>

Nota: Si un mensaje recibido tiene una longitud mayor que el parámetro longitud, los bytes sobrantes pueden ser descartados dependiendo del tipo de socket del mensaje recibido (como UDP).

Nota: Llamadas a stream_socket_recvfrom() sobre secuencias basadas en sockets, después de llamadas a funciones de secuencias basadas en búferes (como fread() o stream_get_line()) leen los datos directamente desde el socket y dejan de lado el búfer de la secuencia.

Vea también stream_socket_sendto(),
stream_socket_client(), y
stream_socket_server().

Anterior | Inicio | Siguiente
stream_socket_pair | Subir | stream_socket_sendto


stream_socket_sendto

(PHP 5)

stream_socket_sendto -- Envía un mensaje a un socket, sin importar si está conectado o no

Descripción

int stream_socket_sendto ( resource socket, string datos [, int banderas [, string direccion]] )

La función stream_socket_sendto() envía los datos especificados por datos a través del socket especificado por socket. Será usada la dirección especificada cuando la secuencia de socket fue creada, a menos que una dirección alternativa sea especificada en direccion.

El valor de banderas puede ser cualquier combinación de los siguientes:

Tabla 1. valores posibles para banderas

STREAM_OOB Procesar datos OOB (out-of-band).

Ejemplo 1. Ejemplo de stream_socket_sendto()

<?php
/* Abrir un socket en el puerto 1234 en localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Enviar datos ordinarios mediante los canales ordinarios. */
fwrite($socket, "Transmision normal de datos.");

/* Enviar mas datos fuera de banda. */
stream_socket_sendto($socket, "Datos Out of Band.", STREAM_OOB);

/* Cerrarlo */
fclose($socket);
?>

Vea también
stream_socket_recvfrom(),
stream_socket_client(), y
stream_socket_server().

Anterior | Inicio | Siguiente
stream_socket_recvfrom | Subir | stream_socket_server


stream_socket_server

(PHP 5)

stream_socket_server -- Crear un socket de servidor de dominio de Internet o Unix

Descripción

resource stream_socket_server ( string socket_local [, int &errno [, string &errstr [, int banderas [, resource contexto]]]] )

Crea un socket secuenciado o tipo datagrama en el socket_local especificado. El tipo de socket creado es determinado por el transporte especificado usando el formato de URL estándar: transporte://destino. Para sockets de Dominio de Internet (AF_INET) tales como TCP y UDP, la porción destino del parámetro socket_remoto debe consistir de un nombre de host o dirección IP, seguido de un signo de dos puntos y un número de puerto. Para sockets de dominio Unix, la porción destino debe apuntar al archivo de socket en el sistema de archivos. banderas es un campo de máscara de bits que puede definirse como una combinación de banderas de creación de sockets. El valor predeterminado de banderas es STREAM_SERVER_BIND | STREAM_SERVER_LISTEN.

Nota: Para sockets UDP, debe usar STREAM_SERVER_BIND como el parámetro banderas.

Esta función solo crea un socket, para empezar a aceptar conexiones use stream_socket_accept().

Si la llamada falla, devolverá FALSE y si los argumentos opcionales errno y errstr están presentes, éstos serán definidos de forma tal que indiquen el error de nivel de sistema actual que ha ocurrido en los llamados de sistema socket(), bind(), y listen(). Si el valor devuelto en errno es 0 y la función ha devuelto FALSE, es un indicio de que el error ocurrió antes del llamado a bind(). Esto, por lo general, es debido a un problema en la inicialización del socket. Note que los argumentos errno y errstr siempre serán pasados por referencia.

Dependiendo del entorno, los sockets de dominio Unix pueden no estar disponibles. Una lista de transportes disponibles puede ser recuperada usando stream_get_transports(). Vea Apéndice O para consultar una lista de transportes integrados.

Ejemplo 1. Uso de sockets de servidor TCP

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($con = stream_socket_accept($socket)) {
    fwrite($con, 'La hora local es ' . date('n/j/Y g:i a') . "\n");
    fclose($con);
  }
  fclose($socket);
}
?>

El siguiente ejemplo muestra como actuar como servidor de hora, el cual puede responder a consultas sobre la hora actual, tal y como se muestra en un ejemplo ubicado en la página sobre stream_socket_client().

Nota: La mayoría de sistemas requieren acceso de root para crear un socket de servidor en un puerto menor a 1024.

Ejemplo 2. Uso de sockets de servidor UDP

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pqt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0,
    $peer);
} while ($pqt !== false);

?>

Nota: Cuando se especifique una dirección numérica IPv6 (p.ej. fe80::1) se debe incluir la IP entre corchetes. Por ejemplo tcp://[fe80::1]:80.

Vea también stream_socket_client(),
stream_set_blocking(),
stream_set_timeout(),
fgets(), fgetss(),
fwrite(), fclose(),
feof(), y la extensión Curl.

Anterior | Inicio | Siguiente
stream_socket_sendto | Subir | stream_socket_shutdown


stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5)

stream_wrapper_register -- Registrar una envoltura URL implementada como una clase PHP

Descripción

bool stream_wrapper_register ( string protocolo, string nombre_clase )

stream_wrapper_register() le permite implementar sus propios gestores y secuencias de protocolo para su uso con todas las funciones de sistema de archivos (tales como fopen(), fread() etc.).

Para implementar una envoltura, necesita definir una clase con un número de funciones miembro, tal y como se define más adelante. Cuando alguien abre su secuencia mediante fopen, PHP creará una instancia de nombre_clase y luego llamará algunos métodos en esa instancia. Debe implementar los métodos exactamente como se describe a continuación - de no ser así, producirá comportamientos indefinidos.

Nota: A partir de PHP 5.0.0, la instancia de nombre_clase será poblada con una propiedad contexto que hace referencia a un Recurso de Contexto, el cual puede obtenerse con stream_context_get_options(). Si no se ha pasado ningún contexto a la función de creación de secuencia, contexto será definido como NULL.

stream_wrapper_register() devolverá FALSE si el protocolo ya tiene un gestor.

bool stream_open ( string ruta, string modo, int opciones, string ruta_abierta )

Este método es llamado inmediatamente después de que su objeto de secuencia es creado. ruta especifica la URL pasada a fopen() y que éste objeto supuestamente debe recuperar. Puede usar parse_url() para separar la ruta.

modo es el modo usado para abrir el archivo, tal y como se proporciona en fopen(). Usted es responsable por el chequeo de la validez del modo para la ruta solicitada.

opciones contiene banderas adicionales definidas por la interfaz de programación de las secuencias. Puede contener uno o más de los siguientes valores, unidos mediante la operación lógica OR.

Bandera | Descripción
STREAM_USE_PATH | Si ruta es relativa, buscar por el recurso usando include_path.
STREAM_REPORT_ERRORS | Si esta bandera está activa, usted se hace responsable por la generación de errores usando trigger_error() durante la apertura de la secuencia. Si esta bandera no está definida, no debe generar ningún error.

Si la ruta es abierta satisfactoriamente, y STREAM_USE_PATH es definida en opciones, usted debe definir ruta_abierta como la ruta completa hacia el archivo/recurso que fue abierto en realidad.

Si el recurso solicitado fue abierto satisfactoriamente, debe devolver TRUE, o FALSE de lo contrario.

void stream_close ( void )

Este método es llamado cuando la secuencia es cerrada, usando fclose(). Debe liberar cualquier recurso que haya sido bloqueado o reservado por la secuencia.

string stream_read ( int conteo )

Este método es llamado en respuesta a llamadas de fread() y fgets() en la secuencia. Usted debe devolver hasta conteo bytes de datos desde su posición actual de lectura/escritura como una cadena. Si hay menos de conteo bytes disponibles, devuelva tantos como pueda. Si no hay más datos disponibles, devuelva FALSE o una cadena vacía. También debe actualizar la posición de lectura/escritura de la secuencia en el número de bytes que fueron leídos con éxito.

int stream_write ( string datos )

Este método es llamado en respuesta a llamadas de fwrite() en el sistema. Debe guardar datos en el modelo de almacenamiento base usado por su secuencia. Si no hay suficiente espacio disponible, intente almacenar tantos bytes como le sea posible. Debe devolver el número de bytes que fueron almacenados satisfactoriamente en la secuencia, o 0 si no fue posible almacenar ninguno. También debe actualizar la posición de lectura/escritura de la secuencia en el número de bytes que fueron escritos con éxito.

bool stream_eof ( void )

Este método es llamado en respuesta a llamados de feof() en la secuencia. Debe devolver TRUE si la posición de lectura/escritura se encuentra al final de la secuencia y no hay más datos disponibles para su lectura, o FALSE de lo contrario.

int stream_tell ( void )

Este método es llamado en respuesta a llamados de ftell() en la secuencia. Debe devolver la posición actual de lectura/escritura en la secuencia.

bool stream_seek ( int desplazamiento, int punto_partida )

Este método es llamado en respuesta a llamadas de fseek() en la secuencia. Debe actualizar la posición de lectura/escritua en la secuencia de acuerdo a desplazamiento y punto_partida. Vea fseek() para más información sobre éstos parámetros. Devuelva TRUE si la posición fue actualizada, FALSE de lo contrario.

bool stream_flush ( void )

Este método es llamado en respuesta a llamadas de fflush() en la secuencia. Si ha usado un caché con los datos de su secuencia, pero no los ha guardado aun en el modelo de almacenamiento base, debe hacerlo ahora. Devuelva TRUE si los datos en caché fueron almacenados satisfactoriamente (o si no habían datos a almacenar), o FALSE si los datos no pudieron ser almacenados.

array stream_stat ( void )

Este método es llamado en respuesta a llamadas de fstat() en la secuencia y debe devolver una matriz que contenga los mismos valores que sean apropiados para la secuencia.

bool unlink ( string ruta )

Este método es llamado en respuesta a llamadas de unlink() sobre rutas URL asociadas con la envoltura y debe intentar la eliminación del item especificado por ruta. Debe devolver TRUE de tener éxito o FALSE en caso de fallo. Para asegurarse de que el mensaje de error correcto sea devuelto, no defina éste método si su envoltura no soporta eliminaciones.

Nota: El método de envoltura en espacio de usuario unlink no es soportado antes de PHP 5.0.0.

bool rename ( string ruta_fuente, string ruta_destino )

Este método es llamado en respuesta a llamadas de rename() en rutas URL asociadas con la envoltura y debe intentar renombrar el item especificado por ruta_fuente a la cadena dada por ruta_destino. Debe devolver TRUE en caso de éxito o FALSE en caso de fallo. Para asegurarse de que el mensaje de error correcto sea devuelto, no defina éste método si su envoltura no soporta el renombramiento de rutas.

Nota: El método de envoltura en espacio de usuario rename no es soportado antes de PHP 5.0.0.

bool mkdir ( string ruta, int modo, int opciones )

Este método es llamado en respuesta a llamadas de mkdir() en rutas URL asociadas con la envoltura y debe intentar crear el directorio especificado por ruta. Debe devolver TRUE de tener éxito o FALSE en caso de fallo. Para asegurarse de que el mensaje de error correcto sea devuelto, no defina éste método si su envoltura no soporta la creación de directorios. Valores posibles para opciones incluyen STREAM_REPORT_ERRORS y STREAM_MKDIR_RECURSIVE.

Nota: El método de envoltura en espacio de usuario mkdir no es soportado antes de PHP 5.0.0.

bool rmdir ( string ruta, int opciones )

Este método es llamado en respuesta a llamadas de rmdir() sobre rutas URL asociadas con la envoltura y debería intentar eliminar el directorio especificado por ruta. Debe devolver TRUE de tener éxito o FALSE en caso de fallo. Para asegurarse de que el mensaje de error correcto sea devuelto, no defina éste método si su envoltura no soporta la eliminación de directorios. Posibles valores para opciones incluyen STREAM_REPORT_ERRORS.

Nota: El método de envoltura en espacio de usuario rmdir no es soportado antes de PHP 5.0.0.

bool dir_opendir ( string ruta, int opciones )

Este método es llamado inmediatamente cuando su objeto de secuencia es creado para examinar contenidos de directorio con opendir(). ruta especifica la URL que fue pasada a opendir() y que éste objeto supuestamente va a explorar. Puede usar parse_url() para separar ésta ruta.

array url_stat ( string ruta, int banderas )

Este método es llamado en respuesta a llamadas de stat() en rutas URL asociadas con la envoltura y debe devolver tantos elementos en común con la función del sistema como sea posible. Los valores desconocidos o no disponibles deben definirse con valores razonables (usualmente 0).

banderas contiene banderas adicionales definidas por la interfaz de programación de secuencias. Puede contener uno o más de los siguientes valores, unidos mediante la operación lógica OR.

Bandera | Descripción
STREAM_URL_STAT_LINK | Para recursos con la habilidad de mantener un enlace con otro recurso (tales como una redirección HTTP Location:, o un enlace simbólico en el sistema de archivos). Esta bandera indica que solo se devolverá información sobre el enlace mismo, no sobre el recurso apuntado por el enlace. Esta bandera es definida en respuesta a llamadas de lstat(), is_link(), o filetype().
STREAM_URL_STAT_QUIET | Si ésta bandera es definida, su envoltura no debe generar error alguno. Si esta bandera no está definida, usted es responsable por el reporte de errores usando la función trigger_error() durante la ejecución del proceso stat en la ruta.

string dir_readdir ( void )

Este método es llamado en respuesta a readdir() y debe devolver una cadena que represente el siguiente nombre de archivo en la ubicación abierta por dir_opendir().

bool dir_rewinddir ( void )

Este método es llamado en respuesta a rewinddir() y debe restablecer la salida generada por dir_readdir(). Esto quiere decir, la siguiente llamada a dir_readdir() debe devolver la primera entrada en la ubicación devuelta por dir_opendir().

bool dir_closedir ( void )

Este método es llamado en respuesta a closedir(). Debe liberar cualquier recurso que haya sido bloqueado o reservado durante la apertura y uso de la secuencia de directorio.

El siguiente ejemplo implementa un gestor del protocolo var:// que permite el acceso para lectura/escritura a una variable global con nombre, usando las funciones de secuencia de sistema de archivos, como fread(). El protocolo var:// implementado a continuación leerá/escribirá datos desde/hacia $GLOBALS["foo"] dada la URL "var://foo".

Ejemplo 1. Una Secuencia para la lectura/escritura de variables globales

<?php

class SecuenciaVariable {
    var $posicion;
    var $nombre_var;

    function stream_open($ruta, $modo, $opciones, &$ruta_abierta)
    {
        $url = parse_url($ruta);
        $this->nombre_var = $url["host"];
        $this->posicion = 0;

        return true;
    }

    function stream_read($conteo)
    {
        $ret = substr($GLOBALS[$this->nombre_var], $this->posicion, $conteo);
        $this->posicion += strlen($ret);
        return $ret;
    }

    function stream_write($datos)
    {
        $izq = substr($GLOBALS[$this->nombre_var], 0, $this->posicion);
        $der = substr($GLOBALS[$this->nombre_var], $this->posicion + strlen($datos));
        $GLOBALS[$this->nombre_var] = $izq . $datos . $der;
        $this->posicion += strlen($datos);
        return strlen($datos);
    }

    function stream_tell()
    {
        return $this->posicion;
    }

    function stream_eof()
    {
        return $this->posicion >= strlen($GLOBALS[$this->nombre_var]);
    }

    function stream_seek($desplazamiento, $partida)
    {
        switch ($partida) {
            case SEEK_SET:
                if ($desplazamiento < strlen($GLOBALS[$this->nombre_var]) && $desplazamiento >= 0) {
                     $this->posicion = $desplazamiento;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($desplazamiento >= 0) {
                     $this->posicion += $desplazamiento;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->nombre_var]) + $desplazamiento >= 0) {
                     $this->posicion = strlen($GLOBALS[$this->nombre_var]) + $desplazamiento;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }
}

stream_wrapper_register("var", "SecuenciaVariable")
    or die("Fall&oacute; el registro del protocolo");

$mi_var = "";

$da = fopen("var://mi_var", "r+");

fwrite($da, "linea1\n");
fwrite($da, "linea2\n");
fwrite($da, "linea3\n");

rewind($da);
while (!feof($da)) {
    echo fgets($da);
}
fclose($da);
var_dump($mi_var);

?>

Anterior | Inicio | Siguiente
stream_socket_shutdown | Subir | stream_wrapper_restore


stream_wrapper_restore

(PHP 5 >= 5.1.0RC1)

stream_wrapper_restore -- Recupera una envoltura incorporada, previamente retirada del registro

Descripción

bool stream_wrapper_restore ( string protocolo )

Recupera una envoltura incorporada previamente retirada del registro con stream_wrapper_unregister().

Anterior | Inicio | Siguiente
stream_wrapper_register | Subir | stream_wrapper_unregister


stream_wrapper_unregister

(PHP 5 >= 5.1.0RC1)

stream_wrapper_unregister -- Retirar del registro una envoltura de URL

Descripción

bool stream_wrapper_unregister ( string protocolo )

stream_wrapper_unregister() le permite deshabilitar una envoltura de secuencia ya definida. Una vez la envoltura ha sido deshabilitada, es posible reemplazarla con una envoltura definida por el usuario usando stream_wrapper_register() o re-habilitarla luego con stream_wrapper_restore().

Anterior | Inicio | Siguiente
stream_wrapper_restore | Subir | Funciones de Cadenas


Funciones de Cadenas

Manual de PHP
Anterior Siguiente

CLIX. Funciones de Cadenas

Introducción

Todas estas funciones manipulan cadenas en varias formas. Algunas secciones más especializadas pueden encontrarse en los capítulos sobre expresiones regulares y gestión de URLs.

Para más información sobre el modo en que se comportan las cadenas, especialmente en lo que respecta al uso de comillas sencillas, comillas dobles, y secuencias de escape, vea la entrada Cadenas en la sección Tipos del manual.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CRYPT_SALT_LENGTH integer

CRYPT_STD_DES integer

CRYPT_EXT_DES integer

CRYPT_MD5 integer

CRYPT_BLOWFISH integer

HTML_SPECIALCHARS (integer)

HTML_ENTITIES (integer)

ENT_COMPAT (integer)

ENT_QUOTES (integer)

ENT_NOQUOTES (integer)

CHAR_MAX (integer)

LC_CTYPE (integer)

LC_NUMERIC (integer)

LC_TIME (integer)

LC_COLLATE (integer)

LC_MONETARY (integer)

LC_ALL (integer)

LC_MESSAGES (integer)

STR_PAD_LEFT (integer)

STR_PAD_RIGHT (integer)

STR_PAD_BOTH (integer)

Ver también

Para consultar sobre funciones de gestión y manipulación de cadenas incluso más poderosas, eche un vistazo a las funciones de expresiones regulares POSIX y las funciones de expresiones regulares compatibles con Perl.

Tabla de contenidos
addcslashes -- Escapa una cadena de la misma forma que lo hace C
AddSlashes -- Escapa una cadena insertando barras "\"
bin2hex -- Convierte datos binarios en su representación hexadecimal
chop -- Alias of rtrim()
chr -- Devuelve un caracter específico
chunk_split -- Divide una cadena en trozos más pequeños
convert_cyr_string -- Realiza conversiones entre diferentes juegos de caracteres Cirílicos
convert_uudecode -- Descodifica una cadena codificada mediante uuencode
convert_uuencode -- Codifica, mediante uuencode, una cadena
count_chars -- Devuelve información sobre los caracteres usados en una cadena
crc32 -- Calcula el polinomio crc32 de una cadena
crypt -- Encripta una cadena mediante un algoritmo no reversible (hash)
echo -- Muestra una o más cadenas
explode -- Divide una cadena por otra
fprintf -- Escribir una cadena con formato a una secuencia
get_html_translation_table -- Devuelve la tabla de traducción utilizada por htmlspecialchars() y htmlentities()
hebrev -- Convierte Hebreo lógico a texto visual
hebrevc -- Convierte Hebreo lógico a texto visual con conversión de saltos de línea
html_entity_decode -- Convertir todas las entidades HTML a sus caracteres correspondientes
htmlentities -- Convierte todos los caracteres a su entidad HTML aplicable
htmlspecialchars_decode -- Convierte entidades HTML a caracteres normales
htmlspecialchars -- Convierte caracteres especiales a entidades HTML
implode -- Une elementos de una matriz mediante una cadena
join -- Alias of implode()
levenshtein -- Calcula la distancia Levenshtein entre dos cadenas
localeconv -- Obtener información sobre el formato numérico
ltrim -- Elimina el espacio en blanco (o más caracteres) del principio de una cadena
md5_file -- Calcula el resumen criptográfico md5 de un archivo dado
md5 -- Calcula el hash md5 de una cadena
metaphone -- Calcula la clave "metáfona" de una cadena
money_format -- Da formato a un número como una cadena de moneda
nl_langinfo -- Consultar información sobre el lenguaje y la localidad
nl2br -- Inserta saltos de línea de HTML antes de cada salto de línea de la cadena
number_format -- Dar formato a un número con los miles agrupados
ord -- Devuelve el valor ASCII de un carácter
parse_str -- Divide la cadena en variables
print -- Muestra una cadena
printf -- Imprimir una cadena con formato
quoted_printable_decode -- Convierte una cadena con marcación imprimible a una cadena de 8 bits
quotemeta -- Escapa los meta caracteres
rtrim -- Elimina el espacio en blanco (o más caracteres) del final de una cadena
setlocale -- Fija la información de localización (L10n)
sha1_file -- Calcular el resumen criptográfico sha1 de un archivo
sha1 -- Calcular el resumen criptográfico sha1 de una cadena
similar_text -- Calcula la similitud entre dos cadenas
soundex -- Calcula la clave soundex de una cadena
sprintf -- Devuelve una cadena con formato
sscanf -- Trocea la entrada desde una cadena según un formato dado
str_getcsv -- Parse a CSV string into an array
str_ireplace -- Versión insensible a mayásculas y minúsculas de str_replace().
str_pad -- Rellena una cadena con otra hasta una longitud dada
str_repeat -- Repite una cadena
str_replace -- Sustitiye todas las apariciones de una cadena en otra
str_rot13 -- Realizar la transformación rot13 sobre una cadena
str_shuffle -- Reordena aleatoriamente una cadena
str_split -- Convertir una cadena en una matriz
str_word_count -- Devolver información sobre las palabras usadas en una cadena
strcasecmp -- Comparación de cadenas insensible a mayúsculas y minúsculas y segura en modo binario
strchr -- Alias of strstr()
strcmp -- Comparación de cadenas segura en modo binario
strcoll -- Comparación de cadenas basada en la localidad
strcspn -- Encuentra la longitud del elemento inicial que no coincide con la máscara
strip_tags -- Elimina etiquetas HTML y PHP de una cadena
stripcslashes -- Desmarca la cadena marcada con addcslashes()
stripos -- Encontrar la posición de la primera ocurrencia de una cadena, insensible a mayúsculas y minúsculas
stripslashes -- Desmarca la cadena marcada con addslashes()
stristr -- Lo mismo que strstr() pero sin tener en cuenta mayúsculas o minúsculas
strlen -- Obtiene la longitud de la cadena
strnatcasecmp -- Comparación de cadenas insensible a mayúsculas y minúsculas usando un algoritmo de "orden natural"
strnatcmp -- Compara cadenas usando un algoritmo de "orden natural"
strncasecmp -- Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
strncmp -- Comparación de los n primeros caracteres de cadenas, con seguridad binaria
strpbrk -- Busca una cadena por cualquiera de los elementos de un conjunto de caracteres
strpos -- Encuentra la posición de la primera aparición de una cadena
strrchr -- Encuentra la última aparición de un caracter en una cadena
strrev -- Invierte una cadena
strripos -- Encontrar la posición de la última ocurrencia de una cadena en otra, insensible a mayúsculas y minúsculas
strrpos -- Encuentra la posición de la última aparición de un caracter en una cadena
strspn -- Encuentra la longitud del primer segmento de una cadena que coincide con la máscara
strstr -- Encuentra la primera aparición de una cadena
strtok -- Divide una cadena en elementos
strtolower -- Pasa a minúsculas una cadena
strtoupper -- Pasa a mayúsculas una cadena
strtr -- Traduce ciertos caracteres
substr_compare -- Comparación de 2 cadenas, segura con material binario, opcionalmente insensible a mayúsculas y minúsculas, a partir de un desplazamiento, y hasta un número límite de caracteres
substr_count -- Cuenta el número de apariciones de la subcadena
substr_replace -- Sustituye texto en una parte de una cadena
substr -- Devuelve parte de una cadena
trim -- Elimina espacios en blanco (u otros caracteres) del principio y final de una cadena
ucfirst -- Pasar a mayúsculas el primer carácter de una cadena
ucwords -- Pone en mayúsculas el primer carácter de cada palabra de una cadena
vfprintf -- Write a formatted string to a stream
vprintf -- Imprimir una cadena con formato
vsprintf -- Devuelve una cadena con formato
wordwrap -- Corta una cadena en un número dado de caracteres usando un carácter de ruptura de cadenas.

Anterior | Inicio | Siguiente
stream_wrapper_unregister | Subir | addcslashes


addcslashes

(PHP 4, PHP 5)

addcslashes -- Escapa una cadena de la misma forma que lo hace C

Descripción

string addcslashes ( string cadena, string lista_caracteres )

Devuelve una cadena con barras invertidas antes de los caracteres definidos en el parámetro lista_caracteres. Si lista_caracteres contiene caracteres como \n, \r, etc. también se convierten de la misma forma, mientras que los caracteres con códico ASCII inferior a 32 y superior a 126 son convertidos a representación octal.

Se debe tener en cuenta que si se marcan para escapar los caracteres 0, a, b, f, n, r, t y v, se transforman en los caracteres especiales \0, \a, \b, \f, \n, \r, \t y \v. En PHP \0 (NULL), \r (retorno de carro), \n (nueva línea) y \t (tabulador) son secuencias de escape predefinidas, mientras que en C todos los caracteres especiales mencionados anteriormente son secuencias de escape predefinidas.

El parámetro lista_caracteres puede indicar rangos como por ejemplo "\0..\37", que escaparía todos los caracteres con código ASCII entre 0 y 31.

Ejemplo 1. Ejemplo de addcslashes()

<?php
$escapado = addcslashes($no_escapado, "\0..\37!@\177..\377");
?>

Al definir secuencias de caracteres en el parámetro lista_caracteres se debe asegurar que se quieren escapar todos los caracteres incluidos en el rango.

<?php
echo addcslashes('prueba[ ]', 'A..z');
// La salida seria:  \p\r\u\e\b\a\[ \]
// Se escapan todos los caracteres en mayusculas y minusculas
// ... pero tambien los caracteres [\]^_` , los tabuladores, los retornos
// de carro, las nuevas lineas, etc.
?>

Además, si el primer carácter del rango tiene un valor ASCII superior al segundo carácter que define el rango, no se puede formar el rango. En otras palabras, no se pueden definir rangos descendentes y por tanto solo se escaparán el primer carácter del rango, el segundo y los puntos que separan a los caracteres. Para obtener el valor ASCII de un carácter, se puede emplear la función ord().

<?php
echo addcslashes("zoo['.']", 'z..A');
// La salida seria:  \zoo['\.']
?>

Vea también stripcslashes(),
stripslashes(),
htmlspecialchars() y
quotemeta().

Anterior | Inicio | Siguiente
Funciones de Cadenas | Subir | AddSlashes


AddSlashes

(PHP 3, PHP 4, PHP 5)

AddSlashes -- Escapa una cadena insertando barras "\"

Descripción

string addslashes ( string cadena )

Devuelve una cadena con barras invertidas delante de los caracteres que necesitan escaparse en situaciones como consultas de bases de datos, etc. Los caracteres que se escapan son la comilla simple ('), comilla doble ("), barra invertida (\) y NUL (el byte NULL).

El ejemplo más habitual de utilización de la función addslashes() es la insersción de información en una base de datos. Por ejemplo, para insertar el nombre O'reilly en una base de datos, debe escaparse previamente. Para ello, la mayoría de bases de datos emplean el carácter \, por lo que el nombre quedaría como O\'reilly. Si la opción de configuración magic_quotes_sybase tiene un valor de on, entonces las comillas simples de tipo ' se escapan añadiendo otra comilla simple delante.

La directiva de PHP magic_quotes_gpc tiene un valor por defecto de on, por lo que de forma automática se llama a la función addslashes() en todos los datos que llegan a través de los métodos GET y POST y a través de las cookies. Por tanto, no es necesario emplear la función addslashes() en las cadenas que ya han sido escapadas mediante la directiva magic_quotes_gpc ya que si no, se harí un doble escape. La función get_magic_quotes_gpc() puede ser útil para comprobar el valor de esta directiva.

Ejemplo 1. Ejemplo de addslashes()

<?php
$cadena = "¿Te apellidas O'reilly?";

// La salida seria: ¿Te apellidas O\'reilly?
echo addslashes($cadena);
?>

Vea también stripslashes(),
htmlspecialchars(),
quotemeta() y
get_magic_quotes_gpc().

Anterior | Inicio | Siguiente
addcslashes | Subir | bin2hex


bin2hex

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

bin2hex -- Convierte datos binarios en su representación hexadecimal

Descripción

string bin2hex ( string cadena )

Devuelve una cadena ASCII que contiene la representación hexadecimal de cadena. La conversión se realiza byte a byte, con los 4 bits superiores primero.

Vea también pack() y unpack().

Anterior | Inicio | Siguiente
AddSlashes | Subir | chop


chop

(PHP 3, PHP 4, PHP 5)

chop -- Alias of rtrim()

Descripción

This function is an alias of: rtrim().

Nota: El comportamiento de la función chop() no es el mismo que el de la función chop() de Perl, que elimina el último carácter de la cadena.

Anterior | Inicio | Siguiente
bin2hex | Subir | chr


chr

(PHP 3, PHP 4, PHP 5)

chr -- Devuelve un caracter específico

Descripción

string chr ( int ascii )

Devuelve una cadena de un caracter que contiene el carácter especificado por ascii.

Ejemplo 1. Ejemplo de chr()

<?php
$cadena = "La cadena termina con un caracter de escape: ";
$cadena .= chr(27); /* se anade un caracter de escape al final de la variable $cadena */

/* A veces esto es mas util */

$str = sprintf("La cadena termina con un caracter de escape: %c", 27);
?>

Se puede encontrar una tabla de caracteres ASCII en la siguiente dirección http://www.asciitable.com.

Esta función complementa a ord(). Vea también sprintf() con una cadena de formato igual a %c.

Anterior | Inicio | Siguiente
chop | Subir | chunk_split


chunk_split

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

chunk_split -- Divide una cadena en trozos más pequeños

Descripción

string chunk_split ( string cadena [, int tamano_trozo [, string final]] )

Se puede utilizar para trocear una cadena en pedazos más pequeños, lo que es útil, p.ej., para convertir la salida de la función base64_encode a la semántica del RFC 2045. Inserta la cadena final (que por defecto es "\r\n") cada tamano_trozo (por defecto vale 76) caracteres. Devuelve la nueva cadena y la cadena original permanece intacta.

Ejemplo 1. Ejemplo de chunk_split()

<?php
// formatear $datos usando la semantica del RFC 2045
$nueva_cadena = chunk_split(base64_encode($datos));
?>

Vea también str_split(),
explode(), split(),
wordwrap() y
RFC 2045.

Anterior | Inicio | Siguiente
chr | Subir | convert_cyr_string


convert_cyr_string

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

convert_cyr_string -- Realiza conversiones entre diferentes juegos de caracteres Cirílicos

Descripción

string convert_cyr_string ( string cadena, string desde, string hasta )

Esta función convierte la cadena dada de un juego de caracteres Cirílico a otro. Los argumentos desde y hasta son caracteres sencillos que representan los juegos de caracteres Cirílicos fuente y destino. Los tipos soportados son:

  • k - koi8-r

  • w - windows-1251

  • i - iso8859-5

  • a - x-cp866

  • d - x-cp866

  • m - x-mac-cyrillic

Nota: Esta función es segura binariamente.

Anterior | Inicio | Siguiente
chunk_split | Subir | convert_uudecode


convert_uudecode

(PHP 5)

convert_uudecode -- Descodifica una cadena codificada mediante uuencode

Descripción

string convert_uudecode ( string datos )

convert_uudecode() descodifica una cadena codificada mediante uuencode.

Ejemplo 1. Ejemplo de convert_uudecode()

<?php
/* Puede imaginarse lo que esto imprime? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

Vea también convert_uuencode().

Anterior | Inicio | Siguiente
convert_cyr_string | Subir | convert_uuencode


convert_uuencode

(PHP 5)

convert_uuencode -- Codifica, mediante uuencode, una cadena

Descripción

string convert_uuencode ( string datos )

convert_uuencode() codifica una cadena usando el algoritmo uuencode.

Uuencode traduce todas las cadenas (incluyendo las binarias) a secuencias de caracteres imprimibles, haciéndolas seguras para transmisiones de red. Los datos codificados de esta forma son aproximadamente 35% más largos que el original.

Ejemplo 1. Ejemplo de convert_uuencode()

<?php
$una_cadena = "prueba\ntexto texto\r\n";

echo convert_uuencode($una_cadena);
?>

Vea también convert_uudecode() y base64_encode().

Anterior | Inicio | Siguiente
convert_uudecode | Subir | count_chars


count_chars

(PHP 4, PHP 5)

count_chars -- Devuelve información sobre los caracteres usados en una cadena

Descripción

mixed count_chars ( string cadena [, int modo] )

Cuenta el número de apariciones de cada valor de byte (0..255) en cadena y lo devuelve de varias maneras. El parámetro opcional modo vale por defecto 0. Dependiendo de modo, count_chars() puede devolver:

  • 0 - una matriz con el valor del byte como clave y la frecuencia de cada uno como valor.

  • 1 - como el 0, pero listando únicamente los valores de byte con frecuencia superior a cero.

  • 2 - como el 0, pero listando únicamente los valores de byte con frecuencia igual a 0.

  • 3 - se devuelve una cadena que contiene todos los valores de byte utilizados.

  • 4 - se devuelve una cadena que contiene todos los valores de byte no utilizados.

Ejemplo 1. Ejemplo de count_chars()

<?php
$datos = "Dos Ts y una F.";

foreach (count_chars($datos, 1) as $i => $val) {
   echo "Se han encontrado $val instancia(s) de \"" , chr($i) , "\" en la cadena.\n";
}
?>

El resultado del ejemplo seria:

Se han encontrado 4 instancia(s) de " " en la cadena.
Se han encontrado 1 instancia(s) de "." en la cadena.
Se han encontrado 1 instancia(s) de "D" en la cadena.
Se han encontrado 1 instancia(s) de "F" en la cadena.
Se han encontrado 1 instancia(s) de "T" en la cadena.
Se han encontrado 1 instancia(s) de "a" en la cadena.
Se han encontrado 1 instancia(s) de "n" en la cadena.
Se han encontrado 1 instancia(s) de "o" en la cadena.
Se han encontrado 2 instancia(s) de "s" en la cadena.
Se han encontrado 1 instancia(s) de "u" en la cadena.
Se han encontrado 1 instancia(s) de "y" en la cadena.

Vea también strpos() y substr_count().

Anterior | Inicio | Siguiente
convert_uuencode | Subir | crc32


crc32

(PHP 4 >= 4.0.1, PHP 5)

crc32 -- Calcula el polinomio crc32 de una cadena

Descripción

int crc32 ( string cadena )

Genera el polinomio cíclico redundante de suma de verificación de 32-bits de la cadena. Este valor es usado por lo general para validar la integridad de los datos transmitidos.

Dado que el tipo entero de PHP tiene signo, y varias sumas de verificación crc32 resultarán en enteros negativos, es necesario usar el código de formato "%u" de sprintf() o printf() para obtener la representación de cadena de la suma de verificación crc32 sin signo.

Este segundo ejemplo muestro cómo imprimir una suma de verificación convertida con la función printf():

Ejemplo 1. Mostrar una suma de verificación crc32

<?php
$suma = crc32("El veloz murcielago hindu comia feliz cardillo y kiwi.");
printf("%u\n", $suma);
?>

Vea también md5() y sha1().

Anterior | Inicio | Siguiente
count_chars | Subir | crypt


crypt

(PHP 3, PHP 4, PHP 5)

crypt -- Encripta una cadena mediante un algoritmo no reversible (hash)

Descripción

string crypt ( string cadena [, string semilla] )

crypt() encriptará una cadena utilizando el método estándar de encriptación del Unix: DES. Los argumentos son una cadena a encriptar y una cadena semilla de 2 caracteres en la que basar la encriptación. Vea la página del manual de Unix sobre crypt para más información.

Si el argumento de semilla no se proporciona, será generado aleatoriamente por PHP cada vez que se llama a la función.

Algunos sistemas operativos soportan más de un tipo de encriptación. De hecho, algunas veces la encriptación estándar DES es sustituída por un algoritmo de encriptación basado en MD5. El tipo de encriptación se selecciona en base al argumento semilla. En tiempo de instalación, PHP determina la capacidad de la función de encriptación y aceptará semillas para otros tipos de encriptación. Si no se proporciona la semilla, PHP intentará generar una semilla estándar DES de 2 caraceres por defecto, excepto si el tipo de encriptación estándar del sistema es el MD5, en cuyo caso se generará una semilla aleatoria compatible con MD5. PHP fija una constante llamada CRYPT_SALT_LENGTH que le especifica si su sistema soporta una semilla de 2 caracteres o si se debe usar la semilla de 12 caracteres de longitud.

Si se utiliza la semilla proporcionada, debe tenerse en cuenta que la semilla se genera una sola vez. Por tanto, si se llama a esta función repetidamente, puede que se produzca un potencial problema de seguridad.

La función estándar de encriptación crypt() devuelve la semilla como los dos primeros caracteres de la salida generada. Además, solamente emplea los 8 primeros caracteres del parámetro cadena, por lo que si se utilizan 2 cadenas largas cuyos 8 primeros caracteres son identicos, la salida generada será la misma (siempre que se emplee la misma semilla).

En los sistemas en los que la función crypt() soporta múltiples tipos de encriptación, las siguienes constantes son fijadas a 0 ó 1 dependiendo de si está disponible el tipo dado:

  • CRYPT_STD_DES - Encriptación DES estándar con semilla de 2 caracteres

  • CRYPT_EXT_DES - Encriptación DES extendida con semilla de 9 caracteres

  • CRYPT_MD5 - Encriptación MD5 con semilla de 12 caracteres y comenzando por $1$

  • CRYPT_BLOWFISH - Encriptación DES extendida con semilla de 16 caracteres y comenzando por $2$ o $2a$

Nota: No existe una función de desencriptado, ya que crypt() utiliza algoritmos no reversibles.

Ejemplo 1. Ejemplos de crypt()

<?php
$contrasena = crypt('mi_contrasena'); // la semilla se genera automaticamente

/* Para realizar las comprobaciones de contrasenas, se debe establecer como valor de la
    semilla el valor completo devuelto por crypt(). De esta forma, se evitan los
    problemas que se pueden producir cuando se emplean diferentes algoritmos de
    encriptacion. (Como se detalla previamente, el metodo DES estandar emplea una semilla
    de 2 caracteres mientras que el metodo MD5 utiliza una semilla de 12 caracteres.
    */
if (crypt($datos_introducidos_por_el_usuario, $contrasena) == $contrasena) {
   echo "La contrasena proporcionada por el usuario coincide con la contrasena establecida";
}
?>

Ejemplo 2. Empleando crypt() con htpasswd

<?php
// Establecer la contrasena
$contrasena = 'mi_contrasena';

// Obtener el hash, generandose la semilla de forma aleatoria
$hash = crypt($contrasena);
?>

Ejemplo 3. Empleando crypt() con diferentes métodos de encriptación

<?php
if (CRYPT_STD_DES == 1) {
    echo 'DES estandar: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'DES extendido: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5:          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$rasmuslerd...........$') . "\n";
}
?>

El resultado del ejemplo seria algo similar a:

DES estandar: rl.3StKT.4T8M
DES extendido: _J9..rasmBYk8r9AiWNc
MD5:          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Blowfish:     $2a$07$rasmuslerd............nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra

Vea también: md5() y la extensión Mcrypt.

Anterior | Inicio | Siguiente
crc32 | Subir | echo


echo

(PHP 3, PHP 4, PHP 5)

echo -- Muestra una o más cadenas

Descripción

void echo ( string arg1 [, string ...] )

Muestra todos sus parámetros por la salida definida.

echo() no es realmente una función (es una sentencia del lenguaje) de modo que no se requiere el uso de los paréntesis. De hecho, si se indica más de un parámetro, no se pueden incluir los paréntesis.

Ejemplo 1. Ejemplos de echo()

<?php
echo "Hola Mundo";

echo "Este texto se extiende
por varias lineas. Los saltos de linea
tambien se envian";

echo "Este texto se extiende\npor varias lineas. Los saltos de linea\ntambien se envian.";

echo "Para escapar caracteres, se debe indicar \"de esta forma\".";

// Se pueden usar variables dentro de una sentencia echo
$saludo = "que tal";
$despedida = "hasta luego";

echo "hola, $saludo"; // hola, que tal

// Tambien se pueden usar arrays
$cadena = array("valor" => "saludo desde un array");

echo "Esto es un {$cadena['valor']} "; // Esto es un saludo desde un array

// Si se emplean comillas simples, se muestra el nombre de la variable, no su valor
echo 'hola, $saludo'; // hola, $saludo

// Si no se anade ningun caracter, tambien es posible emplear echo para mostrar el valor de las variables
echo $saludo;             // que tal
echo $saludo,$despedida;  // que talhasta luego

// El uso de echo con multiples parametros es igual que realizar una concatenacion
echo 'Esta ', 'cadena ', 'esta ', 'construida ', 'con muchos parametros.', chr(10);
echo 'Esta ' . 'cadena ' . 'esta ' . 'construida ' . 'empleando concatenacion.' . "\n";

echo <<<FIN
Este texto utiliza una sintaxis especial que
permite mostrar varias lineas de texto.
La etiqueta que indica el final del bloque de texto
(y que en este caso es "FIN") debe aparecer en una
linea que contenga solamente el valor de la etiqueta
y un caracter de punto y coma (ni siquiera puede
contener espacios en blanco).
FIN;

// Como echo no es una funcion, el siguiente codigo no es valido
($una_variable) ? echo 'verdadero' : echo 'falso';

// Sin embargo, los siguientes ejemplos si que funcionan.
($una_variable) ? print('verdadero'): print('falso'); // print es una funcion
echo $una_variable ? 'verdadero': 'false'; // se modifica la sentencia a mostrar en funcion del valor de $una_variable
?>

echo() tambié funciona con una sintaxis abreviada formada por una etiqueta de apertura seguida de un signo igual. La sintaxis abreviada solamente funciona si se encuentra habilitada la directiva de configuración short_open_tag.

Tengo <?=$numero?> unidades.

En el siguiente articulo de la "FAQTs Knowledge Base" http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 puede encontrarse una argumentación sobre las diferencias entre las funciones print() y echo().

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

See also
print(),
printf(), y
flush().

Anterior | Inicio | Siguiente
crypt | Subir | explode


explode

(PHP 3, PHP 4, PHP 5)

explode -- Divide una cadena por otra

Descripción

array explode ( string separador, string cadena [, int limite] )

Devuelve una matriz de cadenas, cada una de las cuales es una subcadena de cadena formada mediante su división en las fronteras marcadas por la cadena separador. Si se especifica limite, la matriz devuelta contendrá un máximo de limite elementos con el último conteniendo el resto de la cadena.

Si separador es una cadena vacía (""), explode() devuelve un valor igual a FALSE. If separador contiene un valor que no está presente en cadena, la función explode() devuelve una matriz que contiene la cadena.

Si el parámetro limite es negativo, se devuelven todos los valores salvo el último limite. Este comportamiento se incluyó en la versión de PHP 5.1.0.

Aunque la función implode() por razones históricas puede aceptar sus parámetros en cualquier orden, no sucede lo mismo con la función explode(). Por tanto, se debe asegurar que el argumento separador se indique antes que el argumento cadena.

Nota: El parámetro limite se incluyó en PHP 4.0.1.

Ejemplo 1. Ejemplos de explode()

<?php
// Ejemplo 1
$pizza  = "trozo1 trozo2 trozo3 trozo4 trozo5 trozo6";
$trozos = explode(" ", $pizza);
echo $trozos[0]; // trozo1
echo $trozos[1]; // trozo2

// Ejemplo 2
$datos = "usuario:*:1023:1000::/home/usuario:/bin/sh";
list($usuario, $contrasena, $uid, $gid, $gecos, $home, $shell) = explode(":", $datos);
echo $usuario;    // usuario
echo $contrasena; // *

?>

Ejemplo 2. Ejemplo del parámetro limite

<?php
$cadena = 'uno|dos|tres|cuatro';

// limite positivo
print_r(explode('|', $cadena, 2));

// limite negativo (desde PHP 5.1)
print_r(explode('|', $cadena, -1));
?>

El resultado del ejemplo seria:

Array
(
    [0] => uno
    [1] => dos|tres|cuatro
)
Array
(
    [0] => uno
    [1] => dos
    [2] => tres
)

Nota: Esta función es segura binariamente.

See also
preg_split(),
spliti(),
split(),
strtok(), and
implode().

Anterior | Inicio | Siguiente
echo | Subir | fprintf


fprintf

(PHP 5)

fprintf -- Escribir una cadena con formato a una secuencia

Descripción

int fprintf ( resource gestor, string formato [, mixed args [, mixed ...]] )

Escribe una cadena producida de acuerdo a formato al recurso de secuencia especificado por gestor. formato se describe en la documentación para sprintf().

Devuelve la longitud de la cadena impresa.

Vea también: printf(),
sprintf(),
sscanf(), fscanf(),
vsprintf(), y
number_format().

Ejemplos

Ejemplo 1. fprintf(): enteros con relleno de ceros

<?php
if (!($da = fopen('fecha.txt', 'w')))
    return;

fprintf($da, "%04d-%02d-%02d", $anyo, $mes, $dia);
// escribe la fecha en formato ISO a fecha.txt
?>

Ejemplo 2. fprintf(): dando formato a valores monetarios

<?php
if (!($da = fopen('monetario.txt', 'w')))
    return;

$dinero1 = 68.75;
$dinero2 = 54.35;
$dinero = $dinero1 + $dinero2;
// echo $dinero producira la salida "123.1";
$long = fprintf($da, '%01.2f', $dinero);
// escribe "123.10" en monetario.txt

echo "se escribieron $long bytes a monetario.txt";
// usar el valor de retorno para determinar cuantos bytes se escribieron
?>

Anterior | Inicio | Siguiente
explode | Subir | get_html_translation_table


get_html_translation_table

(PHP 4, PHP 5)

get_html_translation_table -- Devuelve la tabla de traducción utilizada por htmlspecialchars() y htmlentities()

Descripción

array get_html_translation_table ( [int tabla [, int estilo_de_escape]] )

get_html_translation_table() devolverá la tabla de traducción que se usa internamente para htmlspecialchars() y htmlentities().

Hay dos nuevas constantes (HTML_ENTITIES, HTML_SPECIALCHARS) que le permiten especificar la tabla deseada. El valor por defecto es HTML_SPECIALCHARS y como sucede en las funciones htmlspecialchars() y htmlentities(), se puede especificar un parámetro opcional que indica el estilo_de_escape con el que se trabaja. Su valor por defecto es ENT_COMPAT. La descripción de los modos disponibles se encuentra en la función htmlspecialchars().

Nota: Los caracteres especiales se pueden codificar de diferentes formas. Por ejemplo, " se puede codificar como &quot;, &#34; o &#x22. La función get_html_translation_table() devuelve solamente la forma más común de codificación.

Ejemplo 1. Ejemplo de Tabla de Traducción

<?php
$tabla = get_html_translation_table(HTML_ENTITIES);
$cadena = "Hallo & <Frau> & Krämer";
$codificada = strtr($cadena, $tabla);
?>
La variable $codificada contendrá: "Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer".

Vea también: htmlspecialchars(), htmlentities() y html_entity_decode().

Anterior | Inicio | Siguiente
fprintf | Subir | hebrev


hebrev

(PHP 3, PHP 4, PHP 5)

hebrev -- Convierte Hebreo lógico a texto visual

Descripción

string hebrev ( string texto_hebreo [, int max_caracteres_por_linea] )

El parámetro opcional max_caracteres_por_linea indica el máximo número de caracteres que se devolverán en cada línea. La función tratará de no cortar las palabras.

Vea también hebrevc()

Anterior | Inicio | Siguiente
get_html_translation_table | Subir | hebrevc


hebrevc

(PHP 3, PHP 4, PHP 5)

hebrevc -- Convierte Hebreo lógico a texto visual con conversión de saltos de línea

Descripción

string hebrevc ( string texto_hebreo [, int max_caracteres_por_linea] )

Esta funcion es similar a hebrev() con la diferencia que convierte las nuevas líneas (\n) a "<br>\n". El parámetro opcional max_caracteres_por_linea indica el máximo número de caracteres que se devolverán en cada línea. La función tratará de no cortar las palabras.

Vea también hebrev()

Anterior | Inicio | Siguiente
hebrev | Subir | html_entity_decode


html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode -- Convertir todas las entidades HTML a sus caracteres correspondientes

Descripción

string html_entity_decode ( string cadena [, int estilo_comillas [, string juego_caracteres]] )

html_entity_decode() es el opuesto de htmlentities() en el sentido en que convierte todas las entidades HTML a sus caracteres correspondientes en la cadena dada.

El segundo parámetro opcional estilo_comillas le permite definir lo que debe hacerse con las comillas 'sencillas' y "dobles". Recibe una de tres constantes posibles, siendo el valor por defecto ENT_COMPAT:

Tabla 1. Constantes disponibles para estilo_comillas

Nombre de constante | Descripción
ENT_COMPAT | Convierte las comillas dobles y deja intactas las comillas sencillas.
ENT_QUOTES | Convierte tanto comillas dobles como sencillas.
ENT_NOQUOTES | No convierte ni las comillas dobles ni las sencillas.

El juego de caracteres ISO-8859-1 es usado como valor predeterminado para el tercer argumento opcional juego_caracteres. Éste define el juego de caracteres usado en la conversión.

Los siguientes juegos de caracteres son soportados a partir de PHP 4.3.0.

Tabla 2. Juegos de caracteres soportados

Juego de caracteres | Aliases | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacían falta en Latin-1(ISO-8859-1).
UTF-8 |  | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres cirílicos específico de DOS. Este juego de caracteres está soportado en 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres cirílicos específico de Windows. Este juego de caracteres está soportado en 4.3.2.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso. Este juego de caracteres está soportado en 4.3.2.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS |  | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, 932 | Japonés
EUC-JP | EUCJP | Japonés

Nota: Cualquier otro juego de caracteres no es reconocido y en su lugar se utilizará ISO-8859-1.

Nota: Esta función no soporta conjuntos de caracteres multi-bytes en PHP < 5.

Ejemplo 1. Decodificación de entidades HTML

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now

// Usuarios de una version anterior a 4.3.0 de PHP, pueden hacer esto:
function unhtmlentities($cadena)
{
    // reemplazar entidades numericas
    $cadena = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $cadena);
    $cadena = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $cadena);
    // reemplazar entidades literales
    $trans_tbl = get_html_translation_table(HTML_ENTITIES);
    $trans_tbl = array_flip($trans_tbl);
    return strtr($cadena, $trans_tbl);
}

$c = unhtmlentities($a);

echo $c; // I'll "walk" the <b>dog</b> now

?>

Nota: Puede que se pregunte por qué trim(html_entity_decode('&nbsp;')); no reduce la cadena a una cadena vacía, esto es porque la entidad '&nbsp;' no es el código ASCII 32 (el cual es eliminado por trim()) sino el código ASCII 160 (0xa0) en el juego de caracteres por defecto, ISO 8859-1.

Vea también
htmlentities(),
htmlspecialchars(),
get_html_translation_table(),
y urldecode().

Anterior | Inicio | Siguiente
hebrevc | Subir | htmlentities


htmlentities

(PHP 3, PHP 4, PHP 5)

htmlentities -- Convierte todos los caracteres a su entidad HTML aplicable

Descripción

string htmlentities ( string string [, int quote_style [, string charset]] )

Esta función es identica en todo a htmlspecialchars(), excepto que con htmlentities(), todos los caracteres que tengan una entidad equivalente en HTML serán cambiados a esas entidades.

En htmlspecialchars(), el parámetro opcional quote_style le permite definir lo que será hecho con las comillas 'sencillas' y las "dobles". Toma uno de tres constantes con ENT_COMPAT:

Tabla 1. Constantes disponibles para quote_style

Nombre de Constante | Descripción
ENT_COMPAT | Convertirá las dobles comillas y dejará solo las comillas sencillas.
ENT_QUOTES | Convertirá las comillas dobles y sencillas.
ENT_NOQUOTES | Mantendrá las comillas dobles y sencillas sin cambios.

El parámetro opcional quote fue agregado en PHP 4.0.3.

Además htmlspecialchars(), tiene un tercer parámetro opcional charset el cual define el conjunto de caracteres que serán utilizados en la conversión. Este parámetro fue agregado en PHP 4.1.0. Actualmente, el conjunto de caracteres IS-8859-1 es usado como valor por defecto.

Los siguientes juegos de caracteres son soportados a partir de PHP 4.3.0.

Tabla 2. Juegos de caracteres soportados

Juego de caracteres | Aliases | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacían falta en Latin-1(ISO-8859-1).
UTF-8 |  | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres cirílicos específico de DOS. Este juego de caracteres está soportado en 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres cirílicos específico de Windows. Este juego de caracteres está soportado en 4.3.2.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso. Este juego de caracteres está soportado en 4.3.2.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS |  | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, 932 | Japonés
EUC-JP | EUCJP | Japonés

Nota: Cualquier otro juego de caracteres no es reconocido y en su lugar se utilizará ISO-8859-1.

Si quiere hacer la operación inversa puede usar html_entity_decode().

Ejemplo 1. Un ejemplo de htmlentities()

<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Vea también html_entity_decode(),
get_html_translation_table(),
htmlspecialchars(), nl2br(),
y urlencode().

Anterior | Inicio | Siguiente
html_entity_decode | Subir | htmlspecialchars_decode


htmlspecialchars

(PHP 3, PHP 4, PHP 5)

htmlspecialchars -- Convierte caracteres especiales a entidades HTML

Descripción

string htmlspecialchars ( string cadena [, int quote_style [, string juego_caracteres]] )

Ciertos caracteres tienen significados especiales en HTML, y deben ser representados por entidades HTML si se desea preservar su significado. Esta función devuelve una cadena con dichas conversiones realizadas, que por defecto son las más habituales para la programación web. Si se requiere traducir todas las entidades HTML, se debe emplear la función htmlentities().

Esta función es útil para evitar que el texo introducido por el usuario contenga código HTML, como ocurre en aplicaciones de foros o libros de visita. El segundo parámetro quote_style indica a la función el modo en el que se tienen que tratar las comillas simples y las comillas dobles. El modo por defecto es ENT_COMPAT, que es el modo retrocompatible que solo traduce las comillas dobles y deja intactas las comillas simples. Si se indica el valor ENT_QUOTES, se traduce tanto las comillas simples como las dobles. Por último, si se indica el valor ENT_NOQUOTES, no se traducen ni las comillas simples ni las dobles.

Actualmente, las traducciones realizadas son:

  • '&' (ampersand) se convierte en '&amp;'

  • '"' (doble comilla) se convierte en '&quot;' cuando no se utiliza la constante ENT_NOQUOTES.

  • ''' (commilla simple) se convierte en '&#039;' cuando se utiliza ENT_QUOTES.

  • '<' (menor que) se convierte en '&lt;'

  • '>' (mayor que) se convierte en '&gt;'

Ejemplo 1. Ejemplo de htmlspecialchars()

<?php
$nuevo = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $nuevo; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Nótese que esta función no traduce nada más que lo mostrado más arriba. Para realizar una traducción de entidades completa, vea htmlentities(). El soporte del segundo parámetro se incluyó en la versión de PHP 3.0.17 y PHP 4.0.3.

El tercer argumento juego_caracteres define el juego de caracteres que se emplea en la conversión. El juego de caracteres por defecto es el ISO-8859-1. El soporte de este parámetro se incluyó en la versión de PHP 4.1.0.

Los siguientes juegos de caracteres son soportados a partir de PHP 4.3.0.

Tabla 1. Juegos de caracteres soportados

Juego de caracteres | Aliases | Descripción
ISO-8859-1 | ISO8859-1 | Europeo Occidental, Latin-1
ISO-8859-15 | ISO8859-15 | Europeo Occidental, Latin-9. Añade el signo de Euro, y letras del Francés y Finlandés que hacían falta en Latin-1(ISO-8859-1).
UTF-8 |  | Multi-byte Unicode de 8-bits compatible con ASCII.
cp866 | ibm866, 866 | Juego de caracteres cirílicos específico de DOS. Este juego de caracteres está soportado en 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Juego de caracteres cirílicos específico de Windows. Este juego de caracteres está soportado en 4.3.2.
cp1252 | Windows-1252, 1252 | Juego de caracteres específico de Windows para Europa Occidental.
KOI8-R | koi8-ru, koi8r | Ruso. Este juego de caracteres está soportado en 4.3.2.
BIG5 | 950 | Chino Tradicional, usado principalmente en Taiwán.
GB2312 | 936 | Chino Simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS |  | Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JIS | SJIS, 932 | Japonés
EUC-JP | EUCJP | Japonés

Nota: Cualquier otro juego de caracteres no es reconocido y en su lugar se utilizará ISO-8859-1.

Vea también get_html_translation_table(),
strip_tags(),
htmlentities() y nl2br().

Anterior | Inicio | Siguiente
htmlspecialchars_decode | Subir | implode


implode

(PHP 3, PHP 4, PHP 5)

implode -- Une elementos de una matriz mediante una cadena

Descripción

string implode ( string elemento_union, array trozos )

Devuelve una cadena que contiene una representación de todos los elementos de la matriz en el mismo orden, pero con la cadena elemento_union en medio de los mismos.

Ejemplo 1. Ejemplo de implode()

<?php

$array = array('apellido', 'email', 'telefono');
$separado_por_comas = implode(",", $array);

echo $separado_por_comas; // apellido,email,telefono

?>

Nota: La función implode() puede, por razones históricas, acceptar sus parámetros en cualquier orden. Sin embargo, para mantener la consistencia con la función explode(), se recomienda emplear los parámetros en el orden indicado.

Nota: Desde la versión de PHP 4.3.0, el parámetro elemento_union es opcional y su valor por defecto es una cadena vacía (''). De todas formas, para mantener la compatibilidad con versiones anteriores, se recomienda indicar siempre los 2 parámetros definidos.

Nota: Esta función es segura binariamente.

Vea también explode() y split().

Anterior | Inicio | Siguiente
htmlspecialchars | Subir | join


join

(PHP 3, PHP 4, PHP 5)

join -- Alias of implode()

Descripción

This function is an alias of: implode().

Anterior | Inicio | Siguiente
implode | Subir | levenshtein


levenshtein

(PHP 3 >= 3.0.17, PHP 4 >= 4.0.1, PHP 5)

levenshtein -- Calcula la distancia Levenshtein entre dos cadenas

Descripción

int levenshtein ( string cadena1, string cadena2 [, int cost_ins [, int cost_rep, int cost_del]] )

Esta función devuelve la distancia Levenshtein entre las dos cadenas indicadas, ó -1 si alguna de las cadenas tiene más de 255 caracteres.

La distancia Levenshtein se define como el mínimo número de caracteres que se tienen que sustituir, insertar o borrar para transformar cadena1 en cadena2. La complejidad del algoritmo es O(m*n), donde n y m son las longitudes de cadena1 y cadena2 (por tanto, el rendimiento es bastante bueno si se la compara con el de la función similar_text(), que es O(max(n,m)**3), pero aún así se trata de una función que puede penalizar el rendimiento global del script).

La forma más simple de utilizar la función es indicar 2 cadenas como parámetros y realizar el cálculo del número de operaciones de inserción, reemplazamiento y borrado que son necesarias para convertir la cadena1 en la cadena2.

Una forma alternativa de uso es la que tiene en cuenta 3 parámetros, siendo el tercer el que define el coste que tienen las operaciones de inserción, reemplazamiento y borrado. Esta forma es más genérica y más adaptativa, pero es menos eficiente.

Ejemplo 1. Ejemplo de levenshtein()

<?php
// Palabra escrita incorrectamente
$palabra_original = 'zanahorria';

// Array de palabras para comprobar las palabras
$palabras  = array('manzana','pina','platano','naranja',
                'rabano','zanahoria','guisante','alubia','patata');

// No se ha encontrado todavia la distancia mas corta
$distancia_mas_corta = -1;

// Recorrer $palabras para encontrar la mas corta
foreach ($palabras as $palabra_actual) {

    // Calcular la distancia entre la $palabra_original y la $palabra_actual
    $lev = levenshtein($palabra_original, $palabra_actual);

    // comprobar si son iguales (distancia 0)
    if ($lev == 0) {

        // se trata de la palabra mas proxima (de hecho, las 2 coinciden)
        $palabra_mas_cercana = $palabra_actual;
        $distancia_mas_corta = 0;

        // salir del bucle porque ya se ha encontrado una coincidencia
        break;
    }

    // si la distancia es menor que la siguiente distancia mas corta encontrada, o si
    // si no se ha encontrado la palabra con la distancia mas corta
    if ($lev <= $distancia_mas_corta || $distancia_mas_corta < 0) {
        // establece la palabra mas cercana y la distancia mas corta
        $palabra_mas_cercana  = $palabra_actual;
        $distancia_mas_corta = $lev;
    }
}

echo "Palabra introducida: $palabra_original\n";
if ($distancia_mas_corta == 0) {
    echo "Se ha encontrado una coincidencia exacta: $palabra_mas_cercana\n";
} else {
    echo "Quiso decir: $palabra_mas_cercana?\n";
}

?>

El resultado del ejemplo seria:

Palabra introducida: zanahorria
Quiso decir: zanahoria?

Vea también soundex(), similar_text() y metaphone().

Anterior | Inicio | Siguiente
join | Subir | localeconv


localeconv

(PHP 4 >= 4.0.5, PHP 5)

localeconv -- Obtener información sobre el formato numérico

Descripción

array localeconv ( void )

Devuelve una matriz asociativa que contiene información de los formatos numérico y monetario, localizados.

localeconv() devuelve información basada en la localidad actual, tal y como haya sido definida mediante setlocale(). La matriz asociativa que devuelve contiene los siguientes campos:

Elemento de la matriz | Descripción
decimal_point | Caracter de punto decimal
thousands_sep | Separador de miles
grouping | Matriz que contiene agrupaciones numéricas
int_curr_symbol | Símbolo internacional de moneda (i.e. USD)
currency_symbol | Símbolo local de moneda (i.e. $)
mon_decimal_point | Caracter de punto decimal monetario
mon_thousands_sep | Separador de miles monetario
mon_grouping | Matriz que contiene agrupaciones de moneda
positive_sign | Signo para valores positivos
negative_sign | Signo para valores negativos
int_frac_digits | Dígitos fraccionarios internacionales
frac_digits | Dígitos fraccionarios locales
p_cs_precedes | TRUE si currency_symbol precede un valor positivo, FALSE si lo sucede
p_sep_by_space | TRUE si un espacio separa currency_symbol de un valor positivo, FALSE de lo contrario
n_cs_precedes | TRUE si currency_symbol precede un valor negativo, FALSE si lo sucede
n_sep_by_space | TRUE si un espacio separa currency_symbol de un valor negativo, FALSE de lo contrario
p_sign_posn

0 - Paréntesis rodean la cantidad y currency_symbol
1 - La cadena de signo precede la cantidad y currency_symbol
2 - La cadena de signo sucede la cantidad y currency_symbol
3 - La cadena de signo precede inmediatamente currency_symbol
4 - La cadena de signo sucede inmediatamente currency_symbol

n_sign_posn

0 - Paréntesis rodean la cantidad y currency_symbol
1 - La cadena de signo precede la cantidad y currency_symbol
2 - La cadena de signo sucede la cantidad y currency_symbol
3 - La cadena de signo precede inmediatamente currency_symbol
4 - La cadena de signo sucede inmediatamente currency_symbol

Los valores de n_sign_posn y n_sign_posn contienen una cadena de opciones de formato. Cada número representa una de las condiciones listadas anteriormente.

Los campos de agrupamiento contienen matrices que definen el modo en que los números deben ser agrupados. Por ejemplo, el campo de agrupamiento monetario para la localidad nl_NL (en modo UTF-8 con el signo de euro), tendría una matriz de 2 elementos con los valores 3 y 3. Entre más alto sea el índice dentro de la matriz, lo más lejos hacia la izquierda se encuentra el agrupamiento. Si un elemento de la matriz es igual a CHAR_MAX, no se realiza ningún agrupamiento posterior. Si un elemento de la matriz es igual a 0, el elemento anterior deberá ser usado.

Ejemplo 1. Ejemplo de localeconv()

<?php
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
    $info_localidad = localeconv();
    print_r($info_localidad);
}
?>

El resultado del ejemplo seria:

Array
(
    [decimal_point] => .
    [thousands_sep] =>
    [int_curr_symbol] => EUR
    [currency_symbol] => €
    [mon_decimal_point] => ,
    [mon_thousands_sep] =>
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 1
    [p_sep_by_space] => 1
    [n_cs_precedes] => 1
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 2
    [grouping] => Array
        (
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Vea también setlocale().

Anterior | Inicio | Siguiente
levenshtein | Subir | ltrim


ltrim

(PHP 3, PHP 4, PHP 5)

ltrim -- Elimina el espacio en blanco (o más caracteres) del principio de una cadena

Descripción

string ltrim ( string cadena [, string lista_caracteres] )

Nota: El segundo parámetro se añadió en la versión de PHP 4.1.0

La función devuelve una cadena con los espacios en blanco eliminados del principio de la cadena indicada en el parámetro cadena. Si no se emplea el segundo parámetro (lista_caracteres), la función ltrim() elimina los siguientes caracteres:

  • " " (ASCII 32 (0x20)), un espacio en blanco.

  • "\t" (ASCII 9 (0x09)), un tabulador.

  • "\n" (ASCII 10 (0x0A)), una nueva linea.

  • "\r" (ASCII 13 (0x0D)), un retorno de carro.

  • "\0" (ASCII 0 (0x00)), el byte NUL.

  • "\x0B" (ASCII 11 (0x0B)), un tabulador vertical.

Además, con el parámetro lista_caracteres, se puede especificar la lista de caracteres que se quieren eliminar. El método consiste en enumerar todos los caracteres que se quieren eliminar, con la posibilidad de emplear .. para indicar un rango de caracteres.

Ejemplo 1. Ejemplo de ltrim()

<?php

$texto = "\t\tEn un lugar de la Mancha :) ...  ";
$texto_limpio = ltrim($texto);
// $texto_limpio = "En un lugar de la Mancha :) ...  "
$texto_limpio = ltrim($texto, " \t.");
// $texto_limpio = "En un lugar de la Mancha :) ...  "
$datos_normales = ltrim($datos_binarios, "\x00..\x1F");
// elimina los caracteres ASCII de control que aparecen al principio de $datos_binarios
// (desde el car&aacute;cter de control 0 hasta el 31, ambos inclusive)

?>

Vea también trim() y rtrim().

Anterior | Inicio | Siguiente
localeconv | Subir | md5_file


md5_file

(PHP 4 >= 4.2.0, PHP 5)

md5_file -- Calcula el resumen criptográfico md5 de un archivo dado

Descripción

string md5_file ( string nombre_archivo [, bool salida_primitiva] )

Calcula el resumen criptográfico MD5 del archivo especificado por el parámetro nombre_archivo usando el Algoritmo de Resumen de Mensajes MD5 de RSA Data Security, Inc., y devuelve ese resumen. El resumen criptográfico es un número hexadecimal de 32 caracteres.

Lista de parámetros

nombre_archivo

El nombre de archivo

salida_primitiva

Cuando es TRUE, devuelve el resumen en un formato binario primitivo con una longitud de 16. Su valor predeterminado es FALSE.

Valores retornados

Devuelve una cadena en caso de éxito, FALSE de lo contrario.

Registro de cambios

Versión | Descripción
5.0.0 | Se agregó el parámetro salida_primitiva
5.1.0 | Se modificó la función para usar la API de secuencias. Esto quiere decir que puede usarla con envolturas, como md5_file('http://example.com/..')

Ver también

md5()
sha1_file()
crc32()

Anterior | Inicio | Siguiente
ltrim | Subir | md5


md5

(PHP 3, PHP 4, PHP 5)

md5 -- Calcula el hash md5 de una cadena

Descripción

string md5 ( string cadena [, bool modo_binario] )

Calcula y devuelve el hash (resumen) MD5 de cadena usando el Algoritmo de Resumen de Mensajes MD5 de RSA Data Security, Inc. . El hash devuelto consiste en una cadena de 32 números en formato hexadecimal. Si el valor del parámetro modo_binario es TRUE, el resumen md5 se devuelto tiene una longitud de 16 y su formato es binario.

Nota: El parámetro opcional modo_binario se incluyó en la versión de PHP PHP 5.0.0 y su valor por defecto es FALSE

Ejemplo 1. Ejemplo de md5()

<?php
$cadena = 'manzana';

if (md5($cadena) === '81b1c93c5f431703e4c3bfb0274305e0') {
    echo "¿Quieres una manzana verde o roja?";
    exit;
}
?>

Vea también crc32(), md5_file() y sha1().

Anterior | Inicio | Siguiente
md5_file | Subir | metaphone


metaphone

(PHP 4, PHP 5)

metaphone -- Calcula la clave "metáfona" de una cadena

Descripción

string metaphone ( string cadena [, int phones] )

Calcula la clave "metáfona" de cadena.

Al igual que la función soundex(), metaphone crea la misma clave para palabras que suenan parecidas. Es más precisa que la función soundex(), pues conoce las reglas básicas de la pronunciación del Inglés. (Nota del traductor: a partir de la documentación original no es posible determinar si solamente está preparado para el idioma inglés). Las claves metafónicas generadas son de longitud variable.

Metaphone fue desarrollado por Lawrence Philips <lphilips _arroba_ verity.com>. Se describe en ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].

Anterior | Inicio | Siguiente
md5 | Subir | money_format


money_format

(PHP 4 >= 4.3.0, PHP 5)

money_format -- Da formato a un número como una cadena de moneda

Descripción

string money_format ( string formato, float numero )

money_format() devuelve una versión con formato de numero. Esta función envuelve la función de la biblioteca de C strfmon(), con la diferencia de que esta implementación convierte solo un número a la vez.

Nota: La función money_format() está definida solo si el sistema tiene la capacidad de llamar a strfmon. Por ejemplo, Windows no tiene soporte para esta función, así que money_format() no se encuentra definida en Windows.

La especificación de formato consiste de la siguiente secuencia:

  • un caracter %

  • banderas opcionales

  • un ancho de campo opcional

  • precisión de izquierda opcional

  • precisión de derecha opcional

  • un caracter de conversión, requerido

Banderas. Una o más de las siguientes banderas opcionales pueden ser usadas:

=f

El caracter = seguido de un caracter (byte sencillo) f que será usado como el caracter de relleno numérico. Es caracter de relleno predeterminado es el espacio.

^

Deshabilitar el uso de caracteres de agrupamiento (tal y como estén definidos según la localidad actual).

+ o (

Especifica el estilo de formato para números positivos y negativos. Si se usa +, los equivalentes de + y - en la localidad actual serán usados. Si se usa (, las cantidades negativas estarán ubicadas entre paréntesis. Si no se da especificación alguna, el valor por defecto es +.

!

Elimina el símbolo de moneda de la cadena de salida.

-

Si se encuentra presente, hará que todos los campos estén justificados a izquierda (con relleno a la derecha), en contraste al comportamiento predeterminado que hace que los campos estén justificados a derecha (con relleno a la izquierda).

Ancho de campo.

w

Una cadena de dígito decimal que especifica un ancho de campo mínimo. El campo será justificado a derecha a menos que la bandera - sea usada. El valor predeterminado es 0 (cero).

Precisión de izquierda.

#n

El número máximo de dígitos (n) a esperar a la izquerda del caracter decimal (p. ej. el punto decimal). Usualmente se usa para mantener la salida con formato alineada en las mismas columnas, usando el caracter de relleno si el número de dígitos es menor que n. Si el número de dígitos real es mayor que n, entonces esta especificación es ignorada.

Si no se ha suprimido el agrupamiento usando la bandera ^, los separadores de agrupamiento serán insertados antes de que los caracteres de relleno (si los hay) sean agregados. Los separadores de agrupamiento no serán aplicados sobre los caracteres de relleno, aun si el caracter de relleno es un dígito.

Para asegurar el alineamiento, cualquier caracter que aparezca antes o después del número en la salida con formato, tales como los símbolos de moneda o de signo, son rellenados en tanto sea necesario con caracteres de espacio para hacer que sus formatos positivo y negativo tengan una misma longitud.

Precisión de derecha .

.p

Un punto seguido del número de dígitos (p) después del caracter decimal. Si el valor de p es 0 (cero), el caracter decimal y los dígitos a su derecha serán omitidos. Si no se incluye ninguna precisión de derecha, el valor predeterminado será determinado por la localidad en uso. La cantidad a la cual se está dando formato es redondeada al número de dígitos especificado antes del formato.

Caracteres de conversión .

i

El número recibe formato de acuerdo al formato de moneda internacional de la localidad (p.ej. para la localidad de USA: USD 1,234.56).

n

El número recibe formato de acuerdo al formato de moneda nacional de la localidad (p.ej. para la localidad de_DE: DM1.234,56).

%

Devuelve el caracter %.

Nota: La categoría LC_MONETARY de los parámetros de la localidad, afecta el comportamiento de esta función. Use setlocale() para establecer la localidad por defecto apropiada antes de usar esta función.

Los caracteres antes y después de la cadena de formato serán devueltos sin modificaciones.

Ejemplo 1. Ejemplo de money_format()

Usaremos diferentes localidades y especificaciones de formato para ilustrar el uso de esta función.

<?php

$numero = 1234.56;

// imprimamos el formato internacional para la localidad en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $numero) . "\n";
// USD 1,234.56

// Formato nacional italiano con 2 decimales
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $numero) . "\n";
// L. 1.234,56

// Uso de un número negativo
$numero = -1234.5672;

// Formato nacional de US, usando () para números negativos
// y 10 dígitos para la precisión de derecha
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $numero) . "\n";
// ($        1,234.57)

// Un formato similar al anterior, agregando el uso de 2 dígitos de
// precisión de derecha y '*' como caracter de relleno
echo money_format('%=*(#10.2n', $numero) . "\n";
// ($********1,234.57)

// Justifiquemos a izquierda, con 14 posiciones de ancho, 8 dígitos de
// precisión de izquierda, 2 de precisión de derecha, sin caracter de
// agrupamiento y usando el formato internacional de la localidad
// de_DE.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// DEM 1234,56****

// Agreguemos un poco de información antes y despues de la especificación
// de conversión
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'El valor final es %i (después de un descuento de 10%%)';
echo money_format($fmt, 1234.56) . "\n";
// El valor final es GBP 1,234.56 (después de un descuento de 10%)

?>

Vea también: setlocale(),
number_format(), sprintf(),
printf() y sscanf().

Anterior | Inicio | Siguiente
metaphone | Subir | nl_langinfo


nl_langinfo

(PHP 4 >= 4.1.0, PHP 5)

nl_langinfo -- Consultar información sobre el lenguaje y la localidad

Descripción

string nl_langinfo ( int item )

La función nl_langinfo() es usada para acceder a elementos individuales de las categorías de localidad. A diferencia de localeconv(), que devuelve todos los elementos, nl_langinfo() le permite seleccionar cualquier elemento específico.

Si item no es válido, se devolverá FALSE.

item puede ser un valor entero del elemento o el nombre de constante del elemento. La siguiente es una lista de nombres de constante para item que pueden ser usados y su descripción. Puede que algunas de éstas constantes no estén definidas o no contengan valor alguno para ciertas localidades.

Tabla 1. Constantes de nl_langinfo

Constante | Descripción
Constantes de la Categoría LC_TIME
ABDAY_(1-7) | Nombre abreviado del n-ésimo día de la semana.
DAY_(1-7) | Nombre abreviado del n-ésimo día de la semana (DAY_1 = Domingo).
ABMON_(1-12) | Nombre abreviado del mes n-ésimo del año.
MON_(1-12) | Nombre del mes n-ésimo del año.
AM_STR | Cadena del ante-meridiano.
PM_STR | Cadena del post-meridiano.
D_T_FMT | Cadena que puede ser usada como cadena de formato para strftime(), para representar la hora y fecha.
D_FMT | Cadena que puede ser usada como cadena de formato para strftime(), para representar la fecha.
T_FMT | Cadena que puede ser usada como la cadena de formato para strftime(), para representar la hora.
T_FMT_AMPM | Cadena que puede ser usada como cadena de formato para strftime() para representar la hora en formato 12-horas con ante/post meridiano.
ERA | Era alterna.
ERA_YEAR | Año en formato de era alterna.
ERA_D_T_FMT | Fecha y hora en formato de era alterna (la cadena puede ser usada en strftime()).
ERA_D_FMT | Fecha en formato de era alterna (la cadena puede ser usada en strftime()).
ERA_T_FMT | Hora en formato de era alterna (la cadena puede ser usada en strftime()).
Constantes de la Categoría LC_MONETARY
INT_CURR_SYMBOL | Símbolo de moneda internacional.
CURRENCY_SYMBOL | Símbolo de moneda local.
CRNCYSTR | El mismo valor de CURRENCY_SYMBOL.
MON_DECIMAL_POINT | Caracter de punto decimal.
MON_THOUSANDS_SEP | Separador de miles (grupos de tres dígitos).
MON_GROUPING | Como el elemento 'grouping'.
POSITIVE_SIGN | Signo para valores positivos.
NEGATIVE_SIGN | Signo para valores negativos.
INT_FRAC_DIGITS | Dígitos fraccionarios internacionales.
FRAC_DIGITS | Dígitos fraccionarios locales.
P_CS_PRECEDES | Devuelve 1 si CURRENCY_SYMBOL precede un valor positivo.
P_SEP_BY_SPACE | Devuelve 1 si un espacio separa a CURRENCY_SYMBOL de un valor positivo.
N_CS_PRECEDES | Devuelve 1 si CURRENCY_SYMBOL precede un valor negativo.
N_SEP_BY_SPACE | Devuelve 1 si un espacio separa a CURRENCY_SYMBOL de un valor negativo.
P_SIGN_POSN

  • Devuelve 0 si unos paréntesis rodean la cantidad y currency_symbol.

  • Devuelve 1 si la cadena de signo precede a la cantidad y currency_symbol.

  • Devuelve 2 si la cadena de signo sigue a continuación de la cantidad y currency_symbol.

  • Devuelve 3 si la cadena de signo precede inmediatamente a currency_symbol.

  • Devuelve 4 si la cadena de signo sigue inmediatamente después de currency_symbol.

N_SIGN_POSN
Constantes de la Categoría LC_NUMERIC
DECIMAL_POINT | Caracter de punto decimal.
RADIXCHAR | El mismo valor de DECIMAL_POINT.
THOUSANDS_SEP | Caracter separador para los miles (grupos de tres dígitos).
THOUSEP | El mismo valor de THOUSANDS_SEP.
GROUPING
Constantes de la Categoría LC_MESSAGES
YESEXPR | Cadena de expresión regular para coincidir con la entrada 'sí'.
NOEXPR | Cadena de expresión regular para coincidir con la entrada 'no'.
YESSTR | Cadena de salida para 'sí'.
NOSTR | Cadena de salida para 'no'.
Constantes de la Categoría LC_CTYPE
CODESET | Devuelve una cadena con el nombre de la codificación de caracteres.

Nota: Esta función no está implementada en plataformas Windows.

Vea también setlocale() y localeconv().

Anterior | Inicio | Siguiente
money_format | Subir | nl2br


nl2br

(PHP 3, PHP 4, PHP 5)

nl2br -- Inserta saltos de línea de HTML antes de cada salto de línea de la cadena

Descripción

string nl2br ( string cadena )

Devuelve la cadena con '<br />' insertados antes de cada nueva línea.

Nota: A partir de PHP 4.0.5, nl2br() respeta los estándares de XHTML. Todas las versiones anteriores de PHP a la 4.0.5 devolverán cadena con '<br>' antes de cada nueva línea, en vez de '<br />'.

Ejemplo 1. Aplicando nl2br()

<?php
echo nl2br("esto es una\nprueba");
?>

Salida:

esto es una<br />
prueba

Vea también htmlspecialchars(),
htmlentities(),
wordwrap() y
str_replace().

Anterior | Inicio | Siguiente
nl_langinfo | Subir | number_format


number_format

(PHP 3, PHP 4, PHP 5)

number_format -- Dar formato a un número con los miles agrupados

Descripción

string number_format ( float numero [, int decimales [, string punto_dec, string sep_miles]] )

number_format() devuelve una versión con formato de numero. Esta función acepta uno, dos, o cuatro parámetros (no tres):

Si solo se entrega un parámetro, numero recibirá un formato sin decimales, pero con una coma (",") entre cada grupo de miles.

Si se entregan dos parámetros, numero recibirá un formato con la cantidad de decimales dada, con un punto (".") al frente, y una coma (",") entre cada grupo de miles.

Si todos los cuatro parámetros son dados, numero recibirá un formato con la cantidad de decimales dada, punto_dec en lugar de un punto (".") antes de los decimales, y sep_miles en lugar de una coma (",") entre cada grupo de miles.

Sólo el primer caracter de sep_miles es usado. Por ejemplo, si usa bar como sep_miles sobre el número 1000, number_format() devolverá 1b000.

Ejemplo 1. Ejemplo de number_format()

Por ejemplo, la notación francesa usa usualmente dos decimales, coma (',') como separador decimal, y espacio (' ') como separador de miles. Esto se puede lograr con esta línea:

<?php

$numero = 1234.56;

// notación inglesa (predeterminada)
$numero_formato_ingles = number_format($numero);
// 1,235

// notación francesa
$numero_formato_frances = number_format($numero, 2, ',', ' ');
// 1 234,56

$numero = 1234.5678;

// notación inglesa sin separador de miles
$numero_formato_ingles = number_format($numero, 2, '.', '');
// 1234.57

?>

Vea también: money_format(),
sprintf(), printf() y
sscanf().

Anterior | Inicio | Siguiente
nl2br | Subir | ord


ord

(PHP 3, PHP 4, PHP 5)

ord -- Devuelve el valor ASCII de un carácter

Descripción

int ord ( string cadena )

Devuelve el valor ASCII del primer carácter de cadena. Esta función complementa a chr().

Ejemplo 1. Ejemplo de ord()

<?php
$cadena = "\n";
if (ord($cadena) == 10) {
    echo "El primer caracter de \$cad es un salto de linea.\n";
}
?>

En esta dirección se puede encontrar una tabla con los caracteres ASCII: http://www.asciitable.com.

Vea también chr().

Anterior | Inicio | Siguiente
number_format | Subir | parse_str


parse_str

(PHP 3, PHP 4, PHP 5)

parse_str -- Divide la cadena en variables

Descripción

void parse_str ( string cadena [, array &array] )

Divide cadena como si fuera una cadena formada por una URL de las enviadas habitualmente en las consultas y crea las variables en el entorno de ejecución actual. Si se indica el segundo parámetro array, las variables se almacenan como elementos de ese array, en vez de crearse como variables en el entorno de ejecución actual.

Nota: El soporte del segundo parámetro se incluyó en PHP 4.0.3.

Nota: Para obtener el valor de la QUERY_STRING, se puede emplear la variable reservada $_SERVER['QUERY_STRING']. También puede ser de utilidad leer la sección de las variables externas a PHP.

Nota: La directiva de configuración magic_quotes_gpc afecta al comportamiento de esta función, ya que parse_str() emplea el mismo mecanismo que el utilizado por PHP para crear las variables $_GET, $_POST, etc.

Ejemplo 1. Usando parse_str()

<?php
$cadena = "primero=valor&amp;segundo[]=esto+funciona&amp;segundo[]=otro";
parse_str($cadena);
echo $primero;    /* escribe "valor" */
echo $segundo[0]; /* escribe "esto funciona" */
echo $segundo[1]; /* escribe "otro" */

parse_str($cadena, $salida);
echo $salida['primero'];      /* escribe "valor" */
echo $salida['segundo'][0]; /* escribe "esto funciona" */
echo $salida['segundo'][1]; /* escribe "otro" */

?>

Vea también parse_url(), pathinfo(), get_magic_quotes_gpc() y urldecode().

Anterior | Inicio | Siguiente
ord | Subir | print


print

(PHP 3, PHP 4, PHP 5)

print -- Muestra una cadena

Descripción

int print ( string cadena )

Muestra el valor de cadena por la salida definida. Siempre devuelve el valor 1.

print() no es realmente una función (es una sentencia del lenguaje) de modo que no se requiere el uso de los paréntesis.

Ejemplo 1. Ejemplos de print()

<?php
print("Hola mundo");

print "print() tambien funciona sin parentesis.";

print "Este texto se extiende
por varias lineas. Los saltos de linea
tambien se envian";

print "Este texto se extiende\npor varias lineas. Los saltos de linea\ntambien se envian.";

print "Para escapar caracteres, se debe indicar \"de esta forma\".";

// Se pueden usar variables dentro de una sentencia echo
$saludo = "que tal";
$despedida = "hasta luego";

print "hola, $saludo"; // hola, que tal

// Tambien se pueden usar arrays
$cadena = array("valor" => "saludo desde un array");

print "Esto es un {$cadena['valor']} "; // Esto es un saludo desde un array

// Si se emplean comillas simples, se muestra el nombre de la variable, no su valor
print 'hola, $saludo'; // hola, $saludo

// Si no se anade ningun caracter, tambien es posible emplear echo para mostrar el valor de las variables
print $saludo;             // que tal
print $saludo,$despedida;  // que talhasta luego

print <<<FIN
Este texto utiliza una sintaxis especial que
permite mostrar varias lineas de texto.
La etiqueta que indica el final del bloque de texto
(y que en este caso es "FIN") debe aparecer en una
linea que contenga solamente el valor de la etiqueta
y un caracter de punto y coma (ni siquiera puede
contener espacios en blanco).
FIN;
?>

En el siguiente articulo de la "FAQTs Knowledge Base" http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 puede encontrarse una argumentación sobre las diferencias entre las funciones print() y echo().

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

Vea también echo(), printf() y flush().

Anterior | Inicio | Siguiente
parse_str | Subir | printf


printf

(PHP 3, PHP 4, PHP 5)

printf -- Imprimir una cadena con formato

Descripción

int printf ( string formato [, mixed args [, mixed ...]] )

Produce una salida de acuerdo con el formato, el cual se describe en la documentación de sprintf().

Devuelve la longitud de la cadena impresa.

Vea también print(),
sprintf(), vprintf(),
sscanf(), fscanf(), y
flush().

Anterior | Inicio | Siguiente
print | Subir | quoted_printable_decode


quoted_printable_decode

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

quoted_printable_decode -- Convierte una cadena con marcación imprimible a una cadena de 8 bits

Descripción

string quoted_printable_decode ( string cadena )

Esta función devuelve una cadena binaria de 8 bit que se corresponde con la cadena con marcación imprimible decodificada. El formato empleado es el definido en RFC2045, sección 6.7 y no RFC2821, sección 4.5.2, por lo que no se eliminan los puntos sobrantes del principio de la línea. Esta función es similar a imap_qprint(), pero sin requerir que el módulo IMAP funcione.

Anterior | Inicio | Siguiente
printf | Subir | quotemeta


quotemeta

(PHP 3, PHP 4, PHP 5)

quotemeta -- Escapa los meta caracteres

Descripción

string quotemeta ( string cadena )

Devuelve la misma cadena original pero previamente inserta una barra invertida (\) antes de cada carácter que se encuentre en este grupo:

. \ + * ? [ ^ ] ( $ )

Nota: Esta función es segura binariamente.

Vea también addslashes(),
htmlentities(),
htmlspecialchars(),
nl2br() y
stripslashes().

Anterior | Inicio | Siguiente
quoted_printable_decode | Subir | rtrim


rtrim

(PHP 3, PHP 4, PHP 5)

rtrim -- Elimina el espacio en blanco (o más caracteres) del final de una cadena

Descripción

string rtrim ( string cadena [, string lista_caracteres] )

Nota: El segundo parámetro se añadió en la versión de PHP 4.1.0

La función devuelve una cadena con los espacios en blanco eliminados del final de la cadena indicada en el parámetro cadena. Si no se emplea el segundo parámetro (lista_caracteres), la función rtrim() elimina los siguientes caracteres:

  • " " (ASCII 32 (0x20)), un espacio en blanco.

  • "\t" (ASCII 9 (0x09)), un tabulador.

  • "\n" (ASCII 10 (0x0A)), una nueva linea.

  • "\r" (ASCII 13 (0x0D)), un retorno de carro.

  • "\0" (ASCII 0 (0x00)), el byte NUL.

  • "\x0B" (ASCII 11 (0x0B)), un tabulador vertical.

Además, con el parámetro lista_caracteres, se puede especificar la lista de caracteres que se quieren eliminar. El método consiste en enumerar todos los caracteres que se quieren eliminar, con la posibilidad de emplear .. para indicar un rango de caracteres.

Ejemplo 1. Ejemplo de rtrim()

<?php

$texto = "\t\tEn un lugar de la Mancha :) ...  ";
$texto_limpio = rtrim($texto);
// $texto_limpio = " En un lugar de la Mancha :) ..."
$texto_limpio = rtrim($texto, " \t.");
// $texto_limpio = " En un lugar de la Mancha :)"
$datos_normales = rtrim($datos_binarios, "\x00..\x1F");
// elimina los caracteres ASCII de control que aparecen al final de $datos_binarios
// (desde el car&aacute;cter de control 0 hasta el 31, ambos inclusive)

?>

Vea tambié trim() y ltrim().

Anterior | Inicio | Siguiente
quotemeta | Subir | setlocale


setlocale

(PHP 3, PHP 4, PHP 5)

setlocale -- Fija la información de localización (L10n)

Descripción

string setlocale ( int categoria, string localizacion [, string ...] )

string setlocale ( int categoria, array localizacion )

categoria es una cadena que especifica la categoría de las funciones afectadas por el ajuste de localización:

  • LC_ALL para todas las funciones

  • LC_COLLATE para la comparación de cadenas, ver strcoll()

  • LC_CTYPE para la conversión y clasificación de caracteres, como por ejemplo strtoupper()

  • LC_MONETARY para localeconv()

  • LC_NUMERIC para el separador decimal (vea también localeconv())

  • LC_TIME para el formateo de fecha y hora con strftime()

Nota: Desde la versión de PHP 4.2.0, está obsoleto la opción de indicar el parámetro categoria como una cadena, por lo que deben emplearse las constantes mostradas anteriormente. Si se pasa como una cadena (con comillas), se mostrará un mensaje de aviso.

Si localizacion es NULL o una cadena vacía "", los nombres localizados se fijarán a partir de las variables de entorno con los mismos nombres de las categorías anteriores, o desde "LANG".

Si la localizacion es "0" (cero) o no se modifica la configuración de localización, sólo se devuelve la configuración actual.

Si localizacion es un array o va seguido de más parámetros, entonces cada elemento del array o cada parámetro se intenta establecer como nueva configuración de localización hasta que la función tenga éxito. Este modo de funcionamiento es útil cuando una configuración de localización se conoce con diferentes nombres en sistemas diferentes o para brindar la posibilidad de elegir una localización en caso de que falle la localización principal.

Nota: La posibilidad de indicar varias configuraciones de localización está disponible desde la versión de PHP 4.3.0

La función devuelve la nueva localización establecida o FALSE si no existe la posibilidad de ajustar la localización o si la localización indicada no existe en el sistema o si el nombre de la categorí no es válido. Un nombre incorrecto de categoría tambié genera un mensaje de aviso. Los nombres de categorías y localizaciones se pueden encontrar en el RFC 1766 y en ISO 639. Cada sistema cuenta con su propio esquema de nombres para las localizaciones.

Nota: El valor devuelto por setlocale() depende del sistema en el que se esté ejecutando PHP, ya que devuelve exactamente lo mismo que lo que devuelve la función setlocale del sistema en el que se ejecuta.

Aviso

La información de localización se guarda a nivel de proceso, no de hilo de ejecución. Si se ejecuta PHP en un entorno de ejecución multi-hilo como IIS o Apache sobre Windows, puede que se produzcan cambios repentinos en los ajustes de la localización mientras se está ejecutando el script (incluso si el script no hace uso de la función setlocale()). Estos cambios se producen por el hecho de que otros scripts que se ejecutan en diferentes hilos del mismo proceso cambian la configuración de localización con la función setlocale() a nivel de proceso.

Sugerencia: Los usuarios de entornos Windows pueden encontrar información útil sobre los valores de localizacion en el sitio web MSDN de Microsoft. Las cadenas válidas para identificar idiomas se pueden consultar en la dirección http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp y las cadenas válidas para identificar países/regiones se pueden encontrar en http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp. Los sistemas Windows soportan los códigos de 3 letras definidos para los países/regiones por el estándar ISO 3166-Alpha-3, que se puede consultar en Sitio web de Unicode.

Ejemplo 1. Ejemplos de setlocale()

<?php
/* Establecer la localizacion al idioma Holandes */
setlocale(LC_ALL, 'nl_NL');

/* Salida localizada: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* Intentar diferentes nombres para la localizacion al idioma aleman en la version de PHP 4.3.0 */
$localizacion_aleman = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "El valor predeterminado del sistema para la localizacion en aleman es '$localizacion_aleman'";
?>

Ejemplo 2. Ejemplos de setlocale() en Windows

<?php
/* Establecer la localizacion al idioma Holandes */
setlocale(LC_ALL, 'nld_nld');

/* Salida localizada: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* Intentar diferentes nombres para la localizacion al idioma aleman en la version de PHP 4.3.0 */
$localizacion_aleman = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "El valor predeterminado del sistema para la localizacion en aleman es '$localizacion_aleman'";
?>

Anterior | Inicio | Siguiente
rtrim | Subir | sha1_file


sha1_file

(PHP 4 >= 4.3.0, PHP 5)

sha1_file -- Calcular el resumen criptográfico sha1 de un archivo

Descripción

string sha1_file ( string nombre_archivo [, bool salida_pura] )

Calcula el resumen criptográfico sha1 de nombre_archivo usando el Algoritmo de Hash Seguro US 1, y devuelve ese resumen. El resumen criptográfico es un número hexadecimal de 40 caracteres.

Lista de parámetros

nombre_archivo

El nombre de archivo

salida_pura

Cuando es TRUE, devuelve el resumen en un formato binario primitivo, con una longitud de 20. Su valor predeterminado es FALSE.

Valores retornados

Devuelve una cadena en caso de éxito, FALSE de lo contrario.

Registro de cambios

Versión | Descripción
5.0.0 | Se agregó el parámetro salida_pura
5.1.0 | Se modificó la función para usar la API de secuencias. Esto quiere decir que es posible usarla con envolturas, como sha1_file('http://example.com/..')

Ver también

sha1()
md5_file()
crc32()

Anterior | Inicio | Siguiente
setlocale | Subir | sha1


sha1

(PHP 4 >= 4.3.0, PHP 5)

sha1 -- Calcular el resumen criptográfico sha1 de una cadena

Descripción

string sha1 ( string cadena [, bool salida_pura] )

Calcula el resumen criptográfico sha1 de cadena usando el Algoritmo de Hash Seguro US 1, y devuelve ese resumen. El resumen criptográfico es un número hexadecimal de 40 caracteres. Si el parámetro opcional salida_pura es definido a TRUE, entonces el resumen sha1 es devuelto en su lugar en un formato binario puro, con una longitud de 20.

Nota: El parámetro opcional salida_pura fue añadido en PHP 5.0.0 y tiene un valor predeterminado de FALSE

Ejemplo 1. Un ejemplo de sha1()

<?php
$cadena = 'manzana';

if (sha1($cadena) === '6cc76bddf29e934258e30fbf301ad8ec89cb7cc6') {
    echo "&iquest;Quisiera una manzana verde o roja?";
    exit;
}
?>

Vea también sha1_file(), crc32(), y md5()

Anterior | Inicio | Siguiente
sha1_file | Subir | similar_text


similar_text

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

similar_text -- Calcula la similitud entre dos cadenas

Descripción

int similar_text ( string primera, string segunda [, float &porcentaje] )

Esta función calcula la similitud entre dos cadenas según se describe en Oliver [1993]. Nótese que esta implementación no utiliza una pila como en el pseudo-código de Oliver, sino llamadas recursivas que pueden o no acelerar el proceso completo. Nótese también que la complejidad de este algoritmo es O(N**3), donde N es la longitud de la cadena más larga.

si se pasa una referencia como tercer argumento, similar_text() calculará la similitud como porcentaje. Devuelve el número de caracteres coincidentes en ambas cadenas.

Vea también levenshtein() y soundex().

Anterior | Inicio | Siguiente
sha1 | Subir | soundex


soundex

(PHP 3, PHP 4, PHP 5)

soundex -- Calcula la clave soundex de una cadena

Descripción

string soundex ( string cadena )

Calcula la clave soundex de cadena.

Las claves soundex tienen la propiedad de que las palabras que se pronuncian de forma parecida tienen la misma clave, de modo que se pueden usar para simplificar la búsqueda en las bases de datos cuando se conoce la pronunciación pero no la transcripción. Esta función soundex devuelve una cadena de 4 caracteres que comienza por una letra.

La implementación de esta función soundex en particular es la descrita por Donald Knuth en "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392.

Ejemplo 1. Ejemplos de Soundex

<?php
soundex("Euler")       == soundex("Ellery");    // E460
soundex("Gauss")       == soundex("Ghosh");     // G200
soundex("Hilbert")     == soundex("Heilbronn"); // H416
soundex("Knuth")       == soundex("Kant");      // K530
soundex("Lloyd")       == soundex("Ladd");      // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

Vea también levenshtein(), metaphone() y similar_text().

Anterior | Inicio | Siguiente
similar_text | Subir | sprintf


sprintf

(PHP 3, PHP 4, PHP 5)

sprintf -- Devuelve una cadena con formato

Descripción

string sprintf ( string formato [, mixed args [, mixed ...]] )

Devuelve una cadena producida de acuerdo con la cadena de formato formato.

La cadena de formato se compone de cero o más directivas: caracteres ordinarios (excluyendo %) que son copiados directamente en el resultado, y unas especificaciones de conversión, cada una de las cuales produce una búsqueda por su propio parámetro. Esto se aplica tanto en sprintf() como en printf().

Cada especificación de conversión consiste de un signo de porcentaje (%), seguido por uno o más de los siguientes elementos, en orden:

  1. Un indicador de signo opcional que obliga a que se use un determinado signo (- o +) en un número. De forma predeterminada, sólo el signo - es usado en un número si éste es negativo. Este indicador obliga a los números positivos a que tengan también el signo + adjunto, comportamiento que se agregó en PHP 4.3.0.

  2. Un indicador de relleno opcional, que dice qué caracter será usado para adaptar el resultado al tamaño de cadena apropiado. Este puede ser un caracter de espacio, o un 0 (caracter cero). El comportamiento predeterminado es rellenar con espacios. Un caracter de relleno alternativo puede especificarse al colocar una comilla sencilla (') al comienzo. Vea los ejemplos más adelante.

  3. Un indicador de alineamiento opcional que dice si el resultado debe alinearse a la izquierda o a la derecha. El comportamiento predeterminado es alinear a la derecha; un caracter - en este lugar hace que la alineación sea a la izquierda.

  4. Un número opcional, un indicador de ancho que dice cuántos caracteres (como mínimo) debe producir la conversión.

  5. Un indicador de precisión opcional que dice cuántos dígitos decimales deben mostrarse para los números de punto flotante. Cuando se usa este indicador con una cadena, actúa como un punto de corte, indicando un límite máximo de caracteres para la cadena.

  6. Un indicador de tipo que especifica el tipo bajo el que deben tratarse los datos del argumento. Los posibles tipos son:

    % - un caracter de porcentaje literal. No requiere argumento.
    b - el argumento es tratado como un entero, presentado como un número binario.
    c - el argumento es tratado como un entero, y presentado como el caracter con ese valor ASCII.
    d - el argumento es tratado como un entero, y presentado como un número decimal (con signo).
    e - el argumento es tratado como notación científica (p.ej. 1.2e+2).
    u - el argumento es tratado como un entero, y presentado como un número decimal sin signo.
    f - el argumento es tratado como un flotante, y presentado como un número de punto flotante (teniendo en cuenta la localidad).
    F - el argumento es tratado como un flotante, y presentado como un número de punto flotante (no tiene en cuenta la localidad). Disponible desde PHP 4.3.10 y PHP 5.0.3.
    o - el argumento es tratado como un entero, y presentado como un número octal.
    s - el argumento es tratado y presentado como una cadena.
    x - el argumento es tratado como un entero y presentado como un número hexadecimal (con letras minúsculas).
    X - el argumento es tratado como un entero y presentado como un número hexadecimal (con letras mayúsculas).

A partir de PHP 4.0.6, la cadena de formato soporta la numeración/intercambio de argumentos. He aquí un ejemplo:

Ejemplo 1. Intercambio de argumentos

<?php
$formato = 'Hay %d monos en el %s';
printf($formato, $num, $ubicacion);
?>
Esto podría imprimir, "Hay 5 monos en el árbol". Pero imagine que creamos una cadena de formato en un archivo separado, generalmente por que queremos implementar un mecanismo de internacionalización, y re-escribimos el código:

Ejemplo 2. Intercambio de argumentos

<?php
$formato = 'El %s contiene %d monos';
printf($formato, $num, $ubicacion);
?>
Ahora tenemos un problema. El orden de los recipientes en la cadena de formato no coincide con el orden de los argumentos en el código. Quisiéramos dejar el código tal como está, y simplemente indicar en la cadena de formato cuáles argumentos están siendo referidos por los recipientes. Entonces re-escribiríamos la cadena de formato de esta forma:

Ejemplo 3. Intercambio de argumentos

<?php
$formato = 'El %2$s contiene %1$d monos';
printf($formato, $num, $ubicacion);
?>
Un beneficio adicional de esto es que puede repetir los recipientes sin agregar más argumentos en el código. Por ejemplo:

Ejemplo 4. Intercambio de argumentos

<?php
$formato = 'El %2$s contiene %1$d monos.
            Se trata de un bonito %2$s lleno con %1$d monos.';
printf($formato, $num, $ubicacion);
?>

Vea también printf(),
sscanf(), fscanf(),
vsprintf(), y
number_format().

Ejemplos

Ejemplo 5. printf(): ejemplos varios

<?php
$n =  43951789;
$u = -43951789;
$c = 65; // el valor ASCII 65 es 'A'

// note el doble %%, esto imprime un caracter '%' literal
printf("%%b = '%b'\n", $n); // representación binaria
printf("%%c = '%c'\n", $c); // imprime el caracter ascii, igual que la función chr()
printf("%%d = '%d'\n", $n); // representación de entero estándar
printf("%%e = '%e'\n", $n); // notación científica
printf("%%u = '%u'\n", $n); // representación entera sin signo de un entero positivo
printf("%%u = '%u'\n", $u); // representación entera sin signo de un entero negativo
printf("%%f = '%f'\n", $n); // representación en punto flotante
printf("%%o = '%o'\n", $n); // representación octal
printf("%%s = '%s'\n", $n); // representación de cadena
printf("%%x = '%x'\n", $n); // representación hexadecimal (minúsculas)
printf("%%X = '%X'\n", $n); // representación hexadecimal (mayúsculas)

printf("%%+d = '%+d'\n", $n); // indicador de signo en un entero positivo
printf("%%+d = '%+d'\n", $u); // indicador de signo en un entero negativo
?>

La salida de este programa sería:

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Ejemplo 6. printf(): indicadores de cadena

<?php
$s = 'mono';
$t = 'varios monos';

printf("[%s]\n",      $s); // salida de cadena estándar
printf("[%10s]\n",    $s); // alineación a derecha con espacios
printf("[%-10s]\n",   $s); // alineación a izquierda con espacios
printf("[%010s]\n",   $s); // el relleno con ceros funciona con cadenas también
printf("[%'#10s]\n",  $s); // usar el caracter de relleno '#'
printf("[%10.10s]\n", $t); // alineación a izquierda pero con un corte de 10 caracteres
?>

La salida de este programa sería:

[mono]
[      mono]
[mono      ]
[000000mono]
[######mono]
[varios mon]

Ejemplo 7. sprintf(): enteros con relleno de ceros

<?php
$fecha_iso = sprintf("%04d-%02d-%02d", $anyo, $mes, $dia);
?>

Ejemplo 8. sprintf(): formato de valores monetarios

<?php
$dinero1 = 68.75;
$dinero2 = 54.35;
$dinero = $dinero1 + $dinero2;
// echo $dinero imprimiría "123.1";
$con_formato = sprintf("%01.2f", $dinero);
// echo $con_formato imprime "123.10"
?>

Ejemplo 9. sprintf(): notación científica

<?php
$numero = 362525200;

echo sprintf("%.3e", $numero); // imprime 3.63e+8
?>

Anterior | Inicio | Siguiente
soundex | Subir | sscanf


sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf -- Trocea la entrada desde una cadena según un formato dado

Descripción

mixed sscanf ( string cadena, string formato [, mixed &...] )

La función sscanf() es la función de entrada análoga de printf(). sscanf() lee el parámetro cadena y lo interpreta según el formato especificado. (El formato empleado es el mismo que se documenta en la función sprintf()). Si sólo se pasan dos parámetros a esta función, los valores devueltos se devolverán en forma de matriz. Por otro lado, si se pasan parámetros opcionales, la función devuelve el número de valores asignados. Los parámetros opcionales se deben pasar por referencia.

Cualquier espacio en blanco que se introduzca en el parámetro formato produce una coincidencia con cualquier espacio en blanco del parámetro cadena. Por tanto, incluso un tabulador (\t) en formato puede producir una coincidencia con los espacios en blanco de cadena.

Ejemplo 1. Ejemplo de sscanf()

<?php
// obteniendo el n&uacute;mero de serie
$numserie = sscanf("SN/2350001","SN/%d");
// y la fecha de fabricaci&oacute;n
$fecha = "01 Enero 2000";
list($dia, $mes, $anno) = sscanf($fecha,"%d %s %d");
echo "El objeto $numserie fue fabricado el: $anno-".substr($mes,0,3)."-$dia\n";
?>
Si se pasan los parámetros opcionales, la función devolverá el número de valores asignados.

Ejemplo 2. Ejemplo de sscanf() - usando parámetros opcionales

<?php
// obtener autor y generar la ficha DocBook
$autor = "24\tLewis Carroll";
$n = sscanf($autor,"%d\t%s %s", $id, $nombre, $apellido);
echo "<author id='$id'>
    <firstname>$nombre</firstname>
    <surname>$apellido</surname>
</author>\n";
?>

Vea también: fscanf(), printf() y sprintf().

Anterior | Inicio | Siguiente
sprintf | Subir | str_getcsv


str_ireplace

(PHP 5)

str_ireplace -- Versión insensible a mayásculas y minúsculas de str_replace().

Descripción

mixed str_ireplace ( mixed busqueda, mixed reemplazo, mixed asunto [, int &conteo] )

Esta función devuelve una cadena o una matriz con todas las ocurrencias de busqueda en asunto (ignorando mayúsculas y minúsculas) sustituidas por el reemplazo dado. Si no necesita reglas de reemplazo sofisticadas, usted debería, por lo general, usar esta función en lugar de eregi_replace() o preg_replace() con el modificador i.

Si asunto es una matriz, entonces las búsquedas y reemplazos son realizados con cada entrada de asunto, y el valor devuelto es asimismo una matriz.

Si busqueda y reemplazo son matrices, entonces str_ireplace() toma un valor de cada matriz y los usa para realizar las búsquedas y reemplazos sobre asunto. Si reemplazo tiene menos valores que busqueda, entonces se usa una cadena vacía para el resto de valores de reemplazo. Si busqueda es una matriz y reemplazo es una cadena, entonces esta cadena de reemplazo es usada para cada valor de busqueda.

Ejemplo 1. Ejemplo de str_ireplace()

<?php
$etiqueta_body = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Esta función es segura con material binario.

Nota: A partir de PHP 5.0.0, el número de agujas encontradas y reemplazadas será devuelto en conteo, el cual es pasado por referencia. Antes de PHP 5.0.0, este parámetro no se encuentra disponible.

Vea también: str_replace(), preg_replace(), y strtr().

Anterior | Inicio | Siguiente
str_getcsv | Subir | str_pad


str_pad

(PHP 4 >= 4.0.1, PHP 5)

str_pad -- Rellena una cadena con otra hasta una longitud dada

Descripción

string str_pad ( string cadena_original, int longitud_relleno [, string cadena_relleno [, int tipo_relleno]] )

Esta función rellena la cadena cadena_original por la derecha, la izquierda o por ambos lados hasta la longitud indicada. Si no se especifica el argumento opcional cadena_relleno, la cadena_original se rellena con espacios. En caso contrario, será rellenada con los caracteres de cadena_relleno hasta el límite.

El argumento opcional tipo_relleno puede valer STR_PAD_RIGHT, STR_PAD_LEFT o STR_PAD_BOTH. Si no se especifica, se asume que vale STR_PAD_RIGHT.

Si el valor de longitud_relleno es negativo o menor que la longitud de la cadena original, no se produce rellenado alguno.

Ejemplo 1. Ejemplo de str_pad()

<?php
$cadena_original = "Alien";
print str_pad($cadena_original, 10);                      // produce "Alien     "
print str_pad($cadena_original, 10, "-=", STR_PAD_LEFT);  // produce "-=-=-Alien"
print str_pad($cadena_original, 10, "_", STR_PAD_BOTH);   // produce "__Alien___"
echo str_pad($cadena_original, 6 , "___");                // produce "Alien_"
?>

Nota: La cadena cadena_relleno puede ser truncada si el número de caracteres de relleno que se necesitan no es multiplo entero de la longitud de cadena_relleno.

Anterior | Inicio | Siguiente
str_ireplace | Subir | str_repeat


str_repeat

(PHP 4, PHP 5)

str_repeat -- Repite una cadena

Descripción

string str_repeat ( string cadena, int veces )

Devuelve la cadena repetida el número de veces indicado por el parámetro veces. veces debe ser mayor o igual que 0. Si su valor es 0, la función devuelve una cadena vacía.

Ejemplo 1. Ejemplo de str_repeat()

<?php
echo str_repeat("-=", 10);
?>

El resultado del ejemplo seria:

-=-=-=-=-=-=-=-=-=-=

Vea también for, str_pad() y substr_count().

Anterior | Inicio | Siguiente
str_pad | Subir | str_replace


str_replace

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

str_replace -- Sustitiye todas las apariciones de una cadena en otra

Descripción

mixed str_replace ( mixed cadena_buscada, mixed cadena_sustituta, mixed cadena_original [, int &veces] )

Esta función sustituye todas las apariciones de la cadena_buscada en la cadena cadena_original por la cadena_sustituta dada. Si no precisa reglas especiales de sustitución (como por ejemplo expresiones regulares), deberá usar siempre esta función en lugar de ereg_replace() o preg_replace().

Desde la versión de PHP 4.0.5, todos los parámetros de la función pueden ser de tipo array.

Aviso

En las versiones de PHP anteriores a la 4.3.3, existí un error cuando se empleaban matrices como parámetros cadena_buscada y cadena_sustituta que hacía que no se tuvieran en cuenta los índices vacíos de cadena_buscada y por tanto no se avanzara en la matriz de forma sincronizada con la otra matriz cadena_sustituta. Los scripts que estaban preparados para tratar este error, deben eliminar los valores vacíos de cadena_buscada antes de llamar a esta función para mantener el comportamiento original de la función.

Si cadena_original es una matriz, la búsqueda y sustitución se realiza en cada una de las entradas de cadena_original y por tanto, el valor devuelto también es una matriz.

Si cadena_buscada y cadena_sustituta son matrices, la función str_replace() selecciona cada vez un valor de ambas matrices y realiza la búsqueda/sustitución. Si cadena_buscada tiene menos elementos que cadena_sustituta, se emplea una cadena vacía para realizar el resto de sustituciones. Si cadena_buscada es una matriz y cadena_sustituta es una cadena, se emplea esta cadena para realizar la sustición de todos los valores de cadena_buscada.

Ejemplo 1. Ejemplo de str_replace()

<?php
// Obtiene: <body text='black'>
$etiqueta_body = str_replace("%body%", "black", "<body text='%body%'>");

// Obtiene: Hl Mnd d PHP
$vocales = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$solo_consonantes = str_replace($vocales, "", "Hola Mundo de PHP");

// Obtiene: Debes comer pizza, cerveza y helados todos los dias
$frase_original  = "Debes comer frutas, verduras y fibra todos los dias";
$sano = array("frutas", "verduras", "fibra");
$sabroso   = array("pizza", "cerveza", "helados");

$nueva_frase = str_replace($sano, $sabroso, $frase_original);

// El parametro "veces" esta disponible desde la version de PHP 5.0.0
$cadena = str_replace("ll", "", "yo llevaba la llave", $numero_veces);
echo $numero_veces; // El valor de $numero_veces es: 2
?>

Nota: Esta función es segura binariamente.

Nota: Desde la versión de PHP 5.0.0 el número de cadenas encontradas y sustituidas se devuelve en el parámetro veces, que se pasa por referencia. En las versiones anteriores a PHP 5.0.0, este parámetro no está disponible.

Vea también
str_ireplace(),
substr_replace(),
ereg_replace(),
preg_replace() y
strtr().

Anterior | Inicio | Siguiente
str_repeat | Subir | str_rot13


str_rot13

(PHP 4 >= 4.2.0, PHP 5)

str_rot13 -- Realizar la transformación rot13 sobre una cadena

Descripción

string str_rot13 ( string cadena )

Esta función aplica la codificación ROT13 sobre el argumento cadena y devuelve la cadena resultante. La codificación ROT13 simplemente desplaza cada letra en 13 posiciones en el alfabeto, mientras que deja todos los caracteres no-alfabéticos intactos. La codificación y la decodificación se realizan con la misma función, pasar una cadena codificada como argumento devolverá la versión original.

Ejemplo 1. Ejemplo de str_rot13()

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

Nota: El comportamiento de esta función era equivocado hasta PHP 4.3.0. Anteriormente, la cadena era también modificada, como si fuera pasada por referencia.

Anterior | Inicio | Siguiente
str_replace | Subir | str_shuffle


str_shuffle

(PHP 4 >= 4.3.0, PHP 5)

str_shuffle -- Reordena aleatoriamente una cadena

Descripción

string str_shuffle ( string cadena )

str_shuffle() baraja una cadena. Es creada una permutación de todas las posibles.

Ejemplo 1. Ejemplo de str_shuffle()

<?php
$cadena = 'abcdef';
$desordenada = str_shuffle($cadena);

// Esto imprime algo como: bfdaec
echo $desordenada;
?>

Vea también shuffle() y rand().

Anterior | Inicio | Siguiente
str_rot13 | Subir | str_split


str_split

(PHP 5)

str_split -- Convertir una cadena en una matriz

Descripción

array str_split ( string cadena [, int longitud_separacion] )

Convierte una cadena en una matriz. Si el parámetro opcional longitud_separacion es especificado, la matriz devuelta estará separada en pedazos, cada uno de longitud longitud_separacion, de otro modo cada trozo tendrá un caracter de longitud.

Se devuelve FALSE si longitud_separacion es menor que 1. Si la longitud longitud_separacion excede la longitud de cadena, entonces la cadena completa es devuelta como el primer (y único) elemento de la matriz.

Ejemplo 1. Ejemplos de uso de str_split()

<?php

$cadena = "Hello Friend";

$matriz1 = str_split($cadena);
$matriz2 = str_split($cadena, 3);

print_r($matriz1);
print_r($matriz2);

?>

La salida puede verse algo como:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

Vea también
chunk_split(),
preg_split(),
split(),
count_chars(),
str_word_count(), y
for.

Anterior | Inicio | Siguiente
str_shuffle | Subir | str_word_count


str_word_count

(PHP 4 >= 4.3.0, PHP 5)

str_word_count -- Devolver información sobre las palabras usadas en una cadena

Descripción

mixed str_word_count ( string cadena [, int formato [, string lista_caracteres]] )

Cuenta el número de palabras en cadena. Si el formato opcional no es especificado, entonces el valor devuelto será un número que representa el número de palabras encontradas. En caso de que el formato sea especificado, el valor devuelto será una matriz, cuyo contenido depende del formato. Los valores posibles para el formato y las salidas resultantes son listadas más adelante.

Para los propósitos de esta función, 'palabra' se define como una cadena dependiente de la localidad que contiene caracteres alfabéticos, la cual puede contener también, pero no comenzar con los caracteres "'" y "-".

Lista de parámetros

cadena

La cadena

formato

Especifica el valor de retorno de esta función. Los valores soportados actualmente son:

  • 0 - devuelve el número de palabras encontradas

  • 1 - devuelve una matriz que contiene todas las palabras encontradas en la cadena

  • 2 - devuelve una matriz asociativa, en donde la clave es la posición numérica de la palabra dentro de la cadena, y el valor es la palabra misma

lista_caracteres

Una lista de caracteres adicionales que serán considerados como 'palabra'

Valores retornados

Devuelve una matriz o un entero, dependiendo del formato elegido.

Registro de cambios

Versión | Descripción
5.1.0 | Agregado el parámetro lista_caracteres

Ejemplos

Ejemplo 1. Un ejemplo de str_word_count()

<?php

$cadena = "Hola amig0, se ve bien
          el dia de hoy!";

print_r(str_word_count($cadena, 1));
print_r(str_word_count($cadena, 2));
print_r(str_word_count($str, 1, 'àáãç0'));

echo str_word_count($cadena);

?>

El resultado del ejemplo seria:

Array
(
    [0] => Hola
    [1] => amig
    [2] => se
    [3] => ve
    [4] => bien
    [5] => el
    [6] => dia
    [7] => de
    [8] => hoy
)

Array
(
    [0] => Hola
    [5] => amig
    [12] => se
    [15] => ve
    [18] => bien
    [33] => el
    [36] => dia
    [40] => de
    [43] => hoy
)

Array
(
    [0] => Hola
    [1] => amig0
    [2] => se
    [3] => ve
    [4] => bien
    [5] => el
    [6] => dia
    [7] => de
    [8] => hoy
)

9

Ver también

explode()
preg_split()
split()
count_chars()
substr_count()

Anterior | Inicio | Siguiente
str_split | Subir | strcasecmp


strcasecmp

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

strcasecmp -- Comparación de cadenas insensible a mayúsculas y minúsculas y segura en modo binario

Descripción

int strcasecmp ( string cadena1, string cadena2 )

Devuelve < 0 si cadena1 es menor que cadena2; > 0 si cadena1 es mayor que cadena2 y 0 si son iguales.

Ejemplo 1. Ejemplo de strcasecmp()

<?php
$var1 = "Hola";
$var2 = "hola";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 es igual a $var2 en una comparaci&oacute;n sin tener en cuenta '
     .'may&uacute;sculas o min&uacute;sculas';
}
?>

Vea también ereg(), strcmp(),
substr(), stristr(), strncasecmp() y
strstr().

Anterior | Inicio | Siguiente
str_word_count | Subir | strchr


strchr

(PHP 3, PHP 4, PHP 5)

strchr -- Alias of strstr()

Descripción

This function is an alias of: strstr().

Anterior | Inicio | Siguiente
strcasecmp | Subir | strcmp


strcmp

(PHP 3, PHP 4, PHP 5)

strcmp -- Comparación de cadenas segura en modo binario

Descripción

int strcmp ( string cadena1, string cadena2 )

Devuelve < 0 si cadena1 es menor que cadena2; > 0 si cadena1 es mayor que cadena2 y 0 si son iguales.

Nótese que esta comparación es sensible a mayúsculas y minúsculas.

Vea también ereg(),
strcasecmp(),
substr(),
stristr(),
strncasecmp(),
strncmp() y
strstr().

Anterior | Inicio | Siguiente
strchr | Subir | strcoll


strcoll

(PHP 4 >= 4.0.5, PHP 5)

strcoll -- Comparación de cadenas basada en la localidad

Descripción

int strcoll ( string cad1, string cad2 )

Devuelve < 0 si cad1 es menor que cad2; > 0 si cad1 es mayor que cad2, y 0 si son equivalentes. strcoll() usa la localidad actual para realizar las comparaciones. Si la localidad actual es C o POSIX, esta función es equivalente a strcmp().

Note que esta comparación es sensible a mayúsculas y minúsculas, y a diferencia de strcmp(), esta función no es segura con material binario.

Nota: strcoll() fue agregada en PHP 4.0.5, pero no estuvo habilitada para win32 hasta 4.2.3.

Vea también preg_match(),
strcmp(), strcasecmp(),
substr(), stristr(),
strncasecmp(), strncmp(),
strstr(), y setlocale().

Anterior | Inicio | Siguiente
strcmp | Subir | strcspn


strcspn

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

strcspn -- Encuentra la longitud del elemento inicial que no coincide con la máscara

Descripción

int strcspn ( string cadena1, string cadena2 [, int comienzo [, int final]] )

Devuelve la longitud del segmento inicial de cadena1 que no contiene ninguno de los caracteres de cadena2.

Desde la versión de PHP 4.3.0, la función strcspn() acepta 2 parámetros opcionalesde tipo integer que se emplean para definir el comienzo y final de la cadena que se debe examinar.

Nota: Esta función es segura binariamente.

Vea también strspn().

Anterior | Inicio | Siguiente
strcoll | Subir | strip_tags


strip_tags

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

strip_tags -- Elimina etiquetas HTML y PHP de una cadena

Descripción

string strip_tags ( string cadena [, string etiquetas_permitidas] )

Esta función intenta eliminar todas las etiquetas HTML y PHP de la cadena dada. Utiliza la misma máquina de estados para eliminar las etiquetas que la función fgetss().

Puede usar el parámetro opcional para especificar las etiquetas que no deben eliminarse.

Nota: etiquetas_permitidas fue añadido en PHP 3.0.13, y PHP 4.0b3.

Desde la versión de PHP 4.3.0, los comentarios HTML también se eliminan. Esta característica es intrínseca de la función y no se puede evitar mediante el parámetro etiquetas_permitidas.

Aviso

La función no valida el código HTML pasado, asi que puede suceder que si existen etiquetas HTML mal construidas o no cerradas, el resultado puede presentar texto y datos eliminados.

Aviso

Debe tenerse en cuenta que la funció no modifica los atributos de las etiquetas que se permiten mediante el parámetro etiquetas_permitidas, por lo que un usuario con malas intenciones podrí incluir atributos como style y onmouseover cuando envía información a sitios como un foro de discusión.

Ejemplo 1. Ejemplo de strip_tags()

<?php
$texto = '<p>Parrafo de prueba.</p><!-- Comentario --> Mas texto';
echo strip_tags($texto);
echo "\n";

// Se permite la etiqueta <p>
echo strip_tags($texto, '<p>');
?>

El resultado del ejemplo seria:

Parrafo de prueba. Mas texto
<p>Parrafo de prueba.</p> Mas texto

La función strip_tags() es segura en modo binario desde la versión de PHP 5.0.0

Vea también htmlspecialchars().

Anterior | Inicio | Siguiente
strcspn | Subir | stripcslashes


stripcslashes

(PHP 4, PHP 5)

stripcslashes -- Desmarca la cadena marcada con addcslashes()

Descripción

string stripcslashes ( string cadena )

Devuelve una cadena con las barras invertidas eliminadas. Reconoce las marcas tipo C \n, \r ..., y la representación octal y hexadecimal.

Vea también addcslashes().

Anterior | Inicio | Siguiente
strip_tags | Subir | stripos


stripos

(PHP 5)

stripos -- Encontrar la posición de la primera ocurrencia de una cadena, insensible a mayúsculas y minúsculas

Descripción

int stripos ( string pajar, string aguja [, int desplazamiento] )

Devuelve la posición numérica de la primera ocurrencia de aguja en el pajar tipo string. A diferencia de strpos(), stripos() es indiferente a mayúsculas y minúsculas.

Note que la aguja puede ser una cadena de uno o más caracteres.

Si aguja no se encuentra, stripos() devolverá el valor boolean FALSE.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ejemplo 1. Ejemplos de stripos()

<?php
$encontradme = 'a';
$micadena1 = 'xyz';
$micadena2 = 'ABC';

$pos1 = stripos($micadena1, $encontradme);
$pos2 = stripos($micadena2, $encontradme);

// No, ciertamente 'a' no esta en 'xyz'
if ($pos1 === false) {
    echo "La cadena '$encontradme' no fue encontrada en la cadena '$micadena1'";
}

// Note nuestro uso de ===.  Simplemente == no funcionaría como es de
// esperarse, ya que la posición de 'a' es el caracter 0 (el primero).
if ($pos2 !== false) {
    echo "Encontramos '$encontradme' en '$micadena2' en la posición $pos2";
}
?>

Si aguja no es una cadena, es convertida a un entero y aplicada como el valor ordinal de un caracter.

El parámetro opcional desplazamiento le permite especificar el caracter en pajar a partir del que desea empezar a buscar. La posición devuelta sigue siendo relativa al comienzo de pajar.

Nota: Esta función es segura binariamente.

Vea también strpos(),
strrpos(), strrchr(),
substr(), stristr(),
strstr(), strripos() y
str_ireplace().

Anterior | Inicio | Siguiente
stripcslashes | Subir | stripslashes


stripslashes

(PHP 3, PHP 4, PHP 5)

stripslashes -- Desmarca la cadena marcada con addslashes()

Descripción

string stripslashes ( string cadena )

Devuelve una cadena con las barras invertidas eliminadas (\' se convierte en ', etc.). Las barras invertidas dobles (\\) se convierten en sencillas (\).

Un ejemplo de uso de la función stripslashes() es cuando la directiva magic_quotes_gpc tiene un valor de on (que es su valor por defecto) y no se van a insertar los datos en una base de datos o cualquier otro elemento que necesite escapar los caracteres (por ejemplo, cuando se van a mostrar los datos de forma directa en una página HTML).

Ejemplo 1. Ejemplo de stripslashes()

<?php
$cadena = "¿Te apellidas O\'reilly?";

// La salida es: ¿Te apellidas O'reilly?
echo stripslashes($cadena);
?>

Nota: stripslashes() no es recursiva, por lo que que si se quiere aplicar la función a una matriz multi-dimensional, se debe emplear una función recursiva.

Ejemplo 2. Uso de stripslashes() con una matriz

<?php
function stripslashes_recursiva($valor)
{
    $valor = is_array($valor) ?
                array_map('stripslashes_recursiva', $valor) :
                stripslashes($valor);

    return $valor;
}

// Ejemplo
$array = array("p\\'rueba", "prue\\'ba", array("pru\\'eba", "prueb\\'a"));
$array = stripslashes_recursiva($array);

// Output
print_r($array);
?>

El resultado del ejemplo seria:

Array
(
    [0] => p'rueba
    [1] => prue'ba
    [2] => Array
        (
            [0] => pru'eba
            [1] => prueb'a
        )

)

Para ver más información sobre "magic quotes", vea get_magic_quotes_gpc().

Vea también addslashes() y get_magic_quotes_gpc().

Anterior | Inicio | Siguiente
stripos | Subir | stristr


stristr

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

stristr -- Lo mismo que strstr() pero sin tener en cuenta mayúsculas o minúsculas

Descripción

string stristr ( string cadena, string caracter )

Devuelve toda la cadena desde la primera aparición del caracter. Tanto la cadena como el caracter se examinan sin tener en cuenta mayúsculas o minúsculas.

Si no se encuentra el caracter, devuelve FALSE.

Si el caracter no es una cadena, se convierte a entero y se usa como código de un carácter ASCII.

Ejemplo 1. Ejemplo de stristr()

<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e');
// Salida: ER@EXAMPLE.com
?>

Ejemplo 2. Comprobar si se encuentra una cadena

<?php
  $cadena = 'Hola Mundo';
  if(stristr($cadena, 'adios') === FALSE) {
    echo 'No se ha encontrado "adios" en la cadena';
  }
// Salida: No se ha encontrado "adios" en la cadena
?>

Ejemplo 3. Ejemplo de un carácter que no es una cadena

<?php
  $cadena = 'MANZANA';
  echo stristr($cadena, 97); // 97 = a minuscula
// Salida: MANZANA
?>

Nota: Esta función es segura binariamente.

See also
strstr(),
strrchr(),
substr(), and
ereg().

Anterior | Inicio | Siguiente
stripslashes | Subir | strlen


strlen

(PHP 3, PHP 4, PHP 5)

strlen -- Obtiene la longitud de la cadena

Descripción

int strlen ( string cadena )

Devuelve la longitud de la cadena indicada.

Ejemplo 1. Ejemplo de strlen()

<?php
$cadena = 'abcdef';
echo strlen($cadena); // 6

$cadena = ' ab cd ';
echo strlen($cadena); // 7
?>

Vea también count() y mb_strlen().

Anterior | Inicio | Siguiente
stristr | Subir | strnatcasecmp


strnatcasecmp

(PHP 4, PHP 5)

strnatcasecmp -- Comparación de cadenas insensible a mayúsculas y minúsculas usando un algoritmo de "orden natural"

Descripción

int strnatcasecmp ( string cadena1, string cadena2 )

Esta función implementa un algoritmo de comparación que ordena las cadenas alfanuméricas como lo haría un ser humano. El comportamiento de esta función es similar a strnatcmp(), pero la comparación no es sensible a mayúsculas y minúsculas. Para más información, vea la página de Martin Pool sobre Comparación de Cadenas en Orden Natural.

De forma similar a otras funciones de comparación de cadenas, esta devuelve < 0 si cadena1 es menor que cadena2; > 0 si cadena1 es mayor que cadena2, y 0 si son iguales.

Vea también ereg(),
strcasecmp(),
substr(),
stristr(),
strcmp(),
strncmp(),
strncasecmp(),
strnatcmp() y
strstr().

Anterior | Inicio | Siguiente
strlen | Subir | strnatcmp


strnatcmp

(PHP 4, PHP 5)

strnatcmp -- Compara cadenas usando un algoritmo de "orden natural"

Descripción

int strnatcmp ( string cadena1, string cadena2 )

Esta función implementa un algoritmo de comparación que ordena las cadenas alfanuméricas como lo haría un ser humano, que es lo que se denomina "orden natural". A continuación se puede ver un ejemplo de la diferencia entre este algoritmo y los algoritmos de ordenación de cadenas habituales en los ordenadores (utilizados en strcmp()):

<?php
$matriz1 = $matriz2 = array ("img12.png","img10.png","img2.png","img1.png");
echo "Comparacion de cadenas estandar\n";
usort($matriz1,"strcmp");
print_r($matriz1);
echo "\nComparacion de cadenas en orden natural\n";
usort($matriz2,"strnatcmp");
print_r($matriz2);
?>

El código anterior generará la siguiente salida:

Comparacion de cadenas estandar
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Comparacion de cadenas en orden natural
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)

Para más información, vea la página de Martin Pool sobre Comparación de Cadenas en Orden Natural.

De forma similar a otras funciones de comparación de cadenas, esta devuelve < 0 si cadena1 es menor que cadena2; > 0 si cadena1 es mayor que cadena2 y 0 si son iguales.

Nótese que esta comparación es sensible a mayúsculas y minúsculas.

Vea también ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcasecmp(), strstr(),
natsort() y natcasesort().

Anterior | Inicio | Siguiente
strnatcasecmp | Subir | strncasecmp


strncasecmp

(PHP 4 >= 4.0.2, PHP 5)

strncasecmp -- Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas

Descripción

int strncasecmp ( string cad1, string cad2, int longitud )

Esta función es similar a strcasecmp(), con la diferencia de que puede especificar el (límite superior de) número de caracteres (longitud) de cada cadena a ser usado en la comparación.

Devuelve < 0 si cad1 es menor que cad2; > 0 si cad1 es mayor que cad2, y 0 si son equivalentes.

Vea también preg_match(),
strcasecmp(), strcmp(),
substr(), stristr(), y
strstr().

Anterior | Inicio | Siguiente
strnatcmp | Subir | strncmp


strncmp

(PHP 4, PHP 5)

strncmp -- Comparación de los n primeros caracteres de cadenas, con seguridad binaria

Descripción

int strncmp ( string cadena1, string cadena2, int longitud )

Esta función es similar a strcmp(), con la diferencia que se puede especificar el (límite superior del) número de caractares (longitud) de cada cadena que se usarán en la comparación.

Devuelve < 0 si cadena1 es menor que cadena2; > 0 si cadena1 es mayor que cadena2 y 0 si son iguales.

Nótese que esta comparación es sensible a mayúsculas y minúsculas.

Vea también ereg(),
strncasecmp(),
strcasecmp(), substr(),
stristr(), strcmp() y
strstr().

Anterior | Inicio | Siguiente
strncasecmp | Subir | strpbrk


strpbrk

(PHP 5)

strpbrk -- Busca una cadena por cualquiera de los elementos de un conjunto de caracteres

Descripción

string strpbrk ( string pajar, string lista_caracteres )

strpbrk() busca la cadena pajar por una lista_caracteres, y devuelve una cadena que empieza desde el caracter encontrado (o FALSE si no se encuentra).

Nota: El parámetro lista_caracteres es sensible a mayúsculas y minúsculas.

Ejemplo 1. Ejemplo de strpbrk()

<?php

$texto = 'Este es un texto Simple.';

// esto imprime "e es un texto Simple." ya que 'e' coincide primero
echo strpbrk($texto, 'me');

// esto imprime "Simple." ya que los caracteres son sensibles a mayusculas/minusculas
echo strpbrk($texto, 'S');
?>

Anterior | Inicio | Siguiente
strncmp | Subir | strpos


strpos

(PHP 3, PHP 4, PHP 5)

strpos -- Encuentra la posición de la primera aparición de una cadena

Descripción

int strpos ( string cadena, string caracter [, int desplazamiento] )

Devuelve la posición numérica de la primera aparición de la caracter en la cadena cadena. A diferencia de strrpos(), esta función puede tomar una cadena completa como caracter y se utilizará en su totalidad.

Si no se encuentra el caracter, devuelve FALSE.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Nota: Esta función es segura binariamente.

Ejemplo 1. Ejemplos de strpos()

<?php
$mi_cadena = 'abc';
$caracter   = 'a';
$posicion = strpos($mi_cadena, $caracter);

// Seguidamente se utiliza ===.  La forma simple de comparacion (==)
// no funciona como deberia, ya que la posicion de 'a' es el caracter
// numero 0 (cero)
if ($posicion === false) {
    echo "No se encontro '$caracter' en la cadena '$mi_cadena'";
} else {
    echo "Se encontro '$caracter' en la cadena '$mi_cadena'";
    echo " en la posicion $posicion";
}

// Se puede buscar el caracter sin tener en cuenta los caracteres anteriores
// al desplazamiento
$nueva_cadena = 'abcdef abcdef';
$posicion = strpos($nueva_cadena, 'a', 1); // $posicion = 7, no 0
?>

Si el caracter no es una cadena, se convierte a entero y se aplica como el valor ordinal de un carácter.

El parámetro opcional desplazamiento le permite especificar a partir de qué carácter de la cadena se empieza a buscar. La posición devuelta sigue siendo relativa al comienzo de cadena.

Vea también strrpos(),
stripos(),
strripos(),
strrchr(),
substr(),
stristr() y
strstr().

Anterior | Inicio | Siguiente
strpbrk | Subir | strrchr


strrchr

(PHP 3, PHP 4, PHP 5)

strrchr -- Encuentra la última aparición de un caracter en una cadena

Descripción

string strrchr ( string cadena, string caracter )

Esta función devuelve la porción de la cadena que comienza en la última aparición del caracter y continúa hasta el final de la cadena.

Devuelve FALSE si el caracter no se encuentra.

Si el caracter contiene más de un caracter, sólo se usará el primero en PHP 4. Este comportamiento es diferente del de la función strchr().

Si el caracter no es una cadena, se convierte a entero y se aplica como el valor ordinal de un caracter.

Ejemplo 1. Ejemplo de strrchr()

<?php
// obtener el ultimo directorio de $PATH
$dir = substr (strrchr ($PATH, ":"), 1);

// obtener todo tras el ultimo salto de linea
$texto = "Linea 1\nLinea 2\nLinea 3";
$ultimo = substr (strrchr ($texto, 10), 1 );
?>

strrchr() es seguro de forma binaria desde la versión de PHP 4.3.0

Vea también strstr(), substr() y stristr().

Anterior | Inicio | Siguiente
strpos | Subir | strrev


strrev

(PHP 3, PHP 4, PHP 5)

strrev -- Invierte una cadena

Descripción

string strrev ( string cadena )

Devuele la cadena invertida.

Ejemplo 1. Ejemplo de strrev()

<?php
echo strrev("Hola Mundo"); // La salida es: "odnuM aloH"
?>

Anterior | Inicio | Siguiente
strrchr | Subir | strripos


strripos

(PHP 5)

strripos -- Encontrar la posición de la última ocurrencia de una cadena en otra, insensible a mayúsculas y minúsculas

Descripción

int strripos ( string pajar, string aguja [, int desplazamiento] )

Devuelve la posición numérica de la última ocurrencia de aguja en la cadena pajar. A diferencia de strrpos(), strripos() es indiferente a mayúsculas y minúsculas. También note que las posiciones de una cadena comienzan por 0, y no 1.

Note que la aguja puede ser una cadena de uno o más caracteres.

Si la aguja no es encontrada, se devuelve FALSE.

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Ejemplo 1. Un ejemplo simple de strripos()

<?php
$pajar = 'ababcd';
$aguja = 'aB';

$pos   = strripos($pajar, $aguja);

if ($pos === false) {
    echo "Lo siento, no encontramos ($aguja) en ($pajar)";
} else {
    echo "¡Felicitaciones!\n";
    echo "Encontramos la última ocurrencia de ($aguja) en ($pajar) en " .
         "la posición ($pos)";
}
?>

Produce la salida:

¡Felicitaciones!
Encontramos la última ocurrencia de (aB) en (ababcd) en la posición (2)

El parámetro desplazamiento puede ser especificado para comenzar la búsqueda en un número arbitrario de caracteres dentro de la cadena.

Valores de desplazamiento negativos comenzarán la búsqueda a desplazamiento caracteres del comienzo de la cadena.

Vea también strrpos(),
strrchr(), substr(),
stripos() y stristr().

Anterior | Inicio | Siguiente
strrev | Subir | strrpos


strrpos

(PHP 3, PHP 4, PHP 5)

strrpos -- Encuentra la posición de la última aparición de un caracter en una cadena

Descripción

int strrpos ( string cadena, string caracter [, int desplazamiento] )

Devuele la posición numérica de la última aparición de caracter en la cadena. Nótese que en PHP 4 el caracter sólo puede ser un caracter único. Si se pasa una cadena como caracter, sólo se utilizará el primer caracter de la misma.

Si no se encuentra el caracter, devuelve FALSE.

Los valores devueltos para "caracter encontrado en la posicion 0" y "caracter no encontrado" pueden confundirse con facilidad. A continuación se muestra como detectar esa diferencia:

<?php

// en versiones PHP 4.0b3 y posteriores:
$posicion = strrpos($mi_cadena, "b");
if ($posicion === false) { // notese los 3 signos "=" necesarios
    // no se encontro...
}

// en versiones anteriores a la 4.0b3:
$posicion = strrpos($mi_cadena, "b");
if (is_bool($posicion) && !$posicion) {
    // no se encontro...
}
?>

Si caracter no es una cadena, se convierte en un entero y se interpreta como el valor ordinal de un carácter.

Nota: A partir de la versión de PHP 5.0.0, se puede emplear un parámetro denominado desplazamiento y que indica la posición desde el comienzo de la cadena a partir de la que se empieza a buscar. Un valor negativo indica la posición desde el final de la cadena a partir del cual se deja de buscar.

Nota: Desde la versión de PHP 5.0.0 el parámetro caracter puede ser una cadena de más de un carácter de longitud.

Vea también strpos(),
strripos(),
strrchr(),
substr(),
stristr() y
strstr().

Anterior | Inicio | Siguiente
strripos | Subir | strspn


strspn

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

strspn -- Encuentra la longitud del primer segmento de una cadena que coincide con la máscara

Descripción

int strspn ( string cadena1, string cadena2 [, int comienzo [, int final]] )

Devuelve la longitud del primer segmento de cadena1 que coincide completamente con todos los caracteres contenidos en cadena2.

En el siguiente ejemplo:

<?php
$var = strspn("42 es la respuesta, cual es la pregunta ...", "1234567890");
?>

La variable $var tendrá un valor asignado de 2, ya que la cadena "42" es el segmento más largo que contiene los caracteres "1234567890".

Desde la versión de PHP 4.3.0, strspn() acepta 2 parámetros opcionales de tipo integer y que se pueden emplear para indicar la posición de comienzo y final de la cadena que se va a examinar.

<?php
echo strspn('zoologìa', 'o', 1, 4); // La salida es: 2
?>

Nota: Esta función es segura binariamente.

Vea también strcspn().

Anterior | Inicio | Siguiente
strrpos | Subir | strstr


strstr

(PHP 3, PHP 4, PHP 5)

strstr -- Encuentra la primera aparición de una cadena

Descripción

string strstr ( string pajar, string aguja )

Devuelve toda la cadena pajar desde la primera aparición de aguja hasta el final.

Si no se encuentra la aguja, devuelve FALSE.

Si aguja no es una cadena, se convierte a entero y se aplica como el valor ordinal de un caracter.

Nota: Esta función distingue entre mayúsculas y minúsculas, por lo que si no se desea esta distinción, debe emplearse la función stristr().

Ejemplo 1. Ejemplo de strstr()

<?php
$email = 'usuario@example.com';
$dominio = strstr($email, '@');
echo $dominio; // La salida es: @example.com
?>

Nota: Si solamente se requiere comprobar si aguja se encuentra presente en la cadena pajar, es recomendable emplear la función strpos() que es más rápida y consume menos memoria.

strstr() es segura en modo binario desde la versión PHP 4.3.0

Vea tambié ereg(), preg_match(),
stristr(), strpos(),
strrchr() y substr().

Anterior | Inicio | Siguiente
strspn | Subir | strtok


strtok

(PHP 3, PHP 4, PHP 5)

strtok -- Divide una cadena en elementos

Descripción

string strtok ( string cadena, string elemento )

strtok() se usa para dividir una cadena en elementos más pequeños, en los que cada elemento está delimitado por cualquier carácter del parámetro elemento. Es decir, que si tiene una cadena como "Esta es una cadena de ejemplo", podría dividirla en palabras individuales utilizando el espacio como divisor.

Ejemplo 1. Ejemplo de strtok()

<?php
$cadena = "Esta es\tuna cadena de\nejemplo";
/* Se emplea el tabulador y la nueva linea como elementos divisores  */
$tok = strtok ($cadena," ");

while ($tok !== false) {
    echo "Palabra=$tok<br />";
    $tok = strtok(" \n\t");
}
?>

Nótese que sólo la primera llamada a strtok utiliza el argumento cadena. Cada llamada subsiguiente necesita sólo el divisor a utilizar, puesto que ella guarda la posición actual en la cadena. Para comenzar de nuevo o para dividir otra cadena, simplemente llame a strtok con el argumento de cadena y se inicializará. Nótese que puede poner múltiples divisores como parámetro. La cadena será dividida cuando alguno de los caracteres del argumento sea hallado.

El comportamiento de la función cuando encuentra un trozo vacío se modificó en la versión PHP 4.1.0. El anterior comportamiento devolvía una cadena vacía y el nuevo (y correcto) comportamiento consiste en no tener en cuenta esa parte de la cadena:

Ejemplo 2. Anterior comportamietno de strtok()

<?php
$primer_token  = strtok('/algo', '/');
$segundo_token = strtok('/');
var_dump($primer_token, $segundo_token);
?>

Salida:

string(0) ""
    string(9) "algo"

Ejemplo 3. Nuevo comportamiento de strtok()

<?php
$primer_token  = strtok('/algo', '/');
$segundo_token = strtok('/');
var_dump($primer_token, $segundo_token);
?>

Salida:

string(9) "algo"
    bool(false)

Aviso

Esta función puede devolver FALSE, pero también puede devolver un valor no-booleano que será evaluado FALSE, como por ejemplo 0 o "". Por favor, lea la sección Booleans para más información. Utilice el operador === para comprobar el valor devuelto por esta función.

Vea también split() y explode().

Anterior | Inicio | Siguiente
strstr | Subir | strtolower


strtolower

(PHP 3, PHP 4, PHP 5)

strtolower -- Pasa a minúsculas una cadena

Descripción

string strtolower ( string cadena )

Devuelve la cadena con todas sus letras en minúsculas.

Nótese que las letras son definidas por la localización actual (el "locale" actual). Esto quiere decir que, por ejemplo, en el locale por defecto ("C"), los caracteres como la Ñ no serán convertidos.

Ejemplo 1. Ejemplo de strtolower()

<?php
$cadena = "El vEloZ mUrciÉlAgo Hindú ComÍA feliZ CardillO y KiWi";
$cadena = strtolower($cad);
echo $cadena; # Salida: el veloz murciélago hindú comía feliz cardillo y kiwi
?>

Nota: Esta función es segura binariamente.

Vea también strtoupper(), ucfirst(), ucwords() y mb_strtolower().

Anterior | Inicio | Siguiente
strtok | Subir | strtoupper


strtoupper

(PHP 3, PHP 4, PHP 5)

strtoupper -- Pasa a mayúsculas una cadena

Descripción

string strtoupper ( string cadena )

Devuelve la cadena con todas sus letras en mayúsculas.

Nótese que las letras son definidas por el locale actual. Esto quiere decir que, por ejemplo, en el locale por defecto ("C"), los caracteres como la ñ no serán convertidos.

Ejemplo 1. Ejemplo de strtoupper()

<?php
$cadena = "El vEloZ mUrciÉlAgo Hindú ComÍA feliZ CardillO y KiWi";
$cadena = strtoupper ($cadena);
echo $cadena; # Salida: EL VELOZ MURCIÉLAGO HINDÚ COMÍA FELIZ CARDILLO Y KIWI
?>

Nota: Esta función es segura binariamente.

Vea también strtolower(), ucfirst(), ucwords() y mb_strtoupper().

Anterior | Inicio | Siguiente
strtolower | Subir | strtr


strtr

(PHP 3, PHP 4, PHP 5)

strtr -- Traduce ciertos caracteres

Descripción

string strtr ( string cadena, string desde, string hasta )

string strtr ( string cadena, array pares_sustituidos )

Esta función trabaja sobre cadena, traduciendo todas las apariciones de cada caracter en desde por el caracter correspondiente en hasta y devolviendo el resultado.

Si desde y hasta son de distinta longitud, se ignoran los caracteres extra en la más larga.

Ejemplo 1. Ejemplo de strtr()

<?php
$cadena = strtr($cadena, "áéíóúñ", "aeioun");
?>

strtr() puede llamarse también con dos únicos argumentos. Si se llama de esta manera, se comporta de otro modo: desde debe ser entonces una matriz que contenga pares cadena -> cadena que serán sustituídos en la cadena original. strtr() siempre buscará la coincidencia más larga primero y *NO* intentará sustituir nada en lo que haya trabajado ya.

Ejemplo 2. Ejemplos de strtr() con 2 argumentos

<?php
$traduccion = array("hola" => "buenos dias", "buenos dias" => "hola");
echo strtr("hola a todos, no he dicho buenos dias", $traduccion);
?>

La salida serí:

buenos dias a todos, no he dicho hola

Nota: Esta característica (2 argumentos) fue añadida en la versión de PHP 4.0.0

Vea también ereg_replace().

Anterior | Inicio | Siguiente
strtoupper | Subir | substr_compare


substr_compare

(PHP 5)

substr_compare -- Comparación de 2 cadenas, segura con material binario, opcionalmente insensible a mayúsculas y minúsculas, a partir de un desplazamiento, y hasta un número límite de caracteres

Descripción

int substr_compare ( string cadena_principal, string cadena, int desplazamiento [, int longitud [, bool insensibilidad_mayusculas]] )

substr_compare() compara cadena_principal desde la posición desplazamiento con cadena hasta tantos caracteres como el valor de longitud.

Devuelve < 0 si cadena_principal desde la posición desplazamiento es menor que cadena, > 0 si es mayor que cadena, y 0 si son iguales. Si longitud es igual o mayor que la longitud de cadena_principal y longitud se define, substr_compare() imprime una advertencia y devuelve FALSE.

Si insensibilidad_mayusculas es TRUE, la comparación no distingue entre mayúsculas y minúsculas.

Ejemplo 1. Un ejemplo de substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // advertencia
?>

Anterior | Inicio | Siguiente
strtr | Subir | substr_count


substr_count

(PHP 4, PHP 5)

substr_count -- Cuenta el número de apariciones de la subcadena

Descripción

int substr_count ( string cadena, string caracter [, int comienzo [, int longitud]] )

substr_count() devuelve el número de veces que la subcadena caracter se encuentra en la cadena. La función distingue las mayúsculas y minúsculas de caracter.

Nota: La función no cuenta las cadenas que se solapan. (Ver ejemplo inferior)

Lista de parámetros

cadena

La cadena en la que se busca

caracter

El caracter o subcadena que se busca

comienzo

La posición en la que se empieza a contar

longitud

La máxima longitud desde la posición de comienzo en la que se busca la subcadena. Se produce un aviso si la suma del commienzo y la longitud es mayor que la longitud de cadena.

Valores retornados

La función devuelve un variable de tipo integer.

Registro de cambios

Versión | Descripción
5.1.0 | Se incluyen los parametros comienzo y longitud

Ejemplos

Ejemplo 1. Ejemplo de substr_count()

<?php
$text = 'This is a test';
echo strlen($text); // Salida = 14

echo substr_count($text, 'is'); // Salida = 2

// la cadena de busqueda se reduce a 's is a test', por lo que el resultado es 1
echo substr_count($text, 'is', 3);

// la cadena de busqueda se reduce a 's i', por lo que el resultado es 0
echo substr_count($text, 'is', 3, 3);

// se muestra un mensaje de advertencia, ya que 5+10 > 14
echo substr_count($text, 'is', 5, 10);

// el resultado es solo 1, ya que no se tienen en cuenta las subcadenas que se solapan
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Ver también

count_chars()
strpos()
substr()
strstr()

Anterior | Inicio | Siguiente
substr_compare | Subir | substr_replace


substr_replace

(PHP 4, PHP 5)

substr_replace -- Sustituye texto en una parte de una cadena

Descripción

string substr_replace ( mixed cadena, string cadena_sustituta, int comienzo [, int longitud] )

substr_replace() sustituye la parte de cadena delimitada por los parámetros comienzo y (opcionalmente) longitud por la cadena dada en cadena_sustituta. Si cadena es una matriz, entonces el resultado también será una matriz.

Si comienzo es positivo, la sustitución comenzará en dicha posición dentro de la cadena.

Si comienzo es negativo, la sustitución comenzará en dicha posición pero contando desde el final de cadena.

Si se especifica el largo y es positivo, representa el largo de la porción de cadena a sustituir. Si es negativo, representa el número de caracteres desde el final de cadena en los que se deja de sustituir. Si no se especifica, valdrá por defecto strlen(cadena); es decir, que acabará la sustitución al final de cadena.

Ejemplo 1. Ejemplo de substr_replace()

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";

/* Se sustituye todo el contenido de $var por 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Inserta 'bob' justo al inicio de $var. */
echo substr_replace ($var, 'bob', 0, 0) . "<br />\n";

/* Los dos siguientes cambian 'MNRPQR' en $var por 'bob'. */
echo substr_replace ($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace ($var, 'bob', -7, -1) . "<br />\n";

/* Borrar 'MNRPQR' de $var. */
echo substr_replace ($var, '', 10, -1) . "<br />\n";
?>

Nota: Esta función es segura binariamente.

Vea también str_replace() y substr().

Anterior | Inicio | Siguiente
substr_count | Subir | substr


substr

(PHP 3, PHP 4, PHP 5)

substr -- Devuelve parte de una cadena

Descripción

string substr ( string cadena, int comienzo [, int longitud] )

substr() devuelve la porción de cadena especificada por los parámetros comienzo y longitud.

Si comienzo es positivo o 0, la cadena devuelta comenzará en dicho carácter de cadena (los caracteres empiezan a contarse en cero). Por ejemplo, en la cadena 'abcdef', el carácter en la posición 0 es 'a', el carácter en la posición 2 es 'c', y así sucesivamente.

Ejemplo 1. Ejemplo básico de substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// El acceso a los caracteres dentro de una cadena se puede
// realizar directamente mediante las llaves
$string = 'abcdef';
echo $string{0};                 // a
echo $string{3};                 // d
echo $string{strlen($string)-1}; // f

?>

Si comienzo es negativo, la cadena devuelta comenzará en dicha posición contando desde el final de cadena.

Ejemplo 2. Ejemplo de valores negativos de comienzo

<?php
$rest = substr("abcdef", -1);    // devuelve "f"
$rest = substr("abcdef", -2);    // devuelve "ef"
$rest = substr("abcdef", -3, 1); // devuelve "d"
?>

Si se especifica longitud y es positiva, la cadena devuelta terminará como máximo longitud caracteres tras el comienzo. Si la longitud de la cadena es inferior o igual al valor del comienzo, la función devuelve FALSE.

Si se especifica longitud y es negativa, se omitirán longitud caracteres desde el final de la cadena (después de que la posición de comienzo se haya determinado cuando el comienzo es negativo). Si comienzo indica una posición mas allá de estos límites, se devuelve una cadean vacía.

Ejemplo 3. Ejemplo de uso de una longitud negativa

<?php
$rest = substr("abcdef", 0, -1);  // returns "abcde"
$rest = substr("abcdef", 2, -1);  // returns "cde"
$rest = substr("abcdef", 4, -4);  // returns ""
$rest = substr("abcdef", -3, -1); // returns "de"
?>

Vea también strrchr(),
substr_replace(),
ereg(),
trim(),
mb_substr() y
wordwrap().

Anterior | Inicio | Siguiente
substr_replace | Subir | trim


trim

(PHP 3, PHP 4, PHP 5)

trim -- Elimina espacios en blanco (u otros caracteres) del principio y final de una cadena

Descripción

string trim ( string cadena [, string lista_caracteres] )

La función devuelve una cadena con los espacios en blanco eliminados del principio y del final de la cadena indicada en el parámetro cadena. Si no se emplea el segundo parámetro (lista_caracteres), la función trim() elimina los siguientes caracteres:

  • " " (ASCII 32 (0x20)), un espacio en blanco.

  • "\t" (ASCII 9 (0x09)), un tabulador.

  • "\n" (ASCII 10 (0x0A)), una nueva linea.

  • "\r" (ASCII 13 (0x0D)), un retorno de carro.

  • "\0" (ASCII 0 (0x00)), el byte NUL.

  • "\x0B" (ASCII 11 (0x0B)), un tabulador vertical.

Lista de parámetros

cadena

La cadena a la que se eliminan los espacios en blanco (u otros caracteres)

lista_caracteres

Además, con el parámetro lista_caracteres, se puede especificar la lista de caracteres que se quieren eliminar. El método consiste en enumerar todos los caracteres que se quieren eliminar, con la posibilidad de emplear .. para indicar un rango de caracteres.

Valores retornados

La cadena con los espacios en blanco (u otros caracteres) eliminados

Registro de cambios

Versión | Descripción
4.1.0 | Se incluyó el parámetro opcional lista_caracteres.

Ejemplos

Ejemplo 1. Ejemplo de uso de trim()

<?php

$texto = "\t\tEn un lugar de la Mancha :) ...  ";

echo trim($texto);           // "En un lugar de la Mancha :) ..."
echo trim($texto, " \t.");   // "En un lugar de la Mancha :)"

// elimina los caracteres ASCII de control que aparecen al principio y al final de $datos_binarios
// (desde el car&aacute;cter de control 0 hasta el 31, ambos inclusive)
$datos_normales = trim($datos_binarios, "\x00..\x1F");

?>

Ejemplo 2. Limpiar valores de matrices con trim()

<?php
function limpia_valores(&$valor)
{
    $valor = trim($valor);
}

$frutas = array('manzana','platano ', ' arandano ');
var_dump($frutas);

array_walk($frutas, 'limpia_valores');
var_dump($frutas);

?>

El resultado del ejemplo seria:

array(3) {
  [0]=>
  string(5) "manzana"
  [1]=>
  string(7) "platano "
  [2]=>
  string(11) " arandano "
}
array(3) {
  [0]=>
  string(5) "manzana"
  [1]=>
  string(6) "platano"
  [2]=>
  string(9) "arandano"
}

Ver también

ltrim()
rtrim()

Anterior | Inicio | Siguiente
substr | Subir | ucfirst


ucfirst

(PHP 3, PHP 4, PHP 5)

ucfirst -- Pasar a mayúsculas el primer carácter de una cadena

Descripción

string ucfirst ( string cadena )

Pone en mayúsculas el primer carácter de cadena si es alfabético.

Nótese que 'alfabético' está determinado por la localización actual (el "locale" del sistema). Por ejemplo, en la configuración de localización por defecto "C", los caracteres como la a con diéresis (ä) no serán convertidos.

Ejemplo 1. Ejemplo de ucfirst()

<?php
$cadena = 'en un lugar de la mancha';
$cadena = ucfirst($cadena);             // En un lugar de la mancha

$cadena = 'EN UN LUGAR DE LA MANCHA';
$cadena = ucfirst($cadena);             // EN UN LUGAR DE LA MANCHA
$cadena = ucfirst(strtolower($cadena)); // En un lugar de la mancha
?>

Vea también strtolower(), strtoupper() y ucwords().

Anterior | Inicio | Siguiente
trim | Subir | ucwords


ucwords

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ucwords -- Pone en mayúsculas el primer carácter de cada palabra de una cadena

Descripción

string ucwords ( string cadena )

Pasa a mayúsculas la primera letra de cada palabra en cadena si dicho carácter es alfabético.

La forma de determinar qué es una palabra es la siguiente: cualquier cadena de caracteres que esté seguida por un espacio en blanco (los espacios en blanco definidos son: espacio, nueva línea, retorno de carro, tabulador horizontal y tabulador vertical).

Ejemplo 1. Ejemplo de ucwords()

<?php
$cadena = 'en un lugar de la mancha';
$cadena = ucwords($cadena);             // En Un Lugar De La Mancha

$cadena = 'EN UN LUGAR DE LA MANCHA';
$cadena = ucwords($cadena);             // EN UN LUGAR DE LA MANCHA
$cadena = ucwords(strtolower($cadena)); // En Un Lugar De La Mancha
?>

Nota: Esta función es segura binariamente.

Vea también strtoupper(), strtolower() y ucfirst().

Anterior | Inicio | Siguiente
ucfirst | Subir | vfprintf


vfprintf

(PHP 5)

vfprintf -- Write a formatted string to a stream

Description

int vfprintf ( resource handle, string format, array args )

Write a string produced according to format to the stream resource specified by handle. format is described in the documentation for sprintf().

Operates as fprintf() but accepts an array of arguments, rather than a variable number of arguments.

Returns the length of the outputted string.

See also: printf(),
sprintf(),
sscanf(), fscanf(),
vsprintf(), and
number_format().

Examples

Ejemplo 1. vfprintf(): zero-padded integers

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// will write the formatted ISO date to date.txt
?>

Anterior | Inicio | Siguiente
ucwords | Subir | vprintf


vprintf

(PHP 4 >= 4.1.0, PHP 5)

vprintf -- Imprimir una cadena con formato

Descripción

int vprintf ( string formato, array args )

Despliega los valores de una matriz como una cadena con formato de acuerdo al formato (el cual es descrito en la documentación de sprintf()).

Opera como printf() pero acepta una matriz como sus argumentos, en lugar de un número variable de argumentos.

Devuelve la longitud de la cadena impresa.

Vea también printf(), sprintf(), vsprintf()

Anterior | Inicio | Siguiente
vfprintf | Subir | vsprintf


vsprintf

(PHP 4 >= 4.1.0, PHP 5)

vsprintf -- Devuelve una cadena con formato

Descripción

string vsprintf ( string formato, array args )

Devuelve los valores de una matriz como una cadena con formato de acuerdo a formato (el cual es descrito en la documentación de sprintf()).

Opera como sprintf() pero acepta una matriz de argumentos, en lugar de un número variable de argumentos.

Vea también sprintf() y vprintf()

Anterior | Inicio | Siguiente
vprintf | Subir | wordwrap


wordwrap

(PHP 4 >= 4.0.2, PHP 5)

wordwrap -- Corta una cadena en un número dado de caracteres usando un carácter de ruptura de cadenas.

Descripción

string wordwrap ( string cadena [, int ancho [, string ruptura [, bool corte]]] )

Corta la cadena cadena en la columna especificada por el parámetro opcional ancho. La línea se rompe utilizando el parámetro opcional ruptura.

wordwrap() automáticamente cortará en la columna 75 y usará '\n' (nueva línea) si no se especifican el ancho o la ruptura.

Si el parámetro corte vale 1, la cadena siempre se corta en la anchura especificada. Por tanto, si una palabra sobrepasa la anchura, se cortará (ver el segundo ejemplo).

Nota: El parámetro opcional corte se incluyó en la versión de PHP 4.0.3

Ejemplo 1. Ejemplo de wordwrap()

<?php
$texto = "El veloz murcielago hindo comia feliz cardillo y kiwi.";
$nuevo_texto = wordwrap($texto, 20, "<br />\n");

echo $nuevo_texto;
?>

Este ejemplo mostraría:

El veloz murcielago<br />
hindo comia feliz<br />
cardillo y kiwi.

Ejemplo 2. Ejemplo de wordwrap()

<?php
$texto = "Una palabra muy laaaaaaaaaaaaaaaaaaaaaaaaarga.";
$nuevo_texto = wordwrap($texto, 8, "\n", 1);

echo "$nuevo_texto\n";
?>

Este ejemplo mostraría:

Una
palabra
muy
laaaaaaa
aaaaaaaa
aaaaaaaa
aarga.

Vea también nl2br() y chunk_split().

Anterior | Inicio | Siguiente
vsprintf | Subir | Shockwave Flash functions


Funciones de Sybase

Manual de PHP
Anterior Siguiente

CLXII. Funciones de Sybase

Tabla de contenidos
sybase_affected_rows -- Obtiene el número de filas afectadas en la última consulta
sybase_close -- Cierra una conexión Sybase
sybase_connect -- Abre una conexión con un servidor Sybase
sybase_data_seek -- Mueve el puntero interno de la fila
sybase_deadlock_retry_count -- Fija el contador de reintentos del deadlock
sybase_fetch_array -- Obtiene una fila como una matriz
sybase_fetch_assoc -- Obtiene el resultado de la sentencia como una matriz asociativa
sybase_fetch_field -- obtiene la información del campo
sybase_fetch_object -- carga una fila como un objeto
sybase_fetch_row -- obtiene una fila como una matriz enumerada
sybase_field_seek -- establece el offset de un campo
sybase_free_result -- libera el resultado de la memoria
sybase_get_last_message -- Regresa el último mensaje del servidor Sybase
sybase_min_client_severity -- Fija el nivel minimo de severidad del problema reportado por el servidor
sybase_min_error_severity -- Fija el error minimo a reportar según su severidad
sybase_min_message_severity -- Fija el mensaje Sets minimum message severity
sybase_min_server_severity -- Fija el nivel minimo de severidad del problema reportado por el servidor
sybase_num_fields -- obtiene el número de campos de un resultado
sybase_num_rows -- obtiene el número de filas de un resultado
sybase_pconnect -- abre una conexión persistente con Sybase
sybase_query -- envía una consulta a Sybase
sybase_result -- obtiene datos de un resultado
sybase_select_db -- seleccciona una base de datos Sybase
sybase_set_message_handler -- Fija el manejador a ser llamado cuando se emite un mensaje del sistema
sybase_unbuffered_query -- Envía una sentencia SQL a Sybase sin bloquear

Anterior | Inicio | Siguiente
SwishSearch->setStructure | Subir | sybase_affected_rows


sybase_affected_rows

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

sybase_affected_rows -- Obtiene el número de filas afectadas en la última consulta

Descripción

int sybase_affected_rows ( [resource id_enlace] )

sybase_affected_rows() devuelve el número de filas afectadas por la última consulta INSERT, UPDATE o DELETE en el servidor asociado con el identificador de enlace dado. Si no se especifica el identificador de enlace, se asume el último enlace abierto.

Ejemplo 1. Consulta-Delete

<?php
/* conectarse con la base de datos */
sybase_connect('SYBASE', '', '') or
die("No pudo conectarse");
sybase_select_db("bd");

sybase_query("DELETE FROM alguna_tabla WHERE id < 10");
printf("Registros eliminados: %d\n", sybase_affected_rows());
?>

El resultado del ejemplo seria:

Registros eliminados: 10

Este comando no es efectivo para sentencias SELECT, únicamente en sentencias que modifican registros. Para recuperar el número de filas devueltas desde un SELECT, use sybase_num_rows().

Vea también sybase_num_rows().

Anterior | Inicio | Siguiente
Funciones de Sybase | Subir | sybase_close


sybase_close

(PHP 3, PHP 4, PHP 5)

sybase_close -- Cierra una conexión Sybase

Descripción

bool sybase_close ( [int identificador_de_enlace] )

sybase_close() cierra el enlace a una base de datos Sybase que está asociada con el enlace identificador_de_enlace. Si el identificador de enlace no se específica, se asume el último enlace abierto.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Note que esto no es usualmente necesario, dado que los enlaces abiertos como no persistentes son cerradoa automáticamente al final de la ejecución del script.

sybase_close() no cierra enlaces persistentes generados por sybase_pconnect().

Vea también sybase_connect(), sybase_pconnect().

Anterior | Inicio | Siguiente
sybase_affected_rows | Subir | sybase_connect


sybase_connect

(PHP 3, PHP 4, PHP 5)

sybase_connect -- Abre una conexión con un servidor Sybase

Descripción

resource sybase_connect ( [string nombre_servidor [, string nombre_usuario [, string contrasenya [, string juego_caracteres [, string nombre_aplicacion]]]]] )

Devuelve un identificador de enlace Sybase positivo de tener éxito, o FALSE si fracasa.

sybase_connect() establece una conexión con un servidor Sybase. El argumento nombre_servidor tiene que ser un nombre de servidor válido que esté definido en el archivo 'interfaces'.

En caso de que se realice una segunda llamada a sybase_connect() con los mismos argumentos, no se establece un nuevo enlace, en su lugar, se devolverá el identificador del enlace ya abierto.

El enlace con el servidor será cerrado tan pronto como finalice la ejecución del script, a menos que sea cerrado antes al llamar explícitamente sybase_close().

Ejemplo 1. Ejemplo de sybase_connect()

<?php
$enlace = sybase_connect('SYBASE', '', '')
          or die("&iexcl;No pudo conectarse!");
echo "Se conect&oacute; satisfactoriamnete";
sybase_close($enlace);
?>

Vea también sybase_pconnect() y sybase_close().

Anterior | Inicio | Siguiente
sybase_close | Subir | sybase_data_seek


sybase_data_seek

(PHP 3, PHP 4, PHP 5)

sybase_data_seek -- Mueve el puntero interno de la fila

Descripción

int sybase_data_seek ( int result_identifier, int row_number )

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

sybase_data_seek() mueve el puntero interno de la fila del resultado asociado con el identificador de resultado específicado hacia el número de fila introducido. La siguiente llamada a sybase_fetch_row() devolverá esa fila.

Vea también sybase_data_seek().

Anterior | Inicio | Siguiente
sybase_connect | Subir | sybase_deadlock_retry_count


sybase_deadlock_retry_count

(PHP 4 >= 4.3.0, PHP 5)

sybase_deadlock_retry_count -- Fija el contador de reintentos del deadlock

Descripción

void sybase_deadlock_retry_count ( int contador_de_reintentos )

Usando sybase_deadlock_retry_count(), el número de reintentos puede ser definido en caso de encontrarse en deadlock. Por defecto, cada deadlock sigue intentando un número infinito de veces o hasta que el proceso es destruido por Sybase, el script es finalizado (por ejemplo, por set_time_limit()) ó la sentencia SQL es exitosa.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

Tabla 1. Valores para contador_de_reintentos

-1 | Reintenta por siempre (por defecto)
0 | No reintenta
n | Reintenta n veces

Anterior | Inicio | Siguiente
sybase_data_seek | Subir | sybase_fetch_array


sybase_fetch_array

(PHP 3, PHP 4, PHP 5)

sybase_fetch_array -- Obtiene una fila como una matriz

Descripción

matriz sybase_fetch_array ( resource result )

Regresa una matriz que corresponde a la fila obtenida, o FALSE si no hay más filas.

sybase_fetch_array() es una versión extendida de sybase_fetch_row(). Además de almacenar los datos en índices numéricos en la matriz resultante, tambi´n almacena los datos en índices asociativos, usando los nombres de los campos como llaves.

Una cosa importate es que usando sybase_fetch_array() no es significativamente más lento que usar sybase_fetch_row(), mientras que si provee un valor agregado significativo.

Nota: Cuando se seleccionan campos con nombres idénticos (por ejemplo, en una unión), los índices asociativos tendrán agregado un número secuencial, vea el ejemplo para más detalles.

Ejemplo 1. Nombres de campo idénticos

<?php
    $dbh = sybase_connect('SYBASE', '', '');
    $q = sybase_query('SELECT * FROM p, a WHERE p.person_id= a.person_id');
    var_dump(sybase_fetch_array($q));
    sybase_close($dbh);
?>

El ejemplo anterior producirá la siguiente salida (asumiendo que las dos tablas solo tienen una columna llamada "person_id" cada una):

array(4) {
  [0]=>
  int(1)
  ["person_id"]=>
  int(1)
  [1]=>
  int(1)
  ["person_id1"]=>
  int(1)
}

Vea también
sybase_fetch_row(),
sybase_fetch_assoc(),
sybase_fetch_object().

Anterior | Inicio | Siguiente
sybase_deadlock_retry_count | Subir | sybase_fetch_assoc


sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assoc -- Obtiene el resultado de la sentencia como una matriz asociativa

Descripción

matriz sybase_fetch_assoc ( int resultado )

Regresa una matriz que corresponde a las filas obtenidas o FALSE si no hay mas filas.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

sybase_fetch_assoc() es una adaptación de sybase_fetch_row() que usa los nombre de las columnas en lugar de números enteros como indices en la matriz resultante. En caso de columnas de diferentes tablas, con el mismo nombre, éstas son expresadas como: nombre, nombre1, nombre2, ..., nombreN.

Algo por tener en cuenta es, que usando sybase_fetch_assoc() significativamente no es más lenta que usar sybase_fetch_row(), dado que provee un valor agregado.

Vea también
sybase_fetch_array(),
sybase_fetch_object() y
sybase_fetch_row().

Anterior | Inicio | Siguiente
sybase_fetch_array | Subir | sybase_fetch_field


sybase_fetch_field

(PHP 3, PHP 4, PHP 5)

sybase_fetch_field -- obtiene la información del campo

Descripción

object sybase_fetch_field ( int result [, int field_offset] )

Devuelve un objeto conteniendo la información del campo

sybase_fetch_field() puede usarse para obtener información sobre los campos de una consulta determinada. Si no se específica el offset del campo, el siguiente campo que aún no halla sido tomado por sybase_fetch_field() es el que se obtiene.

Las propiedades del objeto son:

  • name - nombre de la columna. si la columna es el resultado de una función, esta propiedad se establece a computed#N, donde #N es un número de serie.

  • column_source - la tabla de la cual se tomo la columna

  • max_length - máxima longitud de la columna

  • numeric - 1 si la columna es numérica

Vea también sybase_field_seek().

Anterior | Inicio | Siguiente
sybase_fetch_assoc | Subir | sybase_fetch_object


sybase_fetch_object

(PHP 3, PHP 4, PHP 5)

sybase_fetch_object -- carga una fila como un objeto

Descripción

int sybase_fetch_object ( int result [, mixed object] )

Devuelve un objeto con las propiedades que corresponden a la fila tomada, o FALSE si no hay más filas.

sybase_fetch_object() es similar a sybase_fetch_assoc(), con una diferencia - se devuelve un objeto.

Use el segundo object para específicar el tipo del objeto que quiere de regreso. Si este parámetro es omitido, el objeto será de tipo stdClass.

Nota: A partir de PHP 4.3.0, esta funció no regresará miembros de objetos numéricos.

Comportamiento anterior:

object(stdclass)(3) {
  [0]=>
  string(3) "foo"
  ["foo"]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
}
Nuevo comportamiento:
object(stdclass)(3) {
  ["foo"]=>
  string(3) "foo"
  ["bar"]=>
  string(3) "bar"
}

Ejemplo 1. sybase_fetch_object() regresa Foo

<?php
    class Foo {
        var $foo, $bar, $baz;
    }

    // {...]
    $qrh= sybase_query('SELECT foo, bar, baz FROM example');
    $foo= sybase_fetch_object($qrh, 'Foo');
    $bar= sybase_fetch_object($qrh, new Foo());
    // {...]
?>

En términos de velocidad, esta función es identica a sybase_fetch_array(), y casi tan rápida como sybase_fetch_row() (la diferencia es insignificante).

Vea también sybase_fetch_array(), sybase_fetch_row().

Anterior | Inicio | Siguiente
sybase_fetch_field | Subir | sybase_fetch_row


sybase_fetch_row

(PHP 3, PHP 4, PHP 5)

sybase_fetch_row -- obtiene una fila como una matriz enumerada

Descripción

array sybase_fetch_row ( int result )

Devuelve una matriz que corresponde a la fila obtenida, o FALSE si no hay más filas.

sybase_fetch_row() obtiene una fila de datos del resultado asociado con el identificador de resultado específicado. La fila se devuelve como una matriz. Cada columna del resultado es almacenada en un offset de la matriz, comenzando en el offset 0.

Las siguientes llamadas a sybase_fetch_row() devolverán la siguiente fila del resultado, o FALSE si no hay más filas.

Tabla 1. Tipos de Datos

PHP | Sybase
string | VARCHAR, TEXT, CHAR, IMAGE, BINARY, VARBINARY, DATETIME
int | NUMERIC (w/o precision), DECIMAL (w/o precision), INT, BIT, TINYINT, SMALLINT
float | NUMERIC (w/ precision), DECIMAL (w/ precision), REAL, FLOAT, MONEY
NULL | NULL

Vea también
sybase_fetch_array(),
sybase_fetch_assoc(),
sybase_data_seek(),
sybase_fetch_object(),
sybase_result().

Anterior | Inicio | Siguiente
sybase_fetch_object | Subir | sybase_field_seek


sybase_field_seek

(PHP 3, PHP 4, PHP 5)

sybase_field_seek -- establece el offset de un campo

Descripción

int sybase_field_seek ( int result, int field_offset )

Localiza el campo específicado por el offset. Si la siguiente llamada sybase_fetch_field() no incluye un offset se devuelve este campo.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también sybase_fetch_field().

Anterior | Inicio | Siguiente
sybase_fetch_row | Subir | sybase_free_result


sybase_free_result

(PHP 3, PHP 4, PHP 5)

sybase_free_result -- libera el resultado de la memoria

Descripción

int sybase_free_result ( int result )

sybase_free_result() sólo se necesita usar en el caso de que este preocupado por el uso de demasiada memoria mientras se ejecuta su script. Todos los resultados en memoria son liberados cuando el script finaliza, puede llamar a sybase_free_result() con el identificador de resultado como argumento y la memoria asociada a ese resultado será liberada.

Anterior | Inicio | Siguiente
sybase_field_seek | Subir | sybase_get_last_message


sybase_get_last_message

(PHP 3, PHP 4, PHP 5)

sybase_get_last_message -- Regresa el último mensaje del servidor Sybase

Descripción

cadena sybase_get_last_message ( void )

sybase_get_last_message() Regresa el último mensaje reportado por el servidor Sybase.

Vea también sybase_min_message_severity().

Anterior | Inicio | Siguiente
sybase_free_result | Subir | sybase_min_client_severity


sybase_min_client_severity

(PHP 3, PHP 4, PHP 5)

sybase_min_client_severity -- Fija el nivel minimo de severidad del problema reportado por el servidor

Descripción

void sybase_min_client_severity ( int severidad_del_problema )

sybase_min_client_severity() Fija el minimo nivel de severidad a reportar del tipo de falla que el servidor haya encontrado.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

Vea también sybase_min_server_severity().

Anterior | Inicio | Siguiente
sybase_get_last_message | Subir | sybase_min_error_severity


sybase_min_error_severity

(PHP 3, PHP 4, PHP 5)

sybase_min_error_severity -- Fija el error minimo a reportar según su severidad

Descripción

void sybase_min_error_severity ( int severidad )

sybase_min_error_severity() Fije el nivel minimo de error a reportar según su severidad.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

Vea también sybase_min_message_severity().

Anterior | Inicio | Siguiente
sybase_min_client_severity | Subir | sybase_min_message_severity


sybase_min_message_severity

(PHP 3, PHP 4, PHP 5)

sybase_min_message_severity -- Fija el mensaje Sets minimum message severity

Descripción

void sybase_min_message_severity ( int severidad )

sybase_min_message_severity() Fija el nivel minimo del mensaje de error según su severidad.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

Vea también sybase_min_error_severity().

Anterior | Inicio | Siguiente
sybase_min_error_severity | Subir | sybase_min_server_severity


sybase_min_server_severity

(PHP 3, PHP 4, PHP 5)

sybase_min_server_severity -- Fija el nivel minimo de severidad del problema reportado por el servidor

Descripción

void sybase_min_server_severity ( int severidad_del_problema )

sybase_min_server_severity() Fija el minimo nivel de severidad a reportar del tipo de falla que el servidor haya encontrado.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

Vea también sybase_min_client_severity().

Anterior | Inicio | Siguiente
sybase_min_message_severity | Subir | sybase_num_fields


sybase_num_fields

(PHP 3, PHP 4, PHP 5)

sybase_num_fields -- obtiene el número de campos de un resultado

Descripción

int sybase_num_fields ( int result )

sybase_num_fields() devuelve el número de campos en un resultado.

Vea también
sybase_query(),
sybase_fetch_field(),
sybase_num_rows().

Anterior | Inicio | Siguiente
sybase_min_server_severity | Subir | sybase_num_rows


sybase_num_rows

(PHP 3, PHP 4, PHP 5)

sybase_num_rows -- obtiene el número de filas de un resultado

Descripción

int sybase_num_rows ( string result )

sybase_num_rows() devuelve el número de filas de un resultado.

Vea también:
sybase_num_fields(),
sybase_query(),
sybase_fetch_row().

Anterior | Inicio | Siguiente
sybase_num_fields | Subir | sybase_pconnect


sybase_pconnect

(PHP 3, PHP 4, PHP 5)

sybase_pconnect -- abre una conexión persistente con Sybase

Descripción

int sybase_pconnect ( [string servername [, string username [, string password [, string charset [, string appname]]]]] )

Devuelve: Un identificador de enlace persistente de Sybase positivo en caso de que pueda abrirlo, en caso de error devuelve FALSE

sybase_pconnect() actúa de forma muy parecida a sybase_connect() con dos grandes diferencias.

Primera, cuando se conecta, esta función primero tratará de encontrar un enlace (persistente) que ya esté abierto con el mismo host, nombre de usuario y contraseña. Si encuentra uno, devolverá un identificador para él en vez de abrir una nueva conexión.

Segunda, la conexión al servidor SQL no se cerrará cuando finalice la ejecución del script. En vez de esto, el enlace permanecerá abierto para un futuro uso (sybase_close() no podrá cerrar enlaces establecidos consybase_pconnect()).

Este tipo de enlaces son llamados 'persistentes'.

Vea también sybase_connect().

Anterior | Inicio | Siguiente
sybase_num_rows | Subir | sybase_query


sybase_query

(PHP 3, PHP 4, PHP 5)

sybase_query -- envía una consulta a Sybase

Descripción

int sybase_query ( string query [, int identificador_de_enlace] )

Devuelve un identificador de resultado Sybase positivo si es exitoso, o FALSE en caso de error.

sybase_query() envía una consulta a la actual base de datos activa en el servidor que está asociada con el identificador de enlace específicado. Si no se específica un identificador de enlace, se asume el último enlace abierto. Si no hay un enlace abierto, la función intentará establecer un enlace como si sybase_connect() fuese llamada, y lo usará.

Vea también: sybase_select_db(), sybase_connect().

Anterior | Inicio | Siguiente
sybase_pconnect | Subir | sybase_result


sybase_result

(PHP 3, PHP 4, PHP 5)

sybase_result -- obtiene datos de un resultado

Descripción

int sybase_result ( int result, int i, mixed field )

Devuelve el contenido de la celda en la fila y el offset específicado de un conjunto de resultados de Sybase.

sybase_result() devuelve el contenido de una celda de un resultado de Sybase. El parámetro field puede ser el offset del campo, o el nombre del campo, o el nombre de la tabla un punto y el nombre del campo (nombre_tabla.nombre_campo). Si el nombre de la columna tiene un alias ('select foo as bar from...'), use el alias en vez del nombre de la columna.

Cuando trabaje con conjuntos de resultados grandes, debe considerar el uso de alguna de las funciones que cargan una fila entera (especificadas abajo). Ya que estas funciones devuelven el contenido de múltiples celdas en una única llamada, son MUCHO más rápidas que sybase_result(). Además, note que específicar un offset númerico en el parámetro field es mucho más rápido que específicar un nombre de campo o nombre_tabla.nombre_campo.

Alternativas recomendadas para alto rendimiento:
sybase_fetch_row(),
sybase_fetch_array(),
sybase_fetch_object().

Anterior | Inicio | Siguiente
sybase_query | Subir | sybase_select_db


sybase_select_db

(PHP 3, PHP 4, PHP 5)

sybase_select_db -- seleccciona una base de datos Sybase

Descripción

int sybase_select_db ( string database_name [, int link_identifier] )

sybase_select_db() establece como activa la base de datos en el servidor asociada con el identificador de enlace específicado. Si no se específica un identificador de enlace, se asume el último enlace abierto. Si no hay un enlace abierto, la función intentará establecer un enlace como si sybase_connect() fuese llamada, y lo usará.

Cada llamada subsiguiente a sybase_query() será hecha en la base de datos activa.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Cada llamada subsecuente a sybase_query() se hará en la base de datos activa.

Vea también
    sybase_connect(),
    sybase_pconnect(),
    sybase_query()

Anterior | Inicio | Siguiente
sybase_result | Subir | sybase_set_message_handler


sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler -- Fija el manejador a ser llamado cuando se emite un mensaje del sistema

Descripción

bool sybase_set_message_handler ( callback handler [, int conexión] )

sybase_set_message_handler() Fija una función definida por el usuario para manejar los mensajes generados por el servidor SYBASE. Se debe especificar el nombre de una función global, o usar una matriz para especificar una referencia a un objeto y al nombre de un método.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

El manejador debe recibir cinco argumentos en el siguiente orden: número del mensaje, severidad, estado, número de linea y descripción. Los primeros cuatro son de tipo entero. El último es una cadena. Si la función regresa FALSE, PHP genera un mensajer de error ordinario.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: El parámetro conexión fue agregado en PHP 4.3.5.

Ejemplo 1. sybase_set_message_handler() llamada a una función

<?php
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Ejemplo 2. sybase_set_message_handler() llamada a una clase

<?php
    class Sybase {
        function handler($msgnumber, $severity, $state, $line, $text)
        {
            var_dump($msgnumber, $severity, $state, $line, $text);
        }
    }

    $sybase= new Sybase();
    sybase_set_message_handler(array($sybase, 'handler'));
?>

Ejemplo 3. sybase_set_message_handler() Mensajes no manejados

<?php
    // Regresa FALSE, desde esta funcion para indicar que no se pudo
    // manejar el mensaje, El error es impreso como un WARNING, la forma
    // de usar esto, es si no hay un manejador de mensajes instalado.
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        if (257 == $msgnumber) {
            return false;
        }
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Anterior | Inicio | Siguiente
sybase_select_db | Subir | sybase_unbuffered_query


sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_query -- Envía una sentencia SQL a Sybase sin bloquear

Descripción

int sybase_unbuffered_query ( string setencia, int identificador_de_enlace [, int almacena_resultado] )

Devuelve un identificador de resultado Sybase positivo en caso exitoso, o FALSE ante un error.

Nota: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

sybase_unbuffered_query() envía una consulta a la actual base de datos activa en el servidor que está asociada con el identificador de enlace especificado. Si no se especifica un identificador de enlace, se asume el último enlace abierto. Si no hay un enlace abierto, la función intentará establecer un enlace como si sybase_connect() fuese llamada, y lo usará.

A diferencia de sybase_query(), sybase_unbuffered_query() leerá sólo la primera fila del resultado asociado. sybase_fetch_array() una función similar leerá mas filas según necesite. sybase_data_seek() lee hasta la fila solicitada. Este comportamiento puede producir un mejor desempeño en resultados asociados muy grandes.

sybase_num_rows() Sólo regresará el número de filas del resultado asociado que ha sido leido. Para Sybase, el número de filas en un resultado es desconocido, por lo tanto debe ser calculado por una implementación del cliente.

Nota: Si no ha utilizado todos los resultados asociados antes de ejecutar una nueva sentencia, PHP generará una advertencia y cancelará todos los resultados pendientes. Para evitar esto, use sybase_free_result() el cual cancelará los resultados pendientes de una sentencia sin almacenamiento intermedio.

El parámetro opcional almacena_resultado puede estar en FALSE para indicar que el resultado asociado no debe ser traido a la memoria, y así minimiza el uso de la memoria, lo cuál es particularmente interesante con gran cantidad de filas en un resultado asociado.

Vea también sybase_query()

Ejemplo 1. Ejemplo sybase_unbuffered_query()

<?php
       $dbh= sybase_connect('SYBASE', '', '');
       $q= sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false);
       sybase_data_seek($q, 10000);
       $i= 0;
       while ($row= sybase_fetch_row($q)) {
               echo $row[0] . ' ' . $row[0];
               if ($i++ > 40000) break;
       }
       sybase_free_result($q);
       sybase_close($dbh);
?>

Anterior | Inicio | Siguiente
sybase_set_message_handler | Subir | TCP Wrappers Functions


TCP Wrappers Functions

Manual de PHP
Anterior Siguiente

CLXIII. TCP Wrappers Functions

Introducción

The TCP wrappers provides a classical Unix mechanism which has been designed to check if the remote client is able to connect from the given IP address.

Instalación

Tcpwrap is currently available through PECL http://pecl.php.net/package/tcpwrap.

If PEAR is available on your *nix-like system you can use the pear installer to install the tcpwrap extension, by the following command: pear -v install tcpwrap.

You can always download the tar.gz package and install tcpwrap by hand:

Ejemplo 1. tcpwrap install by hand

gunzip tcpwrap-xxx.tgz
tar -xvf tcpwrap-xxx.tar
cd tcpwrap-xxx
phpize
./configure && make && make install

Tabla de contenidos
tcpwrap_check -- Performs a tcpwrap check

Anterior | Inicio | Siguiente
sybase_unbuffered_query | Subir | tcpwrap_check


tcpwrap_check

(PECL)

tcpwrap_check -- Performs a tcpwrap check

Descripción

bool tcpwrap_check ( string daemon, string address [, string user [, bool nodns]] )

This function consults the /etc/hosts.allow and /etc/hosts.deny files to check if access to service daemon should be granted or denied for a client.

Lista de parámetros

daemon

The service name.

address

The client remote address. Can be either an IP address or a domain name.

user

An optional user name.

nodns

If address looks like domain name then DNS is used to resolve it to IP address; set nodns to TRUE to avoid this.

Valores retornados

This function returns TRUE if access should be granted, FALSE otherwise.

Ejemplos

Ejemplo 1. Deny all connections from localhost

If your /etc/hosts.deny file contains:

php: 127.0.0.1

And your code looks like:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('You are not welcome here');
}
?>

Ver también

For more details please consult hosts_access(3) man page.

Anterior | Inicio | Siguiente
TCP Wrappers Functions | Subir | Tidy Functions


Tidy Functions

Manual de PHP
Anterior Siguiente

CLXIV. Tidy Functions

Introducción

Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.

Requisitos

To use Tidy, you will need libtidy installed, available on the tidy homepage http://tidy.sourceforge.net/.

Instalación

Tidy is currently available for PHP 4.3.x and PHP 5 as a PECL extension from http://pecl.php.net/package/tidy.

Nota: Tidy 1.0 is just for PHP 4.3.x, while Tidy 2.0 is just for PHP 5.

If PEAR is available on your *nix-like system you can use the pear installer to install the tidy extension, by the following command: pecl install tidy.

You can always download the tar.gz package and install tidy by hand:

Ejemplo 1. tidy install by hand in PHP 4.3.x

gunzip tidy-xxx.tgz
tar -xvf tidy-xxx.tar
cd tidy-xxx
phpize
./configure && make && make install

Windows users can download the extension dll from http://pecl4win.php.net/ext.php/php_tidy.dll.

In PHP 5 you need only to compile using the --with-tidy option.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Tidy Configuration Options

Name | Default | Changeable | Changelog
tidy.default_config | "" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
tidy.clean_output | "0" | PHP_INI_PERDIR | Available since PHP 5.0.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

tidy.default_config string

Default path for tidy config file.

tidy.clean_output boolean

Turns on/off the output repairing by Tidy.

Aviso

Do not turn on tidy.clean_output if you are generating non-html content such as dynamic images.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Clases predefinidas

tidyNode

Métodos

  • tidyNode::getParent - Returns the parent of the current node

  • tidyNode->hasChildren - Returns TRUE if the current node has children

  • tidyNode->hasSiblings - Returns TRUE if the current node has siblings

  • tidyNode->isAsp - Returns TRUE if the current node is ASP code

  • tidyNode->isComment - Returns TRUE if the current node is a comment

  • tidyNode->isHtml - Returns TRUE if the current node is HTML

  • tidyNode->isJste - Returns TRUE if the current node is JSTE

  • tidyNode->isPhp - Returns TRUE if the current node is PHP

  • tidyNode->isText - Returns TRUE if the current node is Text (no markup)

Propiedades

  • value - the value of the node (e.g. the html text)

  • name - the name of the tag (e.g. html, a, etc..)

  • type - the type of the node (one of the constants above, e.g. TIDY_NODETYPE_PHP)

  • line* - the line where the node starts

  • column* - the column where the node starts

  • proprietary* - TRUE if the node refers to a proprietary tag

  • id - the ID of the tag (one of the constants above, e.g. TIDY_TAG_FRAME)

  • attribute - an array with the attributes of the current node, or NULL if there aren't any

  • child - an array with the child tidyNodes, or NULL if there aren't any

Nota: The properties marked with * are just available since PHP 5.1.0.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Each TIDY_TAG_XXX represents a HTML tag. For example, TIDY_TAG_A represents a <a href="XX">link</a> tag. Each TIDY_ATTR_XXX represents a HTML atribute. For example TIDY_ATTR_HREF would represent the href atribute in the previous example.

The following constants are defined:

Tabla 2. tidy tag constants

constant
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

Tabla 3. tidy attribute constants

constant
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

Tabla 4. tidy nodetype constants

constant | description
TIDY_NODETYPE_ROOT | root node
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | HTML comment
TIDY_NODETYPE_PROCINS | Processing Instruction
TIDY_NODETYPE_TEXT | Text
TIDY_NODETYPE_START | start tag
TIDY_NODETYPE_END | end tag
TIDY_NODETYPE_STARTEND | empty tag
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | XML section
TIDY_NODETYPE_ASP | ASP code
TIDY_NODETYPE_JSTE | JSTE code
TIDY_NODETYPE_PHP | PHP code
TIDY_NODETYPE_XMLDECL | XML declaration

Ejemplos

This simple example shows basic Tidy usage.

Ejemplo 2. Basic Tidy usage

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>

Tabla de contenidos
ob_tidyhandler -- ob_start callback function to repair the buffer
tidy_access_count -- Returns the Number of Tidy accessibility warnings encountered for specified document
tidy_clean_repair -- Execute configured cleanup and repair operations on parsed markup
tidy_config_count -- Returns the Number of Tidy configuration errors encountered for specified document
tidy::__construct -- Constructs a new tidy object
tidy_diagnose -- Run configured diagnostics on parsed and repaired markup
tidy_error_count -- Returns the Number of Tidy errors encountered for specified document
tidy_get_body -- Returns a tidyNode Object starting from the <body> tag of the tidy parse tree
tidy_get_config -- Get current Tidy configuration
tidy_get_error_buffer -- Return warnings and errors which occurred parsing the specified document
tidy_get_head -- Returns a tidyNode Object starting from the <head> tag of the tidy parse tree
tidy_get_html_ver -- Get the Detected HTML version for the specified document
tidy_get_html -- Returns a tidyNode Object starting from the <html> tag of the tidy parse tree
tidy_get_opt_doc -- Returns the documentation for the given option name
tidy_get_output -- Return a string representing the parsed tidy markup
tidy_get_release -- Get release date (version) for Tidy library
tidy_get_root -- Returns a tidyNode object representing the root of the tidy parse tree
tidy_get_status -- Get status of specified document
tidy_getopt -- Returns the value of the specified configuration option for the tidy document
tidy_is_xhtml -- Indicates if the document is a XHTML document
tidy_is_xml -- Indicates if the document is a generic (non HTML/XHTML) XML document
tidy_load_config -- Load an ASCII Tidy configuration file with the specified encoding
tidy_node->get_attr -- Return the attribute with the provided attribute id
tidy_node->get_nodes -- Return an array of nodes under this node with the specified id
tidy_node->next -- Returns the next sibling to this node
tidy_node->prev -- Returns the previous sibling to this node
tidy_parse_file -- Parse markup in file or URI
tidy_parse_string -- Parse a document stored in a string
tidy_repair_file -- Repair a file and return it as a string
tidy_repair_string -- Repair a string using an optionally provided configuration file
tidy_reset_config -- Restore Tidy configuration to default values
tidy_save_config -- Save current settings to named file
tidy_set_encoding -- Set the input/output character encoding for parsing markup
tidy_setopt -- Updates the configuration settings for the specified tidy document
tidy_warning_count -- Returns the Number of Tidy warnings encountered for specified document
tidyNode->hasChildren -- Returns true if this node has children
tidyNode->hasSiblings -- Returns true if this node has siblings
tidyNode->isAsp -- Returns true if this node is ASP
tidyNode->isComment -- Returns true if this node represents a comment
tidyNode->isHtml -- Returns true if this node is part of a HTML document
tidyNode->isJste -- Returns true if this node is JSTE
tidyNode->isPhp -- Returns true if this node is PHP
tidyNode->isText -- Returns true if this node represents text (no markup)
tidyNode::getParent -- returns the parent node of the current node

Anterior | Inicio | Siguiente
tcpwrap_check | Subir | ob_tidyhandler


ob_tidyhandler

(PHP 5)

ob_tidyhandler -- ob_start callback function to repair the buffer

Description

string ob_tidyhandler ( string input [, int mode] )

ob_tidyhandler() is intended to be used as a callback function for ob_start() to repair the buffer.

Ejemplo 1. ob_tidyhandler() example

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

El resultado del ejemplo seria:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

See also ob_start().

Anterior | Inicio | Siguiente
Tidy Functions | Subir | tidy_access_count


tidy_access_count

(PHP 5)

tidy_access_count -- Returns the Number of Tidy accessibility warnings encountered for specified document

Description

int tidy_access_count ( tidy object )

tidy_access_count() returns the number of accessibility warnings found for the specified document.

Nota: Due to the design of the TidyLib, you must call tidy_diagnose() before tidy_access_count() or it will return always 0. You must also need to enable the accessibility-check option.

Ejemplo 1. tidy_access_count() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// select the accessibility check level: 1, 2 or 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->CleanRepair();

/* Never forget to call this! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

See also tidy_error_count() and tidy_warning_count().

Anterior | Inicio | Siguiente
ob_tidyhandler | Subir | tidy_clean_repair


tidy_clean_repair

(PHP 5)

tidy_clean_repair -- Execute configured cleanup and repair operations on parsed markup

Description

Procedural style:

bool tidy_clean_repair ( tidy object )

Object oriented style:

bool tidy->cleanRepair ( void )

This function cleans and repairs the given tidy object.

Ejemplo 1. tidy_clean_repair() example

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
tidy_clean_repair($tidy);

echo $tidy;
?>

El resultado del ejemplo seria:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

See also tidy_repair_file() and tidy_repair_string().

Anterior | Inicio | Siguiente
tidy_access_count | Subir | tidy_config_count


tidy_config_count

(PHP 5)

tidy_config_count -- Returns the Number of Tidy configuration errors encountered for specified document

Description

int tidy_config_count ( tidy object )

tidy_config_count() returns the number of errors encountered in the configuration of the specified tidy object.

Ejemplo 1. tidy_config_count() example

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* This outputs 1, because 'bogus' isn't a valid doctype */
echo tidy_config_count($tidy);
?>

Anterior | Inicio | Siguiente
tidy_clean_repair | Subir | tidy::__construct


tidy::__construct

(no version information, might be only in CVS)

tidy::__construct -- Constructs a new tidy object

Description

tidy tidy::__construct ( [string filename [, mixed config [, string encoding [, bool use_include_path]]]] )

tidy::__construct() constructs a new tidy object.

If the filename parameter is given, this function will also read that file and initialize the object with the file, acting like tidy_parse_file().

El parametro config puede ser enviado como una matriz o como una cadena alfanumerica. Si se envia como una cadena alfanumerica, signica que sera interpretado como el nombre del fichero de configuracion, de lo contrario, como opciones. Consultar http://tidy.sourceforge.net/docs/quickref.html para una explicacion de todas las opciones.

El parametro encoding define la codificacion para las salidas/entradas de los documentos. Los valores que se pueden utilizar son ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis.

Ejemplo 1. tidy::__construct() example

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy;
$tidy->parseString($html);

$tidy->CleanRepair();

if ($tidy->errorBuffer) {
    echo "The following errors were detected:\n";
    echo $tidy->errorBuffer;
}

?>

El resultado del ejemplo seria:

The following errors were detected:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

See also tidy_parse_file() and tidy_parse_string().

Anterior | Inicio | Siguiente
tidy_config_count | Subir | tidy_diagnose


tidy_diagnose

(PHP 5)

tidy_diagnose -- Run configured diagnostics on parsed and repaired markup

Description

Procedural style:

bool tidy_diagnose ( tidy object )

Object oriented style:

bool tidy->diagnose ( void )

tidy_diagnose() runs diagnostic tests on the given tidy object, adding some more information about the document in the error buffer.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. tidy_diagnose() example

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>paragraph</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->CleanRepair();

// note the difference between the two outputs
echo tidy_get_error_buffer($tidy) . "\n";

$tidy->diagnose();
echo tidy_get_error_buffer($tidy);

?>

El resultado del ejemplo seria:

line 5 column 1 - Warning: <p> isn't allowed in <head> elements
line 5 column 1 - Warning: inserting missing 'title' element

line 5 column 1 - Warning: <p> isn't allowed in <head> elements
line 5 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

See also tidy_get_error_buffer().

Anterior | Inicio | Siguiente
tidy::__construct | Subir | tidy_error_count


tidy_error_count

(PHP 5)

tidy_error_count -- Returns the Number of Tidy errors encountered for specified document

Description

int tidy_error_count ( tidy object )

tidy_error_count() returns the number of Tidy errors encountered for the specified document.

Ejemplo 1. tidy_error_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

El resultado del ejemplo seria:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

See also tidy_access_count() and tidy_warning_count().

Anterior | Inicio | Siguiente
tidy_diagnose | Subir | tidy_get_body


tidy_get_body

(PHP 5)

tidy_get_body -- Returns a tidyNode Object starting from the <body> tag of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_body ( tidy object )

Object oriented style:

tidyNode tidy->body ( void )

This function returns a tidyNode object starting from the <body> tag of the tidy parse tree.

Ejemplo 1. tidy_get_body() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$body = tidy_get_body($tidy);
echo $body->value;
?>

El resultado del ejemplo seria:

<body>
<p>paragraph</p>
</body>

Nota: Esta funcion esta disponible solamente con Zend Engine 2, o lo que es lo mismo PHP >= 5.0.0.

See also tidy_get_head() and tidy_get_html().

Anterior | Inicio | Siguiente
tidy_error_count | Subir | tidy_get_config


tidy_get_config

(PHP 5)

tidy_get_config -- Get current Tidy configuration

Description

Procedural style:

array tidy_get_config ( tidy object )

Object oriented style:

array tidy->getConfig ( void )

tidy_get_config() returns an array with the configuration options in use by the given tidy object.

For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.

Ejemplo 1. tidy_get_config() example

<?php
$html = '<p>test</p>';
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r(tidy_get_config($tidy));
?>

El resultado del ejemplo seria:

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

See also tidy_reset_config() and tidy_save_config().

Anterior | Inicio | Siguiente
tidy_get_body | Subir | tidy_get_error_buffer


tidy_get_error_buffer

(PHP 5)

tidy_get_error_buffer -- Return warnings and errors which occurred parsing the specified document

Description

Procedural style:

string tidy_get_error_buffer ( tidy object )

Object oriented style (property):

class tidy {

string errorBuffer

}

tidy_get_error_buffer() returns warnings and errors which occurred parsing the specified document.

Ejemplo 1. tidy_get_error_buffer() example

<?php
$html = '<p>paragraph</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* or in OO: */
echo $tidy->errorBuffer;
?>

El resultado del ejemplo seria:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

See also tidy_access_count(),
tidy_error_count() and
tidy_warning_count().

Anterior | Inicio | Siguiente
tidy_get_config | Subir | tidy_get_head


tidy_get_head

(PHP 5)

tidy_get_head -- Returns a tidyNode Object starting from the <head> tag of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_head ( tidy object )

Object oriented style:

tidyNode tidy->head ( void )

This function returns a tidyNode object starting from the <head> tag of the tidy parse tree.

Ejemplo 1. tidy_get_head() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$head = tidy_get_head($tidy);
echo $head->value;
?>

El resultado del ejemplo seria:

<head>
<title>test</title>
</head>

Nota: Esta funcion esta disponible solamente con Zend Engine 2, o lo que es lo mismo PHP >= 5.0.0.

See also tidy_get_body() and tidy_get_html().

Anterior | Inicio | Siguiente
tidy_get_error_buffer | Subir | tidy_get_html_ver


tidy_get_html_ver

(PHP 5)

tidy_get_html_ver -- Get the Detected HTML version for the specified document

Description

Procedural style:

int tidy_get_html_ver ( tidy object )

Object oriented style:

int tidy->getHtmlVer ( void )

tidy_get_html_ver() returns the detected HTML version for the specified tidy object.

Aviso

This function is not yet implemented in the Tidylib itself, so it always return 0.

Anterior | Inicio | Siguiente
tidy_get_head | Subir | tidy_get_html


tidy_get_html

(PHP 5)

tidy_get_html -- Returns a tidyNode Object starting from the <html> tag of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_html ( tidy object )

Object oriented style:

tidyNode tidy->html ( void )

This function returns a tidyNode object starting from the <html> tag of the tidy parse tree.

Ejemplo 1. tidy_get_html() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$html = tidy_get_html($tidy);
echo $html->value;
?>

El resultado del ejemplo seria:

<html>
<head>
<title>test</title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

Nota: Esta funcion esta disponible solamente con Zend Engine 2, o lo que es lo mismo PHP >= 5.0.0.

See also tidy_get_body() and tidy_get_head().

Anterior | Inicio | Siguiente
tidy_get_html_ver | Subir | tidy_get_opt_doc


tidy_get_output

(PHP 5)

tidy_get_output -- Return a string representing the parsed tidy markup

Description

string tidy_get_output ( tidy object )

tidy_get_output() returns a string with the repaired html.

Ejemplo 1. tidy_get_output() example

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->CleanRepair();

echo tidy_get_output($tidy);
?>

El resultado del ejemplo seria:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

Anterior | Inicio | Siguiente
tidy_get_opt_doc | Subir | tidy_get_release


tidy_get_release

(PHP 5)

tidy_get_release -- Get release date (version) for Tidy library

Description

Procedural style:

string tidy_get_release ( void )

Object oriented style:

string tidy->getRelease ( void )

This function returns a string with the release date of the Tidy library.

Anterior | Inicio | Siguiente
tidy_get_output | Subir | tidy_get_root


tidy_get_root

(PHP 5)

tidy_get_root -- Returns a tidyNode object representing the root of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_root ( tidy object )

Object oriented style:

tidyNode tidy->root ( void )

Returns a tidyNode object representing the root of the tidy parse tree.

Ejemplo 1. dump nodes

<?php

$html = <<< HTML
<html><body>

<p>paragraph</p>
<br/>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
dump_nodes($tidy->root(), 1);

function dump_nodes($node, $indent) {

    if($node->hasChildren()) {
        foreach($node->child as $child) {
            echo str_repeat('.', $indent*2) . ($child->name ? $child->name : '"'.$child->value.'"'). "\n";

            dump_nodes($child, $indent+1);
        }
    }
}
?>

El resultado del ejemplo seria:

..html
....head
......title
....body
......p
........"paragraph"
......br

Nota: Esta funcion esta disponible solamente con Zend Engine 2, o lo que es lo mismo PHP >= 5.0.0.

Anterior | Inicio | Siguiente
tidy_get_release | Subir | tidy_get_status


tidy_get_status

(PHP 5)

tidy_get_status -- Get status of specified document

Description

Procedural style:

int tidy_get_status ( tidy object )

Object oriented style:

int tidy->getStatus ( void )

tidy_get_status() returns the status for the specified tidy object. It returns 0 if no error/warning was raised, 1 for warnings or accessibility errors, or 2 for errors.

Ejemplo 1. tidy_get_status() example

<?php
$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$html2 = '<bogus>test</bogus>';
$tidy2 = tidy_parse_string($html2);

echo tidy_get_status($tidy); //1

echo tidy_get_status($tidy2); //2
?>

Anterior | Inicio | Siguiente
tidy_get_root | Subir | tidy_getopt


tidy_getopt

(PHP 5)

tidy_getopt -- Returns the value of the specified configuration option for the tidy document

Description

Procedural style:

mixed tidy_getopt ( tidy object, string option )

Object oriented style:

mixed tidy->getOpt ( string option )

tidy_getopt() returns the value of the specified option for the specified tidy object. The return type depends on the type of the specified option. You will find a list with each configuration option and their types at: http://tidy.sourceforge.net/docs/quickref.html.

Ejemplo 1. tidy_getopt() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

$config = array('accessibility-check' => 3,
                'alt-text' => 'some text');

$tidy = new tidy();
$tidy->parseString($html, $config);

var_dump($tidy->getOpt('accessibility-check')); //integer
var_dump($tidy->getOpt('lower-literals')); //boolean
var_dump($tidy->getOpt('alt-text')); //string

?>

El resultado del ejemplo seria:

int(3)
bool(true)
string(9) "some text"

Anterior | Inicio | Siguiente
tidy_get_status | Subir | tidy_is_xhtml


tidy_is_xhtml

(PHP 5)

tidy_is_xhtml -- Indicates if the document is a XHTML document

Description

Procedural style:

bool tidy_is_xhtml ( tidy object )

Object oriented style:

bool tidy->isXhtml ( void )

This function returns TRUE if the specified tidy object is a XHTML document, or FALSE otherwise.

Aviso

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

Anterior | Inicio | Siguiente
tidy_getopt | Subir | tidy_is_xml


tidy_is_xml

(PHP 5)

tidy_is_xml -- Indicates if the document is a generic (non HTML/XHTML) XML document

Description

Procedural style:

bool tidy_is_xml ( tidy object )

Object oriented style:

bool tidy->isXml ( void )

This function returns TRUE if the specified tidy object is a generic XML document (non HTML/XHTML), or FALSE otherwise.

Aviso

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

Anterior | Inicio | Siguiente
tidy_is_xhtml | Subir | tidy_load_config


tidy_load_config

(no version information, might be only in CVS)

tidy_load_config -- Load an ASCII Tidy configuration file with the specified encoding

Description

void tidy_load_config ( string filename, string encoding )

This function loads a Tidy configuration file, with the specified encoding.

Nota: Esta funcion esta disponible solamente con Tidy 1.0. Se dejo de utilizar en Tidy 2.0 y por lo tanto no se encuentra dispobible actualmente.

Anterior | Inicio | Siguiente
tidy_is_xml | Subir | tidy_node->get_attr


tidy_node->get_attr

(no version information, might be only in CVS)

tidy_node->get_attr -- Return the attribute with the provided attribute id

Description

tidy_attr tidy_node->get_attr ( int attrib_id )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
tidy_load_config | Subir | tidy_node->get_nodes


tidy_node->get_nodes

(no version information, might be only in CVS)

tidy_node->get_nodes -- Return an array of nodes under this node with the specified id

Description

array tidy_node->get_nodes ( int node_id )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
tidy_node->get_attr | Subir | tidy_node->next


tidy_node->next

(no version information, might be only in CVS)

tidy_node->next -- Returns the next sibling to this node

Description

tidy_node tidy_node->next ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
tidy_node->get_nodes | Subir | tidy_node->prev


tidy_node->prev

(no version information, might be only in CVS)

tidy_node->prev -- Returns the previous sibling to this node

Description

tidy_node tidy_node->prev ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
tidy_node->next | Subir | tidy_parse_file


tidy_parse_file

(PHP 5)

tidy_parse_file -- Parse markup in file or URI

Description

Procedural style:

tidy tidy_parse_file ( string filename [, mixed config [, string encoding [, bool use_include_path]]] )

Object oriented style:

bool tidy->parseFile ( string filename [, mixed config [, string encoding [, bool use_include_path]]] )

This function parses the given file.

El parametro config puede ser enviado como una matriz o como una cadena alfanumerica. Si se envia como una cadena alfanumerica, signica que sera interpretado como el nombre del fichero de configuracion, de lo contrario, como opciones. Consultar http://tidy.sourceforge.net/docs/quickref.html para una explicacion de todas las opciones.

El parametro encoding define la codificacion para las salidas/entradas de los documentos. Los valores que se pueden utilizar son ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis.

Ejemplo 1. tidy_parse_file() example

<?php
$tidy = tidy_parse_file('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
    echo "The following errors or warnings occured:\n";
    echo $tidy->errorBuffer;
}
?>

Nota: Los parametros adicionales config y encoding se encuentran disponibles a partir de Tidy 2.0.

See also tidy_parse_string(),
tidy_repair_file() and
tidy_repair_string().

Anterior | Inicio | Siguiente
tidy_node->prev | Subir | tidy_parse_string


tidy_parse_string

(PHP 5)

tidy_parse_string -- Parse a document stored in a string

Description

Procedural style:

tidy tidy_parse_string ( string input [, mixed config [, string encoding]] )

Object oriented style:

bool tidy->parseString ( string input [, mixed config [, string encoding]] )

tidy_parse_string() parses a document stored in a string.

El parametro config puede ser enviado como una matriz o como una cadena alfanumerica. Si se envia como una cadena alfanumerica, signica que sera interpretado como el nombre del fichero de configuracion, de lo contrario, como opciones. Consultar http://tidy.sourceforge.net/docs/quickref.html para una explicacion de todas las opciones.

El parametro encoding define la codificacion para las salidas/entradas de los documentos. Los valores que se pueden utilizar son ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis.

Ejemplo 1. tidy_parse_string() example

<?php
ob_start();
?>

<html>
  <head>
   <title>test</title>
  </head>
  <body>
   <p>error<br>another line</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo $tidy;
?>

El resultado del ejemplo seria:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      test
    </title>
  </head>
  <body>
    <p>
      error<br />
      another line
    </p>
  </body>
</html>

Nota: Los parametros adicionales config y encoding se encuentran disponibles a partir de Tidy 2.0.

See also tidy_parse_file(),
tidy_repair_file() and
tidy_repair_string().

Anterior | Inicio | Siguiente
tidy_parse_file | Subir | tidy_repair_file


tidy_repair_file

(PHP 5)

tidy_repair_file -- Repair a file and return it as a string

Description

string tidy_repair_file ( string filename [, mixed config [, string encoding [, bool use_include_path]]] )

This function repairs the given file and returns it as a string.

El parametro config puede ser enviado como una matriz o como una cadena alfanumerica. Si se envia como una cadena alfanumerica, signica que sera interpretado como el nombre del fichero de configuracion, de lo contrario, como opciones. Consultar http://tidy.sourceforge.net/docs/quickref.html para una explicacion de todas las opciones.

El parametro encoding define la codificacion para las salidas/entradas de los documentos. Los valores que se pueden utilizar son ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis.

Ejemplo 1. tidy_repair_file() example

<?php
$file = 'file.html';

$repaired = tidy_repair_file($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Nota: Los parametros adicionales config y encoding se encuentran disponibles a partir de Tidy 2.0.

See also tidy_parse_file(),
tidy_parse_string() and
tidy_repair_string().

Anterior | Inicio | Siguiente
tidy_parse_string | Subir | tidy_repair_string


tidy_repair_string

(PHP 5)

tidy_repair_string -- Repair a string using an optionally provided configuration file

Description

string tidy_repair_string ( string data [, mixed config [, string encoding]] )

This function repairs the given string.

El parametro config puede ser enviado como una matriz o como una cadena alfanumerica. Si se envia como una cadena alfanumerica, signica que sera interpretado como el nombre del fichero de configuracion, de lo contrario, como opciones. Consultar http://tidy.sourceforge.net/docs/quickref.html para una explicacion de todas las opciones.

El parametro encoding define la codificacion para las salidas/entradas de los documentos. Los valores que se pueden utilizar son ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis.

Ejemplo 1. tidy_repair_string() example

<?php
ob_start();
?>

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);

echo $tidy;
?>

El resultado del ejemplo seria:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<p>error</p>
</body>
</html>

Nota: Los parametros adicionales config y encoding se encuentran disponibles a partir de Tidy 2.0.

See also tidy_parse_file(),
tidy_parse_string() and
tidy_repair_file().

Anterior | Inicio | Siguiente
tidy_repair_file | Subir | tidy_reset_config


tidy_reset_config

(no version information, might be only in CVS)

tidy_reset_config -- Restore Tidy configuration to default values

Description

bool tidy_reset_config ( void )

This function restores the Tidy configuration to the default values.

Nota: Esta funcion esta disponible solamente con Tidy 1.0. Se dejo de utilizar en Tidy 2.0 y por lo tanto no se encuentra dispobible actualmente.

Anterior | Inicio | Siguiente
tidy_repair_string | Subir | tidy_save_config


tidy_save_config

(no version information, might be only in CVS)

tidy_save_config -- Save current settings to named file

Description

bool tidy_save_config ( string filename )

tidy_save_config() saves current settings to the specified file. Only non-default values are written.

See also tidy_get_config(),
tidy_getopt(),
tidy_reset_config() and
tidy_setopt().

Nota: Esta funcion esta disponible solamente con Tidy 1.0. Se dejo de utilizar en Tidy 2.0 y por lo tanto no se encuentra dispobible actualmente.

Anterior | Inicio | Siguiente
tidy_reset_config | Subir | tidy_set_encoding


tidy_set_encoding

(no version information, might be only in CVS)

tidy_set_encoding -- Set the input/output character encoding for parsing markup

Description

bool tidy_set_encoding ( string encoding )

Sets the encoding for input/output documents. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Possible values for encoding are ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis

Nota: Esta funcion esta disponible solamente con Tidy 1.0. Se dejo de utilizar en Tidy 2.0 y por lo tanto no se encuentra dispobible actualmente.

Anterior | Inicio | Siguiente
tidy_save_config | Subir | tidy_setopt


tidy_setopt

(no version information, might be only in CVS)

tidy_setopt -- Updates the configuration settings for the specified tidy document

Description

bool tidy_setopt ( string option, mixed value )

tidy_setopt() updates the specified option with a new value. You will find a list with each configuration option at: http://tidy.sourceforge.net/docs/quickref.html.

Ejemplo 1. tidy_setopt() example

<?php
$html = '<p>test</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

See also tidy_getopt(),
tidy_get_config(),
tidy_reset_config() and
tidy_save_config().

Nota: Esta funcion esta disponible solamente con Tidy 1.0. Se dejo de utilizar en Tidy 2.0 y por lo tanto no se encuentra dispobible actualmente.

Anterior | Inicio | Siguiente
tidy_set_encoding | Subir | tidy_warning_count


tidy_warning_count

(PHP 5)

tidy_warning_count -- Returns the Number of Tidy warnings encountered for specified document

Description

int tidy_warning_count ( tidy object )

tidy_warning_count() returns the number of Tidy warnings encountered for the specified document.

Ejemplo 1. tidy_warning_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

See also tidy_access_count() and tidy_error_count().

Anterior | Inicio | Siguiente
tidy_setopt | Subir | tidyNode->hasChildren


tidyNode->isAsp

(no version information, might be only in CVS)

tidyNode->isAsp -- Returns true if this node is ASP

Description

bool tidyNode->isAsp ( void )

This functions returns TRUE if the current node is ASP, or FALSE otherwise.

Nota: This function was named tidy_node->is_asp() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->hasSiblings | Subir | tidyNode->isComment


tidyNode->isPhp

(no version information, might be only in CVS)

tidyNode->isPhp -- Returns true if this node is PHP

Description

bool tidyNode->isPhp ( void )

Returns TRUE if the current node is PHP code, FALSE otherwise.

Ejemplo 1. get the PHP code from a mixed HTML/PHP document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
</head>
<body>

<?php
echo 'hello world!';
?>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_php($tidy->html());

function get_php($node) {

    // check if the current node is PHP code
    if($node->isPhp()) {
        echo "\n\n# PHP node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_php($child);
        }
    }
}

?>

El resultado del ejemplo seria:

# PHP node #1
<?php echo '<title>title</title>'; ?>

# PHP node #2
<?php
echo 'hello world!';
?>

Nota: This function was named tidy_node->is_php() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->isJste | Subir | tidyNode->isText


Tokenizer Functions

Manual de PHP
Anterior Siguiente

CLXV. Tokenizer Functions

Introducción

The tokenizer functions provide an interface to the PHP tokenizer embedded in the Zend Engine. Using these functions you may write your own PHP source analyzing or modification tools without having to deal with the language specification at the lexical level.

See also the appendix about tokens.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

Beginning with PHP 4.3.0 these functions are enabled by default. For older versions you have to configure and compile PHP with --enable-tokenizer. You can disable tokenizer support with --disable-tokenizer.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Nota: Built-in support for tokenizer is available as of PHP 4.3.0.

Constantes predefinidas

When the extension has either been compiled into PHP or dynamically loaded at runtime, the tokens listed in Apéndice Q are defined as constants.

Ejemplos

Here is a simple example PHP scripts using the tokenizer that will read in a PHP file, strip all comments from the source and print the pure code only.

Ejemplo 1. Strip comments with the tokenizer

<?php
/*
 * T_ML_COMMENT does not exist in PHP 5.
 * The following three lines define it in order to
 * preserve backwards compatibility.
 *
 * The next two lines define the PHP 5 only T_DOC_COMMENT,
 * which we will mask as T_ML_COMMENT for PHP 4.
 */
if (!defined('T_ML_COMMENT')) {
    define('T_ML_COMMENT', T_COMMENT);
} else {
    define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
    if (is_string($token)) {
        // simple 1-character token
        echo $token;
    } else {
        // token array
        list($id, $text) = $token;

        switch ($id) {
            case T_COMMENT:
            case T_ML_COMMENT: // we've defined this
            case T_DOC_COMMENT: // and this
                // no action on comments
                break;

            default:
                // anything else -> output "as is"
                echo $text;
                break;
        }
    }
}
?>
Tabla de contenidos
token_get_all -- Split given source into PHP tokens
token_name -- Get the symbolic name of a given PHP token

Anterior | Inicio | Siguiente
tidyNode::getParent | Subir | token_get_all


token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_all -- Split given source into PHP tokens

Descripción

array token_get_all ( string source )

token_get_all() parses the given source string into PHP language tokens using the Zend engine's lexical scanner.

For a list of parser tokens, see Apéndice Q, or use token_name() to translate a token value into its string representation.

Lista de parámetros

source

The PHP source to parse.

Valores retornados

An array of token identifiers. Each individual token identifier is either a single character (i.e.: ;, ., >, !, etc...), or a two element array containing the token index in element 0, and the string content of the original token in element 1.

Ejemplos

Ejemplo 1. token_get_all() examples

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */

/* Note in the following example that the string is parsed as T_INLINE_HTML
   rather than the otherwise expected T_COMMENT (T_ML_COMMENT in PHP <5).
   This is because no open/close tags were used in the "code" provided.
   This would be equivalent to putting a comment outside of <?php ?> tags in a normal file. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Anterior | Inicio | Siguiente
Tokenizer Functions | Subir | token_name


token_name

(PHP 4 >= 4.2.0, PHP 5)

token_name -- Get the symbolic name of a given PHP token

Descripción

string token_name ( int token )

token_name() gets the symbolic name for a PHP token value.

Lista de parámetros

token

The token value.

Valores retornados

The symbolic name of the given token. The returned name returned matches the name of the matching token constant.

Ejemplos

Ejemplo 1. token_name() example

<?php
// 260 is the token value for the T_REQUIRE token
echo token_name(260);        // -> "T_REQUIRE"

// a token constant maps to its own name
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Ver también

List of Parser Tokens

Anterior | Inicio | Siguiente
token_get_all | Subir | Unicode Functions


Funciones de URL

Manual de PHP
Anterior Siguiente

CLXVII. Funciones de URL

Introducción

Tratamiento de cadenas de URL: codificación, decodificación y procesamiento.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

The following constants are meant to be used with parse_url() and are available since PHP 5.1.2.

PHP_URL_SCHEME (integer)

PHP_URL_HOST (integer)

PHP_URL_PORT (integer)

PHP_URL_USER (integer)

PHP_URL_PASS (integer)

PHP_URL_PATH (integer)

PHP_URL_QUERY (integer)

PHP_URL_FRAGMENT (integer)

Tabla de contenidos
base64_decode -- Decodifica datos cifrados con MIME base64
base64_encode -- Codifica datos con MIME base64
get_headers -- Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP
get_meta_tags -- Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve una matriz
http_build_query -- Generar una cadena de consulta codificada estilo URL
parse_url -- Procesar una URL y devolver sus componentes
rawurldecode -- Decodificar cadenas codificadas estilo URL
rawurlencode -- Codificar estilo URL de acuerdo al RFC 1738
urldecode -- Decodifica una cadena cifrada como URL
urlencode -- Codifica como URL una cadena

Anterior | Inicio | Siguiente
unicode_semantics | Subir | base64_decode


base64_decode

(PHP 3, PHP 4, PHP 5)

base64_decode -- Decodifica datos cifrados con MIME base64

Descripción

string base64_decode ( string datos_cifrados )

base64_decode() decodifica datos_cifrados y devuelve las datos originales, o FALSE en caso de fallo. Los datos devueltos pueden ser binarios.

Ejemplo 1. Ejemplo de base64_decode()

<?php
$cadena = 'RXN0YSBlcyB1bmEgY2FkZW5hIGNpZnJhZGE=';
echo base64_decode($cadena);
?>

Este ejemplo producirá:

Esta es una cadena cifrada

Vea también base64_encode() y la sección 6.8 del documento RFC 2045.

Anterior | Inicio | Siguiente
Funciones de URL | Subir | base64_encode


base64_encode

(PHP 3, PHP 4, PHP 5)

base64_encode -- Codifica datos con MIME base64

Descripción

string base64_encode ( string datos )

base64_encode() devuelve el valor datos codificado con base64. Este método de cifrado está diseñado para hacer que los datos binarios se adapten al transporte a través de capas que no manejan limpiamente caracteres de 8-bits, tales como cuerpos de correo.

Los datos cifrados con base64 ocupan aprximadamente un 33% más de espacio que los datos originales.

Ejemplo 1. Ejemplo de base64_encode()

<?php
$cadena = 'Esta es una cadena cifrada';
echo base64_encode($cadena);
?>

Este ejemplo producirá:

RXN0YSBlcyB1bmEgY2FkZW5hIGNpZnJhZGE=

Vea también base64_decode(),
chunk_split(),
convert_uuencode() y la sección 6.8 del
documento RFC 2045.

Anterior | Inicio | Siguiente
base64_decode | Subir | get_headers


get_headers

(PHP 5)

get_headers -- Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP

Descripción

array get_headers ( string url [, int formato] )

get_headers() devuelve una matriz con las cabeceras enviadas por el servidor en respuesta a una petición HTTP. En caso de fallo, devuelve FALSE y se genera un error de nivel E_WARNING.

Si el parámetro opcional formato es definido como 1, get_headers() interpreta la respuesta y define las claves de la matriz.

Nota: A partir de PHP 5.1.3 esta función usa el contexto de secuencia predeterminado, el cual puede ser definido/modificado con la función stream_context_get_default().

Ejemplo 1. Ejemplo de get_headers()

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

Anterior | Inicio | Siguiente
base64_encode | Subir | get_meta_tags


get_meta_tags

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

get_meta_tags -- Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve una matriz

Descripción

array get_meta_tags ( string nombre_archivo [, bool usar_ruta_inclusion] )

Abre nombre_archivo y lo procesa línea por línea en busca de etiquetas <meta> en el archivo. Éste puede ser un archivo local o una URL. El procesamiento se detiene al encontrar </head>.

Definir usar_ruta_inclusion como TRUE producirá que PHP intente abrir el archivo a lo largo de la ruta de inclusión estándar, tal y como se define en la directiva include_path. Éste parámetro es usado para archivos locales, no URLs.

Ejemplo 1. Lo que procesa get_meta_tags()

<meta name="author" content="nombre">
<meta name="keywords" content="php documentacion">
<meta name="DESCRIPTION" content="un manual de php">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- el procesamiento se detiene aquí -->
(preste atención a los finales de línea, - PHP usa una función nativa para procesar la entrada, así que un archivo Mac no funcionará en Unix).

El valor de la propiedad name se convierte en la clave, el valor de contenido de la propiedad se convierte en el valor de la matriz devuelta, de modo que puede usar fácilmente funciones estándar de matrices para recorrerlo o acceder a valores sencillos. Los caracteres especiales en el valor de la propiedad name son sustituidos con '_', el resto es convertido a minúsculas. Si dos etiquetas meta tienen el mismo nombre, sólo se devuelve la última.

Ejemplo 2. Lo que devuelve get_meta_tags()

<?php
// Asumiendo que las anteriores etiquetas se encuentran en www.example.com
$etiquetas = get_meta_tags('http://www.example.com/');

// Note como las claves están ahora en minúsculas, y como . fue
// reemplazado con _ en la clave
echo $etiquetas['author'];       // nombre
echo $etiquetas['keywords'];     // documentación php
echo $etiquetas['description'];  // un manual de php
echo $etiquetas['geo_position']; // 49.33;-86.59
?>

Nota: A partir de PHP 4.0.5, get_meta_tags() soporta los atributos HTML sin comillas.

Vea también htmlentities() y urlencode().

Anterior | Inicio | Siguiente
get_headers | Subir | http_build_query


http_build_query

(PHP 5)

http_build_query -- Generar una cadena de consulta codificada estilo URL

Descripción

string http_build_query ( array datos_formulario [, string prefijo_numerico [, string separador_arg]] )

Genera una cadena de consulta codificada estilo URL a partir de la matriz asociativa (o indexada) dada. datos_formulario puede ser una matriz u objeto que contenga propiedades. Una matriz datos_formulario puede ser una estructura uni-dimensional sencilla, o una matriz de matrices (que a su vez puede contener otras matrices). Si se usan índices numéricos en la matriz base, y se provee un prefijo_numerico, éste será añadido al comienzo de los índices numéricos para aquellos elementos encontrados sólo en la matriz base. Esto es para permitir que se opere con nombres de variables legales cuando los datos sean decodificados por PHP u otra aplicación CGI más adelante.

Nota: arg_separator.output es usado para separar argumentos, a menos que el parámetro separador_arg sea especificado, en cuyo caso este último será usado.

Ejemplo 1. Uso simple de http_build_query()

<?php
$datos = array('foo'=>'bar',
               'baz'=>'boom',
               'vaca'=>'leche',
               'php'=>'procesador de hipertexto');

echo http_build_query($datos); // foo=bar&baz=boom&vaca=leche&php=procesador+de+hipertexto
echo http_build_query($data, '', '&amp;'); // foo=bar&amp;baz=boom&amp;vaca=leche\&amp;php=procesador+de+hipertexto
?>

Ejemplo 2. http_build_query() con elementos indexados numéricamente.

<?php
$datos = array('foo', 'bar', 'baz', 'boom', 'vaca' => 'leche',
               'php' => 'procesador de hipertexto');

echo http_build_query($datos);
/* Genera la salida:
      0=foo&1=bar&2=baz&3=boom&vaca=leche&php=procesador+de+hipertexto
 */

echo http_build_query($datos, 'mivar_');
/* Genera la salida:
      mivar_0=foo&mivar_1=bar&mivar_2=baz&mivar_3=boom&vaca=leche&php=procesador+de+hipertexto
 */
?>

Ejemplo 3. http_build_query() con matrices complejas

<?php
$datos = array('usuario'=>array('nombre'=>'Bob Smith',
                                'edad'=>47,
                                'sexo'=>'M',
                                'fdm'=>'5/12/1956'),
               'pasatiempos'=>array('golf', 'opera', 'poker', 'rap'),
               'hijos'=>array('bobby'=>array('edad'=>12,
                                             'sexo'=>'M'),
                              'sally'=>array('edad'=>8,
                                             'sexo'=>'F')),
               'CEO');

echo http_build_query($datos, 'banderas_');
?>

esto generará la salida: (acotada por razones de legibilidad)

usuario[nombre]=Bob+Smith&usuario[edad]=47&usuario[sexo]=M&
usuario[fdm]=5%2F12%2F1956&pasatiempos[0]=golf&pasatiempos[1]=opera&
pasatiempos[2]=poker&pasatiempos[3]=rap&hijos[bobby][edad]=12&
hijos[bobby][sexo]=M&hijos[sally][edad]=8&hijos[sally][sexo]=F&banderas_0=CEO

Nota: Sólo el elemento "CEO" indexado numéricamente en la matriz base recibió un prefijo. Los otros índices numéricos, encontrados bajo los pasatiempos, no requieren un prefijo tipo cadena para ser nombres legales de variables.

Ejemplo 4. Uso de http_build_query() con un objeto

<?php
class miClase {
    var $foo;
    var $baz;

    function miClase() {
        $this->foo = 'bar';
        $this->baz = 'boom';
    }
}

$datos = new miClase();

echo http_build_query($datos); // foo=bar&baz=boom

?>

Nota: El parámetro separador_arg fue agregado en PHP 5.1.2.

Vea también: parse_str(),
parse_url(), urlencode(), y
array_walk()

Anterior | Inicio | Siguiente
get_meta_tags | Subir | parse_url


parse_url

(PHP 3, PHP 4, PHP 5)

parse_url -- Procesar una URL y devolver sus componentes

Descripción

mixed parse_url ( string url [, int componente] )

Esta función analiza una URL y devuelve una matriz asociativa que contiene aquellos componentes presentes en la URL.

El propósito de esta función no es validar la URL dada, tan solo la separa en las partes listadas anteriormente. Las URLs parciales son aceptadas también, parse_url() hace lo mejor que puede para procesarlas correctamente.

Lista de parámetros

url

La URL a analizar

componente

Especifique uno de PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY o PHP_URL_FRAGMENT para recibir solo un componente URL específico como un valor tipo string.

Valores retornados

Sobre URLs seriamente malformadas, parse_url() puede devolver FALSE y emitir un valor E_WARNING. De lo contrario se devuelve una matriz asociativa, cuyos componentes pueden ser (al menos uno):

  • scheme - p.ej. http

  • host

  • port

  • user

  • pass

  • path

  • query - después del signo de interrogación ?

  • fragment - después del signo de numeral #

Si el parámetro componente es especificado, un valor tipo string es devuelto en lugar de un array.

Registro de cambios

Versión | Descripción
5.1.2 | Se agregó el parámetro componente

Ejemplos

Ejemplo 1. Un ejemplo de parse_url()

<?php
$url = 'http://nombre_usuario:contrasenya@nombre_host/ruta?arg=valor#ancla';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

El resultado del ejemplo seria:

Array
(
    [scheme] => http
    [host] => nombre_host
    [user] => nombre_usuario
    [pass] => contrasenya
    [path] => /ruta
    [query] => arg=valor
    [fragment] => ancla
)
/path

Notes

Nota: Esta función no trabaja con URLs relativas.

Nota: parse_url() tiene el propósito específico de procesar URLs y no URIs. Sin embargo, para cumplir con los requerimientos de compatibilidad hacia atrás de PHP, hace una excepción para el esquema file:// en donde se permiten tres barras (file:///...). Para cualquier otro esquema, lo anterior es inválido.

Ver también

pathinfo()
parse_str()
http_build_query()
dirname()
basename()

Anterior | Inicio | Siguiente
http_build_query | Subir | rawurldecode


rawurldecode

(PHP 3, PHP 4, PHP 5)

rawurldecode -- Decodificar cadenas codificadas estilo URL

Descripción

string rawurldecode ( string cadena )

Devuelve una cadena en done las con secuencias con signos de porcentaje (%) seguidos de dos dígitos hexadecimales, son reemplazados con caracteres literales.

Ejemplo 1. Ejemplo de rawurldecode()

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Nota: rawurldecode() no decodifica los símbolos más ('+') como espacios. urldecode() lo hace.

Vea también rawurlencode(), urldecode() y urlencode().

Anterior | Inicio | Siguiente
parse_url | Subir | rawurlencode


rawurlencode

(PHP 3, PHP 4, PHP 5)

rawurlencode -- Codificar estilo URL de acuerdo al RFC 1738

Descripción

string rawurlencode ( string cadena )

Devuelve una cadena en donde todos los caracteres no-alfanuméricos, excepto -_., son reemplazados con un signo de porcentaje (%) seguido de dos dígitos hexadecimales. Este es el tipo de codificación descrito en el RFC 1738 para evitar que caracteres literales sean interpretados como delimitadores de URL especiales, y para evitar que las URLs sean modificadas por medios de transmisión con conversiones de caracteres (como algunos sistemas de correo electrónico). Por ejemplo, si desea incluir una contraseña en una URL de FTP:

Ejemplo 1. Ejemplo 1 de rawurlencode()

<?php
echo '<a href="ftp://usuario:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

O, si pasa información en un componente PATH_INFO de la URL:

Ejemplo 2. Ejemplo 2 de rawurlencode()

<?php
echo '<a href="http://example.com/script_de_lista_de_departamentos/',
    rawurlencode('ventas y mercadeo/Miami'), '">';
?>

Vea también rawurldecode(), urldecode(), urlencode() y el documento RFC 1738.

Anterior | Inicio | Siguiente
rawurldecode | Subir | urldecode


urldecode

(PHP 3, PHP 4, PHP 5)

urldecode -- Decodifica una cadena cifrada como URL

Descripción

string urldecode ( string cadena )

Decodifica cualquier cifrado tipo %## en la cadena dada. Se devuelve la cadena decodificada.

Ejemplo 1. Ejemplo de urldecode()

<?php
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
    $b = split('=', $a[$i]);
    echo 'El valor del parámetro ', htmlspecialchars(urldecode($b[0])),
         ' es ', htmlspecialchars(urldecode($b[1])), "<br />\n";
    $i++;
}
?>

Vea también urlencode(),
rawurlencode() y
rawurldecode().

Anterior | Inicio | Siguiente
rawurlencode | Subir | urlencode


urlencode

(PHP 3, PHP 4, PHP 5)

urlencode -- Codifica como URL una cadena

Descripción

string urlencode ( string cadena )

Devuelve una cadena en la que todos los caracteres no-alfanuméricos excepto -_. han sido reemplazados con un signo de porcentaje (%) seguido por dos dígitos hexadecimales y los espacios son codificados como signos de suma (+). Esta es la misma codificación usada en los datos publicados desde un formulario WWW, es decir, el mismo mecanismo usado para el tipo de medios application/x-www-form-urlencoded. Este mecanismo difiere de la codificación RFC1738 (vea rawurlencode()) en que, por razones históricas, los espacios son codificados como signos de suma (+). Esta función es conveniente cuando se codifica una cadena a ser usada como la parte de consulta de una URL, como método práctico para pasar variables a la siguiente página:

Ejemplo 1. Ejemplo de urlencode()

<?php
echo '<a href="micgi?foo=', urlencode($entrada_usuario), '">';
?>

Nota: Tenga cuidado con las variables que puedan coincidir con entidades HTML. Secuencias como &amp, &copy y &pound son procesadas por el navegador y la entidad real es usada en lugar del nombre de variable deseado. Este es un problema obvio sobre el cual el consorcio W3 ha estado alertando a las personas por años. La referencia esta aquí: http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2. PHP soporta la modificación del separador de argumentos al punto-y-coma sugerido por el W3C a través de la directiva .ini arg_separator. Desafortunadamente, la mayoría de agentes de usuario no envían datos de formularios en este formato separado por punto-y-coma. Una forma más portable es usar &amp; en lugar de & como separador. No es necesario modificar el valor arg_separator de PHP para esto. Déjelo como &, y simplemente codifique sus URLs usando htmlentities() o htmlspecialchars().

Ejemplo 2. Ejemplo de urlencode() y htmlentities()

<?php
$cadena_query = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="micgi?' . htmlentities($cadena_query) . '">';
?>

Vea también urldecode(),
htmlentities(),
rawurldecode() y
rawurlencode().

Anterior | Inicio | Siguiente
urldecode | Subir | Funciones de Manejo de Variables


Funciones de Manejo de Variables

Manual de PHP
Anterior Siguiente

CLXVIII. Funciones de Manejo de Variables

Introducción

Para más información sobre el modo en que se comportan las variables, vea la entrada Variables en la sección Referencia del Lenguaje del manual.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de Configuración de Variables

Nombre | Por defecto | Modificable | Cambios
unserialize_callback_func | NULL | PHP_INI_ALL | Disponible desde PHP 4.2.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

unserialize_callback_func string

La llamada de retorno unserialize() será llamada (con el nombre de la clase no definida como parámetro), si el proceso de revertir la seriación encuentra una clase no definida que debería ser instanciada. Una advertencia aparecerá si la función especificada no está definida, o si la función no incluye o implementa la clase faltante. Así que únicamente defina esta entrada si de veras desea implementar tal función de retorno.

Vea también unserialize().

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
debug_zval_dump -- Dumps a string representation of an internal zend value to output
doubleval -- Alias of floatval()
empty -- Determinar si una variable está vacía
floatval -- Obtener el valor flotante de una variable
get_defined_vars -- Devuelve una matriz con todas la variables definidas
get_resource_type -- Devuelve el tipo de recurso
gettype -- Obtener el tipo de una variable
import_request_variables -- Importar variables GET/POST/Cookie en el contexto global
intval -- Obtener el valor entero de una variable
is_array -- Encuentra si una variable es una matriz
is_binary -- Finds whether a variable is a native binary string
is_bool -- Encuentra si una variable es de tipo booleano
is_buffer -- Finds whether a variable is a native unicode or binary string
is_callable -- Verifica que los contenidos de una variable puedan ser llamados como una función
is_double -- Alias of is_float()
is_float -- Encuentra si una variable es un flotante
is_int -- Encontrar si una variable es un entero
is_integer -- Alias of is_int()
is_long -- Alias of is_int()
is_null -- Encuentra si una variable es NULL
is_numeric -- Encuentra si una variable es un número o una cadena numérica
is_object -- Encuentra si una variable es un objeto
is_real -- Alias of is_float()
is_resource -- Encuentra si una variable es un recurso
is_scalar -- Encuentra si una variable es un escalar
is_string -- Encuentra si una variable es una cadena
is_unicode -- Finds whether a variable is a unicode string
isset -- Determinar si una variable está definida
print_r -- Imprime información legible para humanos sobre una variable
serialize -- Genera una representación apta para almacenamiento de un valor
settype -- Definir el tipo de una variable
strval -- Obtener el valor de cadena de una variable
unserialize -- Crea un valor PHP a partir de una representación almacenada
unset -- Remover una variable dada
var_dump -- Vuelca información sobre una variable
var_export -- Imprime o devuelve una representación de cadena, apta para su procesamiento, de una variable

Anterior | Inicio | Siguiente
urlencode | Subir | debug_zval_dump


debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5)

debug_zval_dump -- Dumps a string representation of an internal zend value to output

Descripción

void debug_zval_dump ( mixed variable )

Dumps a string representation of an internal zend value to output.

Lista de parámetros

variable

The variable being evaluated.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. debug_zval_dump() example

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

El resultado del ejemplo seria:

string(11) "Hello World" refcount(3)

Beware the refcount: The refcount value returned by this function is non-obvious in certain circumstances. For example, a developer might expect the above example to indicate a refcount of 2. The third reference is created when actually calling debug_zval_dump().

This behavior is further compounded when a variable is not passed to debug_zval_dump() by reference. To illustrate, consider a slightly modified version of the above example:

Ejemplo 2.

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // not passed by reference, this time
?>

El resultado del ejemplo seria:

string(11) "Hello World" refcount(1)

Why refcount(1)? Because a copy of $var1 is being made, when the function is called.

This function becomes even more confusing when a variable with a refcount of 1 is passed (by copy/value):

Ejemplo 3.

<?php
$var1 = 'Hello World';

debug_zval_dump($var1);
?>

El resultado del ejemplo seria:

string(11) "Hello World" refcount(2)

A refcount of 2, here, is extremely non-obvious. Especially considering the above examples. So what's happening?

When a variable has a single reference (as did $var1 before it was used as an argument to debug_zval_dump()), PHP's engine optimizes the manner in which it is passed to a function. Internally, PHP treats $var1 like a reference (in that the refcount is increased for the scope of this function), with the caveat that if the passed reference happens to be written to, a copy is made, but only at the moment of writing. This is known as "copy on write."

So, if debug_zval_dump() happened to write to its sole parameter (and it doesn't), then a copy would be made. Until then, the parameter remains a reference, causing the refcount to be incremented to 2 for the scope of the function call.

Ver también

var_dump()
debug_backtrace()
References Explained
Reference Counting and Aliasing (by Andi Gutmans)
References Explained (by Derick Rethans)

Anterior | Inicio | Siguiente
Funciones de Manejo de Variables | Subir | doubleval


doubleval

(PHP 3, PHP 4, PHP 5)

doubleval -- Alias of floatval()

Descripción

This function is an alias of: floatval().

Registro de cambios

Versión | Descripción
4.2.0 | doubleval() se convirtió en un alias de floatval(). Anteriormente, sólo existía doubleval().

Anterior | Inicio | Siguiente
debug_zval_dump | Subir | empty


empty

(PHP 3, PHP 4, PHP 5)

empty -- Determinar si una variable está vacía

Descripción

bool empty ( mixed var )

Determinar si una variable es considerada vacía.

Lista de parámetros

var

Variable a verificar

Nota: empty() sólo chequea variables ya que cualquier otra cosa producirá un error de intérprete. En otras palabras, lo siguiente no funcionará: empty(trim($name)).

empty() es el opuesto de (boolean) var, con la excepción de que no se genera una advertencia cuando la variable no está definida.

Valores retornados

Devuelve FALSE si var tiene un valor no vacío y diferente de cero.

Las siguientes expresiones son consideradas como vacías:

"" (una cadena vacía)
0 (0 como un entero)
"0" (0 como una cadena)
NULL
FALSE
array() (una matriz vacía)
var $var; (una variable declarada, pero sin un valor en una clase)

Registro de cambios

Versión | Descripción
PHP 5 | A partir de PHP 5, los objetos sin propiedades no son considerados vacíos.
PHP 4 | A partir de PHP 4, el valor tipo cadena "0" es considerado vacío.

Ejemplos

Ejemplo 1. Una simple comparación empty() / isset().

<?php
$var = 0;

// Evalua a true ya que $var esta vacia
if (empty($var)) {
    echo '$var es 0, una variable vacia, o no esta definida en absoluto';
}

// Evalua a true ya que $var esta definida
if (isset($var)) {
    echo '$var esta definida aunque este vacia';
}
?>

Notes

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

Ver también

isset()
unset()
array_key_exists()
count()
strlen()
Las tablas de comparación de tipos

Anterior | Inicio | Siguiente
doubleval | Subir | floatval


floatval

(PHP 4 >= 4.2.0, PHP 5)

floatval -- Obtener el valor flotante de una variable

Descripción

float floatval ( mixed var )

Obtiene el valor float de var.

Lista de parámetros

var

Puede ser cualquier tipo escalar. No puede usar floatval() en matrices u objetos.

Valores retornados

El valor flotante de la variable dada.

Ejemplos

Ejemplo 1. Ejemplo de floatval()

<?php
$var = '122.34343El';
$valor_flotante_de_var = floatval($var);
echo $valor_flotante_de_var; // 122.34343
?>

Ver también

intval()
strval()
settype()
Conversión de Tipos

Anterior | Inicio | Siguiente
empty | Subir | get_defined_vars


get_defined_vars

(PHP 4 >= 4.0.4, PHP 5)

get_defined_vars -- Devuelve una matriz con todas la variables definidas

Descripción

array get_defined_vars ( void )

Esta función devuelve una matriz multidimensional que contiene una lista de todas las variables definidas, ya sean variables de entorno, de servidor, o definidas por el usuario, al interior del contexto en el que get_defined_vars() es llamado.

Valores retornados

Una matriz multidimensional con todas las variables.

Ejemplos

Ejemplo 1. Ejemplo de get_defined_vars()

<?php
$b = array(1, 1, 2, 3, 5, 8);

$matriz = get_defined_vars();

// imprimir $b
print_r($matriz["b"]);

/* imprimir ruta al interpretre PHP (si es usado como CGI)
 * p.ej. /usr/local/bin/php */
echo $matriz["_"];

// imprimir los parametros de la linea de comandos, si existen
print_r($matriz["argv"]);

// imprimir todas las variables del servidor
print_r($matriz["_SERVER"]);

// imprimir todas las claves disponibles para las matrices de variables
print_r(array_keys(get_defined_vars()));
?>

Registro de cambios

Versión | Descripción
5.0.0 | La variable $GLOBALS se incluye en los resultados de la matriz devuelta.

Ver también

isset()
get_defined_functions()
get_defined_constants()

Anterior | Inicio | Siguiente
floatval | Subir | get_resource_type


get_resource_type

(PHP 4 >= 4.0.2, PHP 5)

get_resource_type -- Devuelve el tipo de recurso

Descripción

string get_resource_type ( resource gestor )

Esta función obtiene el tipo del recurso dado.

Lista de parámetros

gestor

El gestor de recurso evaluado.

Valores retornados

Si el gestor dado es un recurso, esta función devolverá una cadena que representa su tipo. Si el tipo no es identificado por esta función, el valor devuelto será la cadena Unknown.

Esta función devolverá FALSE y genera un error si gestor no es un valor de tipo resource.

Ejemplos

Ejemplo 1. Ejemplo de get_resource_type()

<?php
// imprime: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// imprime: file
$da = fopen("foo", "w");
echo get_resource_type($da) . "\n";

// imprime: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>

Anterior | Inicio | Siguiente
get_defined_vars | Subir | gettype


gettype

(PHP 3, PHP 4, PHP 5)

gettype -- Obtener el tipo de una variable

Descripción

string gettype ( mixed var )

Devuelve el tipo de la variable PHP var.

Aviso

Nunca use gettype() para probar si una variable es de cierto tipo, ya que la cadena devuelta puede ser sujeta a cambios en versiones futuras. Asimismo, es lenta, ya que involucra la comparación de cadenas.

En su lugar, usa las funciones is_*.

Valores retornados

Los valores posible de la cadena devuelta son:

  • "boolean" (a partir de PHP 4)

  • "integer"

  • "double" (por razones históricas, "double" se devuelve en caso de un valor tipo float, y no "float")

  • "string"

  • "array"

  • "object"

  • "resource" (a partir de PHP 4)

  • "NULL" (a partir de PHP 4)

  • "user function" (sólo PHP 3, valor obsoleto)

  • "unknown type"

Para PHP 4, debería usar
function_exists() y
method_exists() para reemplazar el antiguo uso
de gettype() sobre una función.

Ver también

settype()
is_array()
is_bool()
is_float()
is_int()
is_null()
is_numeric()
is_object()
is_resource()
is_scalar()
is_string()

Anterior | Inicio | Siguiente
get_resource_type | Subir | import_request_variables


import_request_variables

(PHP 4 >= 4.1.0, PHP 5)

import_request_variables -- Importar variables GET/POST/Cookie en el contexto global

Descripción

bool import_request_variables ( string tipos [, string prefijo] )

Importa las variables GET/POST/Cookie en el contexto global. Es útil si usted ha deshabilitado register_globals, pero desea ver algunas variables en el contexto global.

Usando el parámetro tipos, es posible indicar cuáles variables de petición deben importarse. Puede usar los caracteres 'G', 'P' y 'C' respectivamente para indicar GET, POST y Cookie. Estos caracteres no son sensibles a mayúsculas o minúsculas, así que puede usar cualquier combinación de 'g', 'p' y 'c'. POST incluye la información de archivos cargados mediante POST. Note que el orden de las letras tiene importancia, ya que cuando usa "gp", las variables POST sobrescribirán las variables GET con el mismo nombre. Cualquier otra letra diferente a GPC es descartada.

El parámetro prefijo es usado como prefijo para nombres de variables, que es colocado antes de todos los nombres de variables importados en el contexto global. De modo que si tiene un valor GET llamado "userid", y usa el prefijo "pref_", entonces obtendrá una variable global llamada $pref_userid.

Si está interesado en importar otras variables en el contexto global, como SERVER, considere el uso de extract().

Nota: Aunque el parámetro prefijo es opcional, recibirá un error de nivel E_NOTICE si no especifica el prefijo, o indica una cadena vacía como el prefijo. Este es un riesgo potencial de seguridad. Los errores de nivel de noticia no son mostrados usando el nivel de reporte de errores predeterminado.

<?php
// Esto importara las variables GET y POST con el prefijo "rvar_"

import_request_variables("gP", "rvar_");

echo $rvar_foo;
?>

Vea también $_REQUEST, register_globals, Variables Predefinidas, y extract().

Anterior | Inicio | Siguiente
gettype | Subir | intval


intval

(PHP 3, PHP 4, PHP 5)

intval -- Obtener el valor entero de una variable

Descripción

int intval ( mixed var [, int base] )

Devuelve el valor integer de var, usando la base especificada para la conversión (la base predeterminada es 10).

Lista de parámetros

var

El valor escalar a convertir a entero

base

La base para la conversión (la base predeterminada es 10)

Valores retornados

El valer entero de var en caso de éxito, o 0 si ocurre un error. Las matrices y objetos vacíos devuelven 0, las matrices y objetos no-vacíos devuelven 1.

El valor máximo depende del sistema. Los sistemas de 32-bits tienen un rango máximo de enteros con signo de -2147483648 a 2147483647. Así que, por ejemplo, en un sistema de ese tipo, intval('1000000000000') devolverá 2147483647. El valor entero máximo para sistemas de 64-bits es 9223372036854775807.

Las cadenas muy probablemente devuelvan 0, aunque esto depende de los caracteres más a la izquierda de la cadena. Se aplican las reglas comunes de moldeamiento de enteros.

Ejemplos

Ejemplo 1. Ejemplos de intval()

Los siguientes ejemplos están basados en un sistema de 32-bits.

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
?>

Notes

Nota: El parámetro base no tiene efecto alguna a menos que var sea una cadena.

Ver también

floatval()
strval()
settype()
is_numeric()
Manipulación de tipos
Funciones Matemáticas de Precisión Arbitraria BCMath

Anterior | Inicio | Siguiente
import_request_variables | Subir | is_array


is_array

(PHP 3, PHP 4, PHP 5)

is_array -- Encuentra si una variable es una matriz

Descripción

bool is_array ( mixed var )

Encuentra si una variable dada es una matriz.

Lista de parámetros

var

La variable evaluada.

Valores retornados

Devuelve TRUE si var es un valor tipo array, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Verificar que una variable es una matriz

<?php
$si = array('esto', 'es', 'una matriz');

echo is_array($si) ? 'Matriz' : 'no es Matriz';
echo "\n";

$no = 'esto es una cadena';

echo is_array($no) ? 'Matriz' : 'no es Matriz';
?>

El resultado del ejemplo seria:

Matriz
no es Matriz

Ver también

is_float()
is_int()
is_string()
is_object()

Anterior | Inicio | Siguiente
intval | Subir | is_binary


is_bool

(PHP 4, PHP 5)

is_bool -- Encuentra si una variable es de tipo booleano

Descripción

bool is_bool ( mixed var )

Encuentra si la variable dada es booleana.

Lista de parámetros

var

La variable a ser evaluada.

Valores retornados

Devuelve TRUE si var es un boolean, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplos de is_bool()

<?php
$a = false;
$b = 0;

// Dado que $a es un booleano, esto es verdadero
if (is_bool($a)) {
    echo "Si, este es un booleano";
}

// Dado que $b no es un booleano, esto no es verdadero
if (is_bool($b)) {
    echo "Si, este es un booleano";
}
?>

Ver también

is_float()
is_int()
is_string()
is_object()
is_array()

Anterior | Inicio | Siguiente
is_binary | Subir | is_buffer


is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable -- Verifica que los contenidos de una variable puedan ser llamados como una función

Descripción

bool is_callable ( mixed var [, bool solo_sintaxis [, string &nombre_a_llamar]] )

Verifica que los contenidos de una variable puedan ser llamados como una función. Esto permite revisar que los contenidos de una variable contengan el nombre de una función válida, o que una matriz contenga un objeto adecuadamente codificado y un nombre de función.

El parámetro var puede ser o bien el nombre de una función almacenada en una variable tipo cadena, o un objeto y el nombre de un método dentro del objeto, de este modo:

array($AlgunObjeto, 'NombreDelMetodo')

Si el argumento solo_sintaxis es TRUE la función solo verifica que var pueda ser una función o un método. Solo rechazará variables simples que no sean cadenas, o una matriz que no tenga una estructura válida para ser usada como llamada de retorno. Se espera que las matrices válidas tengan solo 2 entradas, la primera de las cuales es un objeto o una cadena, y la segunda una cadena.

El argumento nombre_a_llamar recibe el "nombre que puede ser llamado". En el ejemplo siguiente este es "algunaClase:algunMetodo". Note, sin embargo, que a pesar de la implicación de que algunaClase::algunMetodo() es un método estático que puede ser llamado, este no es el caso.

<?php
//  Como chequear una variable para ver si puede ser llamada
//  como una funcion.

//
//  Variable simple que contiene una funcion
//

function algunaFuncion()
{
}

$variableFuncion = 'algunaFuncion';

var_dump(is_callable($variableFuncion, false, $nombre_a_llamar));  // bool(true)

echo $nombre_a_llamar, "\n";  // algunaFuncion

//
//  Matriz que contiene un metodo
//

class algunaClase {

  function algunMetodo()
  {
  }

}

$unObjeto = new algunaClase();

$variableMetodo = array($unObjeto, 'algunMetodo');

var_dump(is_callable($variableMetodo, true, $nombre_a_llamar));  //  bool(true)

echo $nombre_a_llamar, "\n";  //  algunaClase:algunMetodo

?>

Vea también function_exists() y method_exists().

Anterior | Inicio | Siguiente
is_buffer | Subir | is_double


is_double

(PHP 3, PHP 4, PHP 5)

is_double -- Alias of is_float()

Descripción

This function is an alias of: is_float().

Anterior | Inicio | Siguiente
is_callable | Subir | is_float


is_float

(PHP 3, PHP 4, PHP 5)

is_float -- Encuentra si una variable es un flotante

Descripción

bool is_float ( mixed var )

Encuentra si la variable dada es un flotante.

Nota: Para probar si una variable es un número o una cadena numérica (como por ejemplo la entrada de un formulario, que es siempre de tipo cadena), debe usar is_numeric().

Lista de parámetros

var

La variable a evaluar.

Valores retornados

Devuelve TRUE si var es un valor tipo float, FALSE de lo contrario.

Ver también

is_bool()
is_int()
is_numeric()
is_string()
is_array()
is_object()

Anterior | Inicio | Siguiente
is_double | Subir | is_int


is_int

(PHP 3, PHP 4, PHP 5)

is_int -- Encontrar si una variable es un entero

Descripción

bool is_int ( mixed var )

Encuentra si la variable dada es un entero.

Nota: Para probar si una variable es un número o una cadena numérica (como en el caso de la entrada de un formulario, que es siempre una cadena), debe usar is_numeric().

Lista de parámetros

var

La variable a evaluar.

Valores retornados

Devuelve TRUE si var es un valor tipo integer, FALSE de lo contrario.

Ver también

is_bool()
is_float()
is_numeric()
is_string()
is_array()
is_object()

Anterior | Inicio | Siguiente
is_float | Subir | is_integer


is_integer

(PHP 3, PHP 4, PHP 5)

is_integer -- Alias of is_int()

Descripción

This function is an alias of: is_int().

Anterior | Inicio | Siguiente
is_int | Subir | is_long


is_long

(PHP 3, PHP 4, PHP 5)

is_long -- Alias of is_int()

Descripción

This function is an alias of: is_int().

Anterior | Inicio | Siguiente
is_integer | Subir | is_null


is_null

(PHP 4 >= 4.0.4, PHP 5)

is_null -- Encuentra si una variable es NULL

Descripción

bool is_null ( mixed var )

Encuentra si la variable dada es NULL.

Lista de parámetros

var

La variable a ser evaluada.

Valores retornados

Devuelve TRUE si var es null, o FALSE en cualquier otro caso.

Ver también

El tipo NULL
is_bool()
is_numeric()
is_float()
is_int()
is_string()
is_object()
is_array()

Anterior | Inicio | Siguiente
is_long | Subir | is_numeric


is_numeric

(PHP 4, PHP 5)

is_numeric -- Encuentra si una variable es un número o una cadena numérica

Descripción

bool is_numeric ( mixed var )

Encuentra si la variable dada es numérica. Las cadenas numéricas consisten de un signo opcional, cualquier número de dígitos, una parte decimal opcional y una parte exponencial opcional. Por lo tanto, +0123.45e6 es un valor numérico válido. La notación hexadecimal (0xFF) es permitida también pero solo sin partes de signo, valor decimal y valor exponencial.

Lista de parámetros

var

La variable a ser evaluada.

Valores retornados

Devuelve TRUE si var es un número o una cadena numérica, o FALSE en cualquier otro caso.

Ver también

ctype_digit()
is_bool()
is_null()
is_float()
is_int()
is_string()
is_object()
is_array()

Anterior | Inicio | Siguiente
is_null | Subir | is_object


is_object

(PHP 3, PHP 4, PHP 5)

is_object -- Encuentra si una variable es un objeto

Descripción

bool is_object ( mixed var )

Encuentra si la variable dada es un objeto.

Lista de parámetros

var

La variable a evaluar.

Valores retornados

Devuelve TRUE si var es un valor tipo object, FALSE de lo contrario.

Notes

Nota: Esta función devolverá FALSE si es usada sobre un objeto no seriado en donde la definición de la clase no esté presente (incluso si gettype() devuelve object).

Ver también

is_bool()
is_int()
is_float()
is_string()
is_array()

Anterior | Inicio | Siguiente
is_numeric | Subir | is_real


is_real

(PHP 3, PHP 4, PHP 5)

is_real -- Alias of is_float()

Descripción

This function is an alias of: is_float().

Anterior | Inicio | Siguiente
is_object | Subir | is_resource


is_resource

(PHP 4, PHP 5)

is_resource -- Encuentra si una variable es un recurso

Descripción

bool is_resource ( mixed var )

Encuentra si la variable dada es un recurso.

Lista de parámetros

var

La variable a ser evaluada.

Valores retornados

Devuelve TRUE si var es un valor de tipo resource, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de is_resource()

<?php

$enlace_bd = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($enlace_bd)) {
    die('No pudo realizarse la conexi&oacute;n : ' . mysql_error());
}

?>

Ver también

La documentación del tipo-recurso
get_resource_type()

Anterior | Inicio | Siguiente
is_real | Subir | is_scalar


is_scalar

(PHP 4 >= 4.0.5, PHP 5)

is_scalar -- Encuentra si una variable es un escalar

Descripción

bool is_scalar ( mixed var )

Encuentra si la variable dada es un escalar.

Las variables escalares son aquellas que contienen un integer, float, string o boolean. Los tipos array, object y resource no son escalares.

Nota: is_scalar() no considera los valores de tipo resource como escalares ya que los recursos son tipos de datos abstractos que actualmente se basan en enteros. No debe dependerse de este detalle de implementación, ya que puede cambiar.

Lista de parámetros

var

La variable a ser evaluada.

Valores retornados

Devuelve TRUE si var es un escalar, FALSE de lo contrario.

Ejemplos

Ejemplo 1. Ejemplo de is_scalar()

<?php
function mostrar_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteinas = array("hemoglobina", "citocromo c oxidasa", "ferredoxin");

mostrar_var($pi);
mostrar_var($proteinas)

?>

El resultado del ejemplo seria:

3.1416
array(3) {
  [0]=>
  string(11) "hemoglobina"
  [1]=>
  string(19) "citocromo c oxidasa"
  [2]=>
  string(10) "ferredoxin"
}

Ver también

is_float()
is_int()
is_numeric()
is_real()
is_string()
is_bool()
is_object()
is_array()

Anterior | Inicio | Siguiente
is_resource | Subir | is_string


is_string

(PHP 3, PHP 4, PHP 5)

is_string -- Encuentra si una variable es una cadena

Descripción

bool is_string ( mixed var )

Encuentra si la variable dada es una cadena.

Lista de parámetros

var

La variable a evaluar.

Valores retornados

Devuelve TRUE si var es un valor tipo string, FALSE de lo contrario.

Ver también

is_float()
is_int()
is_bool()
is_object()
is_array()

Anterior | Inicio | Siguiente
is_scalar | Subir | is_unicode


isset

(PHP 3, PHP 4, PHP 5)

isset -- Determinar si una variable está definida

Descripción

bool isset ( mixed var [, mixed var [, ...]] )

Devuelve TRUE si var existe; FALSE de lo contrario.

Si una variable ha sido removida con unset(), ya no estará definida. isset() devolverá FALSE si prueba una variable que ha sido definida como NULL. También note que un byte NULL ("\0") no es equivalente a la constante NULL de PHP.

Advertencia: isset() sólo trabaja con variables, ya que pasar cualquier otra cosa resultará en un error de intérprete. Para chequear si se han definido constantes, use la función defined().

<?php

$var = '';

// Esto evaluara a TRUE asi que el texto se imprimira.
if (isset($var)) {
    echo "Esta variable esta definida, asi que se imprimira esto.";
}

// En los siguientes ejemplo usaremos var_dump para imprimir
// el valor devuelto por isset().

$a = "prueba";
$b = "otraprueba";

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b));  // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

También trabaja con elementos en matrices:

<?php

$a = array ('prueba' => 1, 'hola' => NULL);

var_dump(isset($a['prueba']));         // TRUE
var_dump(isset($a['foo']));            // FALSE
var_dump(isset($a['hola']));           // FALSE

// La clave 'hola' es igual a NULL asi que no se considera definida
// Si desea probar por valores NULL en claves, intente:
var_dump(array_key_exists('hola', $a)); // TRUE

?>

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

Vea también empty(), unset(), defined(), las tablas de comparación de tipos, array_key_exists(), y el operador de control de errores @.

Anterior | Inicio | Siguiente
is_unicode | Subir | print_r


print_r

(PHP 4, PHP 5)

print_r -- Imprime información legible para humanos sobre una variable

Descripción

bool print_r ( mixed expresion [, bool devolver] )

Nota: El parámetro devolver fue agregado en PHP 4.3.0

print_r() despliega información sobre una variable en una forma que es apta para su lectura por humanos. Si se le entrega una variable tipo string, integer o float, el valor mismo será impreso. Si se le entrega un array, los valores serán presentados en un formato que muestra las claves y los elementos. Una notación parecida es usada para variables tipo object. print_r(), var_dump() y var_export() mostrarán también propiedades protegidas y privadas de objetos con PHP 5.

Recuerde que print_r() desplazará el apuntador de la matriz al final. Use reset() para llevarlo de vuelta al comienzo.

<pre>
<?php
    $a = array ('a' => 'manzana', 'b' => 'banano', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
?>
</pre>

El resultado del ejemplo seria:

<pre>
Array
(
    [a] => manzana
    [b] => banano
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Si quisiera capturar la salida de print_r(), use el parámetro devolver. Si este parámetro recibe el valor TRUE, print_r() devolverá su salida, en lugar de imprimirla (cosa que hace por omisión).

Nota: This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.

Ejemplo 1. Ejemplo del parámetro devolver

<?php
    $b = array ('m' => 'mono', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
    $resultados = print_r($b, true);  // $resultados contiene ahora la salida de print_r
?>

Nota: Si necesita capturar la salida de print_r() con una versión de PHP anterior a 4.3.0, use las funciones de control de salida.

Nota: Antes de PHP 4.0.4, print_r() continuará ejecutándose indefinidamente si se le entrega una variable tipo array u object que contenga una referencia directa o indirecta a sí misma. Un ejemplo es print_r($GLOBALS) ya que la variable $GLOBALS es una variable global que contiene una referencia a sí misma.

Vea también ob_start(), var_dump() y var_export().

Anterior | Inicio | Siguiente
isset | Subir | serialize


serialize

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

serialize -- Genera una representación apta para almacenamiento de un valor

Descripción

string serialize ( mixed valor )

serialize() devuelve una cadena que contiene una representación de flujo de bytes del valor que puede ser almacenada en cualquier parte.

Esto es útil para el almacenamiento de valores en PHP sin perder su tipo y estructura.

Para recuperar el valor PHP a partir de la cadena seriada, use unserialize(). serialize() maneja todos los tipos, excepto resource. Usted puede incluso usar serialize() sobre matrices que contienen referencias a ellas mismas. Las referencias encontradas en la matriz/objeto que procede a seriar con serialize() también serán almacenadas.

Cuando seria objetos, PHP intentará llamar la función miembro __sleep() antes de la seriación. Esto permite que el objeto efectúe limpiezas de último minuto, etc. antes de ser seriado. De forma semejante, cuando un objeto es recuperado usando unserialize(), la función miembro __wakeup() es llamada.

Nota: Esto no funcionaba correctamente hasta 4.0.7.

Nota: En PHP 3, las propiedades de los objetos serán seriados, pero los métodos se pierden. Esa limitación fue retirada en PHP 4 ya que tanto las propiedades como los métodos son almacenados ahora. Por favor consulte la sección Seriación de Objetos de Clases y Objetos para más información.

No es posible seriar objetos integrados de PHP.

Ejemplo 1. Ejemplo de serialize()

<?php
// $datos_sesion contiene una matriz multi-dimensional con
// informacion del usuario actual. Usamos serialize() para
// almacenarla en una base de datos al final de la peticion.

$con  = odbc_connect("bd_web", "php", "gallina");
$sent = odbc_prepare($con,
      "UPDATE sesiones SET datos = ? WHERE id = ?");
$datos_sql = array (serialize($datos_sesion), $PHP_AUTH_USER);

if (!odbc_execute($sent, &$datos_sql)) {
    $sent = odbc_prepare($con,
     "INSERT INTO sesiones (id, datos) VALUES(?, ?)");
    if (!odbc_execute($sent, &$datos_sql)) {
        /* Algo ha fallado.. */
    }
}
?>

Vea También: unserialize().

Anterior | Inicio | Siguiente
print_r | Subir | settype


settype

(PHP 3, PHP 4, PHP 5)

settype -- Definir el tipo de una variable

Descripción

bool settype ( mixed &var, string tipo )

Definir el tipo de la variable var a tipo.

Los posibles valores de tipo son:

  • "boolean" (o, desde PHP 4.2.0, "bool")

  • "integer" (o, desde PHP 4.2.0, "int")

  • "float" (únicamente posible desde PHP 4.2.0, para versiones anteriores use la variante obsoleta "double")

  • "string"

  • "array"

  • "object"

  • "null" (desde PHP 4.2.0)

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de settype()

<?php
$foo = "5bar"; // string
$bar = true;   // boolean

settype($foo, "integer"); // $foo es ahora 5   (integer)
settype($bar, "string");  // $bar es ahora "1" (string)
?>

Vea también gettype(), moldeamiento de tipos y manipulación de tipos.

Anterior | Inicio | Siguiente
serialize | Subir | strval


strval

(PHP 3, PHP 4, PHP 5)

strval -- Obtener el valor de cadena de una variable

Descripción

string strval ( mixed var )

Devuelve el valor string de var. Vea la documentación sobre el tipo string para más información sobre la conversión a cadena.

var puede ser cualquier tipo escalar. No es posible usar strval() sobre matrices u objetos.

Vea también floatval(), intval(), settype() y Manipulación de tipos.

Anterior | Inicio | Siguiente
settype | Subir | unserialize


unserialize

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

unserialize -- Crea un valor PHP a partir de una representación almacenada

Descripción

mixed unserialize ( string cadena )

unserialize() toma una variable sencilla seriada (vea serialize()) y la convierte de vuelta a su valor PHP. El valor convertido es retornado, y puede ser un boolean, integer, float, string, array u object. En caso de que la cadena pasada no pueda ser procesada para revertir la seriación, se devuelve FALSE y un error de tipo E_NOTICE es generado.

Aviso

FALSE es devuelto tanto en el caso de un error como cuando se convierte el valor seriado FALSE. Es posible atrapar este caso especial comparando cadena con serialize(false) o atrapando el error E_NOTICE generado.

Directiva unserialize_callback_func: Es posible establecer una función-llamada de retorno la cual será llamada si una clase no definida debería ser instanciada durante el proceso de revertir la seriación. (para prevenir que se reciba un object incompleto "__PHP_Incomplete_Class".) Use su php.ini, ini_set() o .htaccess para definir 'unserialize_callback_func'. Cada vez que una clase no definida deba ser instanciada, esta función será llamada. Para deshabilitar esta característica simplemente asigne un valor vacío a este parámetro. También note que la directiva unserialize_callback_func se hizo disponible en PHP 4.2.0.

Si la variable que está siendo convertida de vuelta es un objeto, PHP intentará llamar la función miembro __wakeup() (si existe) automáticamente luego de haber recontruido satisfactoriamente el objeto.

Ejemplo 1. Ejemplo de unserialize_callback_func

<?php
$objeto_seriado='O:1:"a":1:{s:5:"valor";s:3:"100";}';

// la directiva unserialize_callback_func está disponible a partir de PHP 4.2.0
ini_set('unserialize_callback_func', 'mi_llamada_de_retorno'); // defina su callback_function

function mi_llamada_de_retorno($nombre_clase)
{
    // tan solo incluya un archivo que contenga su definición de clase

    // usted recibe $nombre_clase para determinar qué definición de
    // clase requiere
}
?>

Nota: En PHP 3, los métodos no se preservan cuando se revierte un objeto seriado. Esa limitación fue retirada en PHP 4 ya que tanto las propiedades como los métodos se almacenan ahora. Por favor consulte la sección Seriación de Objetos de Clases y Objetos para más información.

Ejemplo 2. Ejemplo de unserialize()

<?php
// Aquí usamos unserialize() para cargar los datos de sesión
// provenientes de la cadena seleccionada desde la base de datos en la
// matriz $datos_sesion. Este ejemplo complementa aquél descrito con
// serialize().

$con  = odbc_connect("bd_web", "php", "gallina");
$sent = odbc_prepare($con, "SELECT datos FROM sesiones WHERE id = ?");
$datos_sql = array ($PHP_AUTH_USER);

if (!odbc_execute($sent, &$datos_sql) || !odbc_fetch_into($sent, &$tmp)) {
    // si la ejecución del comando o la recuperación de datos falla,
    // inicializar una matriz vacía
    $datos_sesion = array();
} else {
    // ahora deberíamos tener los datos seriados en $tmp[0].
    $datos_sesion = unserialize($tmp[0]);
    if (!is_array($datos_sesion)) {
        // algo ha fallado, inicializar una matriz vacía
        $datos_sesion = array();
    }
}
?>

Vea también serialize().

Anterior | Inicio | Siguiente
strval | Subir | unset


unset

(PHP 3, PHP 4, PHP 5)

unset -- Remover una variable dada

Descripción

void unset ( mixed var [, mixed var [, mixed ...]] )

unset() destruye las variables especificadas. Note que en PHP 3, unset() siempré devolverá TRUE (en realidad, el valor entero 1). En PHP 4, sin embargo, unset() no es una función verdadera: es una sentencia. Como tal, no devuelve valor alguno, e intentar tomar el valor de unset() resulta en un error de intérprete.

Ejemplo 1. Ejemplo de unset()

<?php
// destruir una variable sencilla
unset($foo);

// destruir un elemento de una matriz
unset($bar['quux']);

// destruir mas de una variable
unset($foo1, $foo2, $foo3);
?>

Nota: Es posible remover incluso propiedades de objetos visibles en el contexto actual.

El comportamiento de unset() al interior de una función puede variar dependiendo del tipo de variable que intenta destruir.

Si se aplica unset() sobre una variable global al interior de una función, solo la variable local es destruida. La variable en el entorno de la llamada retendrá el mismo valor que antes que que se llamara unset().

<?php
function destruir_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destruir_foo();
echo $foo;
?>

El resultado del ejemplo seria:

bar

Si desea aplicar unset() sobre una variable global al interior de una función, puede usar la matriz $GLOBALS para este propósito:

<?php
function foo()
{
    unset($GLOBALS['bar']);
}

$bar = "algo";
foo();
?>

Si se aplica unset() sobre una variable que es PASADA POR REFERENCIA al interior de una función, solo la variable local es destruida. La variable en el entorno de la llamada retendrá el mismo valor que antes de que unset() fuera llamada.

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'algo';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

El resultado del ejemplo seria:

algo
algo

Si se aplica unset() sobre una variable estática al interior de una función, unset() destruye la variable únicamente en el contexto del resto de una función. Las llamadas siguientes recuperarán el valor previo de una variable.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Antes de unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "despues de unset: $bar\n";
}

foo();
foo();
foo();
?>

El resultado del ejemplo seria:

Antes de unset: 1, despues de unset: 23
Antes de unset: 2, despues de unset: 23
Antes de unset: 3, despues de unset: 23

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

Vea también isset(), empty(), y array_splice().

Anterior | Inicio | Siguiente
unserialize | Subir | var_dump


var_dump

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

var_dump -- Vuelca información sobre una variable

Descripción

void var_dump ( mixed expresion [, mixed expresion [, ...]] )

Esta función despliega información estructurada sobre una o más expresiones que incluye sus tipos y valores. Las matrices y los objetos son exploradas recursivamente con valores sangrados para mostrar su estructura.

En PHP 5 todas las propiedades públicas, privadas y protegidas de los objetos serán devueltas en la salida.

Sugerencia: Como con todo lo que presenta un resultado directamente en el navegador, se pueden utilizar las funciones de control de salida para capturar el resultado de esta función y grabarlo - por ejemplo - en una string.

Lista de parámetros

expresion

La variable que desea exportar.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Ejemplo de var_dump()

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump ($a);

?>

El resultado del ejemplo seria:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b, $c);

?>

El resultado del ejemplo seria:

float(3.1)
bool(true)

Ver también

var_export()
print_r()

Anterior | Inicio | Siguiente
unset | Subir | var_export


var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export -- Imprime o devuelve una representación de cadena, apta para su procesamiento, de una variable

Descripción

mixed var_export ( mixed expresion [, bool devolver] )

var_export() obtiene información estructurada sobre la variable dada. Es similar a var_dump() con una excepción: la representación devuelta es código PHP válido.

Lista de parámetros

expresion

La variable que desea exportar.

devolver

Si es usada y se define como TRUE, var_export() devolverá la representación de la variable en lugar de imprimirla.

Nota: This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.

Valores retornados

Devuelve la representación de la variable cuando el parámetro devolver es usado y evalúa a TRUE. De otro modo, esta función devolverá NULL.

Registro de cambios

Versión | Descripción
5.1.0 | Posibilidad de exportar clases y matrices que contengan clases, usando el método mágico __set_state.

Ejemplos

Ejemplo 1. Ejemplos de var_export()

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export ($a);
?>

El resultado del ejemplo seria:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v;

?>

El resultado del ejemplo seria:

3.1

Ejemplo 2. Exportación de clases a partir de PHP 5.1.0

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

El resultado del ejemplo seria:

A::__set_state(array(
   'var' => 5,
))

Ejemplo 3. Uso de __set_state (a partir de PHP 5.1.0)

<?php
class A
{
    public $var1;
    public $var2;

    public static function __set_state($una_matriz)
    {
        $obj = new A;
        $obj->var1 = $una_matriz['var1'];
        $obj->var2 = $una_matriz['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b =
A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);
?>

El resultado del ejemplo seria:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Notes

Nota: Las variables de tipo resource no pueden ser exportadas por esta función.

Ver también

var_dump()
print_r()

Anterior | Inicio | Siguiente
var_dump | Subir | Verisign Payflow Pro functions


vpopmail Functions

Manual de PHP
Anterior Siguiente

CLXX. vpopmail Functions

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This extension has been moved from PHP as of PHP 4.3.0 and now vpopmail lives in PECL.

Instalación

As of PHP 4, these functions are only available if PHP was configured with --with-vpopmail[=DIR].

Tabla de contenidos
vpopmail_add_alias_domain_ex -- Add alias to an existing virtual domain
vpopmail_add_alias_domain -- Add an alias for a virtual domain
vpopmail_add_domain_ex -- Add a new virtual domain
vpopmail_add_domain -- Add a new virtual domain
vpopmail_add_user -- Add a new user to the specified virtual domain
vpopmail_alias_add -- Insert a virtual alias
vpopmail_alias_del_domain -- Deletes all virtual aliases of a domain
vpopmail_alias_del -- Deletes all virtual aliases of a user
vpopmail_alias_get_all -- Get all lines of an alias for a domain
vpopmail_alias_get -- Get all lines of an alias for a domain
vpopmail_auth_user -- Attempt to validate a username/domain/password
vpopmail_del_domain_ex -- Delete a virtual domain
vpopmail_del_domain -- Delete a virtual domain
vpopmail_del_user -- Delete a user from a virtual domain
vpopmail_error -- Get text message for last vpopmail error
vpopmail_passwd -- Change a virtual user's password
vpopmail_set_user_quota -- Sets a virtual user's quota

Anterior | Inicio | Siguiente
pfpro_version | Subir | vpopmail_add_alias_domain_ex


vpopmail_add_alias_domain_ex

(4.0.5 - 4.2.3 only, PECL)

vpopmail_add_alias_domain_ex -- Add alias to an existing virtual domain

Descripción

bool vpopmail_add_alias_domain_ex ( string olddomain, string newdomain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail Functions | Subir | vpopmail_add_alias_domain


vpopmail_add_alias_domain

(4.0.5 - 4.2.3 only, PECL)

vpopmail_add_alias_domain -- Add an alias for a virtual domain

Descripción

bool vpopmail_add_alias_domain ( string domain, string aliasdomain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_add_alias_domain_ex | Subir | vpopmail_add_domain_ex


vpopmail_add_domain_ex

(4.0.5 - 4.2.3 only, PECL)

vpopmail_add_domain_ex -- Add a new virtual domain

Descripción

bool vpopmail_add_domain_ex ( string domain, string passwd [, string quota [, string bounce [, bool apop]]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_add_alias_domain | Subir | vpopmail_add_domain


vpopmail_add_domain

(4.0.5 - 4.2.3 only, PECL)

vpopmail_add_domain -- Add a new virtual domain

Descripción

bool vpopmail_add_domain ( string domain, string dir, int uid, int gid )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_add_domain_ex | Subir | vpopmail_add_user


vpopmail_add_user

(4.0.5 - 4.2.3 only, PECL)

vpopmail_add_user -- Add a new user to the specified virtual domain

Descripción

bool vpopmail_add_user ( string user, string domain, string password [, string gecos [, bool apop]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_add_domain | Subir | vpopmail_alias_add


vpopmail_alias_add

(4.1.0 - 4.2.3 only, PECL)

vpopmail_alias_add -- Insert a virtual alias

Descripción

bool vpopmail_alias_add ( string user, string domain, string alias )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_add_user | Subir | vpopmail_alias_del_domain


vpopmail_alias_del_domain

(4.1.0 - 4.2.3 only, PECL)

vpopmail_alias_del_domain -- Deletes all virtual aliases of a domain

Descripción

bool vpopmail_alias_del_domain ( string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_alias_add | Subir | vpopmail_alias_del


vpopmail_alias_del

(4.1.0 - 4.2.3 only, PECL)

vpopmail_alias_del -- Deletes all virtual aliases of a user

Descripción

bool vpopmail_alias_del ( string user, string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_alias_del_domain | Subir | vpopmail_alias_get_all


vpopmail_alias_get_all

(4.1.0 - 4.2.3 only, PECL)

vpopmail_alias_get_all -- Get all lines of an alias for a domain

Descripción

array vpopmail_alias_get_all ( string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_alias_del | Subir | vpopmail_alias_get


vpopmail_alias_get

(4.1.0 - 4.2.3 only, PECL)

vpopmail_alias_get -- Get all lines of an alias for a domain

Descripción

array vpopmail_alias_get ( string alias, string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_alias_get_all | Subir | vpopmail_auth_user


vpopmail_auth_user

(4.0.5 - 4.2.3 only, PECL)

vpopmail_auth_user -- Attempt to validate a username/domain/password

Descripción

bool vpopmail_auth_user ( string user, string domain, string password [, string apop] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_alias_get | Subir | vpopmail_del_domain_ex


vpopmail_del_domain_ex

(4.0.5 - 4.2.3 only, PECL)

vpopmail_del_domain_ex -- Delete a virtual domain

Descripción

bool vpopmail_del_domain_ex ( string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_auth_user | Subir | vpopmail_del_domain


vpopmail_del_domain

(4.0.5 - 4.2.3 only, PECL)

vpopmail_del_domain -- Delete a virtual domain

Descripción

bool vpopmail_del_domain ( string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_del_domain_ex | Subir | vpopmail_del_user


vpopmail_del_user

(4.0.5 - 4.2.3 only, PECL)

vpopmail_del_user -- Delete a user from a virtual domain

Descripción

bool vpopmail_del_user ( string user, string domain )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_del_domain | Subir | vpopmail_error


vpopmail_error

(4.0.5 - 4.2.3 only, PECL)

vpopmail_error -- Get text message for last vpopmail error

Descripción

string vpopmail_error ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_del_user | Subir | vpopmail_passwd


vpopmail_passwd

(4.0.5 - 4.2.3 only, PECL)

vpopmail_passwd -- Change a virtual user's password

Descripción

bool vpopmail_passwd ( string user, string domain, string password [, bool apop] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_error | Subir | vpopmail_set_user_quota


vpopmail_set_user_quota

(4.0.5 - 4.2.3 only, PECL)

vpopmail_set_user_quota -- Sets a virtual user's quota

Descripción

bool vpopmail_set_user_quota ( string user, string domain, string quota )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
vpopmail_passwd | Subir | W32api Functions


W32api Functions

Manual de PHP
Anterior Siguiente

CLXXI. W32api Functions

Introducción

This extension is a generic extension API to DLLs. This was originally written to allow access to the Win32 API from PHP, although you can also access other functions exported via other DLLs.

Currently supported types are generic PHP types (strings, booleans, floats, integers and nulls) and types you define with w32api_deftype().

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Requisitos

This extension will only work on Windows systems.

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

This extension defines one resource type, used for user defined types. The name of this resource is "dynaparm".

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

DC_MICROSOFT (integer)

DC_BORLAND (integer)

DC_CALL_CDECL (integer)

DC_CALL_STD (integer)

DC_RETVAL_MATH4 (integer)

DC_RETVAL_MATH8 (integer)

DC_CALL_STD_BO (integer)

DC_CALL_STD_MS (integer)

DC_CALL_STD_M8 (integer)

DC_FLAG_ARGPTR (integer)

Ejemplos

This example gets the amount of time the system has been running and displays it in a message box.

Ejemplo 1. Get the uptime and display it in a message box

<?php
// Define constants needed, taken from
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);

// Load the extension in
dl("php_w32api.dll");

// Register the GetTickCount function from kernel32.dll
w32api_register_function("kernel32.dll",
                         "GetTickCount",
                         "long");

// Register the MessageBoxA function from User32.dll
w32api_register_function("User32.dll",
                         "MessageBoxA",
                         "long");

// Get uptime information
$ticks = GetTickCount();

// Convert it to a nicely displayable text
$secs  = floor($ticks / 1000);
$mins  = floor($secs / 60);
$hours = floor($mins / 60);

$str = sprintf("You have been using your computer for:" .
                "\r\n %d Milliseconds, or \r\n %d Seconds" .
                "or \r\n %d mins or\r\n %d hours %d mins.",
                $ticks,
                $secs,
                $mins,
                $hours,
                $mins - ($hours*60));

// Display a message box with only an OK button and the uptime text
MessageBoxA(NULL,
            $str,
            "Uptime Information",
            MB_OK);
?>
Tabla de contenidos
w32api_deftype -- Defines a type for use with other w32api_functions
w32api_init_dtype -- Creates an instance of the data type typename and fills it with the values passed
w32api_invoke_function -- Invokes function funcname with the arguments passed after the function name
w32api_register_function -- Registers function function_name from library with PHP
w32api_set_call_method -- Sets the calling method used

Anterior | Inicio | Siguiente
vpopmail_set_user_quota | Subir | w32api_deftype


w32api_deftype

(4.2.0 - 4.2.3 only)

w32api_deftype -- Defines a type for use with other w32api_functions

Descripción

bool w32api_deftype ( string typename, string member1_type, string member1_name [, string ... [, string ...]] )

You need to call this function if you would like to define a type for a w32api call.

Lista de parámetros

typename

The name of the type.

member1_type

A member type can be a user defined type. All the type names are case sensitive. Built in type names should be provided in lowercase.

member1_name

The member name of member1_type.

...

...

This function takes 2n+1 arguments, where n is the number of members the type has. After that is the type of the member followed by the members name (in pairs).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
W32api Functions | Subir | w32api_init_dtype


w32api_init_dtype

(4.2.0 - 4.2.3 only)

w32api_init_dtype -- Creates an instance of the data type typename and fills it with the values passed

Descripción

resource w32api_init_dtype ( string typename, mixed value [, mixed ...] )

This function creates an instance of the data type named typename, filling in the values of the data type.

Lista de parámetros

typename

The typename parameter is case sensitive.

value

You should give the values in the same order as you defined the data type with w32api_deftype().

...

Valores retornados

Returns a dynaparm resource.

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
w32api_deftype | Subir | w32api_invoke_function


w32api_invoke_function

(4.2.0 - 4.2.3 only)

w32api_invoke_function -- Invokes function funcname with the arguments passed after the function name

Descripción

mixed w32api_invoke_function ( string funcname, mixed argument [, mixed ...] )

w32api_invoke_function() tries to find the previously registered function, passing the parameters you provided.

Lista de parámetros

funcname

The function name.

argument

Any of the arguments can be of any PHP type or w32api_deftype() defined type, as needed.

...

Valores retornados

The return type is the one you set when you registered the function, the value is the one returned by the function itself.

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
w32api_init_dtype | Subir | w32api_register_function


w32api_register_function

(4.2.0 - 4.2.3 only)

w32api_register_function -- Registers function function_name from library with PHP

Descripción

bool w32api_register_function ( string library, string function_name, string return_type )

This function tries to find the function_name function in libary, and tries to import it into PHP.

Lista de parámetros

library

The library name, as a string.

function_name

The function name, as a string.

return_type

The function will be registered with the given return_type. This type can be a generic PHP type, or a type defined with w32api_deftype(). All type names are case sensitive. Built in type names should be provided in lowercase.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
w32api_invoke_function | Subir | w32api_set_call_method


w32api_set_call_method

(4.2.0 - 4.2.3 only)

w32api_set_call_method -- Sets the calling method used

Descripción

void w32api_set_call_method ( int method )

This function sets the method call type.

Lista de parámetros

method

Can be one of DC_CALL_CDECL or DC_CALL_STD (the extension default).

Valores retornados

No value is returned.

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
w32api_register_function | Subir | Funciones WDDX


Funciones WDDX

Manual de PHP
Anterior Siguiente

CLXXII. Funciones WDDX

Estas funciones permiten el uso de WDDX.

Debe saber que todas las funciones que serializan variables usan el primer elemento de un array para determinar si este ha de serializarse en forma de array o como estructura. Si el primer elemento esta indexado por una cadena, se serializa como estructura, y en caso contrario, como array.

Ejemplo 1. Serializacion de un valor simple

<?php
print wddx_serialize_value("Ejemplo de PHP a paquete WDDX", "Paquete PHP");
?>

Este ejemplo producira:

<wddxPacket version='0.9'><header comment='Paquete PHP'/><data>
<string>Ejemplo de PHP a paquete WDDX</string></data></wddxPacket>

Ejemplo 2. Uso de paquetes incrementales

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suponga que $ciudades se ha obtenido de una base de datos */
$ciudades = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "ciudades");

$packet = wddx_packet_end($packet_id);
print $packet;
?>

Este ejemplo producira:

<wddxPacket version='0.9'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='ciudades'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Tabla de contenidos
wddx_add_vars -- Finaliza un paquete WDDX con el identificador dado
wddx_deserialize -- Des-serializa un paquete WDDX
wddx_packet_end -- Finaliza un paquete WDDX con el identificador dado
wddx_packet_start -- Comienza un nuevo paquete WDDX con una estructura dentro
wddx_serialize_value -- Serializa un valor simple en un paquete WDDX
wddx_serialize_vars -- Serializa variables en un paquete WDDX
wddx_unserialize -- Unserializes a WDDX packet

Anterior | Inicio | Siguiente
w32api_set_call_method | Subir | wddx_add_vars


wddx_add_vars

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_add_vars -- Finaliza un paquete WDDX con el identificador dado

Descripcion

wddx_add_vars ( entero packet_id, varios-tipos name_var [, varios-tipos ...] )

wddx_add_vars() se utiliza para serializar las variables dadas e incorporar el resultado al paquete especificado por packet_id. Las variables a serializar se especifican exactamente igual que en wddx_serialize_vars().

Anterior | Inicio | Siguiente
Funciones WDDX | Subir | wddx_deserialize


wddx_deserialize

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_deserialize -- Des-serializa un paquete WDDX

Descripcion

varios-tipos wddx_deserialize ( cadena packet )

wddx_deserialized() toma una cadena packet y la desserializa. Devuelve el resultado que puede ser de tipo cadena, numerico o array. Las estructuras son desserializadas en forma de arrays asociativos.

Anterior | Inicio | Siguiente
wddx_add_vars | Subir | wddx_packet_end


wddx_packet_end

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_packet_end -- Finaliza un paquete WDDX con el identificador dado

Descripcion

cadena wddx_packet_end ( entero packet_id )

wddx_packet_end() finaliza el paquete WDDX especificado por el packet_id y devuelve la cadena con el paquete.

Anterior | Inicio | Siguiente
wddx_deserialize | Subir | wddx_packet_start


wddx_packet_start

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_packet_start -- Comienza un nuevo paquete WDDX con una estructura dentro

Descripcion

entero wddx_packet_start ( [cadena comentario] )

Utilice wddx_packet_start() para comenzar un nuevo paquete WDDX que permita la adicion sucesiva de variables. Recibe el parametro opcional comentario y devuelve un identificador de paquete para su uso en posteriores llamadas. Automaticamente define una estructura dentro del paquete para contener las variables.

Anterior | Inicio | Siguiente
wddx_packet_end | Subir | wddx_serialize_value


wddx_serialize_value

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_serialize_value -- Serializa un valor simple en un paquete WDDX

Descripcion

cadena wddx_serialize_value ( varios-tipos var [, cadena comentario] )

wddx_serialize_value() se utiliza para crear un paquete WDDX desde un valor simple dado. Toma el valor contenido en var, y una cadena comentario opcional que aparecera en la cabecera del paquete, y devuelve el paquete WDDX.

Anterior | Inicio | Siguiente
wddx_packet_start | Subir | wddx_serialize_vars


wddx_serialize_vars

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_serialize_vars -- Serializa variables en un paquete WDDX

Descripcion

cadena wddx_serialize_vars ( varios-tipos nombre_var [, varios-tipos ...] )

wddx_serialize_vars() se utiliza para crear un paquete WDDX con una estructura que contiene la representacion serializada de las variables pasadas como parametros.

wddx_serialize_vars() toma un numero variable de argumentos, cada uno de los cuales puede ser una cadena con el nombre de una variable o un array con nombres de variables, o de otro array, etc.

Ejemplo 1. wddx_serialize_vars example

<?php
$a = 1;
$b = 5.5;
$c = array("azul", "naranja", "violeta");
$d = "colores";

$clvars = array("c", "d");
print wddx_serialize_vars("a", "b", $clvars);
?>

El ejemplo anterior producira:

<wddxPacket version='0.9'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>azul</string><string>naranja</string><string>violeta</string></array></var>
<var name='d'><string>colores</string></var></struct></data></wddxPacket>

Anterior | Inicio | Siguiente
wddx_serialize_value | Subir | wddx_unserialize


Funciones xattr

Manual de PHP
Anterior Siguiente

CLXXV. Funciones xattr

Introducción

La extensión xattr permite modificar atributos avanzados del sistema de archivos

Requisitos

Para poder utilizar xattr, es necesario disponer de la librerí libattr instalada. Puede obtener la librería en la siguiente dirección http://oss.sgi.com/projects/xfs/.

Nota: Estas funciones solamente funcionan en sistemas de archivos que soporten atributos extendidos y que los tengan habilitados en el momento del montaje. Algunos de los sistemas de archivos más comunes que soportan los atributos extendidos son ext2, ext3, reiserfs, jfs y xfs.

Instalación

xattr está disponible mediante PECL http://pecl.php.net/package/xattr.

Si dispone de PEAR en un sistema tipo unix, puede emplear el instalador de PEAR para instalar la extensión xattr mediante el siguiente comando: pear -v install xattr.

Además, la instalación también puede realizarse manualmente a partir del código fuente:

Ejemplo 1. Instalación manual de xattr

gunzip xattr-xxx.tgz
tar -xvf xattr-xxx.tar
cd xattr-xxx
phpize
./configure && make && make install

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

XATTR_ROOT (integer)

Establecer atributo en el espacio de nombres raíz (y de confianza). Requiere privilegios de root.

XATTR_DONTFOLLOW (integer)

Realizar las operaciones en el propio enlace simbólico (no seguirlo).

XATTR_CREATE (integer)

La función falla si el atributo extendido ya existía.

XATTR_REPLACE (integer)

La función falla si el atributo extendido no existe.

Tabla de contenidos
xattr_get -- Obtiene un atributo extendido
xattr_list -- Obtiene una lista de los atributos extendidos
xattr_remove -- Elimina un atributo extendido
xattr_set -- Establece un atributo extendido
xattr_supported -- Comprueba si el sistema de archivo soporta los atributos extendidos

Anterior | Inicio | Siguiente
win32_stop_service | Subir | xattr_get


xattr_get

(PECL)

xattr_get -- Obtiene un atributo extendido

Descripción

string xattr_get ( string nombre_archivo, string nombre [, int opciones] )

La función obtiene el valor de un atributo extendido del archivo.

Extended attributes have two different namespaces: user and root namespace. User namespace is available for all users while root namespace is available only for user with root privileges. xattr operates on user namespace by default, but you can change that using flags argument.

Lista de parámetros

nombre_archivo

El archivo del que se quiere obtener el atributo.

nombre

Nombre del atributo extendido.

opciones

Tabla 1. Opciones de xattr soportadas

XATTR_DONTFOLLOW | Realizar las operaciones en el propio enlace simbólico (no seguirlo).
XATTR_ROOT | Establecer atributo en el espacio de nombres raíz (y de confianza). Requiere privilegios de root.

Valores retornados

Devuelve una cadena que contiene el valor del atributo o FALSE si el atributo no existe.

Ejemplos

Ejemplo 1. Comprueba si el administrador del sistema ha firmado el archivo

<?php
$archivo = '/usr/local/sbin/ejecutable_binario';
$firma = xattr_get($archivo, 'Root signature', XATTR_ROOT);

/* ... comprobar si la firma es valida ... */

?>

Ver también

xattr_list()
xattr_set()
xattr_remove()

Anterior | Inicio | Siguiente
Funciones xattr | Subir | xattr_list


xattr_list

(PECL)

xattr_list -- Obtiene una lista de los atributos extendidos

Descripción

array xattr_list ( string nombre_archivo [, int opciones] )

La función obtiene una lista con los nombres de todos los atributos extendidos de un archivo.

Extended attributes have two different namespaces: user and root namespace. User namespace is available for all users while root namespace is available only for user with root privileges. xattr operates on user namespace by default, but you can change that using flags argument.

Lista de parámetros

nombre_archivo

La ruta al archivo.

opciones

Tabla 1. Opciones de xattr soportadas

XATTR_DONTFOLLOW | Realizar las operaciones en el propio enlace simbólico (no seguirlo).
XATTR_ROOT | Establecer atributo en el espacio de nombres raíz (y de confianza). Requiere privilegios de root.

Valores retornados

La función devuelve una matriz con los nombres de los atributos extendidos.

Ejemplos

Ejemplo 1. Muestra el nombre de todos los atributos extendidos de un archivo

<?php
$archivo = 'el_archivo';
$atributos_root = xattr_list($archivo, XATTR_ROOT);
$atributos_usuario = xattr_list($archivo);

echo "Atributos root: \n";
foreach ($atributos_root as $nombre_atributo) {
    printf("%s\n", $nombre_atributo);
}

echo "\n Atributos de usuario: \n";
foreach ($atributos as $nombre_atributo) {
    printf("%s\n", $nombre_atributo);
}

?>

Ver también

xattr_get()

Anterior | Inicio | Siguiente
xattr_get | Subir | xattr_remove


xattr_remove

(PECL)

xattr_remove -- Elimina un atributo extendido

Descripción

bool xattr_remove ( string nombre_archivo, string nombre [, int opciones] )

La función elimina un atributo extendido del archivo.

Extended attributes have two different namespaces: user and root namespace. User namespace is available for all users while root namespace is available only for user with root privileges. xattr operates on user namespace by default, but you can change that using flags argument.

Lista de parámetros

nombre_archivo

El archivo al que se elimina el atributo.

nombre

Nombre del atributo extendido a eliminar.

opciones

Tabla 1. Opciones de xattr soportadas

XATTR_DONTFOLLOW | Realizar las operaciones en el propio enlace simbólico (no seguirlo).
XATTR_ROOT | Establecer atributo en el espacio de nombres raíz (y de confianza). Requiere privilegios de root.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Eliminar todos los atributos extendidos de un archivo

<?php
$archivo = 'el_archivo';
$atributos = xattr_list($archivo);

foreach ($atributos as $nombre_atributo) {
    xattr_remove($archivo, $nombre_atributo);
}
?>

Ver también

xattr_list()
xattr_set()
xattr_get()

Anterior | Inicio | Siguiente
xattr_list | Subir | xattr_set


xattr_set

(PECL)

xattr_set -- Establece un atributo extendido

Descripción

bool xattr_set ( string nombre_archivo, string atributo, string valor [, int opciones] )

La función establece el valor de un atributo extendido del archivo.

Extended attributes have two different namespaces: user and root namespace. User namespace is available for all users while root namespace is available only for user with root privileges. xattr operates on user namespace by default, but you can change that using flags argument.

Lista de parámetros

nombre_archivo

El archivo al que se establecerá el atributo.

atributo

Nombre del atributo extendido. El atributo se crea si no existe y se reemplaza si ya existía. Se puede modificar este comportamiento con el parámetro opciones.

valor

El valor del atributo.

opciones

Tabla 1. Opciones de xattr soportadas

XATTR_CREATE | La función falla si el atributo extendido ya existía.
XATTR_REPLACE | La función falla si el atributo extendido no existe.
XATTR_DONTFOLLOW | Realizar las operaciones en el propio enlace simbólico (no seguirlo).
XATTR_ROOT | Establecer atributo en el espacio de nombres raíz (y de confianza). Requiere privilegios de root.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Establecer atributos extendidos en un archivo de extensión .wav

<?php
$archivo = 'mi_cancion_favorita.wav';
xattr_set($archivo, 'Artista', 'Algun artista');
xattr_set($archivo, 'Mi nota', 'Buena');
xattr_set($archivo, 'Veces escuchada', '34');

/* ... mas codigo ... */

printf("Has escuchado esta cancion %d veces", xattr_get($archivo, 'Veces escuchada'));
?>

Ver también

xattr_get()
xattr_remove()

Anterior | Inicio | Siguiente
xattr_remove | Subir | xattr_supported


xattr_supported

(PECL)

xattr_supported -- Comprueba si el sistema de archivo soporta los atributos extendidos

Descripción

bool xattr_supported ( string nombre_archivo [, int opciones] )

La función comprueba si el sistema de archivos que contiene el archivo indicado soporta los atributos extendidos. Se requiere acceso de lectura al archivo.

Lista de parámetros

nombre_archivo

La ruta al archivo que se quiere probar.

opciones

Tabla 1. Opciones de xattr soportadas

XATTR_DONTFOLLOW Realizar las operaciones en el propio enlace simbólico (no seguirlo).

Valores retornados

La función devuelve TRUE si el sistema de archivos soporta atributos extendidos, FALSE si no los soporta y NULL si no se ha podido determinar (por ejemplo porque la ruta al archivo ha sido mal indicada o por problemas de permisos en el archivo).

Ejemplos

Ejemplo 1. Ejemplo de xattr_supported()

El siguiente código comprueba si se pueden utilizar atributos extendidos.

<?php
$archivo = 'el_archivo';

if (xattr_supported($el_archivo)) {
    /* ... Tratarlo con las funciones xattr_* ... */
}

?>

Ver también

xattr_get()
xattr_list()

Anterior | Inicio | Siguiente
xattr_set | Subir | xdiff Functions


Funciones de intérprete XML

Manual de PHP
Anterior Siguiente

CLXXVII. Funciones de intérprete XML

Introducción

Acerca de XML

XML (eXtensible Markup Language) es un formato de información para el intercambio de documentos estructurado en la "Web" Es un estándar definido por el consorcio de la "World Wide Web" (W3C). Se puede encontrar información sobre XML y tecnologís relacionadas en http://www.w3.org/XML/.

Instalación

Esta extensión usa expat, que se puede encontrar en http://www.jclark.com/xml/expat.html. El Makefile que viene con expat no crea una biblioteca por defecto, se puede usar esta regla de make para eso:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
Se puede conseguir un paquete RPM de expat en http://sourceforge.net/projects/expat/.

Nota que si se usa Apache-1.3.7 o posterior, ya tienes la biblioteca requerida expat. Simplemente, configura PHP usando --with-xml (sin ninguna ruta adicional) y usará automáticamente la biblioteca expat incluida en Apache.

En UNIX, ejecuta configure con la opción --with-xml. La biblioteca expat debería ser instalada en algún lugar donde el compilador pueda encontrarlo. Si se compila PHP como un módulo para Apache 1.3.9 o posterior, PHP automáticamente usará la biblioteca integrada expat de Apache. Puede necesitar establecer CPPFLAGS y LDFLAGS en su entorno antes de ejecutar "configure" si se ha instalado expat en algún lugar exótico.

Compila PHP. ¡Ta-tam! Ya debería estar.

Sobre Esta Extensión

Esta extensión de PHP implementa soporte para expat de James Clarkin en PHP. Este conjunto de herramientas permite interpretar, pero no validar, documentos XML. Soporta tres codificaciones de caracteres fuente, también proporcionados por PHP: US-ASCII, ISO-8859-1 y UTF-8. UTF-16 no está soportado.

Esta extensión permite crear intérpretes de XML y definir entonces gestores para diferentes eventos XML. Cada intérprete XML tiene también unos cuantos parámetros que se pueden ajustar.

Los gestores de eventos XML definidos son:

Tabla 1. Gestores de XML soportados

Función PHP para establecer gestor | Descripción del evento
xml_set_element_handler() | Los eventos de elemento ("element") se producen cuando el intérprete XML encuentra etiquetas de comienzo o fin. Hay gestores separados para etiquetas de comienzo y etiquetas de fin.
xml_set_character_data_handler() | La información de caracteres es, por definición, todo el contenido no "marcado" de los documentos XML, incluidos los espacios en blanco entre etiquetas. Nota que el intérprete XML no añade o elimina ningún espacio en blanco, depende de la aplicación (de ti) decidir si el espacio en blanco es significativo.
xml_set_processing_instruction_handler() | Los programadores de PHP deberían estar ya familiarizados con las instrucciones de procesado (PI). <?php ?> es una instrucción de procesado, donde php se denomina el "objetivo de procesado". El manejo de éstos es específico a cada aplicación, salvo que todos los objetivos PI que comienzan con "XML" están reservados.
xml_set_default_handler() | Todo lo que no va a otro gestor, va al gestor por defecto. Se tendrán en el gestor por defecto cosas como las declaraciones de tipos de documento y XML.
xml_set_unparsed_entity_decl_handler() | Este gestor se llamará para la declaración de una entidad no analizada (NDATA).
xml_set_notation_decl_handler() | Este gestor se llama para la declaración de una anotación.
xml_set_external_entity_ref_handler() | Este gestor se llama cuando el intérprete XML encuentra una referencia a una entidad general interpretada externa. Puede ser una referencia a un archivo o URL, por ejemplo. Ver el ejemplo de entidad externa para demostración.

Case Folding

Las funciones manejadoras de elementos pueden tomar sus nombres de elementos "case-folded". Case-folding se define en el estándar XML como "un proceso aplicado a una secuencia de caracteres, en el cual aquellos identificados como sin-mayúsculas son reemplazados por sus equivalentes en mayúsculas". En otras palabras, cuando se trata de XML, case-folding simplemente significa poner en mayúsculas.

Por defecto, todos los nombres de elementos que se pasan a las funciones gestoras estan "pasados a mayúsculas". Esta conducta puede ser observada y controlada por el analizador XML con las funciones xml_parser_get_option() y xml_parser_set_option(), respectivamente.

Códigos de Error

Las siguientes constantes se definen para códigos de error XML (como los devuelve xml_parse()):

XML_ERROR_NONE
XML_ERROR_NO_MEMORY
XML_ERROR_SYNTAX
XML_ERROR_NO_ELEMENTS
XML_ERROR_INVALID_TOKEN
XML_ERROR_UNCLOSED_TOKEN
XML_ERROR_PARTIAL_CHAR
XML_ERROR_TAG_MISMATCH
XML_ERROR_DUPLICATE_ATTRIBUTE
XML_ERROR_JUNK_AFTER_DOC_ELEMENT
XML_ERROR_PARAM_ENTITY_REF
XML_ERROR_UNDEFINED_ENTITY
XML_ERROR_RECURSIVE_ENTITY_REF
XML_ERROR_ASYNC_ENTITY
XML_ERROR_BAD_CHAR_REF
XML_ERROR_BINARY_ENTITY_REF
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
XML_ERROR_MISPLACED_XML_PI
XML_ERROR_UNKNOWN_ENCODING
XML_ERROR_INCORRECT_ENCODING
XML_ERROR_UNCLOSED_CDATA_SECTION
XML_ERROR_EXTERNAL_ENTITY_HANDLING

Codificación de caracteres

La extension XML de PHP soporta el conjunto de caracteres Unicode a través de diferentes codificaciones de caracteres. Hay dos tipos de codificaciones de caracteres, coficación de fuente y codificación de destino. La representación interna de PHP del documento está siempre codificada con UTF-8.

La codificación de fuente se hace cuando un documento XML es interpretado. Al crear un intérprete XML , se puede especificar una codificación de fuente (esta codificación no se puede cambiar má tarde durante el tiempo de vida del intérprete XML). Las codificaciones de fuente soportadas son ISO-8859-1, US-ASCII y UTF-8. Las dos primeras son codificaciones de byte-único, lo que significa que cada carácter se representa por un solo byte. UTF-8 puede codificar caracteres compuestos por un número variable de bits (hasta 21) en de uno a cuatro bytes. La codificación fuente por defecto usada por PHP es ISO-8859-1.

La codificación de destino se hace cuando PHP pasa datos a las funciones gestoras XML. Cuando se crea un intérprete XML, la codificación de destino se crea igual a la codificación de fuente, pero se puede cambiar en cualquier momento. La codificación de destino afectará a la información de los caracteres así como a los nombres de las etiquetas y a los objetivos de instrucciones de procesado.

Si el intérprete XML encuentra caracteres fuera del rango que su codificación de fuente es capaz de representar, devolverá un error.

Si PHP encuentra caracteres en el documento XML interpretado que no pueden ser representados en la codificación de destino elegida, los caracteres problema serán "degradados". Actualmente, esto significa que tales caracteres se reemplazan por un signo de interrogación.

Algunos Ejemplos

Aquí hay algunos ejemplos de archivos de comandos PHP que interpretan documentos XML.

Ejemplos de Estructuras de Elementos XML

Este primer ejemplo muestra la estructura del elemento inicio en un documento con indentación.

Ejemplo 1. Muestra la Estructura del Elemento XML

$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs) {
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        print "  ";
    }
    print "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name) {
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);

Ejemplo de Mapeo de Etiquetas XML

Ejemplo 2. Traduciendo XML a HTML

Este ejemplo transforma etiquetas de un documento XML directamente a etiquetas HTML. Los elementos no encontrados en el "array de traducción ("map array") son ignorados. Por supuesto, este ejemplo solamente funcionará con un tipo de documentos XML específico.

$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs) {
    global $map_array;
    if ($htmltag = $map_array[$name]) {
        print "<$htmltag>";
    }
}

function endElement($parser, $name) {
    global $map_array;
    if ($htmltag = $map_array[$name]) {
        print "</$htmltag>";
    }
}

function characterData($parser, $data) {
    print $data;
}

$xml_parser = xml_parser_create();
// usa case-folding para que estemos seguros de encontrar la etiqueta
// en $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);

Ejemplo de Entidad Externa XML

Este ejemplo resalta el código XML. Ilustra cómo usar un gestor de referencia de entidades extenas para incluir y analizar otros documentos, así como cuúntos PIs pueden ser procesados, y un modo de determinar "confianza" para PIs que contienen código.

Los documentos XML que se pueden usar en este ejemplo se encuentran bajo el ejemplo (xmltest.xml y xmltest2.xml.)

Ejemplo 3. Ejemplo de Entidades Externas

$file = "xmltest.xml";

function trustedFile($file) {
    // solamente confía en archivos locales que nos pertenezcan
    if (!eregi("^([a-z]+)://", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs) {
    print "&lt;<font color=\"#0000cc\">$name</font>";
    if (sizeof($attribs)) {
        while (list($k, $v) = each($attribs)) {
            print " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    print "&gt;";
}

function endElement($parser, $name) {
    print "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data) {
    print "<b>$data</b>";
}

function PIHandler($parser, $target, $data) {
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // Si el documento analizado es "de confianza", diremos
            // que es seguro ejecutar código PHP en su interior.
            // Si no, en vez de ello mostrará el código.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data) {
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file) {
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("could not open XML input");
}

print "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
print "</pre>";
print "parse complete\n";
xml_parser_free($xml_parser);

?>

Ejemplo 4. xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <sect1 id="about">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
   <?php print 'Hi!  This is PHP version '.phpversion(); ?>
  </para>
 </sect1>
</chapter>

Este archivo se incluye desde xmltest.xml:

Ejemplo 5. xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php print "This is some more PHP code being executed."; ?>
</foo>

Tabla de contenidos
utf8_decode -- Convierte una cadena codificada UTF-8 a ISO-8859-1
utf8_encode -- codifica una cadena ISO-8859-1 a UTF-8
xml_error_string -- obtiene la cadena de error del analizador XML
xml_get_current_byte_index -- obtiene el índice del byte actual para un analizador XML
xml_get_current_column_number -- Obtiene el número de columna actual para un analizador XML.
xml_get_current_line_number -- obtiene el número de línea actual de un analizador XML
xml_get_error_code -- obtiene el código de error del analizador XML
xml_parse_into_struct -- Parse XML data into an array structure
xml_parse -- comienza a analizar un documento XML
xml_parser_create_ns -- Create an XML parser with namespace support
xml_parser_create -- crea un analizador de XML
xml_parser_free -- Libera un analizador XML
xml_parser_get_option -- obtiene las opciones de un analizador XML
xml_parser_set_option -- establece las opciones de un analizador XML
xml_set_character_data_handler -- Establece gestores de datos de caracteres
xml_set_default_handler -- set up default handler
xml_set_element_handler -- establece gestores de los elementos principio y fin
xml_set_end_namespace_decl_handler -- Set up end namespace declaration handler
xml_set_external_entity_ref_handler -- Establece gestores de referencia de entidades externas
xml_set_notation_decl_handler -- Establece gestores de declaraciones de notación
xml_set_object -- Usa un analizador XML dentro de un objecto
xml_set_processing_instruction_handler -- Establece el gestor de instrucciones de procesado (PI)
xml_set_start_namespace_decl_handler -- Set up start namespace declaration handler
xml_set_unparsed_entity_decl_handler -- Establece un gestor de declaraciones de entidades no analizadas

Anterior | Inicio | Siguiente
xdiff_string_patch | Subir | utf8_decode


utf8_decode

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

utf8_decode -- Convierte una cadena codificada UTF-8 a ISO-8859-1

Descripción

string utf8_decode ( string data )

Esta función decodificadata, asume codificación UTF-8 , a ISO-8859-1.

Mira utf8_encode() para una explicación de codificación UTF-8.

Anterior | Inicio | Siguiente
Funciones de intérprete XML | Subir | utf8_encode


utf8_encode

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

utf8_encode -- codifica una cadena ISO-8859-1 a UTF-8

Descripción

string utf8_encode ( string data )

Esta función codifica la cadena data a UTF-8, y devuelve la versión codificada. UTF-8 es un mecanismo estándar usado por Unicodepara codificar valores de caracteres amplios en un chorro de bytes. UTF-8 es transparente a caracteres de ASCII plano, es auto-sincronizado (significa que es posible para un programa averiguar dónde comienzan los caracteres en el chorro de bytes) y se puede usar con funciones de comparación de cadenas normales para ordenar y otros fines. PHP codifica caracteres UTF-8 en hasta cuatro bytes, como esto:

Tabla 1. Codificación UTF-8

bytes | bits | representación
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
Cada b representa un bit que puede ser usado para almacenar datos de caracteres.

Anterior | Inicio | Siguiente
utf8_decode | Subir | xml_error_string


xml_error_string

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_error_string -- obtiene la cadena de error del analizador XML

Descripción

string xml_error_string ( int code )

code

Un código de error de xml_get_error_code().

Devuelve una cadena con una descripción textual del código de error code, o FALSE si no se encontró descripción.

Anterior | Inicio | Siguiente
utf8_encode | Subir | xml_get_current_byte_index


xml_get_current_byte_index

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_get_current_byte_index -- obtiene el índice del byte actual para un analizador XML

Descripción

int xml_get_current_byte_index ( int parser )

parser

Una referencia al analizador XML del que obtener el índice del byte.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si no devuelve en qué índice de byte se encuentra el buffer de datos del analizador (empezando en 0).

Anterior | Inicio | Siguiente
xml_error_string | Subir | xml_get_current_column_number


xml_get_current_column_number

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_get_current_column_number -- Obtiene el número de columna actual para un analizador XML.

Descripción

int xml_get_current_column_number ( int parser )

parser

Una referencia al analizador XML del que obtener el número de columna.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si no devuelve en qué columna de la línea actual (como se obtiene de xml_get_current_line_number()) en la que se encuentra el analizador.

Anterior | Inicio | Siguiente
xml_get_current_byte_index | Subir | xml_get_current_line_number


xml_get_current_line_number

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_get_current_line_number -- obtiene el número de línea actual de un analizador XML

Descripción

int xml_get_current_line_number ( int parser )

parser

Una referencia al analizador XML del que obtener el número de línea.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si no devuelve en qué línea se encuentra actualmente el buffer de datos del analizador.

Anterior | Inicio | Siguiente
xml_get_current_column_number | Subir | xml_get_error_code


xml_get_error_code

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_get_error_code -- obtiene el código de error del analizador XML

Descripción

int xml_get_error_code ( int parser )

parser

Una referencia al analizador XML del que obtener el código de error.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si no devuelve uno de los códigos de error listados en la sección de códigos de error.

Anterior | Inicio | Siguiente
xml_get_current_line_number | Subir | xml_parse_into_struct


xml_parse_into_struct

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

xml_parse_into_struct -- Parse XML data into an array structure

Description

int xml_parse_into_struct ( resource parser, string data, array &values [, array &index] )

This function parses an XML file into 2 parallel array structures, one (index) containing pointers to the location of the appropriate values in the values array. These last two parameters must be passed by reference.

Nota: xml_parse_into_struct() returns 0 for failure and 1 for success. This is not the same as FALSE and TRUE, be careful with operators such as ===.

Below is an example that illustrates the internal structure of the arrays being generated by the function. We use a simple note tag embedded inside a para tag, and then we parse this and print out the structures generated:

Ejemplo 1. xml_parse_into_struct() example

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

When we run that code, the output will be:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

Event-driven parsing (based on the expat library) can get complicated when you have an XML document that is complex. This function does not produce a DOM style object, but it generates structures amenable of being transversed in a tree fashion. Thus, we can create objects representing the data in the XML file easily. Let's consider the following XML file representing a small database of aminoacids information:

Ejemplo 2. moldb.xml - small database of molecular information

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
And some code to parse the document and generate the appropriate objects:

Ejemplo 3. parsemoldb.php - parses moldb.xml into an array of molecular objects

<?php

class AminoAcid {
    var $name;  // aa name
    var $symbol;    // three letter symbol
    var $code;  // one letter code
    var $type;  // hydrophobic, charged or neutral

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // read the XML database of aminoacids
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);

    // loop through the structures
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues)
{
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Database of AminoAcid objects:\n";
print_r($db);

?>
After executing parsemoldb.php, the variable $db contains an array of AminoAcid objects, and the output of the script confirms that:

** Database of AminoAcid objects:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)

Anterior | Inicio | Siguiente
xml_get_error_code | Subir | xml_parse


xml_parse

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_parse -- comienza a analizar un documento XML

Descripción

int xml_parse ( int parser, string data [, int isFinal] )

parser

Una referencia al analizador XML que se va a utilizar.

data

Conjunto de información que se analizará. Un documento puede ser analizado por trozos llamando varias veces a xml_parse() con nueva información, siempre que se establezca el parámetro isFinal y sea TRUE cuando el último dato sea analizado.

isFinal (optional)

Si existe y es TRUE, data es el último pedazo de información envíado en este análisis.

Cuando el documento XML es analizado, se hacen llamadas a los gestores para los eventos configurados tantas veces como sea necesario, después de que esta función devuelva TRUE o FALSE.

Devuelve TRUE si el análisis se realiza con éxito, FALSE si no tiene éxito, o si parser no referencia a un analizador válido. Para análisis fallidos, se puede recuperar información de error con xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number() y xml_get_current_byte_index().

Anterior | Inicio | Siguiente
xml_parse_into_struct | Subir | xml_parser_create_ns


xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5)

xml_parser_create_ns -- Create an XML parser with namespace support

Description

resource xml_parser_create_ns ( [string encoding [, string separator]] )

xml_parser_create_ns() creates a new XML parser with XML namespace support and returns a resource handle referencing it to be used by the other XML functions.

With a namespace aware parser tag parameters passed to the various handler functions will consist of namespace and tag name separated by the string specified in seperator or ':' by default.

The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

See also xml_parser_create(), and xml_parser_free().

Anterior | Inicio | Siguiente
xml_parse | Subir | xml_parser_create


xml_parser_create

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_parser_create -- crea un analizador de XML

Descripción

int xml_parser_create ( [string encoding] )

encoding (opcional)

Qué codificación de caracteres debería usar el analizador. Las siguientes codificación de caracteres están soportadas:

ISO-8859-1 (por defecto)
US-ASCII
UTF-8

Esta función crea un analizador XML y devuelve un índice para usarlo con otras funciones XML. Devuelve FALSE en caso de fallo.

Anterior | Inicio | Siguiente
xml_parser_create_ns | Subir | xml_parser_free


xml_parser_free

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_parser_free -- Libera un analizador XML

Descripción

string xml_parser_free ( int parser )

parser

Una referencia al analizador XML que se liberará.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si no libera el analizador y devuelve TRUE.

Anterior | Inicio | Siguiente
xml_parser_create | Subir | xml_parser_get_option


xml_parser_get_option

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_parser_get_option -- obtiene las opciones de un analizador XML

Descripción

mixed xml_parser_get_option ( int parser, int option )

parser

Una referencia al analizador XML del que obtener opciones.

option

Qué opción recuperar. Ver xml_parser_set_option() para una lista de opciones.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si la opción no pudo ser establecida. Si no, se devuelve la opción.

Mirar xml_parser_set_option() para la lista de opciones.

Anterior | Inicio | Siguiente
xml_parser_free | Subir | xml_parser_set_option


xml_parser_set_option

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_parser_set_option -- establece las opciones de un analizador XML

Descripción

int xml_parser_set_option ( int parser, int option, mixed value )

parser

Una referencia al analizador XML en el que establecer opciones.

option

Opción que se establecerá. Ver más abajo.

value

El nuevo valor de la opción.

Esta función devuelve FALSE si parser no referencia un analizador válido, o si la opción no pudo ser establecida. Si no, la opción se establece y devuelve TRUE.

Las opciones siguientes están disponibles:

Tabla 1. Opciones de analizador XML

Opción constante | Tipo de Datos | Descripción
XML_OPTION_CASE_FOLDING | integer | Controla si case-folding se habilita para este analizador XML. Habilitado por defecto.
XML_OPTION_TARGET_ENCODING | string | Establece qué codificación destino se usa en este analizador XML. Por defecto, esta puesta al mismo que la codificación fuente usada por xml_parser_create(). Las codificaciones de destino soportadas son ISO-8859-1, US-ASCII y UTF-8.

Anterior | Inicio | Siguiente
xml_parser_get_option | Subir | xml_set_character_data_handler


xml_set_character_data_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_character_data_handler -- Establece gestores de datos de caracteres

Descripción

int xml_set_character_data_handler ( int parser, string handler )

Establece la función gestora de datos de caracteres para el analizador XML parser. handler es un string que contiene el nombre de la función que debe existir cuando xml_parse() es llamado por parser.

La función nombrada en handler debe aceptar dos parámetros: handler ( int parser, string data )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

data

El segundo parámetro, data, contiene los datos caracteres como string.

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se estableció el gestor, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_parser_set_option | Subir | xml_set_default_handler


xml_set_default_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_default_handler -- set up default handler

Descripción

int xml_set_default_handler ( int parser, string handler )

Establece la función gestora por defecto para un analizador XML parser. handler es un string que contiene el nombre de la función que debe existir cuando xml_parse() es llamado por parser.

La función nombrada en handler debe aceptar dos parámetros: handler ( int parser, string data )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

data

El segundo parámetro, data, contiene los caracteres de dato. Esto puede ser la declaración XML, la declaración de tipo de documento, entidades u otros datos para los cuales no existe otro gestor.

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se estableció el gestor, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_set_character_data_handler | Subir | xml_set_element_handler


xml_set_element_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_element_handler -- establece gestores de los elementos principio y fin

Descripción

int xml_set_element_handler ( int parser, string startElementHandler, string endElementHandler )

Establece las funciones de gestion de elementos para el analizador XML parser. startElementHandler y endElementHandler son strings que contienen los nombres de las funciones que deben existir cuando xml_parse() es llamado por parser.

La función denominada startElementHandler debe aceptar tres parámetros: startElementHandler ( int parser, string name, string attribs )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

name

El segundo parámetro, name, contiene el nombre del elemento para el que se llama a este gestor. Si la propiedad de case-folding tiene efecto para este analizador, el nombre del elemento estará en mayúsculas.

attribs

El tercer parámetro, attribs, contiene un array asociativo con los atributos de los elementos (si hay). Las claves de este array son los nombres de los atributos, los valores son los valores de los atributos. Los nombres de los atributos están en mayúsculas (case-folded) con el mismo criterio que los nombres de los elementos. Los valores de los atributos no sufren las consecuencias de case-folding.

El orden original de los atributos se puede recuperar recorriendo attribs del modo usual, usando each(). La primera clave del array es el el primer atributo, y así sucesivamente.

La función llamada endElementHandler debe aceptar dos parámetros: endElementHandler ( int parser, string name )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

name

El segundo parámetro, name, contiene el nombre del elemento para el que se llama a este gestor. Si la propiedad de case-folding tiene efecto para este analizador, el nombre del elemento estará en mayúsculas.

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se establecieron los gestores, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_set_default_handler | Subir | xml_set_end_namespace_decl_handler


xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_end_namespace_decl_handler -- Set up end namespace declaration handler

Description

bool xml_set_end_namespace_decl_handler ( resource parser, callback handler )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: En lugar de un nombre de función, se puede proporcionar una matriz que contenga una referencia a un objeto o el nombre de un método.

Anterior | Inicio | Siguiente
xml_set_element_handler | Subir | xml_set_external_entity_ref_handler


xml_set_external_entity_ref_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_external_entity_ref_handler -- Establece gestores de referencia de entidades externas

Descripción

int xml_set_external_entity_ref_handler ( int parser, string handler )

Establece la función gestora de declaraciones de notación para el analizador XML parser. handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

La función llamada por handler debe aceptar cinco parámetros, y debería devolver un valor entero. Si el valor devuelto desde el gestor (handler) es falso (lo cual ocurrirá si no se devuelve un valor), el analizador XML dejará de analizar y xml_get_error_code() devolverá XML_ERROR_EXTERNAL_ENTITY_HANDLING. int handler ( int parser, string openEntityNames, string base, string systemId, string publicId )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

openEntityNames

El segundo parámetro, openEntityNames, es una lista, separada por espacios, de los nombres de las entidades que se abren para el análisis de esta entidad (incluido el nombre de la entidad referenciada).

base

Esta es la base para resolver el identificador de sistema (systemid) de la entidad externa. En la actualidad este parámetro es siempre la cadena vacía.

systemId

El cuarto parámetro, systemId, es el identificador del sistema tal como se especificó en la declaración de la entidad.

publicId

El quinto parámetro, publicId, es el identificador público como se especificó en la declaración de la entidad, o una cadena vacía si no se especificó ninguno; el espacio en blanco en el identificador público se habrá normalizado como se requiere en las especificaciones XML.

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se estableció el gestor, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_set_end_namespace_decl_handler | Subir | xml_set_notation_decl_handler


xml_set_notation_decl_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_notation_decl_handler -- Establece gestores de declaraciones de notación

Descripción

int xml_set_notation_decl_handler ( int parser, string handler )

Establece las funciones gestoras de declaraciones de notación para el analizador XML parser. handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamado por parser.

Una declaración de notación es parte del DTD del documento y tiene el siguiente formato:

<!NOTATION name
     {systemId | publicId}
     >
Ver la sección 4.7 de las especificaciones XML 1.0 para la definición de declaraciones de notación.

La función llamada por handler debe aceptar cinco parámetros: handler ( int parser, string notationName, string base, string systemId, string publicId )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

notationName

Este es el nombre de la notación, como se describió arriba en el formato de notación.

base

Esta es la base para resolver el identificador de sistema (systemId) de la declaración. En la actualidad este parámetro es siempre la cadena vacía.

systemId

Identificador de sistema de la declaración de notación externa.

publicId

Identificador público de la declaración de notación externa.

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se estableció el gestor, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_set_external_entity_ref_handler | Subir | xml_set_object


xml_set_object

(PHP 4, PHP 5)

xml_set_object -- Usa un analizador XML dentro de un objecto

Descripción

void xml_set_object ( int parser, object &object )

Esta función hace a parser utilizable dentro de object. Todas las funciones de callback establecidas por xml_set_element_handler() etc se asumen como métodos de object.

<?php

class xml  {
var $parser;

function xml() {
    $this->parser = xml_parser_create();
    xml_set_object($this->parser,$this);
    xml_set_element_handler($this->parser,"tag_open","tag_close");
    xml_set_character_data_handler($this->parser,"cdata");
}

function parse($data) {
    xml_parse($this->parser,$data);
}

function tag_open($parser,$tag,$attributes) {
    var_dump($parser,$tag,$attributes);
}

function cdata($parser,$cdata) {
    var_dump($parser,$cdata);
}

function tag_close($parser,$tag) {
    var_dump($parser,$tag);
}

} // end of class xml

$xml_parser = new xml();
$xml_parser->parse("&lt;A ID=\"hallo\">PHP&lt;/A>");
?>

Nota: xml_set_object() es gestionable a partir de PHP 4.0.

Anterior | Inicio | Siguiente
xml_set_notation_decl_handler | Subir | xml_set_processing_instruction_handler


xml_set_processing_instruction_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_processing_instruction_handler -- Establece el gestor de instrucciones de procesado (PI)

Descripción

int xml_set_processing_instruction_handler ( int parser, string handler )

Establece ela función de gestión de instrucciones de procesado (PI) para el analizador XML parser. handler es un string que contiene el nombre de una función que debe existir cuando xml_parse() es llamada por parser.

Una instrucción de procedado tiene el siguiente formato:

<?
       target
       data?>

Puedes poner código PHP en esa etiqueta, pero ten en cuenta una limitación: en una PI XML, la etiqueta de fin de la PI (?>) no puede ser citada, por lo que esta secuencia de caracteres no debería aparecer en el código PHP que insertes con las PIs en documentos XML. Si lo hace, el resto del código PHP, así como la etiqueta de fin de PI "real", serán tratados como datos de caracteres.

La función nombrada en handler debe aceptar tres parámetros: handler ( int parser, string target, string data )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

target

El segundo parámetro, target, contiene el objetivo PI.

data

El tercer parámetro, data, contiene los datos PI.

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se estableció el gestor, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_set_object | Subir | xml_set_start_namespace_decl_handler


xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_start_namespace_decl_handler -- Set up start namespace declaration handler

Description

bool xml_set_start_namespace_decl_handler ( resource parser, callback handler )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: En lugar de un nombre de función, se puede proporcionar una matriz que contenga una referencia a un objeto o el nombre de un método.

Anterior | Inicio | Siguiente
xml_set_processing_instruction_handler | Subir | xml_set_unparsed_entity_decl_handler


xml_set_unparsed_entity_decl_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler -- Establece un gestor de declaraciones de entidades no analizadas

Descripción

int xml_set_unparsed_entity_decl_handler ( int parser, string handler )

Establece la función gestora de declaración de entidades no analizadas para el analizador XML parser. handler es una cadena que contiene el nombre de una función que debe existir cuando xml_parse() es llamada por parser.

Este gestor será llamado si el analizador XML encuentra una declaración de entidades externas con una declaración NDATA, como la siguiente:

<!ENTITY name {publicId | systemId}
        NDATA notationName>

Mira la sección 4.2.2 de las especificaciones XML 1.0 para la definición de entidades externas de notación declarada.

La función nombrada en handler debe aceptar seis parámetros: handler ( int parser, string entityName, string base, string systemId, string publicId, string notationName )

parser

El primer parámetro, parser, es una referencia al analizador XML que llama al gestor.

entityName

El nombre de la entidad que va a ser definida.

base

Esta es la base para resolver el identificador de sistema (systemId) de la entidad externa. Actualmente este parámetro siempre será una cadena vacía.

systemId

Identificador de Sistema para la entidad externa.

publicId

Identificador público para la entidad externa.

notationName

Nombre de la notación de esta entidad (ver xml_set_notation_decl_handler()).

Si una función gestora se establece como la cadena vacía, o FALSE, el gestor en cuestión se deshabilita.

Se devuelve TRUE si se estableció el gestor, FALSE si parser no es un analizador.

En la actualidad no hay soporte para gestores objeto/método.

Anterior | Inicio | Siguiente
xml_set_start_namespace_decl_handler | Subir | XML-RPC Functions


XML-RPC Functions

Manual de PHP
Anterior Siguiente

CLXXVIII. XML-RPC Functions

Introducción

These functions can be used to write XML-RPC servers and clients. You can find more information about XML-RPC at http://www.xmlrpc.com/, and more documentation on this extension and its functions at http://xmlrpc-epi.sourceforge.net/.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc[=DIR] configuration option when compiling PHP to enable XML-RPC support. This extension is bundled into PHP as of 4.1.0.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. XML-RPC configuration options

Name | Default | Changeable | Changelog
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Available since PHP 4.1.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
xmlrpc_decode_request -- Decodes XML into native PHP types
xmlrpc_decode -- Decodes XML into native PHP types
xmlrpc_encode_request -- Generates XML for a method request
xmlrpc_encode -- Generates XML for a PHP value
xmlrpc_get_type -- Gets xmlrpc type for a PHP value
xmlrpc_is_fault -- Determines if an array value represents an XMLRPC fault
xmlrpc_parse_method_descriptions -- Decodes XML into a list of method descriptions
xmlrpc_server_add_introspection_data -- Adds introspection documentation
xmlrpc_server_call_method -- Parses XML requests and call methods
xmlrpc_server_create -- Creates an xmlrpc server
xmlrpc_server_destroy -- Destroys server resources
xmlrpc_server_register_introspection_callback -- Register a PHP function to generate documentation
xmlrpc_server_register_method -- Register a PHP function to resource method matching method_name
xmlrpc_set_type -- Sets xmlrpc type, base64 or datetime, for a PHP string value

Anterior | Inicio | Siguiente
xml_set_unparsed_entity_decl_handler | Subir | xmlrpc_decode_request


xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode_request -- Decodes XML into native PHP types

Descripción

mixed xmlrpc_decode_request ( string xml, string &method [, string encoding] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
XML-RPC Functions | Subir | xmlrpc_decode


xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode -- Decodes XML into native PHP types

Descripción

mixed xmlrpc_decode ( string xml [, string encoding] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

xml

XML response returned by XMLRPC method.

encoding

Input encoding supported by iconv (defaults to "iso-8859-1").

Valores retornados

Returns either an array, or an integer, or a string, or a boolean according to the response returned by the XMLRPC method.

Ejemplos

See example by xmlrpc_encode_request().

Ver también

xmlrpc_encode_request()
xmlrpc_is_fault()

Anterior | Inicio | Siguiente
xmlrpc_decode_request | Subir | xmlrpc_encode_request


xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode_request -- Generates XML for a method request

Descripción

string xmlrpc_encode_request ( string method, mixed params [, array output_options] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

method

Name of the method to call.

params

Method parameters compatible with method signature.

output_options

Array specifying output options may contain (default values are emphasised):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (may be a string with one value or an array with multiple values)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, other character set supported by iconv

Valores retornados

Returns a string containing the XML representation of the request.

Ejemplos

Ejemplo 1. XMLRPC client functions example

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if (xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Ver también

stream_context_create()
file_get_contents()
xmlrpc_decode()

Anterior | Inicio | Siguiente
xmlrpc_decode | Subir | xmlrpc_encode


xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode -- Generates XML for a PHP value

Descripción

string xmlrpc_encode ( mixed value )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_encode_request | Subir | xmlrpc_get_type


xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_get_type -- Gets xmlrpc type for a PHP value

Descripción

string xmlrpc_get_type ( mixed value )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This function is especially useful for base64 and datetime strings.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_encode | Subir | xmlrpc_is_fault


xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5)

xmlrpc_is_fault -- Determines if an array value represents an XMLRPC fault

Descripción

bool xmlrpc_is_fault ( array arg )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

arg

Array returned by xmlrpc_decode().

Valores retornados

Returns TRUE if the argument means fault, FALSE otherwise. Fault description is available in $arg["faultString"], fault code is in $arg["faultCode"].

Ejemplos

See example by xmlrpc_encode_request().

Ver también

xmlrpc_decode()

Anterior | Inicio | Siguiente
xmlrpc_get_type | Subir | xmlrpc_parse_method_descriptions


xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_parse_method_descriptions -- Decodes XML into a list of method descriptions

Descripción

array xmlrpc_parse_method_descriptions ( string xml )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_is_fault | Subir | xmlrpc_server_add_introspection_data


xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_add_introspection_data -- Adds introspection documentation

Descripción

int xmlrpc_server_add_introspection_data ( resource server, array desc )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_parse_method_descriptions | Subir | xmlrpc_server_call_method


xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_call_method -- Parses XML requests and call methods

Descripción

string xmlrpc_server_call_method ( resource server, string xml, mixed user_data [, array output_options] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_server_add_introspection_data | Subir | xmlrpc_server_create


xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_create -- Creates an xmlrpc server

Descripción

resource xmlrpc_server_create ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_server_call_method | Subir | xmlrpc_server_destroy


xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_destroy -- Destroys server resources

Descripción

int xmlrpc_server_destroy ( resource server )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_server_create | Subir | xmlrpc_server_register_introspection_callback


xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_introspection_callback -- Register a PHP function to generate documentation

Descripción

bool xmlrpc_server_register_introspection_callback ( resource server, string function )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_server_destroy | Subir | xmlrpc_server_register_method


xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_method -- Register a PHP function to resource method matching method_name

Descripción

bool xmlrpc_server_register_method ( resource server, string method_name, string function )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_server_register_introspection_callback | Subir | xmlrpc_set_type


xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_set_type -- Sets xmlrpc type, base64 or datetime, for a PHP string value

Descripción

bool xmlrpc_set_type ( string &value, string type )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xmlrpc_server_register_method | Subir | XMLReader functions


xdiff Functions

Manual de PHP
Anterior Siguiente

CLXXVI. xdiff Functions

Introducción

xdiff extension creates and applies patches to both text and binary files.

Requisitos

To use xdiff, you will need libxdiff installed, available on the libxdiff homepage http://www.xmailserver.org/xdiff-lib.html.

Nota: You'll need at least libxdiff 0.7 for these functions to be aware of memory_limit.

Instalación

xdiff is currently available through PECL http://pecl.php.net/package/xdiff.

If PEAR is available on your *nix-like system you can use the pear installer to install the xdiff extension, by the following command: pear -v install xdiff.

You can always download the tar.gz package and install xdiff by hand:

Ejemplo 1. xdiff install by hand

gunzip xdiff-xxx.tgz
tar -xvf xdiff-xxx.tar
cd xdiff-xxx
phpize
./configure && make && make install

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

XDIFF_PATCH_NORMAL (integer)

XDIFF_PATCH_REVERSE (integer)

Tabla de contenidos
xdiff_file_diff_binary -- Make binary diff of two files
xdiff_file_diff -- Make unified diff of two files
xdiff_file_merge3 -- Merge 3 files into one
xdiff_file_patch_binary -- Patch a file with a binary diff
xdiff_file_patch -- Patch a file with an unified diff
xdiff_string_diff_binary -- Make binary diff of two strings
xdiff_string_diff -- Make unified diff of two strings
xdiff_string_merge3 -- Merge 3 strings into one
xdiff_string_patch_binary -- Patch a string with a binary diff
xdiff_string_patch -- Patch a string with an unified diff

Anterior | Inicio | Siguiente
xattr_supported | Subir | xdiff_file_diff_binary


xdiff_file_diff_binary

(PECL)

xdiff_file_diff_binary -- Make binary diff of two files

Descripción

bool xdiff_file_diff_binary ( string file1, string file2, string dest )

Makes a binary diff of two files and stores the result in a file. This function works with both text and binary files.

Lista de parámetros

file1

file2

dest

Path of the resulting file. Resulting file is in binary format.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. xdiff_file_diff_binary() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Notes

Nota: Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Ver también

xdiff_string_diff_binary()

Anterior | Inicio | Siguiente
xdiff Functions | Subir | xdiff_file_diff


xdiff_file_diff

(PECL)

xdiff_file_diff -- Make unified diff of two files

Descripción

bool xdiff_file_diff ( string file1, string file2, string dest [, int context [, bool minimal]] )

Makes a diff of two files and stores the result in a file.

Lista de parámetros

file1

file2

dest

Path of the resulting file.

context

Indicates how many lines of context you want to include in diff result.

minimal

Set this parameter to TRUE if you want to minimalize size of diff (can take a long time). Resulting file is human-readable.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. xdiff_file_diff() example

The following code makes unified diff of two php files.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Notes

Nota: This function doesn't work well with binary files. To make diff of binary files use xdiff_file_diff_binary().

Ver también

xdiff_string_diff()

Anterior | Inicio | Siguiente
xdiff_file_diff_binary | Subir | xdiff_file_merge3


xdiff_file_merge3

(PECL)

xdiff_file_merge3 -- Merge 3 files into one

Descripción

mixed xdiff_file_merge3 ( string file1, string file2, string file3, string dest )

Merges three files into one and stores the result in a file.

Lista de parámetros

file1

file2

file3

dest

Path of the resulting file.

Valores retornados

Returns TRUE if merge was successful, string with rejected chunks if it was not or FALSE if an internal error happened.

Ejemplos

Ejemplo 1. xdiff_file_merge3() example

The following code merges three files into one.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejects:\n";
    echo $errors;
}
?>

Ver también

xdiff_string_merge3()

Anterior | Inicio | Siguiente
xdiff_file_diff | Subir | xdiff_file_patch_binary


xdiff_file_patch_binary

(PECL)

xdiff_file_patch_binary -- Patch a file with a binary diff

Descripción

bool xdiff_file_patch_binary ( string file, string patch, string dest )

Patches a file with a binary patch and stores the result in a file.

Lista de parámetros

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. xdiff_file_patch_binary() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Notes

Nota: Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Ver también

xdiff_string_patch_binary()

Anterior | Inicio | Siguiente
xdiff_file_merge3 | Subir | xdiff_file_patch


xdiff_file_patch

(PECL)

xdiff_file_patch -- Patch a file with an unified diff

Descripción

mixed xdiff_file_patch ( string file, string patch, string dest [, int flags] )

Patches a file with a unified patch and stores the result in a file.

Lista de parámetros

file

The original file.

patch

The patch file.

dest

Path of the resulting file.

flags

Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Valores retornados

Returns FALSE if an internal error happened, string with rejected chunks of patch or TRUE if patch has been successfully applied.

Ejemplos

Ejemplo 1. xdiff_file_patch() example

The following code applies unified diff to a file.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Ejemplo 2. Patch reversing example

The following code reverses a patch.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Ver también

xdiff_string_patch()

Anterior | Inicio | Siguiente
xdiff_file_patch_binary | Subir | xdiff_string_diff_binary


xdiff_string_diff_binary

(PECL)

xdiff_string_diff_binary -- Make binary diff of two strings

Descripción

string xdiff_string_diff_binary ( string str1, string str2 )

Makes a binary diff of two strings.

Lista de parámetros

str1

str2

Valores retornados

Returns string with result or FALSE if an internal error happened.

Ver también

xdiff_file_diff_binary()

Anterior | Inicio | Siguiente
xdiff_file_patch | Subir | xdiff_string_diff


xdiff_string_diff

(PECL)

xdiff_string_diff -- Make unified diff of two strings

Descripción

string xdiff_string_diff ( string str1, string str2 [, int context [, bool minimal]] )

Makes a unified diff of two strings.

Lista de parámetros

str1

str2

context

Indicates how many lines of context you want to include in the diff result.

minimal

Set this parameter to TRUE if you want to minimalize the size of the diff (can take a long time).

Valores retornados

Returns string with result or FALSE if an internal error happened.

Ejemplos

Ejemplo 1. xdiff_string_diff() example

The following code makes unified diff of two articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Let's say that someone pasted a new article to html form */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Differences between two articles:\n";
    echo $diff;
}

?>

Notes

Nota: This function doesn't work well with binary strings. To make diff of binary strings use xdiff_string_diff_binary().

Ver también

xdiff_file_diff()

Anterior | Inicio | Siguiente
xdiff_string_diff_binary | Subir | xdiff_string_merge3


xdiff_string_merge3

(PECL)

xdiff_string_merge3 -- Merge 3 strings into one

Descripción

mixed xdiff_string_merge3 ( string str1, string str2, string str3 [, string &error] )

Merges three strings into one.

Lista de parámetros

str1

str2

str3

error

If provided then rejected parts are stored inside this variable.

Valores retornados

Returns merged string, FALSE if an internal error happened, or TRUE if merged string is empty.

Ver también

xdiff_file_merge3()

Anterior | Inicio | Siguiente
xdiff_string_diff | Subir | xdiff_string_patch_binary


xdiff_string_patch_binary

(PECL)

xdiff_string_patch_binary -- Patch a string with a binary diff

Descripción

string xdiff_string_patch_binary ( string str, string patch )

Patches a string with a binary patch.

Lista de parámetros

str

The original binary string.

patch

The binary patch string.

Valores retornados

Returns the patched string, or FALSE on error.

Ver también

xdiff_file_patch_binary()

Anterior | Inicio | Siguiente
xdiff_string_merge3 | Subir | xdiff_string_patch


xdiff_string_patch

(PECL)

xdiff_string_patch -- Patch a string with an unified diff

Descripción

string xdiff_string_patch ( string str, string patch [, int flags [, string &error]] )

Patches a string with a unified patch string.

Lista de parámetros

str

The original string.

patch

The unified patch string.

flags

flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

error

If provided then rejected parts are stored inside this variable.

Valores retornados

Returns the patched string, or FALSE on error.

Ejemplos

Ejemplo 1. xdiff_string_patch() example

The following code applies changes to some article.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "New article:\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Rejects: \n";
    echo $errors;
}

?>

Ver también

xdiff_file_patch()

Anterior | Inicio | Siguiente
xdiff_string_patch_binary | Subir | Funciones de intérprete XML


XSL functions

Manual de PHP
Anterior Siguiente

CLXXXI. XSL functions

Introducción

The XSL extension implements the XSL standard, performing XSLT transformations using the libxslt library

Requisitos

This extension uses libxslt which can be found at http://xmlsoft.org/XSLT/. libxslt version 1.1.0 or greater is required.

Instalación

PHP 5 includes the XSL extension by default and can be enabled by adding the argument --with-xsl[=DIR] to your configure line. DIR is the libxslt installation directory.

Clases predefinidas

XSLTProcessor

Constructor

  • XSLTProcessor::__construct - construct a new XSLTProcessor object

Métodos

  • XSLTProcessor::getParameter - Get value of a parameter

  • XSLTProcessor::hasExsltSupport - Determine if PHP has EXSLT support

  • XSLTProcessor::importStylesheet - Import stylesheet

  • XSLTProcessor::registerPHPFunctions - Enables the ability to use PHP functions as XSLT functions

  • XSLTProcessor::removeParameter - Remove parameter

  • XSLTProcessor::setParameter - Set value for a parameter

  • XSLTProcessor::transformToDoc - Transform to DOMDocument

  • XSLTProcessor::transformToURI - Transform to URI

  • XSLTProcessor::transformToXML - Transform to XML

Ejemplos

Many examples in this reference require both an XML and an XSL file. We will use collection.xml and collection.xsl that contains the following:

Ejemplo 1. collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Ejemplo 2. collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

XSL_CLONE_AUTO (integer)

XSL_CLONE_NEVER (integer)

XSL_CLONE_ALWAYS (integer)

LIBXSLT_VERSION (integer)

libxslt version like 10117. Available as of PHP 5.1.2.

LIBXSLT_DOTTED_VERSION (string)

libxslt version like 1.1.17. Available as of PHP 5.1.2.

LIBEXSLT_VERSION (integer)

libexslt version like 813. Available as of PHP 5.1.2.

LIBEXSLT_DOTTED_VERSION (string)

libexslt version like 1.1.17. Available as of PHP 5.1.2.

Tabla de contenidos
XSLTProcessor::__construct -- Creates a new XSLTProcessor object
XSLTProcessor::getParameter -- Get value of a parameter
XSLTProcessor::hasExsltSupport -- Determine if PHP has EXSLT support
XSLTProcessor::importStylesheet -- Import stylesheet
XSLTProcessor::registerPHPFunctions -- Enables the ability to use PHP functions as XSLT functions
XSLTProcessor::removeParameter -- Remove parameter
XSLTProcessor::setParameter -- Set value for a parameter
XSLTProcessor::transformToDoc -- Transform to a DOMDocument
XSLTProcessor::transformToURI -- Transform to URI
XSLTProcessor::transformToXML -- Transform to XML

Anterior | Inicio | Siguiente
XMLWriter::writeRaw | Subir | XSLTProcessor::__construct


XSLTProcessor::getParameter

(no version information, might be only in CVS)

XSLTProcessor::getParameter -- Get value of a parameter

Descripción

class XSLTProcessor {

string getParameter ( string namespaceURI, string localName )

}

Gets a parameter if previously set by XSLTProcessor::setParameter.

Lista de parámetros

namespaceURI

The namespace URI of the XSLT parameter.

localName

The local name of the XSLT parameter.

Valores retornados

The value of the parameter or NULL if it's not set.

Ver también

XSLTProcessor::setParameter
XSLTProcessor::removeParameter

Anterior | Inicio | Siguiente
XSLTProcessor::__construct | Subir | XSLTProcessor::hasExsltSupport


XSLTProcessor::hasExsltSupport

(no version information, might be only in CVS)

XSLTProcessor::hasExsltSupport -- Determine if PHP has EXSLT support

Descripción

class XSLTProcessor {

bool hasExsltSupport ( void )

}

This method determine if PHP was built with the EXSLT library.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Testing EXSLT support

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT support not available');
}

// do EXSLT stuff here ..

?>

Anterior | Inicio | Siguiente
XSLTProcessor::getParameter | Subir | XSLTProcessor::importStylesheet


XSLTProcessor::importStylesheet

(no version information, might be only in CVS)

XSLTProcessor::importStylesheet -- Import stylesheet

Descripción

class XSLTProcessor {

void importStylesheet ( DOMDocument stylesheet )

}

This method import the stylesheet into the XSLTProcessor for transformations.

Lista de parámetros

stylesheet

The imported style sheet as a DOMDocument object.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
XSLTProcessor::hasExsltSupport | Subir | XSLTProcessor::registerPHPFunctions


XSLTProcessor::registerPHPFunctions

(no version information, might be only in CVS)

XSLTProcessor::registerPHPFunctions -- Enables the ability to use PHP functions as XSLT functions

Descripción

class XSLTProcessor {

void registerPHPFunctions ( [mixed restrict] )

}

This method enables the ability to use PHP functions as XSLT functions within XSL stylesheets.

Lista de parámetros

restrict

Use this parameter to only allow certain functions to be called from XSLT.

This parameter can be either a string (a function name) or an array of functions.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Simple PHP Function call from a stylesheet

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Users</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>

Registro de cambios

Versión | Descripción
5.1.0 | The restrict parameter was added.

Anterior | Inicio | Siguiente
XSLTProcessor::importStylesheet | Subir | XSLTProcessor::removeParameter


XSLTProcessor::removeParameter

(no version information, might be only in CVS)

XSLTProcessor::removeParameter -- Remove parameter

Descripción

class XSLTProcessor {

bool removeParameter ( string namespaceURI, string localName )

}

Removes a parameter, if set. This will make the processor use the default value for the parameter as specified in the stylesheet.

Lista de parámetros

namespaceURI

The namespace URI of the XSLT parameter.

localName

The local name of the XSLT parameter.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XSLTProcessor::setParameter
XSLTProcessor::getParameter

Anterior | Inicio | Siguiente
XSLTProcessor::registerPHPFunctions | Subir | XSLTProcessor::setParameter


XSLTProcessor::setParameter

(no version information, might be only in CVS)

XSLTProcessor::setParameter -- Set value for a parameter

Descripción

class XSLTProcessor {

bool setParameter ( string namespace, string name, string value )

}class XSLTProcessor {

bool setParameter ( string namespace, array options )

}

Sets the value of one or more parameters to be used in subsequent transformations with XSLTProcessor. If the parameter doesn't exist in the stylesheet it will be ignored.

Lista de parámetros

namespace

The namespace URI of the XSLT parameter.

name

The local name of the XSLT parameter.

value

The new value of the XSLT parameter.

options

An array of name => value pairs. This syntax is available since PHP 5.1.0.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Changing the owner before the transformation

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

foreach ($collections as $name => $file) {
    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Ver también

XSLTProcessor::getParameter
XSLTProcessor::removeParameter

Anterior | Inicio | Siguiente
XSLTProcessor::removeParameter | Subir | XSLTProcessor::transformToDoc


XSLTProcessor::transformToDoc

(no version information, might be only in CVS)

XSLTProcessor::transformToDoc -- Transform to a DOMDocument

Descripción

class XSLTProcessor {

DOMDocument transformToDoc ( DOMNode doc )

}

Transforms the source node to a DOMDocument applying the stylesheet given by the XSLTProcessor::importStylesheet method.

Lista de parámetros

doc

The node to be transformed.

Valores retornados

The resulting DOMDocument or FALSE on error.

Ejemplos

Ejemplo 1. Transforming to a DOMDocument

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

El resultado del ejemplo seria:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Ver también

XSLTProcessor::transformToURI
XSLTProcessor::transformToXML

Anterior | Inicio | Siguiente
XSLTProcessor::setParameter | Subir | XSLTProcessor::transformToURI


XSLTProcessor::transformToURI

(no version information, might be only in CVS)

XSLTProcessor::transformToURI -- Transform to URI

Descripción

class XSLTProcessor {

int transformToURI ( DOMDocument doc, string uri )

}

Transforms the source node to an URI applying the stylesheet given by the XSLTProcessor::importStylesheet method.

Lista de parámetros

doc

The transformed document.

uri

Valores retornados

Returns the number of bytes written or FALSE if an error occurred.

Ejemplos

Ejemplo 1. Transforming to a HTML file

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Ver también

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML

Anterior | Inicio | Siguiente
XSLTProcessor::transformToDoc | Subir | XSLTProcessor::transformToXML


XSLTProcessor::transformToXML

(no version information, might be only in CVS)

XSLTProcessor::transformToXML -- Transform to XML

Descripción

class XSLTProcessor {

string transformToXML ( DOMDocument doc )

}

Transforms the source node to a string applying the stylesheet given by the XSLTProcessor::importStylesheet method.

Lista de parámetros

doc

The transformed document.

Valores retornados

The result of the transformation as a string or FALSE on error.

Ejemplos

Ejemplo 1. Transforming to a string

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

?>

El resultado del ejemplo seria:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Ver también

XSLTProcessor::transformToDoc
XSLTProcessor::transformToURI

Anterior | Inicio | Siguiente
XSLTProcessor::transformToURI | Subir | XSLT functions


XSLT functions

Manual de PHP
Anterior Siguiente

CLXXXII. XSLT functions

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Introduction

About XSLT and Sablotron

XSLT (Extensible Stylesheet Language (XSL) Transformations) is a language for transforming XML documents into other XML documents. It is a standard defined by The World Wide Web consortium (W3C). Information about XSLT and related technologies can be found at http://www.w3.org/TR/xslt.

Installation

This extension uses Sabloton and expat, which can both be found at http://www.gingerall.org/sablotron.html. Binaries are provided as well as source.

On UNIX, run configure with the --with-sablot and --enable-sablot-errors-descriptive options. The Sablotron library should be installed somewhere your compiler can find it.

About This Extension

This PHP extension implements support Sablotron from Ginger Alliance in PHP. This toolkit lets you transform XML documents into other documents, including new XML documents, but also into HTML or other target formats. It basically provides a standardized and portable template mechanism, separating content and design of a website.

Tabla de contenidos
xslt_backend_info -- Returns the information on the compilation settings of the backend
xslt_backend_name -- Returns the name of the backend
xslt_backend_version -- Returns the version number of Sablotron
xslt_create -- Create a new XSL processor.
xslt_errno -- Return the current error number
xslt_error -- Return the current error string
xslt_free -- Free XSLT processor
xslt_getopt -- Get options on a given xsl processor
xslt_process -- unknown
xslt_set_base -- Set the base URI for all XSLT transformations
xslt_set_encoding -- Set the encoding for the parsing of XML documents
xslt_set_error_handler -- Set an error handler for a XSLT processor
xslt_set_log -- Set the log file to write log messages to
xslt_set_object -- Sets the object in which to resolve callback functions
xslt_set_sax_handler -- Set SAX handlers for a XSLT processor
xslt_set_sax_handlers -- Set the SAX handlers to be called when the XML document gets processed
xslt_set_scheme_handler -- Set Scheme handlers for a XSLT processor
xslt_set_scheme_handlers -- Set the scheme handlers for the XSLT processor
xslt_setopt -- Set options on a given xsl processor

Anterior | Inicio | Siguiente
XSLTProcessor::transformToXML | Subir | xslt_backend_info


xslt_backend_info

(PHP 4 >= 4.3.0, PECL)

xslt_backend_info -- Returns the information on the compilation settings of the backend

Description

string xslt_backend_info ( void )

xslt_backend_info() returns a string with information about the compilation setting of the backend or an error string when no information available.

Ver también

xslt_backend_name(), y xslt_backend_version().

Anterior | Inicio | Siguiente
XSLT functions | Subir | xslt_backend_name


xslt_backend_name

(PHP 4 >= 4.3.0, PECL)

xslt_backend_name -- Returns the name of the backend

Description

string xslt_backend_name ( void )

xslt_backend_name() will always return Sablotron.

Ejemplos

Ejemplo 1. xslt_backend_name() example

<?php

echo xslt_backend_name(); // Sablotron

?>

Ver también

xslt_backend_info(), y xslt_backend_version().

Anterior | Inicio | Siguiente
xslt_backend_info | Subir | xslt_backend_version


xslt_backend_version

(PHP 4 >= 4.3.0, PECL)

xslt_backend_version -- Returns the version number of Sablotron

Description

string xslt_backend_version ( void )

xslt_backend_version() returns the version number of Sablotron if available, FALSE otherwise.

Ejemplos

Ejemplo 1. xslt_backend_version() example

<?php

echo xslt_backend_version(); // 0.98 for example

?>

Ver también

xslt_backend_name(), y xslt_backend_info().

Anterior | Inicio | Siguiente
xslt_backend_name | Subir | xslt_create


xslt_create

(PHP 4 >= 4.0.3, PECL)

xslt_create -- Create a new XSL processor.

Description

resource xslt_create ( void )

This function returns a handle for a new XSL processor. This handle is needed in all subsequent calls to XSL functions.

Anterior | Inicio | Siguiente
xslt_backend_version | Subir | xslt_errno


xslt_errno

(PHP 4 >= 4.0.3, PECL)

xslt_errno -- Return the current error number

Description

int xslt_errno ( [ int xh] )

Return the current error number of the given XSL processor. If no handle is given, the last error number that occured anywhere is returned.

Anterior | Inicio | Siguiente
xslt_create | Subir | xslt_error


xslt_error

(PHP 4 >= 4.0.3, PECL)

xslt_error -- Return the current error string

Description

mixed xslt_error ( [ int xh] )

Return the current error string of the given XSL processor. If no handle is given, the last error string that occured anywhere is returned.

Anterior | Inicio | Siguiente
xslt_errno | Subir | xslt_free


xslt_free

(PHP 4 >= 4.0.3, PECL)

xslt_free -- Free XSLT processor

Description

void xslt_free ( resource xh )

Free the XSLT processor identified by the given handle.

Anterior | Inicio | Siguiente
xslt_error | Subir | xslt_getopt


xslt_getopt

(PHP 4 >= 4.3.0, PECL)

xslt_getopt -- Get options on a given xsl processor

Description

int xslt_getopt ( resource processor )

xslt_getopt() returns the options on the given processor.

Ver también

xslt_setopt().

Anterior | Inicio | Siguiente
xslt_free | Subir | xslt_process


xslt_process

(PHP 4 >= 4.0.3, PECL)

xslt_process -- unknown

Description

unknown xslt_process ( unknown )

This function lacks a prototype definition.

Anterior | Inicio | Siguiente
xslt_getopt | Subir | xslt_set_base


xslt_set_base

(PHP 4 >= 4.0.5, PECL)

xslt_set_base -- Set the base URI for all XSLT transformations

Description

void xslt_set_base ( resource xh, string uri )

Sets the base URI for all XSLT transformations, the base URI is used with Xpath instructions to resolve document() and other commands which access external resources. It is also used to resolve URIs for the <xsl:include> and <xsl:import> elements.

As of 4.3, the default base URI is the directory of the executing script. In effect, it is the directory name value of the __FILE__ constant. Prior to 4.3, the default base URI was less predictable.

Nota: Tener en cuanta que se requiere el uso de file:// delante del PATH si se utiliza Windows.

Anterior | Inicio | Siguiente
xslt_process | Subir | xslt_set_encoding


xslt_set_encoding

(PHP 4 >= 4.0.5, PECL)

xslt_set_encoding -- Set the encoding for the parsing of XML documents

Description

void xslt_set_encoding ( resource xh, string encoding )

Set the output encoding for the XSLT transformations. When using the Sablotron backend, this option is only available when you compile Sablotron with encoding support.

Anterior | Inicio | Siguiente
xslt_set_base | Subir | xslt_set_error_handler


xslt_set_error_handler

(PHP 4 >= 4.0.4, PECL)

xslt_set_error_handler -- Set an error handler for a XSLT processor

Description

void xslt_set_error_handler ( resource xh, mixed handler )

Set an error handler function for the XSLT processor given by xh, this function will be called whenever an error occurs in the XSLT transformation (this function is also called for notices).

The user function needs to accept four parameters: the XSLT processor, the error level, the error code and an array of messages. The function can be shown as: error_handler ( resource xh, int error_level, int error_code, array messages )

Ejemplos

Ejemplo 1. xslt_set_error_handler() Example

<?php

// Our XSLT error handler
function xslt_error_handler($handler, $errno, $level, $info)
{
  // for now, let's just see the arguments
  var_dump(func_get_args());
}

// XML content :
$xml='<?xml version="1.0"?>
<para>
 oops, I misspelled the closing tag
</pata>';

// XSL content :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
   <strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

xslt_set_error_handler($xh, "xslt_error_handler");

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
                  NULL, array("/_xml" => $xml, "/_xsl" => $xsl));

?>

El resultado del ejemplo seria algo similar a:

array(4) {
  [0]=>
  resource(1) of type (XSLT Processor)
  [1]=>
  int(3)
  [2]=>
  int(0)
  [3]=>
  array(6) {
    ["msgtype"]=>
    string(5) "error"
    ["code"]=>
    string(1) "2"
    ["module"]=>
    string(9) "Sablotron"
    ["URI"]=>
    string(9) "arg:/_xml"
    ["line"]=>
    string(1) "4"
    ["msg"]=>
    string(34) "XML parser error 7: mismatched tag"
  }
}

Ver también

xslt_set_object() if you want to use an object method as handler.

Anterior | Inicio | Siguiente
xslt_set_encoding | Subir | xslt_set_log


xslt_set_log

(PHP 4 >= 4.0.6, PECL)

xslt_set_log -- Set the log file to write log messages to

Description

void xslt_set_log ( resource xh [, mixed log] )

xh

A reference to the XSLT parser.

log

This parameter is either a boolean value which toggles logging on and off, or a string containing the logfile in which log errors too.

This function allows you to set the file in which you want XSLT log messages to, XSLT log messages are different than error messages, in that log messages are not actually error messages but rather messages related to the state of the XSLT processor. They are useful for debugging XSLT, when something goes wrong.

By default logging is disabled, in order to enable logging you must first call xslt_set_log() with a boolean parameter which enables logging, then if you want to set the log file to debug to, you must then pass it a string containing the filename.

Nota: Tener en cuanta que se requiere el uso de file:// delante del PATH si se utiliza Windows.

Ejemplos

Ejemplo 1. Using the XSLT Logging features

<?php

$xh = xslt_create();
xslt_set_log($xh, true);
xslt_set_log($xh, getcwd() . '/myfile.log');

$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
echo $result;

xslt_free($xh);
?>

Anterior | Inicio | Siguiente
xslt_set_error_handler | Subir | xslt_set_object


xslt_set_object

(PHP 4 >= 4.3.0, PECL)

xslt_set_object -- Sets the object in which to resolve callback functions

Description

bool xslt_set_object ( resource processor, object &obj )

This function allows to use the processor inside an object and to resolve all callback functions in it.

The callback functions can be declared with xml_set_sax_handlers(), xslt_set_scheme_handlers() or xslt_set_error_handler() and are assumed to be methods of object.

Ejemplos

Ejemplo 1. Using your own error handler as a method

<?php

class my_xslt_processor {

    var $_xh; // our XSLT processor

    function my_xslt_processor()
    {
        $this->_xh = xslt_create();

        // Make $this object the callback resolver
        xslt_set_object($this->_xh, $this);

        // Let's handle the errors
        xslt_set_error_handler($this->_xh, "my_xslt_error_handler");
    }

    function my_xslt_error_handler($handler, $errno, $level, $info)
    {
        // for now, let's just see the arguments
        var_dump(func_get_args());
    }
}

?>

Anterior | Inicio | Siguiente
xslt_set_log | Subir | xslt_set_sax_handler


xslt_set_sax_handler

(4.0.3 - 4.0.6 only)

xslt_set_sax_handler -- Set SAX handlers for a XSLT processor

Description

bool xslt_set_sax_handler ( resource xh, handlers )

Set SAX handlers on the ressource handle given by xh.

Anterior | Inicio | Siguiente
xslt_set_object | Subir | xslt_set_sax_handlers


xslt_set_sax_handlers

(PHP 4 >= 4.0.6, PECL)

xslt_set_sax_handlers -- Set the SAX handlers to be called when the XML document gets processed

Description

void xslt_set_sax_handlers ( resource processor, array handlers )

xslt_set_sax_handlers() registers the SAX handlers for the document, given a XSLT processor resource.

handlers should be an array in the following format:

<?php

$handlers = array(

  "document" => array(
    "start_doc",
    "end_doc"),

  "element"  => array(
    "start_element",
    "end_element"),

  "namespace" => array(
    "start_namespace",
    "end_namespace"),

  "comment"   => "comment",

  "pi"        => "pi",

  "character" => "characters"

);
?>

Where the functions follow the syntax described for the scheme handler functions.

Nota: The given array does not need to contain all of the different sax handler elements (although it can), but it only needs to conform to "handler" => "function" format described above.

Each of the individual SAX handler functions are in the format below:

  • start_doc ( resource processor )

  • end_doc ( resource processor )

  • start_element ( resource processor, string name, array attributes )

  • end_element ( resource processor, string name )

  • start_namespace ( resource processor, string prefix, string uri )

  • end_namespace ( resource processor, string prefix )

  • comment ( resource processor, string contents )

  • pi ( resource processor, string target, string contents )

  • characters ( resource processor, string contents )

Using xslt_set_sax_handlers() doesn't look very different than running a SAX parser like xml_parse() on the result of an xslt_process() transformation.

Ejemplos

Ejemplo 1. xslt_set_sax_handlers() Example

<?php
// From ohlesbeauxjours at yahoo dot fr
// Here's a simple example that applies strtoupper() on
// the content of every <auteur> tag and then displays the
// resulting XML tree:

$xml='<?xml version="1.0"?>
<books>
 <book>
  <title>Mme Bovary</title>
  <author>Gustave Flaubert</author>
 </book>
 <book>
  <title>Mrs Dalloway</title>
  <author>Virginia Woolf</author>
 </book>
</books>';

$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/">
 <xsl:for-each select="books/book">
  <livre>
   <auteur><xsl:value-of select="author/text()"/></auteur>
  </livre>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>';

// Handlers :
function start_document()
{
  // start reading the document
}

function end_document()
{
  // end reading the document
}

function start_element($parser, $name, $attributes)
{
  global $result,$tag;
  $result .= "<". $name . ">";
  $tag = $name;
}

function end_element($parser, $name)
{
  global $result;
  $result .= "</" . $name . ">";
}

function characters($parser, $data)
{
  global $result,$tag;
  if ($tag == "auteur" ) {
    $data = strtoupper($data);
  }
  $result .= $data;
}

// Transformation :
$xh = xslt_create();
$handlers = array("document" => array("start_document","end_document"),
   "element" => array("start_element","end_element"),
   "character" => "characters");

xslt_set_sax_handlers($xh, $handlers);
xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
xslt_free($xh);
?>

You can also use xslt_set_object() if you want to implement your handlers in an object.

Ejemplo 2. Object oriented handler

<?php
// This is the object oriented version of the previous example
class data_sax_handler {

  var $buffer, $tag, $attrs;

  var $_xh;

  function data_sax_handler($xml, $xsl)
  {
      // our xslt resource
      $this->_xh = xslt_create();

      xslt_set_object($this->_xs, $this);

      // configure sax handlers
      $handlers = array(
        "document" => array('start_document', 'end_document'),
        "element" => array('start_element', 'end_element'),
        "character" => 'characters'
      );

      xslt_set_sax_handlers($this->_xh, $handlers);

      xslt_process($this->_xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
      xslt_free($this->_xh);

  }

  function start_document()
  {
        // start reading the document
  }

  function end_document() {
        // complete reading the document
  }

  function start_element($parser, $name, $attributes) {
        $this->tag = $name;
        $this->buffer .= "<" . $name . ">";
        $this->attrs = $attributes;
  }

  function end_element($parser, $name)
  {
        $this->tag = '';
        $this->buffer .= "</" . $name . ">";
  }

  function characters($parser, $data)
  {
    if ($this->tag == 'auteur') {
          $data = strtoupper($data);
    }
    $this->buffer .= $data;
  }

  function get_buffer() {
    return $this->buffer;
  }

}

$exec = new data_sax_handler($xml, $xsl);

?>

Both examples will output:

<livre>
   <auteur>GUSTAVE FLAUBERT</auteur>
</livre>
<livre>
   <auteur>VIRGINIA WOOLF</auteur>
</livre>

Anterior | Inicio | Siguiente
xslt_set_sax_handler | Subir | xslt_set_scheme_handler


xslt_set_scheme_handler

(4.0.5 - 4.0.6 only)

xslt_set_scheme_handler -- Set Scheme handlers for a XSLT processor

Description

void xslt_set_scheme_handler ( resource xh, array handlers )

Set Scheme handlers on the resource handle given by xh. Scheme handlers should be an array with the format (all elements are optional):

array(
[get_all] => get all handler,
[open] => open handler,
[get] => get handler,
[put] => put handler,
[close] => close handler
)

Anterior | Inicio | Siguiente
xslt_set_sax_handlers | Subir | xslt_set_scheme_handlers


xslt_set_scheme_handlers

(PHP 4 >= 4.0.6, PECL)

xslt_set_scheme_handlers -- Set the scheme handlers for the XSLT processor

Description

void xslt_set_scheme_handlers ( resource processor, array handlers )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
xslt_set_scheme_handler | Subir | xslt_setopt


xslt_setopt

(PHP 4 >= 4.3.0, PECL)

xslt_setopt -- Set options on a given xsl processor

Description

mixed xslt_setopt ( resource processor, int newmask )

xslt_setopt() sets the options specified by newmask on the given processor. Returns the number of previous mask is possible, TRUE otherwise, FALSE in case of an error.

newmask is a bitmask constructed with the following constants:

  • XSLT_SABOPT_PARSE_PUBLIC_ENTITIES - Tell the processor to parse public entities. By default this has been turned off.

  • XSLT_SABOPT_DISABLE_ADDING_META - Do not add the meta tag "Content-Type" for HTML output. The default is set during the compilation of the processor.

  • XSLT_SABOPT_DISABLE_STRIPPING - Suppress the whitespace stripping (on data files only).

  • XSLT_SABOPT_IGNORE_DOC_NOT_FOUND - Consider unresolved documents (the document() function) non-lethal.

Ejemplos

Ejemplo 1. xslt_setopt() Example

<?php

$xh = xslt_create();

// Tell Sablotron to process public entities
xslt_setopt($xh, XSLT_SABOPT_PARSE_PUBLIC_ENTITIES);

// Let's also ask him to suppress whitespace stripping
xslt_setopt($xh, xslt_getopt($xh) | XSLT_SABOPT_DISABLE_STRIPPING);

?>

Ver también

xslt_getopt().

Anterior | Inicio | Siguiente
xslt_set_scheme_handlers | Subir | YAZ


YAZ

Manual de PHP
Anterior Siguiente

CLXXXIII. YAZ

The yaz() functions wrap the YAZ API. The home page of the project is http://www.indexdata.dk/yaz/. Information about the phpyaz module can be found at http://www.indexdata.dk/phpyaz/.

PHP/YAZ is much simpler to use than the C API for YAZ but less flexible. The intent is to make it easy to build basic client functions. It supports persistent stateless connections very similar to those offered by the various SQL APIs that are available for PHP. This means that sessions are stateless but shared amongst users, thus saving the connect and INIT steps in many cases.

Before compiling PHP with the PHP/YAZ module you'll need the YAZ toolkit. Build YAZ and install it. Build PHP with your favourite modules and add option --with-yaz. Your task is roughly the following:

gunzip -c yaz-1.6.tar.gz|tar xf -
gunzip -c php-4.0.X.tar.gz|tar xf -
cd yaz-1.6
./configure --prefix=/usr
make
make install
cd ../php-4.0.X
./configure --with-yaz=/usr/bin
make
make install

PHP/YAZ keeps track of connections with targets (Z-Associations). A positive integer represents the ID of a particular association.

The script below demonstrates the parallel searching feature of the API. When invoked it either prints a query form (if no arguments are supplied) or if there are arguments (term and one or more hosts) it searches the targets in array host.

Ejemplo 1. YAZ()

$num_hosts = count ($host);
if (empty($term) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils">
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default">
        local test
    <input type="checkbox" checked="1"
    name="host[]" value="z3950.bell-labs.com/books">
        BELL Labs Library
    <br>
    RPN Query:
    <input type="text" size="30" name="term">
    <input type="submit" name="action" value="Search">
    ';
} else {
    echo 'You searced for ' . htmlspecialchars($term) . '<br>';
    for ($i = 0; $i > $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i],"sutrs");
        yaz_search($id[$i],"rpn",$term);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr>' . $host[$i] . ":";
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Error: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Result Count $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i],$p,"string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo ereg_replace("\n", "<br>\n",$rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
Tabla de contenidos
yaz_addinfo -- Returns additional error information
yaz_ccl_conf -- Configure CCL parser
yaz_ccl_parse -- Invoke CCL Parser
yaz_close -- Closes a YAZ connection
yaz_connect -- Returns a positive association ID on success; zero on failure
yaz_database -- Specifies the databases within a session
yaz_element -- Specifies Element-Set Name for retrieval
yaz_errno -- Returns error number
yaz_error -- Returns error description
yaz_es_result -- Inspects Extended Services Result
yaz_es -- Prepares for an Extended Service Request
yaz_get_option -- Returns value of option for connection
yaz_hits -- Returns number of hits for last search
yaz_itemorder -- Prepares for Z39.50 Item Order with an ILL-Request package
yaz_present -- Prepares for retrieval (Z39.50 present)
yaz_range -- Specifies the maximum number of records to retrieve
yaz_record -- Returns a record
yaz_scan_result -- Returns Scan Response result
yaz_scan -- Prepares for a scan
yaz_schema -- Specifies schema for retrieval
yaz_search -- Prepares for a search
yaz_set_option -- Sets one or more options for connection
yaz_sort -- Sets sorting criteria
yaz_syntax -- Specifies the preferred record syntax for retrieval
yaz_wait -- Executes queries

Anterior | Inicio | Siguiente
xslt_setopt | Subir | yaz_addinfo


yaz_addinfo

(PHP 4 >= 4.0.1, PECL)

yaz_addinfo -- Returns additional error information

Description

int yaz_addinfo ( int id )

Returns additional error message for target (last request). An empty string is returned if last operation was a success or if no additional information was provided by the target.

Anterior | Inicio | Siguiente
YAZ | Subir | yaz_ccl_conf


yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL)

yaz_ccl_conf -- Configure CCL parser

Descripción

void yaz_ccl_conf ( resource id, array config )

This function configures the CCL query parser for a server with definitions of access points (CCL qualifiers) and their mapping to RPN.

To map a specific CCL query to RPN afterwards call the yaz_ccl_parse() function.

Lista de parámetros

id

The connection resource returned by yaz_connect().

config

An array of configuration. Each key of the array is the name of a CCL field and the corresponding value holds a string that specifies a mapping to RPN.

The mapping is a sequence of attribute-type, attribute-value pairs. Attribute-type and attribute-value is separated by an equal sign (=). Each pair is separated by white space.

Additional information can be found on the CCL page.

Valores retornados

No value is returned.

Ejemplos

In the example below, the CCL parser is configured to support three CCL fields: ti, au and isbn. Each field is mapped to their BIB-1 equivalent. It is assumed that variable $id is the connection ID.

Ejemplo 1. CCL configuration

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

Ver también

yaz_ccl_parse()

Anterior | Inicio | Siguiente
yaz_addinfo | Subir | yaz_ccl_parse


yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL)

yaz_ccl_parse -- Invoke CCL Parser

Descripción

bool yaz_ccl_parse ( resource id, string query, array &result )

This function invokes a CCL parser. It converts a given CCL FIND query to an RPN query which may be passed to the yaz_search() function to perform a search.

To define a set of valid CCL fields call yaz_ccl_conf() prior to this function.

Lista de parámetros

id

The connection resource returned by yaz_connect().

query

The CCL FIND query.

result

If the function was executed successfully, this will be an array containing the valid RPN query under the key rpn.

Upon failure, three indexes are set in this array to indicate the cause of failure:

  • errorcode - the CCL error code (integer)

  • errorstring - the CCL error string

  • errorpos - approximate position in query of failure (integer is character position)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. CCL Parsing

We will try to search using CCL. In the example below, $ccl is a CCL query.

<?php

yaz_ccl_conf($id, $fields);  // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>

Anterior | Inicio | Siguiente
yaz_ccl_conf | Subir | yaz_close


yaz_close

(PHP 4 >= 4.0.1, PECL)

yaz_close -- Closes a YAZ connection

Description

int yaz_close ( int id )

Closes a connection to a target. The application can no longer refer to the target with the given id.

Anterior | Inicio | Siguiente
yaz_ccl_parse | Subir | yaz_connect


yaz_connect

(PHP 4 >= 4.0.1, PECL)

yaz_connect -- Returns a positive association ID on success; zero on failure

Description

int yaz_connect ( string zurl )

yaz_connect() prepares for a connection to a Z39.50 target. The zurl argument takes the form host[:port][/database]. If port is omitted 210 is used. If database is omitted Default is used. This function is non-blocking and doesn't attempt to establish a socket - it merely prepares a connect to be performed later when yaz_wait() is called.

Anterior | Inicio | Siguiente
yaz_close | Subir | yaz_database


yaz_database

(PHP 4 >= 4.0.6, PECL)

yaz_database -- Specifies the databases within a session

Descripción

bool yaz_database ( resource id, string databases )

This function allows you to change databases within a session by specifying one or more databases to be used in search, retrieval, etc. - overriding databases specified in call to yaz_connect().

Lista de parámetros

id

The connection resource returned by yaz_connect().

databases

A string containing one or more databases. Multiple databases are separated by a plus sign +.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
yaz_connect | Subir | yaz_element


yaz_element

(PHP 4 >= 4.0.1, PECL)

yaz_element -- Specifies Element-Set Name for retrieval

Descripción

bool yaz_element ( resource id, string elementset )

This function sets the element set name for retrieval.

Call this function before yaz_search() or yaz_present() to specify the element set name for records to be retrieved.

Nota: If this function seems effectless, see the description of the piggybacking option in yaz_connect().

Lista de parámetros

id

The connection resource returned by yaz_connect().

elementset

Most servers support F (for full records) and B (for brief records).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
yaz_database | Subir | yaz_errno


yaz_errno

(PHP 4 >= 4.0.1, PECL)

yaz_errno -- Returns error number

Description

int yaz_errno ( int id )

Returns error for target (last request). A positive value is returned if the target returned a diagnostic code; a value of zero is returned if no errors occurred (success); negative value is returned for other errors targets didn't indicate the error in question.

yaz_errno() should be called after network activity for each target - (after yaz_wait() returns) to determine the success or failure of the last operation (e.g. search).

Anterior | Inicio | Siguiente
yaz_element | Subir | yaz_error


yaz_error

(PHP 4 >= 4.0.1, PECL)

yaz_error -- Returns error description

Description

int yaz_error ( int id )

Returns error message for target (last request). An empty string is returned if last operation was a success.

yaz_error() returns a english message corresponding to the last error number as returned by yaz_errno().

Anterior | Inicio | Siguiente
yaz_errno | Subir | yaz_es_result


yaz_es_result

(PHP 4 >= 4.2.0, PECL)

yaz_es_result -- Inspects Extended Services Result

Descripción

array yaz_es_result ( resource id )

This function inspects the last returned Extended Service result from a server. An Extended Service is initiated by either yaz_item_order() or yaz_es().

Lista de parámetros

id

The connection resource returned by yaz_connect().

Valores retornados

Returns array with element targetReference for the reference for the extended service operation (generated and returned from the server).

Ver también

yaz_es()

Anterior | Inicio | Siguiente
yaz_error | Subir | yaz_es


yaz_get_option

(PECL)

yaz_get_option -- Returns value of option for connection

Descripción

string yaz_get_option ( resource id, string name )

Returns the value of the option specified with name.

Lista de parámetros

id

The connection resource returned by yaz_connect().

name

The option name.

Valores retornados

Returns the value of the specified option or an empty string if the option wasn't set.

Ver también

The description of yaz_set_option() for available options

Anterior | Inicio | Siguiente
yaz_es | Subir | yaz_hits


yaz_hits

(PHP 4 >= 4.0.1, PECL)

yaz_hits -- Returns number of hits for last search

Description

int yaz_hits ( int id )

yaz_hits() returns number of hits for last search.

Anterior | Inicio | Siguiente
yaz_get_option | Subir | yaz_itemorder


yaz_itemorder

(PHP 4 >= 4.0.5, PECL)

yaz_itemorder -- Prepares for Z39.50 Item Order with an ILL-Request package

Descripción

void yaz_itemorder ( resource id, array args )

This function prepares for an Extended Services request using the Profile for the Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1). See this and the specification.

Lista de parámetros

id

The connection resource returned by yaz_connect().

args

Must be an associative array with information about the Item Order request to be sent. The key of the hash is the name of the corresponding ASN.1 tag path. For example, the ISBN below the Item-ID has the key item-id,ISBN.

The ILL-Request parameters are:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

There are also a few parameters that are part of the Extended Services Request package and the ItemOrder package:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
yaz_hits | Subir | yaz_present


yaz_present

(PHP 4 >= 4.0.5, PECL)

yaz_present -- Prepares for retrieval (Z39.50 present)

Descripción

bool yaz_present ( resource id )

This function prepares for retrieval of records after a successful search.

The yaz_range() function should be called prior to this function to specify the range of records to be retrieved.

Lista de parámetros

id

The connection resource returned by yaz_connect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
yaz_itemorder | Subir | yaz_range


yaz_range

(PHP 4 >= 4.0.1, PECL)

yaz_range -- Specifies the maximum number of records to retrieve

Description

int yaz_range ( int id, int start, int number )

This function is used in conjunction with yaz_search() to specify the maximum number of records to retrieve (number) and the first record position (start). If this function is not invoked (only yaz_search()) start is set to 1 and number is set to 10.

Returns TRUE on success; FALSE on error.

Anterior | Inicio | Siguiente
yaz_present | Subir | yaz_record


yaz_record

(PHP 4 >= 4.0.1, PECL)

yaz_record -- Returns a record

Description

int yaz_record ( int id, int pos, string type )

Returns record at position or empty string if no record exists at given position.

The yaz_record() function inspects a record in the current result set at the position specified. If no database record exists at the given position an empty string is returned. The argument, type, specifies the form of the returned record. If type is "string" the record is returned in a string representation suitable for printing (for XML and SUTRS). If type is "array" the record is returned as an array representation (for structured records).

Anterior | Inicio | Siguiente
yaz_range | Subir | yaz_scan_result


yaz_scan_result

(PHP 4 >= 4.0.5, PECL)

yaz_scan_result -- Returns Scan Response result

Descripción

array yaz_scan_result ( resource id [, array &result] )

yaz_scan_result() returns terms and associated information as received from the server in the last performed yaz_scan().

Lista de parámetros

id

The connection resource returned by yaz_connect().

result

If given, this array will be modified to hold additional information taken from the Scan Response:

  • number - Number of entries returned

  • stepsize - Step size

  • position - Position of term

  • status - Scan status

Valores retornados

Returns an array (0..n-1) where n is the number of terms returned. Each value is a pair where the first item is the term, and the second item is the result-count.

Anterior | Inicio | Siguiente
yaz_record | Subir | yaz_scan


yaz_scan

(PHP 4 >= 4.0.5, PECL)

yaz_scan -- Prepares for a scan

Descripción

void yaz_scan ( resource id, string type, string startterm [, array flags] )

This function prepares for a Z39.50 Scan Request on the specified connection.

To actually transfer the Scan Request to the server and receive the Scan Response, yaz_wait() must be called. Upon completion of yaz_wait() call yaz_error() and yaz_scan_result() to handle the response.

Lista de parámetros

id

The connection resource returned by yaz_connect().

type

Currently only type rpn is supported.

startterm

Starting term point for the scan.

The form in which the starting term is specified is given by parameter type.

The syntax this parameter is similar to the RPN query as described in yaz_search(). It consists of zero or more @attr-operator specifications, then followed by exactly one token.

flags

This optional parameter specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags array: number (number of terms requested), position (preferred position of term) and stepSize (preferred step size).

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. PHP function that scans titles

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, &$options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val &nbsp;";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>

Anterior | Inicio | Siguiente
yaz_scan_result | Subir | yaz_schema


yaz_schema

(PHP 4 >= 4.2.0, PECL)

yaz_schema -- Specifies schema for retrieval

Descripción

void yaz_schema ( resource id, string schema )

yaz_schema() specifies the schema for retrieval.

This function should be called before yaz_search() or yaz_present().

Lista de parámetros

id

The connection resource returned by yaz_connect().

schema

Must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.13.4) or as one of the known registered schemas: GILS-schema, Holdings, Zthes, ...

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
yaz_scan | Subir | yaz_search


yaz_search

(PHP 4 >= 4.0.1, PECL)

yaz_search -- Prepares for a search

Description

int yaz_search ( int id, string type, string query )

yaz_search() prepares for a search on the target with given id. The type represents the query type - only "rpn" is supported now in which case the third argument is a prefix notation query as used by YAZ. Like yaz_connect() this function is non-blocking and only prepares for a search to be executed later when yaz_wait() is called.

Anterior | Inicio | Siguiente
yaz_schema | Subir | yaz_set_option


yaz_set_option

(PECL)

yaz_set_option -- Sets one or more options for connection

Descripción

void yaz_set_option ( resource id, string name, string value )

void yaz_set_option ( resource id, array options )

Sets one or more options on the given connection.

Lista de parámetros

id

The connection resource returned by yaz_connect().

name or options

May be either a string or an array.

If given as a string, this will be the name of the option to set. You'll need to give it's value.

If given as an array, this will be an associative array (option name => option value).

Tabla 1. PHP/YAZ Connection Options

Name | Description
implementationName | implementation name of server
implementationVersion | implementation version of server
implementationId | implementation ID of server
schema | schema for retrieval. By default, no schema is used. Setting this option is equivalent to using function yaz_schema()
preferredRecordSyntax | record syntax for retrieval. By default, no syntax is used. Setting this option is equivalent to using function yaz_syntax()
start | offset for first record to be retrieved via yaz_search() or yaz_present(). First record is numbered has a start value of 0. Second record has start value 1. Setting this option in combination with option count has the same effect as calling yaz_range() except that records are numbered from 1 in yaz_range()
count | maximum number of records to be retrieved via yaz_search() or yaz_present().
elementSetName | element-set-name for retrieval. Setting this option is equivalent to calling yaz_element().
value

The new value of the option. Use this only if the previous argument is a string.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
yaz_search | Subir | yaz_sort


yaz_sort

(PHP 4 >= 4.1.0, PECL)

yaz_sort -- Sets sorting criteria

Descripción

void yaz_sort ( resource id, string criteria )

This function sets sorting criteria and enables Z39.50 Sort.

Call this function before yaz_search(). Using this function alone does not have any effect. When used in conjunction with yaz_search(), a Z39.50 Sort will be sent after a search response has been received and before any records are retrieved with Z39.50 Present (yaz_present().

Lista de parámetros

id

The connection resource returned by yaz_connect().

criteria

A string that takes the form field1 flags1 field2 flags2 where field1 specifies the primary attributes for sort, field2 seconds, etc..

The field specifies either a numerical attribute combinations consisting of type=value pairs separated by comma (e.g. 1=4,2=1) ; or the field may specify a plain string criteria (e.g. title. The flags is a sequence of the following characters which may not be separated by any white space.

Sort Flags

a

Sort ascending

d

Sort descending

i

Case insensitive sorting

s

Case sensitive sorting

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Sort Criterias

To sort on Bib1 attribute title, case insensitive, and ascending you would use the following sort criteria:

1=4 ia

If the secondary sorting criteria should be author, case sensitive and ascending you would use:

1=4 ia 1=1003 sa

Anterior | Inicio | Siguiente
yaz_set_option | Subir | yaz_syntax


yaz_syntax

(PHP 4 >= 4.0.1, PECL)

yaz_syntax -- Specifies the preferred record syntax for retrieval

Description

int yaz_syntax ( int id, string syntax )

This function is used in conjunction with yaz_search() to specify the preferred record syntax for retrieval.

Anterior | Inicio | Siguiente
yaz_sort | Subir | yaz_wait


yaz_wait

(PHP 4 >= 4.0.1, PECL)

yaz_wait -- Executes queries

Description

int yaz_wait ( int id, string syntax )

This function carries out networked (blocked) activity for outstanding requests which have been prepared by the functions yaz_connect(), yaz_search(). yaz_wait() returns when all targets have either completed all requests or otherwise completed (in case of errors).

Anterior | Inicio | Siguiente
yaz_syntax | Subir | NIS funciona


NIS funciona

Manual de PHP
Anterior Siguiente

CLXXXIV. NIS funciona

NIS ( anteriormente llamado Paginas Amarillas ) permite la administracion de red de los archivos de administracion importantes (e.g.El archivo de contraseñas). Para mas informacion dirigirse a las paginas de ayuda de NIS y a la direccion. Introduccion a YP/NIS Hay tambien un libro llamado gestionando NFS Y NIS por Hal Stern.

Para obtener estas funciones de trabajo, usted tiene que configure PHP con -- con- yp.

Tabla de contenidos
yp_all -- Traverse the map and call a function on each entry
yp_cat -- Return an array containing the entire map
yp_err_string -- devuelve el mensaje de error asociado con la operacion previa.Util que indica el problema exacto.
yp_errno -- Retorna el codigo de error de la operacion previa.
yp_first -- devuelve la primera clave emparejada con el nombrado mapa.
yp_get_default_domain -- Trae el valor por omision de dominios de maquina NIS.
yp_master -- Returns the machine name of the master NIS server for a map
yp_match -- Retorna la linea compañera (pareja).
yp_next -- Devuelve la siguiente clave tecleada en el nombre de mapa
yp_order -- Returns the order number for a map

Anterior | Inicio | Siguiente
yaz_wait | Subir | yp_all


yp_all

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

yp_all -- Traverse the map and call a function on each entry

Descripción

void yp_all ( string domain, string map, string callback )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

domain

The NIS domain name.

map

The NIS map.

callback

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
NIS funciona | Subir | yp_cat


yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

yp_cat -- Return an array containing the entire map

Descripción

array yp_cat ( string domain, string map )

Returns all map entries.

Lista de parámetros

domain

The NIS domain name.

map

The NIS map.

Valores retornados

Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.

Anterior | Inicio | Siguiente
yp_all | Subir | yp_err_string


yp_err_string

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

yp_err_string -- devuelve el mensaje de error asociado con la operacion previa.Util que indica el problema exacto.

Descripcion

cadena yp_err_string ( void )

yp_err_string() Retorna el mensaje de error asociado con la operacion previa.Util para indicar que salio mal exactamente.

Ejemplo 1. Ejemplo para errores de NIS

Vea tambien: yp errno

Anterior | Inicio | Siguiente
yp_cat | Subir | yp_errno


yp_errno

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.4)

yp_errno -- Retorna el codigo de error de la operacion previa.

Descripcion

int yp_errno ( void )

yp_errno() retorna el codigo de error de la operacion previa.

Los errores posibles son:

1 args para funcionar son malos
2 fallo de RPC- dominio ha sido unbound
3 no puede unir a servidor en este dominio
4 ningun tal mapa en dominio de servidor
5 ninguna tal llave en
6 interno yp error de cliente o servidor
7 fallo de asignacion de recurso
8 ningunos más registros en base de datos de mapa
9 no puede comunicar wiTh portmapper
10 no puede comunicar con ypbind
11 no puede comunicar con ypserv
12 nombre de dominio local no conjunto
13 yp base de datos es malo
14 yp La version mismatch
15 violacion de acceso
16 base de datos ocupar

Ver tambien: yp_err_string

Anterior | Inicio | Siguiente
yp_err_string | Subir | yp_first


yp_first

(PHP 3 >= 3.0.7, PHP 4, PHP 5 <= 5.0.4)

yp_first -- devuelve la primera clave emparejada con el nombrado mapa.

Descripcion

string[] yp_first (cadena dominio, cadena mapa)

yp_first(nombre de la funcion)() Retorna la primera clave de valor pareada del mapa nombrado en el dominio, de otra manera FALSO.

Ejemplo 1. Ejemplo para el primer NIS

<?$entry= yp_first($dominio,passwd.byname");
             if (!$entry){"echo yp_errno().":".yp_err_string();}
            $key=key($entry);
      echo"Primera entrada en este mapa fue ".$key ."Y valor".$entry[$key];?>

Ver tambien: yp_get_default_domain yp_errno y yp_err_string

Anterior | Inicio | Siguiente
yp_errno | Subir | yp_get_default_domain


yp_get_default_domain

(PHP 3 >= 3.0.7, PHP 4, PHP 5 <= 5.0.4)

yp_get_default_domain -- Trae el valor por omision de dominios de maquina NIS.

Descripcion

int yp_get_default_domain ( void )

yp_ get_default_domain() Retorna el valor por omision del dominio del nodo o FALSO. Puede ser usado el parametro de dominio para sucesivas llamadas a NIS.

Un dominio de NIS puede ser descrito en un grupo de mapas NIS. Cada host necesita buscar uniones de informacion en un mismo dominio. Acudir a los documentos mencionados en el comienzo para mas informacion.

Ejemplo 1. Ejemplo para el dominio por omision

<?$domain = yp_ get_default_domain (); if (!$ domain) {"echo yp_errno().":" .yp_err_string();}
         echo "El valor por omision de dominio NIS es:  $ domain;?>

Ver tambien: yp_ errno (nombre de la funcion) y yp_err_string (nombre de la funcion)

Anterior | Inicio | Siguiente
yp_first | Subir | yp_master


yp_master

(PHP 3 >= 3.0.7, PHP 4, PHP 5 <= 5.0.4)

yp_master -- Returns the machine name of the master NIS server for a map

Descripción

string yp_master ( string domain, string map )

Returns the machine name of the master NIS server for a map.

Lista de parámetros

domain

The NIS domain name.

map

The NIS map.

Valores retornados

Ejemplos

Ejemplo 1. Example for the NIS master

<?php
$number = yp_master($domain, $mapname);
echo "Master for this map is: " . $master;
?>

Ver también

yp_get_default_domain()

Anterior | Inicio | Siguiente
yp_get_default_domain | Subir | yp_match


yp_match

(PHP 3 >= 3.0.7, PHP 4, PHP 5 <= 5.0.4)

yp_match -- Retorna la linea compañera (pareja).

Descripcion

cadena yp_match ( cadena dominio, cadena mapa, cadena teclea )

yp_match(nombre de la funcion)() Retorna el valor asociado con la llave pasada fuera del mapa especificado o FALSO. esta llave tiene que ser exacta.

Ejemplo 1. Ejemplo para NIS parejo

En este caso esto puede ser: Joe:##joe:11111:100:joe usuario:/hogar/j/joe: User:/usr/local/bin/bash

Ver tambien: yp_get_default_domain yp_errno y yp_err_string

Anterior | Inicio | Siguiente
yp_master | Subir | yp_next


yp_next

(PHP 3 >= 3.0.7, PHP 4, PHP 5 <= 5.0.4)

yp_next -- Devuelve la siguiente clave tecleada en el nombre de mapa

Descripcion

string[] yp_next ( cadena dominio, cadena mapa, cadena teclea )

yp_next() devuelve el siguiente par de valor tecleado en el mapa de nombres despues de la clave especificada o FALSO.

Ejemplo 1. Ejemplo para NIS siguiente

<?$entry=yp_next($dominio,"passwd. byname"."joe");
     if(!$entry){echo yp_errno().":".yp_err_string();}
     $key=key($entry); echo "La siguiente entrada despues joe fue".$key."Y su valor".$entry[$key];?>

Ver tambien: yp_get_default_domain yp_errno y yp_err_string

Anterior | Inicio | Siguiente
yp_match | Subir | yp_order


yp_order

(PHP 3 >= 3.0.7, PHP 4, PHP 5 <= 5.0.4)

yp_order -- Returns the order number for a map

Descripción

int yp_order ( string domain, string map )

Gets the order number for a map.

Lista de parámetros

domain

map

Valores retornados

Returns the order number for a map or FALSE on error.

Ejemplos

Ejemplo 1. Example for the NIS order

<?php
    $number = yp_order($domain, $mapname);
    echo "Order number for this map is: " . $number;
?>

Ver también

yp_get_default_domain()

Anterior | Inicio | Siguiente
yp_next | Subir | Funciones de manejo de archivos Zip (sólo lectura)


Funciones de manejo de archivos Zip (sólo lectura)

Manual de PHP
Anterior Siguiente

CLXXXV. Funciones de manejo de archivos Zip (sólo lectura)

Introducción

Este módulo permite leer de forma transparente archivos comprimidos en formato Zip y acceder a su contenido.

Requisitos

Este módulo utiliza las funciones de la biblioteca ZZIPlib, creada por Guido Draheim. Se requiere una versión de ZZIPlib >= 0.10.6.

Debe tenerse en cuenta que la anterior biblioteca solamente proporciona un conjunto limitado de funciones para el tratamiento de archivos en formato Zip. Para poder crear los archivos en formato Zip se requiere del uso de alguna herramienta externa a PHP.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/zip.

En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. Para poder usar las funciones de manejo de archivos en formato Zip, se debe compilar PHP añadiendo el parámetro --with-zip[=DIR] a las opciones de configuración de PHP.

Los usuarios de Windows deben activar la opció php_zip.dll en el fichero php.ini para poder utilizar estas funciones. En PHP 4, esta DLL se encuentra en el directorio extensions/ que existe en los binarios de PHP para Windows. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Nota: El funcionamiento de las funciones de manejo de archivos en formato Zip es experimental en las versiones de PHP anteriores a la 4.1.0. En esta sección del manual se muestran las funciones que existen en las versiones a partir de la 4.1.0.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

En el siguiente ejemplo se abre un archivo en formato Zip, se lee cada uno de los archivos contenidos en el y se muestran sus contenidos. El archivo test2.zip que se utiliza en el ejemplo es uno de los archivos de prueba que se incluyen en la distribución del código fuente de la libería ZZIPlib.

Ejemplo 1. Ejemplo de utilización de las funciones para manejo de archivos en formato Zip

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {

    while ($zip_entry = zip_read($zip)) {
        echo "Nombre:                " . zip_entry_name($zip_entry) . "\n";
        echo "Tamanio sin comprimir: " . zip_entry_filesize($zip_entry) . "\n";
        echo "Tamanio comprimido:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Metodo de compresion:  " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "Contenidos del archivo:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}

?>
Tabla de contenidos
zip_close -- Cierra un archivo en formato Zip
zip_entry_close -- Cierra una entrada de directorio
zip_entry_compressedsize -- Obtiene el tamaño comprimido de una entrada de directorio
zip_entry_compressionmethod -- Obtiene el método de compresión utilizado por una entrada de directorio
zip_entry_filesize -- Obtiene el tamaño real de una entrada de directorio
zip_entry_name -- Obtiene el nombre de una entrada de directorio
zip_entry_open -- Abre una entrada de directorio en modo solo lectura
zip_entry_read -- Lee datos de una entrada de directorio abierta
zip_open -- Abre un archivo en formato Zip
zip_read -- Lee la siguiente entrada de un archivo en formato Zip
ZipArchive::addFile -- Adds a file to a ZIP archive from the given path
ZipArchive::addFromString -- Add a file to a ZIP archive using its contents
ZipArchive::close -- Close the active archive (opened or newly created)
ZipArchive::deleteIndex -- delete an entry in the archive using its index
ZipArchive::deleteName -- delete an entry in the archive using its name
ZipArchive::extractTo -- Extract the archive contents
ZipArchive::getArchiveComment -- Returns the Zip archive comment
ZipArchive::getCommentIndex -- Returns the comment of an entry using the entry index
ZipArchive::getCommentName -- Returns the comment of an entry using the entry name
ZipArchive::getFromIndex -- Returns the entry contents using its index.
ZipArchive::getFromName -- Returns the entry contents using its name.
ZipArchive::getNameIndex -- Returns the name of an entry using its index
ZipArchive::getStream -- Get a file handler to the entry defined by its name (read only).
ZipArchive::locateName -- Returns the index of the entry in the archive
ZipArchive::open -- Open a ZIP file archive
ZipArchive::renameIndex -- Renames an entry defined by its index
ZipArchive::renameName -- Renames an entry defined by its name
ZipArchive::setArchiveComment -- Set the comment of a ZIP archive
ZipArchive::setCommentIndex -- Set the comment of an entry defined by its index
ZipArchive::setCommentName -- Set the comment of an entry defined by its name
ZipArchive::statIndex -- Get the details of an entry defined by its index.
ZipArchive::statName -- Get the details of an entry defined by its name.
ZipArchive::unchangeAll -- Undo all changes done in the archive.
ZipArchive::unchangeArchive -- Revert all global changes done in the archive.
ZipArchive::unchangeIndex -- Revert all changes done to an entry at the given index.
ZipArchive::unchangeName -- Revert all changes done to an entry with the given name.

Anterior | Inicio | Siguiente
yp_order | Subir | zip_close


zip_close

(PHP 4 >= 4.1.0, PECL)

zip_close -- Cierra un archivo en formato Zip

Descripción

void zip_close ( resource zip )

Cierra un archivo en formato Zip.

Lista de parámetros

zip

El parámetro zip debe ser un archivo en formato Zip abierto previamente con la función zip_open().

Valores retornados

No value is returned.

Ver también

zip_open()
zip_read()

Anterior | Inicio | Siguiente
Funciones de manejo de archivos Zip (sólo lectura) | Subir | zip_entry_close


zip_entry_close

(PHP 4 >= 4.1.0, PECL)

zip_entry_close -- Cierra una entrada de directorio

Descripción

void zip_entry_close ( resource zip_entry )

Cierra la entrada de directorio indicada.

Lista de parámetros

zip_entry

Este parámetro debe ser una entrada de directorio abierta previamente mediante la funció zip_entry_open().

Valores retornados

No value is returned.

Ver también

zip_entry_open()
zip_entry_read()

Anterior | Inicio | Siguiente
zip_close | Subir | zip_entry_compressedsize


zip_entry_compressedsize

(PHP 4 >= 4.1.0, PECL)

zip_entry_compressedsize -- Obtiene el tamaño comprimido de una entrada de directorio

Descripción

int zip_entry_compressedsize ( resource zip_entry )

Devuelve el tamaño comprimido de la entrada de directorio indicada.

Lista de parámetros

zip_entry

Este parámetro debe ser una entrada de directorio válida obtenida mediante la función zip_read().

Valores retornados

Devuelve el tamaño comprimido.

Ver también

zip_open()
zip_read()

Anterior | Inicio | Siguiente
zip_entry_close | Subir | zip_entry_compressionmethod


zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PECL)

zip_entry_compressionmethod -- Obtiene el método de compresión utilizado por una entrada de directorio

Descripción

string zip_entry_compressionmethod ( resource zip_entry )

Devuelve el método de compresión de la entrada de directorio especificada en el parámetro zip_entry.

Lista de parámetros

zip_entry

Debe ser una entrada de directorio válida obtenida mediante la función zip_read().

Valores retornados

Devuelve el método de compresión.

Ver también

zip_open()
zip_read()

Anterior | Inicio | Siguiente
zip_entry_compressedsize | Subir | zip_entry_filesize


zip_entry_filesize

(PHP 4 >= 4.1.0, PECL)

zip_entry_filesize -- Obtiene el tamaño real de una entrada de directorio

Descripción

int zip_entry_filesize ( resource zip_entry )

Devuelve el tamaño real (no comprimido) de la entrada de directorio indicada.

Lista de parámetros

zip_entry

Este parámetro debe ser una entrada de directorio válida obtenida mediante la función zip_read().

Valores retornados

Devuelve el tamaño real de la entrada de directorio.

Ver también

zip_open()
zip_read()

Anterior | Inicio | Siguiente
zip_entry_compressionmethod | Subir | zip_entry_name


zip_entry_name

(PHP 4 >= 4.1.0, PECL)

zip_entry_name -- Obtiene el nombre de una entrada de directorio

Descripción

string zip_entry_name ( resource zip_entry )

Devuelve el nombre de la entrada de directorio indicada.

Lista de parámetros

zip_entry

Este parámetro debe ser una entrada de directorio válida obtenida mediante la función zip_read().

Valores retornados

Devuelve el nombre de la entrada de directorio.

Ver también

zip_open()
zip_read()

Anterior | Inicio | Siguiente
zip_entry_filesize | Subir | zip_entry_open


zip_entry_open

(PHP 4 >= 4.1.0, PECL)

zip_entry_open -- Abre una entrada de directorio en modo solo lectura

Descripción

bool zip_entry_open ( resource zip, resource zip_entry [, string modo] )

Abre una entrada de directorio de un archivo en formato zip para su lectura.

Lista de parámetros

zip

Este parámetro es un apuntador válido devuelto por la función zip_open().

zip_entry

Este parámetro es una entrada de directorio válida obtenida mediante la función zip_read().

modo

Este parámetro puede ser cualquiera de los modos descritos en la documentación de la función fopen().

Nota: Actualmente, el parámetro modo no se tiene en cuenta y siempre se considera que es "rb". La razón de este comportamiento es que, de momento, PHP solo soporta el formato Zip en operaciones de lectura y no de escritura.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Al contrario de lo que sucede con la función fopen() y otras similares, el valor que devuelve zip_entry_open() solamente indica el resultado de la operación efectuada y no es necesario para realizar las funciones de lectura y cierre de esa entrada de directorio.

Ver también

zip_entry_close()
zip_entry_read()

Anterior | Inicio | Siguiente
zip_entry_name | Subir | zip_entry_read


zip_entry_read

(PHP 4 >= 4.1.0, PECL)

zip_entry_read -- Lee datos de una entrada de directorio abierta

Descripción

string zip_entry_read ( resource zip_entry [, int longitud] )

Lee datos de una entrada de directorio abierta

Lista de parámetros

zip_entry

Este parámetro es una entrada de directorio válida obtenida mediante la función zip_read().

longitud

Este parámetro indica el número de bytes a leer. Si no se especifica, la función zip_entry_read() intentará leer 1024 bytes.

Nota: El parámetro longitud indica el número de bytes que se quieren leer del archivo una vez descomprimido.

Valores retornados

Devuelve los datos leidos o FALSE si se ha llegado al final del archivo.

Ver también

zip_entry_open()
zip_entry_close()
zip_entry_filesize()

Anterior | Inicio | Siguiente
zip_entry_open | Subir | zip_open


zip_open

(PHP 4 >= 4.1.0, PECL)

zip_open -- Abre un archivo en formato Zip

Descripción

resource zip_open ( string nombre_archivo )

Abre un archivo en formato Zip para poder leerlo.

Lista de parámetros

nombre_archivo

Este parámetro indica el nombre del archivo en formato Zip que se quiere abrir.

Valores retornados

Devuelve un apuntador que se utiliza con las funciones zip_read() y zip_close() o devuelve FALSE si no existe el archivo nombre_archivo.

Ver también

zip_read()
zip_close()

Anterior | Inicio | Siguiente
zip_entry_read | Subir | zip_read


zip_read

(PHP 4 >= 4.1.0, PECL)

zip_read -- Lee la siguiente entrada de un archivo en formato Zip

Descripción

resource zip_read ( resource zip )

Lee la siguiente entrada de un archivo en formato Zip.

Lista de parámetros

zip

Este parámetro debe ser un apuntador válido obtenido mediante la función zip_open().

Valores retornados

Devuelve una entrada de directorio válida para su uso con cualquiera de las funciones zip_entry_...() o FALSE si ya no hay mas entradas para leer en el archivo en formato Zip.

Ver también

zip_open()
zip_close()
zip_entry_open()
zip_entry_read()

Anterior | Inicio | Siguiente
zip_open | Subir | ZipArchive::addFile


Funciones de Compresión Zlib

Manual de PHP
Anterior Siguiente

CLXXXVI. Funciones de Compresión Zlib

Introducción

Este módulo le permite leer y escribir de forma transparente sobre archivos gzip (.gz) comprimidos, a través de algunas versiones de la mayoría de funciones del sistema de archivos que trabajen con archivos comprimidos-gzip (y archivos sin comprimir también, pero no con sockets).

Nota: La versión 4.0.4 introdujo una envoltura fopen para archivos-.gz, de modo que puede usar una URL especial 'zlib:' para acceder a archivos comprimidos de forma transparente usando las funciones de acceso normales f*() si precede el nombre o ruta de archivo con un prefijo 'zlib:' al llamar a fopen().

En la versión 4.3.0, este prefijo especial ha cambiado a 'zlib://' para prevenir ambigüedades con nombres de archivo que contengan ':'.

Esta característica requiere una biblioteca C de tiempo de ejecución que provee la función fopencookie(). Hasta donde se conoce, la biblioteca de C GNU es la única que ofrece esta característica.

Requisitos

Este módulo usa las funciones de zlib, por Jean-loup Gailly y Mark Adler. Debe usar una versión de zlib >= 1.0.9 con éste módulo.

Instalación

Soporte Zlib en PHP no está activo por defecto. Usted necesitará configurar PHP --with-zlib[=DIR]

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Nota: soporte integrado para zlib en Windows está disponible con PHP 4.3.0

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

La extensión de zlib ofrece la opción de comprimir transparentemente tus páginas web al vuelo, si el navegador de internet soporta esto. Por lo tanto hay tres opciones en el archivo de configuración php.ini.

Tabla 1. Opciones de configuración Zlib

Nombre | Valor por Defecto | Modificable | Changelog
zlib.output_compression | "Off" | PHP_INI_ALL | Available since PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Available since PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Available since PHP 4.3.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

zlib.output_compression boolean/integer

Si se desea comprimir páginas transparentemente. Si esta opción está en "On" en php.ini o en la configuración del Apache, las páginas son comprimidas si el navegador envía un encabezado "Accept-Encoding: gzip" o "deflate". "Content-Encoding: gzip" (respectivamente "deflate") y "Vary: Accept-Encoding", los encabezados son agregados a la salida.

Esta opción también acepta valores enteros en vez de los boleanos "On"/"Off", usando esto usted puede fijar el tamaño del buffer de salida (default es 4KB).

Nota: output_handler debe estar vacío si está puesto en 'On' en lugar de este usted debe usar zlib.output_handler.

zlib.output_compression_level entero

El nivel de compresión usado para la salida transparentemente comprimida.

zlib.output_handler cadena

Usted no puede especificar manejadores adicionales de salida si zlib.output_compression está activada. Estos ajustes no son lo mismo que output_handler sino un diferente orden.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

FORCE_GZIP (entero)

FORCE_DEFLATE (entero)

Ejemplos

Este ejemplo abre un archivo temporal y escribe una cadena de prueba en él, luego imprime el contenido de este archivo dos veces.

Ejemplo 1. Pequeño Ejemplo de Zlib

<?php

$nombre_archivo = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "&iexcl;Tan solo una prueba, prueba, prueba, prueba, prueba, prueba!\n";

// abrir el archivo para escritura con maxima compresion
$zp = gzopen($nombre_archivo, "w9");

// escribir la cadena en el archivo
gzwrite($zp, $s);

// cerrar el archivo
gzclose($zp);

// abrir el archivo para lectura
$zp = gzopen($nombre_archivo, "r");

// leer 3 caracteres
echo gzread($zp, 3);

// mostrar la salida hasta el final de archivo y cerrarlo.
gzpassthru($zp);
gzclose($zp);

echo "\n";

// abrir el archivo e imprimir su contenido (por segunda vez).
if (readgzfile($nombre_archivo) != strlen($s)) {
        echo "&iexcl;Error con las funciones zlib!";
}
unlink($nombre_archivo);
echo "</pre>\n</body>\n</html>\n";

?>
Tabla de contenidos
gzclose -- Cierra un apuntador de un fichero gz abierto
gzcompress -- Comprime una cadena
gzdecode -- Decodes a gzip compressed string
gzdeflate -- Comprime una cadena
gzencode -- Crea una cadena comprimida con gzip
gzeof -- Prueba de apuntador para el fin de archivo gz
gzfile -- Lee un archivo gz completo en una matriz
gzgetc -- Obtiene un caracter del archivo GZ apuntado
gzgets -- Obtiene una línea del archivo apuntado
gzgetss -- Obtiene una línea del archivo apuntado y le retira las etiquetas HTML
gzinflate -- Descomprime una cadena comprimida
gzopen -- Abrir un archivo gz
gzpassthru -- Imprimir todos los datos que restan en un apuntador a archivo gz
gzputs -- Alias de gzwrite()
gzread -- Lectura segura de archivo binario gz
gzrewind -- Reinicia la posición de un apuntador de archivo gz
gzseek -- Busca en el archivo gz apuntado
gztell -- Indica la posición de lectura/escritura del apuntador a archivo gz
gzuncompress -- Descomprime una cadena comprimida
gzwrite -- Escritura en un archivo gz, segura con material binario
readgzfile -- Imprimir un archivo gz
zlib_get_coding_type -- Regresa el tipo de codificación usada para la salida de la compresión

Anterior | Inicio | Siguiente
ZipArchive::unchangeName | Subir | gzclose


gzclose

(PHP 3, PHP 4, PHP 5)

gzclose -- Cierra un apuntador de un fichero gz abierto

Descripción

bool gzclose ( resource zp )

Cierra el apuntador del fichero gz dado.

Lista de parámetros

zp

El apuntador al archivo gz. Debe ser válido, y debe apuntar a un fichero abierto exitosamente por gzopen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de gzclose()

<?php
$gz = gzopen('somefile.gz','w9');
gzputs ($gz, 'I was added to somefile.gz');
gzclose($gz);
?>

Ver también

gzopen()

Anterior | Inicio | Siguiente
Funciones de Compresión Zlib | Subir | gzcompress


gzcompress

(PHP 4 >= 4.0.1, PHP 5)

gzcompress -- Comprime una cadena

Descripción

string gzcompress ( string datos [, int nivel] )

Esta función comprime la cadena dada usando el formato de datos ZLIB.

Para detalles sobre el algoritmo de compresión de ZLIB, vea el documento "Espefcificación del formato de compresión de ZLIB versión 3.3" (RFC 1950).

Nota: Esto no es lo mismo que la compresión gzip, la cuál incluye algunos encabezados. Vea gzencode() para compresión de gzip.

Lista de parámetros

datos

Los datos a comprimir.

nivel

El nivel de compresión. Puede ser dado como 0 para no compresión hasta 9 para la compresión máxima.

Valores retornados

La cadena comprimida o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de gzcompress()

<?php
$compressed = gzcompress('Compress me', 9);
echo $compressed;
?>

Ver también

gzdeflate()
gzinflate()
gzuncompress()
gzencode()

Anterior | Inicio | Siguiente
gzclose | Subir | gzdecode


gzdeflate

(PHP 4 >= 4.0.4, PHP 5)

gzdeflate -- Comprime una cadena

Descripción

string gzdeflate ( string datos [, int nivel] )

Esta función comprime los datos datos usando el formato de datos DEFLATE.

Para detalles sobre el algoritmo de compresión de DEFLATE vea el documento "Especificación del formato de compresión de datos DEFLATE versión 1.3" (RFC 1951).

Lista de parámetros

datos

Los datos a comprimir.

nivel

El nivel de compresión. Puede ser dado como 0 para no compresión hasta 9 para la compresión máxima. Si no se dá, el nivel por defecto de compresión será el valor por defecto de la libreria zlib.

Valores retornados

La cadena comprimida o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Ejemplo de gzdeflate()

<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>

Ver también

gzinflate()
gzcompress()
gzuncompress()
gzencode()

Anterior | Inicio | Siguiente
gzdecode | Subir | gzencode


gzencode

(PHP 4 >= 4.0.4, PHP 5)

gzencode -- Crea una cadena comprimida con gzip

Descripción

string gzencode ( string datos [, int nivel [, int encoding_mode]] )

Esta función regresa una versión comprimida de los datos compatible con la salida de el programa gzip.

Para más información sobre el formato de ficheros GZIP, vea el documento: Especificación del formato de ficheros GZIP versión 4.3 (RFC 1952).

Lista de parámetros

datos

Los datos a codificar.

nivel

El nivel de compresión. Puede ser dado como 0 para no compresión hasta 9 para la compresión máxima. Si no se dá, el nivel por defecto de compresión será el valor por defecto de la libreria zlib.

encoding_mode

El modo de codificado. Puede ser FORCE_GZIP (por defecto) o FORCE_DEFLATE.

Si usa FORCE_DEFLATE, obtiene una cadena descomprimida estándar de zlib (incluyendo los encabezados zlib) después de los encabezados del archivo gzip pero sin chequeo de redundancia cíclica crc32.

Valores retornados

La cadena codificada o FALSE en case de error.

Ejemplos

Los datos resultantes contienen los encabezados apropiados y la estructura de datos para ser un fichero .gz estádar ej.:

Ejemplo 1. Creando un fichero gzip

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Registro de cambios

Versión | Descripción
4.2 | Fue agregado nivel. Antes gzencode() solo tenia los parámetros opcionales datos y encoding_mode.

Ver también

gzdeflate()
gzinflate()
gzuncompress()
gzcompress()

Anterior | Inicio | Siguiente
gzdeflate | Subir | gzeof


gzeof

(PHP 3, PHP 4, PHP 5)

gzeof -- Prueba de apuntador para el fin de archivo gz

Descripción

int gzeof ( resource zp )

Prueba el apuntador de archivo GZ dado en busca del EOF (fin de archivo).

Lista de parámetros

zp

El apuntador al archivo gz. Debe ser válido, y debe apuntar a un fichero abierto exitosamente por gzopen().

Valores retornados

Regresa TRUE si el apuntador GZ está al final del archivo o si ocurrió un error, FALSE en caso contrario.

Ejemplos

Ejemplo 1. Ejemplo de gzeof()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

Anterior | Inicio | Siguiente
gzencode | Subir | gzfile


gzfile

(PHP 3, PHP 4, PHP 5)

gzfile -- Lee un archivo gz completo en una matriz

Descripción

array gzfile ( string nombre_archivo [, int usar_ruta_inclusion] )

Función idéntica a readgzfile(), excepto que gzfile() devuelve el archivo en una matriz.

Lista de parámetros

nombre_archivo

El nombre del archivo.

usar_ruta_inclusion

Puedes asignar este parámetro opcional a 1, si deseas buscar también el archivo eninclude_path.

Valores retornados

Una matriz que contiene el archivo, una línea por celda.

Ejemplos

Ejemplo 1. Ejemplo de gzfile()

<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
    echo $line;
}
?>

Ver también

readgzfile()
gzopen()

Anterior | Inicio | Siguiente
gzeof | Subir | gzgetc


gzgetc

(PHP 3, PHP 4, PHP 5)

gzgetc -- Obtiene un caracter del archivo GZ apuntado

Descripción

string gzgetc ( resource zp )

Regresa una cadena conteniendo un sólo caracter (sin compresión) leído de archivo gz apuntado.

Lista de parámetros

zp

El apuntador al archivo gz. Este debe ser válido, y debe apuntar a un archivo abierto exitosamente por gzopen().

Valores retornados

El caracter sin compresión o FALSE en caso de EOF (a diferencia de gzeof()).

Ejemplos

Ejemplo 1. Ejemplo de gzgetc()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

Ver también

gzopen()
gzgets()

Anterior | Inicio | Siguiente
gzfile | Subir | gzgets


gzgets

(PHP 3, PHP 4, PHP 5)

gzgets -- Obtiene una línea del archivo apuntado

Descripción

string gzgets ( resource zp, int tamaño )

Obtiene a cadena (sin comprimir) de hasta tamaño -1 bytes leídos de el archivo apuntado. La lectura termina cuando tamaño -1 bytes han sido leídos, en un salto de línea o cuando se alcance el fin del archivo (EOF), lo que ocurra primero.

Lista de parámetros

zp

El apuntador al archivo gz. Debe ser válido, y debe apuntar a un fichero abierto exitosamente por gzopen().

tamaño

El tamaño de los datos a obtener.

Valores retornados

La cadena sin comprimir, o FALSE en error.

Ejemplos

Ejemplo 1. Ejemplo de gzgets()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgets($handle, 4096);
   echo $buffer;
}
gzlose($handle);
?>

Ver también

gzopen()
gzgetc()
gzgets()

Anterior | Inicio | Siguiente
gzgetc | Subir | gzgetss


gzgetss

(PHP 3, PHP 4, PHP 5)

gzgetss -- Obtiene una línea del archivo apuntado y le retira las etiquetas HTML

Descripción

string gzgetss ( resource zp, int longitud [, string etiqueta_permitida] )

Identica a gzgets(), excepto que gzgetss() intenta retirar cualquier etiqueta HTML y PHP del texto que lee.

Lista de parámetros

zp

El apuntador de archivo gz. Debe ser válido, y debe apuntar a un archivo exitosamente abierto por gzopen().

longitud

La longitud de los datos a obtener.

etiqueta_permitida

Puede usar este parámetro opcional para especificar que etiquetas no será retiradas.

Valores retornados

Los datos sin compresión ni etiquetas, o FALSE en caso de error.

Registro de cambios

Versión | Descripción
3.0.13 y 4.0b3 | etiqueta_permitida fue agregada.

Ejemplos

Ejemplo 1. Ejemplo de gzgetss()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgetss($handle, 4096);
   echo $buffer;
}
gzlose($handle);
?>

Ver también

gzopen()
gzgets()
strip_tags()

Anterior | Inicio | Siguiente
gzgets | Subir | gzinflate


gzinflate

(PHP 4 >= 4.0.4, PHP 5)

gzinflate -- Descomprime una cadena comprimida

Descripción

string gzinflate ( string datos [, int longitud] )

Está función descomprime una cadena comprimida.

Lista de parámetros

datos

Los datos comprimidos por gzdeflate().

longitud

La longitud máxima de los datos a descodificar o descomprimir.

Valores retornados

The original uncompressed data or FALSE on error.

La función regresará un error si los datos ya sin comprimir son mayor a 32768 veces la longitud de los dados en el parámetro datos o mas que el parámetro opcional longitud.

Ejemplos

Ejemplo 1. Ejemplo de gzinflate()

<?php
$compressed   = gzdeflate('Compress me', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

Ver también

gzdeflate()
gzcompress()
gzuncompress()
gzencode()

Anterior | Inicio | Siguiente
gzgetss | Subir | gzopen


gzopen

(PHP 3, PHP 4, PHP 5)

gzopen -- Abrir un archivo gz

Descripción

resource gzopen ( string nombre_archivo, string modo [, int usar_ruta_inclusion] )

Abre un archivo gzip (.gz) para lectura o escritura.

gzopen() puede ser usada para leer un archivo el cual no está en formato gzip; en este caso gzread() leerá directamente desde el archivo sin relizar descompresión.

Lista de parámetros

nombre_archivo

El nombre del archivo.

modo

Como en fopen() (rb o wb) pero puede también incluir un nivel de compresión (wb9) o una estrategia: f para datos filtrados como en wb6f, h para Huffman only compression como en wb1h. (Vea la descripción de deflateInit2 en zlib.h para más información acerca del parámetro de estrategia.)

usar_ruta_inclusion

Puede usar el tercer parámetro opcional y definirlo como "1", si desea que el archivo sea buscado también en include_path.

Valores retornados

Regresa un apuntador de archivo a el archivo abierto, después de eso, todo lo que se lea desde este descriptor de archivo será descomprimido transparentemente y lo que escriba será comprimido.

Si falla al abrir el archivo, la función regresa FALSE.

Ejemplos

Ejemplo 1. Ejemplo de gzopen()

<?php
$fp = gzopen("/tmp/file.gz", "r");
?>

Ver también

gzclose()

Anterior | Inicio | Siguiente
gzinflate | Subir | gzpassthru


gzpassthru

(PHP 3, PHP 4, PHP 5)

gzpassthru -- Imprimir todos los datos que restan en un apuntador a archivo gz

Descripción

int gzpassthru ( resource zp )

Lee desde el apuntador de archivo gz hasta el final del archivo y escribe los resultados (sin compresión) a la salida estándar.

Nota: Puede que necesite llamar gzrewind() para reiniciar el apuntador del archivo al principio del archivo si ya se ha escrito datos en él.

Sugerencia: Si sólo desea volcar el contenido de un archivo al buffer de salida, sin modificarlo primero o buscar una posición en particular, puede que desee usar la función readgzfile(), la cual le ahorra la llamada a gzopen().

Lista de parámetros

zp

El apuntador de archivo debe ser válido, y debe apuntar a un archivo abierto satisfactoriamente por gzopen().

Valores retornados

El número de caracteres sin compresión leídos desde gz y pasados a través de la entrada, o FALSE en caso de error.

Ejemplos

Ejemplo 1. Ejemplo de gzpassthru()

<?php
$fp = gzopen('file.gz', 'r');
gzpassthru($fp);
gzclose($fp);
?>

Anterior | Inicio | Siguiente
gzopen | Subir | gzputs


gzputs

(PHP 3, PHP 4, PHP 5)

gzputs -- Alias de gzwrite()

Descripción

Esta función es un alias de gzwrite().

Anterior | Inicio | Siguiente
gzpassthru | Subir | gzread


gzread

(PHP 3, PHP 4, PHP 5)

gzread -- Lectura segura de archivo binario gz

Descripción

string gzread ( resource zp, int longitud )

gzread() lee hasta longitud bytes de el apuntador de archivo gz. La lectura se detiene cuando length en bytes(sin compresión) han sido leídos o se encuentre el fin del archivo EOF, lo que ocurra primero.

Lista de parámetros

zp

El apuntador de archivo gz. Debe ser válido, y debe apuntar a un archivo exitosamente abierto por gzopen().

longitud

El número de bytes a leer.

Valores retornados

Los datos que han sido leídos.

Ejemplos

Ejemplo 1. ejemplo de gzread()

<?php
// get contents of a gz-file into a string
$filename = "/usr/local/something.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
?>

Ver también

gzwrite()
gzopen()
gzgets()
gzgetss()
gzfile()
gzpassthru()

Anterior | Inicio | Siguiente
gzputs | Subir | gzrewind


gzrewind

(PHP 3, PHP 4, PHP 5)

gzrewind -- Reinicia la posición de un apuntador de archivo gz

Descripción

bool gzrewind ( resource zp )

Establece el indicador de posición del apuntador de archivo vz al principio de el archivo.

Lista de parámetros

zp

El apuntador de archivo gz. Debe ser válido, y debe apuntar a un archivo exitosamente abierto por gzopen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

gzseek()
gztell()

Anterior | Inicio | Siguiente
gzread | Subir | gzseek


gzseek

(PHP 3, PHP 4, PHP 5)

gzseek -- Busca en el archivo gz apuntado

Descripción

int gzseek ( resource zp, int offset )

Establece el indicador de posición del archivo para el apuntador de archivo. Equivalente a ejecutar (en C) gzseek(zp, offset, SEEK_SET).

Si el archivo es abierto para lectura, esta función es emulada pero puede ser extremadamente lenta. Si el archivo es abierto para escritura, solo se soportan b´squedas hacia adelante; gzseek() entonces comprime una secuencia de ceros hasta la nueva posición.

Lista de parámetros

zp

El apuntador de archivo gz. Debe ser válido, y debe apuntar a un archivo exitosamente abierto por gzopen().

offset

La posición a buscar.

Valores retornados

En caso de éxito, regresa 0; de otro modo, regresa -1. Note que si se pasa del fin del archivo no es considerado un error.

Ejemplos

Ejemplo 1. Ejemplo de gzseek()

<?php
$gz = gzopen('somefile.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Ver también

gztell()
gzrewind()

Anterior | Inicio | Siguiente
gzrewind | Subir | gztell


gztell

(PHP 3, PHP 4, PHP 5)

gztell -- Indica la posición de lectura/escritura del apuntador a archivo gz

Descripción

int gztell ( resource zp )

Obtiene la posición del apuntador de archivo dado; ej., su desplazamiento secuencial en el interior del archivo.

Lista de parámetros

zp

El apuntador de archivo debe ser válido, y debe apuntar a un archivo abierto con éxito por gzopen().

Valores retornados

La posición de el apuntador del rchivo o FALSE si ocurre un error.

Ver también

gzopen()
gzseek()
gzrewind()

Anterior | Inicio | Siguiente
gzseek | Subir | gzuncompress


gzuncompress

(PHP 4 >= 4.0.1, PHP 5)

gzuncompress -- Descomprime una cadena comprimida

Descripción

string gzuncompress ( string datos [, int longitud] )

Esta función descomprime una cadena comprimida.

Lista de parámetros

datos

Los datos comprimidos por gzcompress().

longitud

La longitud máxima a decodificar o descomprimir.

Valores retornados

Los datos originales sin compresió o FALSE en error.

La función regresará un error si los datos sin comprimir son mas que 32768 veces la longitud de los datos de entrada, o mayor al parámetro opcional longitud.

Ejemplos

Ejemplo 1. Ejemplo de gzuncompress()

<?php
$compressed   = gzcompress('Compress me', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
?>

Ver también

gzcompress()
gzinflate()
gzdeflate()
gzencode()

Anterior | Inicio | Siguiente
gztell | Subir | gzwrite


gzwrite

(PHP 3, PHP 4, PHP 5)

gzwrite -- Escritura en un archivo gz, segura con material binario

Descripción

int gzwrite ( resource zp, string cadena [, int longitud] )

gzwrite() escribe el contenido de cadena al archivo gz dado.

Lista de parámetros

zp

El apuntador de archivo gz. Debe ser válido, y debe apuntar a un archivo abierto exitosamente por gzopen().

cadena

La cadena a escribir.

longitud

El número de bytes sin comprimir a escribir. Si se define, la escritura se detendrá después de que se haya alcanzado la longitud de bytes escritos (sin comprimir) o que se encuentre el fin de cadena, lo que ocurra primero.

Nota: note que si el argumento longitud es dado, entoces la opción de configuración magic_quotes_runtime será ignorada no se retirarán los slashes ("/") de cadena.

Valores retornados

Regresa el número de bytes (sin comprimir) escritos a archivo gz.

Ejemplos

Ejemplo 1. Ejemplo de gzwrite()

<?php
$string = 'Some information to compress';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>

Ver también

gzread()
gzopen()

Anterior | Inicio | Siguiente
gzuncompress | Subir | readgzfile


readgzfile

(PHP 3, PHP 4, PHP 5)

readgzfile -- Imprimir un archivo gz

Descripción

int readgzfile ( string nombre_archivo [, int usar_ruta_inclusion] )

Lee un archivo, lo descomprime y lo escribe en la salida estándar.

La función readgzfile() puede ser usada para leer un archivo que no se encuentra en formato gzip; en este caso readgzfile() leerá desde el archivo directamente sin descomprimirlo.

Lista de parámetros

nombre_archivo

El nombre del archivo. El archivo será abierto desde el sistema de archivos y su contenido será escrito en la salida estándar.

usar_ruta_inclusion

Puede usar el segundo parámetro opcional, y definirlo como 1, si desea que el archivo sea buscado también en include_path.

Valores retornados

Devuelve el número de bytes (sin compresión) leídos desde el archivo. Si ocurre un error, se devuelve FALSE y, a menos que la función sea llamada como @readgzfile, se imprime un mensaje de error.

Ver también

gzpassthru()
gzfile()
gzopen()

Anterior | Inicio | Siguiente
gzwrite | Subir | zlib_get_coding_type


zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5)

zlib_get_coding_type -- Regresa el tipo de codificación usada para la salida de la compresión

Descripción

string zlib_get_coding_type ( void )

Regresa el tipo de codificación usada en la compresión.

Valores retornados

Los posibles valores regresados son gzip, deflate, o FALSE.

Ver también

La directiva zlib.output_compression

Anterior | Inicio | Siguiente
readgzfile | Subir | PHP and Zend Engine Internals


Zend API: Hacking the Core of PHP

Manual de PHP
Anterior Siguiente

Capítulo 46. Zend API: Hacking the Core of PHP

Tabla de contenidos
Introduction
Overview
Extension Possibilities
Source Layout
PHP's Automatic Build System
Creating Extensions
Using Extensions
Troubleshooting
Source Discussion
Accepting Arguments
Creating Variables
Duplicating Variable Contents: The Copy Constructor
Returning Values
Printing Information
Startup and Shutdown Functions
Calling User Functions
Initialization File Support
Where to Go from Here
Reference: Some Configuration Macros
API Macros
API Function and Macro reference (work in progress)

Introduction

Those who know don't talk.

Those who talk don't know.

Sometimes, PHP "as is" simply isn't enough. Although these cases are rare for the average user, professional applications will soon lead PHP to the edge of its capabilities, in terms of either speed or functionality. New functionality cannot always be implemented natively due to language restrictions and inconveniences that arise when having to carry around a huge library of default code appended to every single script, so another method needs to be found for overcoming these eventual lacks in PHP.

As soon as this point is reached, it's time to touch the heart of PHP and take a look at its core, the C code that makes PHP go.

Aviso

This information is currently rather outdated, parts of it only cover early stages of the ZendEngine 1.0 API as it was used in early versions of PHP 4.

More recent information may be found in the various README files that come with the PHP source and the Internals section on the Zend website.

Anterior | Inicio | Siguiente
Error handling | Subir | Overview


Overview

"Extending PHP" is easier said than done. PHP has evolved to a full-fledged tool consisting of a few megabytes of source code, and to hack a system like this quite a few things have to be learned and considered. When structuring this chapter, we finally decided on the "learn by doing" approach. This is not the most scientific and professional approach, but the method that's the most fun and gives the best end results. In the following sections, you'll learn quickly how to get the most basic extensions to work almost instantly. After that, you'll learn about Zend's advanced API functionality. The alternative would have been to try to impart the functionality, design, tips, tricks, etc. as a whole, all at once, thus giving a complete look at the big picture before doing anything practical. Although this is the "better" method, as no dirty hacks have to be made, it can be very frustrating as well as energy- and time-consuming, which is why we've decided on the direct approach.

Note that even though this chapter tries to impart as much knowledge as possible about the inner workings of PHP, it's impossible to really give a complete guide to extending PHP that works 100% of the time in all cases. PHP is such a huge and complex package that its inner workings can only be understood if you make yourself familiar with it by practicing, so we encourage you to work with the source.

What Is Zend? and What Is PHP?

The name Zend refers to the language engine, PHP's core. The term PHP refers to the complete system as it appears from the outside. This might sound a bit confusing at first, but it's not that complicated (see Figura 46-1). To implement a Web script interpreter, you need three parts:

  1. The interpreter part analyzes the input code, translates it, and executes it.

  2. The functionality part implements the functionality of the language (its functions, etc.).

  3. The interface part talks to the Web server, etc.

Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3. Together they form the complete PHP package. Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions. PHP contains all the modules that actually create the language's outstanding capabilities.

Figura 46-1. The internal structure of PHP.

The following sections discuss where PHP can be extended and how it's done.

Anterior | Inicio | Siguiente
Zend API: Hacking the Core of PHP | Subir | Extension Possibilities


Extension Possibilities

As shown in Figura 46-1 above, PHP can be extended primarily at three points: external modules, built-in modules, and the Zend engine. The following sections discuss these options.

External Modules

External modules can be loaded at script runtime using the function dl(). This function loads a shared object from disk and makes its functionality available to the script to which it's being bound. After the script is terminated, the external module is discarded from memory. This method has both advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
External modules don't require recompiling of PHP. | The shared objects need to be loaded every time a script is being executed (every hit), which is very slow.
The size of PHP remains small by "outsourcing" certain functionality. | External additional files clutter up the disk.
 | Every script that wants to use an external module's functionality has to specifically include a call to dl(), or the extension tag in php.ini needs to be modified (which is not always a suitable solution).

To sum up, external modules are great for third-party products, small additions to PHP that are rarely used, or just for testing purposes. To develop additional functionality quickly, external modules provide the best results. For frequent usage, larger implementations, and complex code, the disadvantages outweigh the advantages.

Third parties might consider using the extension tag in php.ini to create additional external modules to PHP. These external modules are completely detached from the main package, which is a very handy feature in commercial environments. Commercial distributors can simply ship disks or archives containing only their additional modules, without the need to create fixed and solid PHP binaries that don't allow other modules to be bound to them.

Built-in Modules

Built-in modules are compiled directly into PHP and carried around with every PHP process; their functionality is instantly available to every script that's being run. Like external modules, built-in modules have advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
No need to load the module specifically; the functionality is instantly available. | Changes to built-in modules require recompiling of PHP.
No external files clutter up the disk; everything resides in the PHP binary. | The PHP binary grows and consumes more memory.

Built-in modules are best when you have a solid library of functions that remains relatively unchanged, requires better than poor-to-average performance, or is used frequently by many scripts on your site. The need to recompile PHP is quickly compensated by the benefit in speed and ease of use. However, built-in modules are not ideal when rapid development of small additions is required.

The Zend Engine

Of course, extensions can also be implemented directly in the Zend engine. This strategy is good if you need a change in the language behavior or require special functions to be built directly into the language core. In general, however, modifications to the Zend engine should be avoided. Changes here result in incompatibilities with the rest of the world, and hardly anyone will ever adapt to specially patched Zend engines. Modifications can't be detached from the main PHP sources and are overridden with the next update using the "official" source repositories. Therefore, this method is generally considered bad practice and, due to its rarity, is not covered in this book.

Anterior | Inicio | Siguiente
Overview | Subir | Source Layout


Source Layout

Nota: Prior to working through the rest of this chapter, you should retrieve clean, unmodified source trees of your favorite Web server. We're working with Apache (available at http://www.apache.org/) and, of course, with PHP (available at http://www.php.net/ - does it need to be said?).

Make sure that you can compile a working PHP environment by yourself! We won't go into this issue here, however, as you should already have this most basic ability when studying this chapter.

Before we start discussing code issues, you should familiarize yourself with the source tree to be able to quickly navigate through PHP's files. This is a must-have ability to implement and debug extensions.

The following table describes the contents of the major directories.

Directory | Contents
php-src | Main PHP source files and main header files; here you'll find all of PHP's API definitions, macros, etc. (important). Everything else is below this directory.
php-src/ext | Repository for dynamic and built-in modules; by default, these are the "official" PHP modules that have been integrated into the main source tree. From PHP 4.0, it's possible to compile these standard extensions as dynamic loadable modules (at least, those that support it).
php-src/main | This directory contains the main php macros and definitions. (important)
php-src/pear | Directory for the PHP Extension and Application Repository. This directory contains core PEAR files.
php-src/sapi | Contains the code for the different server abstraction layers.
TSRM | Location of the "Thread Safe Resource Manager" (TSRM) for Zend and PHP.
ZendEngine2 | Location of the Zend Engine files; here you'll find all of Zend's API definitions, macros, etc. (important).

Discussing all the files included in the PHP package is beyond the scope of this chapter. However, you should take a close look at the following files:

  • php-src/main/php.h, located in the main PHP directory. This file contains most of PHP's macro and API definitions.

  • php-src/Zend/zend.h, located in the main Zend directory. This file contains most of Zend's macros and definitions.

  • php-src/Zend/zend_API.h, also located in the Zend directory, which defines Zend's API.

You should also follow some sub-inclusions from these files; for example, the ones relating to the Zend executor, the PHP initialization file support, and such. After reading these files, take the time to navigate around the package a little to see the interdependencies of all files and modules - how they relate to each other and especially how they make use of each other. This also helps you to adapt to the coding style in which PHP is authored. To extend PHP, you should quickly adapt to this style.

Extension Conventions

Zend is built using certain conventions; to avoid breaking its standards, you should follow the rules described in the following sections.

Macros

For almost every important task, Zend ships predefined macros that are extremely handy. The tables and figures in the following sections describe most of the basic functions, structures, and macros. The macro definitions can be found mainly in zend.h and zend_API.h. We suggest that you take a close look at these files after having studied this chapter. (Although you can go ahead and read them now, not everything will make sense to you yet.)

Memory Management

Resource management is a crucial issue, especially in server software. One of the most valuable resources is memory, and memory management should be handled with extreme care. Memory management has been partially abstracted in Zend, and you should stick to this abstraction for obvious reasons: Due to the abstraction, Zend gets full control over all memory allocations. Zend is able to determine whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks. The functions to be used are described in the following table:

Function | Description
emalloc() | Serves as replacement for malloc().
efree() | Serves as replacement for free().
estrdup() | Serves as replacement for strdup().
estrndup() | Serves as replacement for strndup(). Faster than estrdup() and binary-safe. This is the recommended function to use if you know the string length prior to duplicating it.
ecalloc() | Serves as replacement for calloc().
erealloc() | Serves as replacement for realloc().

emalloc(), estrdup(), estrndup(), ecalloc(), and erealloc() allocate internal memory; efree() frees these previously allocated blocks. Memory handled by the e*() functions is considered local to the current process and is discarded as soon as the script executed by this process is terminated.

Aviso

To allocate resident memory that survives termination of the current script, you can use malloc() and free(). This should only be done with extreme care, however, and only in conjunction with demands of the Zend API; otherwise, you risk memory leaks.

Zend also features a thread-safe resource manager to provide better native support for multithreaded Web servers. This requires you to allocate local structures for all of your global variables to allow concurrent threads to be run. Because the thread-safe mode of Zend was not finished back when this was written, it is not yet extensively covered here.

Directory and File Functions

The following directory and file functions should be used in Zend modules. They behave exactly like their C counterparts, but provide virtual working directory support on the thread level.

Zend Function | Regular C Function
V_GETCWD() | getcwd()
V_FOPEN() | fopen()
V_OPEN() | open()
V_CHDIR() | chdir()
V_GETWD() | getwd()
V_CHDIR_FILE() | Takes a file path as an argument and changes the current working directory to that file's directory.
V_STAT() | stat()
V_LSTAT() | lstat()

String Handling

Strings are handled a bit differently by the Zend engine than other values such as integers, Booleans, etc., which don't require additional memory allocation for storing their values. If you want to return a string from a function, introduce a new string variable to the symbol table, or do something similar, you have to make sure that the memory the string will be occupying has previously been allocated, using the aforementioned e*() functions for allocation. (This might not make much sense to you yet; just keep it somewhere in your head for now - we'll get back to it shortly.)

Complex Types

Complex types such as arrays and objects require different treatment. Zend features a single API for these types - they're stored using hash tables.

Nota: To reduce complexity in the following source examples, we're only working with simple types such as integers at first. A discussion about creating more advanced types follows later in this chapter.

Anterior | Inicio | Siguiente
Extension Possibilities | Subir | PHP's Automatic Build System


PHP's Automatic Build System

PHP 4 features an automatic build system that's very flexible. All modules reside in a subdirectory of the ext directory. In addition to its own sources, each module consists of a config.m4 file, for extension configuration. (for example, see http://www.gnu.org/software/m4/manual/m4.html)

All these stub files are generated automatically, along with .cvsignore, by a little shell script named ext_skel that resides in the ext directory. As argument it takes the name of the module that you want to create. The shell script then creates a directory of the same name, along with the appropriate stub files.

Step by step, the process looks like this:

:~/cvs/php4/ext:> ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/my_module/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-my_module
5.  $ make
6.  $ ./php -f ext/my_module/my_module.php
7.  $ vi ext/my_module/my_module.c
8.  $ make

Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
This instruction creates the aforementioned files. To include the new module in the automatic configuration and build process, you have to run buildconf, which regenerates the configure script by searching through the ext directory and including all found config.m4 files.

The default config.m4 shown in Ejemplo 46-1 is a bit more complex:

Ejemplo 46-1. The default config.m4.

dnl $Id: build.xml,v 1.1 2005/08/21 16:27:06 goba Exp $
dnl config.m4 for extension my_module

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [  --with-my_module             Include my_module support])

dnl Otherwise use enable:

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [  --enable-my_module           Enable my_module support])

if test "$PHP_MY_MODULE" != "no"; then
  dnl Write more examples of tests here...

  dnl # --with-my_module -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/my_module.h"  # you most likely want to change this
  dnl if test -r $PHP_MY_MODULE/; then # path given as parameter
  dnl   MY_MODULE_DIR=$PHP_MY_MODULE
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for my_module files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       MY_MODULE_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$MY_MODULE_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the my_module distribution])
  dnl fi

  dnl # --with-my_module -> add include path
  dnl PHP_ADD_INCLUDE($MY_MODULE_DIR/include)

  dnl # --with-my_module -> chech for lib and symbol presence
  dnl LIBNAME=my_module # you may want to change this
  dnl LIBSYMBOL=my_module # you most likely want to change this

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $MY_MODULE_DIR/lib, MY_MODULE_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_MY_MODULELIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong my_module lib version or lib not found])
  dnl ],[
  dnl   -L$MY_MODULE_DIR/lib -lm -ldl
  dnl ])
  dnl
  dnl PHP_SUBST(MY_MODULE_SHARED_LIBADD)

  PHP_NEW_EXTENSION(my_module, my_module.c, $ext_shared)
fi

If you're unfamiliar with M4 files (now is certainly a good time to get familiar), this might be a bit confusing at first; but it's actually quite easy.

Note: Everything prefixed with dnl is treated as a comment and is not parsed.

The config.m4 file is responsible for parsing the command-line options passed to configure at configuration time. This means that it has to check for required external files and do similar configuration and setup tasks.

The default file creates two configuration directives in the configure script: --with-my_module and --enable-my_module. Use the first option when referring external files (such as the --with-apache directive that refers to the Apache directory). Use the second option when the user simply has to decide whether to enable your extension. Regardless of which option you use, you should uncomment the other, unnecessary one; that is, if you're using --enable-my_module, you should remove support for --with-my_module, and vice versa.

By default, the config.m4 file created by ext_skel accepts both directives and automatically enables your extension. Enabling the extension is done by using the PHP_EXTENSION macro. To change the default behavior to include your module into the PHP binary when desired by the user (by explicitly specifying --enable-my_module or --with-my_module), change the test for $PHP_MY_MODULE to == "yes":

if test "$PHP_MY_MODULE" == "yes"; then dnl
    Action.. PHP_EXTENSION(my_module, $ext_shared)
    fi
This would require you to use --enable-my_module each time when reconfiguring and recompiling PHP.

Note: Be sure to run buildconf every time you change config.m4!

We'll go into more details on the M4 macros available to your configuration scripts later in this chapter. For now, we'll simply use the default files.

Anterior | Inicio | Siguiente
Source Layout | Subir | Creating Extensions


Creating Extensions

We'll start with the creation of a very simple extension at first, which basically does nothing more than implement a function that returns the integer it receives as parameter. Ejemplo 46-2 shows the source.

Ejemplo 46-2. A simple extension.

/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}

This code contains a complete PHP module. We'll explain the source code in detail shortly, but first we'd like to discuss the build process. (This will allow the impatient to experiment before we dive into API discussions.)

Nota: The example source makes use of some features introduced with the Zend version used in PHP 4.1.0 and above, it won't compile with older PHP 4.0.x versions.

Compiling Modules

There are basically two ways to compile modules:

  • Use the provided "make" mechanism in the ext directory, which also allows building of dynamic loadable modules.

  • Compile the sources manually.

The first method should definitely be favored, since, as of PHP 4.0, this has been standardized into a sophisticated build process. The fact that it is so sophisticated is also its drawback, unfortunately - it's hard to understand at first. We'll provide a more detailed introduction to this later in the chapter, but first let's work with the default files.

The second method is good for those who (for some reason) don't have the full PHP source tree available, don't have access to all files, or just like to juggle with their keyboard. These cases should be extremely rare, but for the sake of completeness we'll also describe this method.

Compiling Using Make. To compile the sample sources using the standard mechanism, copy all their subdirectories to the ext directory of your PHP source tree. Then run buildconf, which will create an updated configure script containing appropriate options for the new extension. By default, all the sample sources are disabled, so you don't have to fear breaking your build process.

After you run buildconf, configure --help shows the following additional modules:

--enable-array_experiments   BOOK: Enables array experiments
  --enable-call_userland       BOOK: Enables userland module
  --enable-cross_conversion    BOOK: Enables cross-conversion module
  --enable-first_module        BOOK: Enables first module
  --enable-infoprint           BOOK: Enables infoprint module
  --enable-reference_test      BOOK: Enables reference test module
  --enable-resource_test       BOOK: Enables resource test module
  --enable-variable_creation   BOOK: Enables variable-creation module

The module shown earlier in Ejemplo 46-2 can be enabled with --enable-first_module or --enable-first_module=yes.

Compiling Manually. To compile your modules manually, you need the following commands:

Action | Command
Compiling | cc -fpic -DCOMPILE_DL_FIRST_MODULE=1 -I/usr/local/include -I. -I.. -I../Zend -c -o <your_object_file> <your_c_file>
Linking | cc -shared -L/usr/local/lib -rdynamic -o <your_module_file> <your_object_file(s)>

The command to compile the module simply instructs the compiler to generate position-independent code (-fpic shouldn't be omitted) and additionally defines the constant COMPILE_DL_FIRST_MODULE to tell the module code that it's compiled as a dynamically loadable module (the test module above checks for this; we'll discuss it shortly). After these options, it specifies a number of standard include paths that should be used as the minimal set to compile the source files.

Note: All include paths in the example are relative to the directory ext. If you're compiling from another directory, change the pathnames accordingly. Required items are the PHP directory, the Zend directory, and (if necessary), the directory in which your module resides.

The link command is also a plain vanilla command instructing linkage as a dynamic module.

You can include optimization options in the compilation command, although these have been omitted in this example (but some are included in the makefile template described in an earlier section).

Note: Compiling and linking manually as a static module into the PHP binary involves very long instructions and thus is not discussed here. (It's not very efficient to type all those commands.)

Anterior | Inicio | Siguiente
PHP's Automatic Build System | Subir | Using Extensions


Using Extensions

Depending on the build process you selected, you should either end up with a new PHP binary to be linked into your Web server (or run as CGI), or with an .so (shared object) file. If you compiled the example file first_module.c as a shared object, your result file should be first_module.so. To use it, you first have to copy it to a place from which it's accessible to PHP. For a simple test procedure, you can copy it to your htdocs directory and try it with the source in Ejemplo 46-3. If you compiled it into the PHP binary, omit the call to dl(), as the module's functionality is instantly available to your scripts.

Aviso

For security reasons, you should not put your dynamic modules into publicly accessible directories. Even though it can be done and it simplifies testing, you should put them into a separate directory in production environments.

Ejemplo 46-3. A test file for first_module.so.

<?php

// remove next comment if necessary
// dl("first_module.so");

$param = 2;
$return = first_module($param);

print("We sent '$param' and got '$return'");

?>

Calling this PHP file should output the following: We sent '2' and got '2'

If required, the dynamic loadable module is loaded by calling the dl() function. This function looks for the specified shared object, loads it, and makes its functions available to PHP. The module exports the function first_module(), which accepts a single parameter, converts it to an integer, and returns the result of the conversion.

If you've gotten this far, congratulations! You just built your first extension to PHP.

Anterior | Inicio | Siguiente
Creating Extensions | Subir | Troubleshooting


Troubleshooting

Actually, not much troubleshooting can be done when compiling static or dynamic modules. The only problem that could arise is that the compiler will complain about missing definitions or something similar. In this case, make sure that all header files are available and that you specified their path correctly in the compilation command. To be sure that everything is located correctly, extract a clean PHP source tree and use the automatic build in the ext directory with the fresh files; this will guarantee a safe compilation environment. If this fails, try manual compilation.

PHP might also complain about missing functions in your module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external functions you're trying to access from your module are misspelled, they'll remain as "unlinked symbols" in the symbol table. During dynamic loading and linkage by PHP, they won't resolve because of the typing errors - there are no corresponding symbols in the main binary. Look for incorrect declarations in your module file or incorrectly written external references. Note that this problem is specific to dynamic loadable modules; it doesn't occur with static modules. Errors in static modules show up at compile time.

Anterior | Inicio | Siguiente
Using Extensions | Subir | Source Discussion


Source Discussion

Now that you've got a safe build environment and you're able to include the modules into PHP files, it's time to discuss how everything works.

Module Structure

All PHP modules follow a common structure:

  • Header file inclusions (to include all required macros, API definitions, etc.)

  • C declaration of exported functions (required to declare the Zend function block)

  • Declaration of the Zend function block

  • Declaration of the Zend module block

  • Implementation of get_module()

  • Implementation of all exported functions

Header File Inclusions

The only header file you really have to include for your modules is php.h, located in the PHP directory. This file makes all macros and API definitions required to build new modules available to your code.

Tip: It's good practice to create a separate header file for your module that contains module-specific definitions. This header file should contain all the forward definitions for exported functions and include php.h. If you created your module using ext_skel you already have such a header file prepared.

Declaring Exported Functions

To declare functions that are to be exported (i.e., made available to PHP as new native functions), Zend provides a set of macros. A sample declaration looks like this:

ZEND_FUNCTION ( my_function );

ZEND_FUNCTION declares a new C function that complies with Zend's internal API. This means that the function is of type void and accepts INTERNAL_FUNCTION_PARAMETERS (another macro) as parameters. Additionally, it prefixes the function name with zif. The immediately expanded version of the above definitions would look like this:

void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Expanding INTERNAL_FUNCTION_PARAMETERS results in the following:
void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

Since the interpreter and executor core have been separated from the main PHP package, a second API defining macros and function sets has evolved: the Zend API. As the Zend API now handles quite a few of the responsibilities that previously belonged to PHP, a lot of PHP functions have been reduced to macros aliasing to calls into the Zend API. The recommended practice is to use the Zend API wherever possible, as the old API is only preserved for compatibility reasons. For example, the types zval and pval are identical. zval is Zend's definition; pval is PHP's definition (actually, pval is an alias for zval now). As the macro INTERNAL_FUNCTION_PARAMETERS is a Zend macro, the above declaration contains zval. When writing code, you should always use zval to conform to the new Zend API.

The parameter list of this declaration is very important; you should keep these parameters in mind (see Tabla 46-1 for descriptions).

Tabla 46-1. Zend's Parameters to Functions Called from PHP

Parameter | Description
ht | The number of arguments passed to the Zend function. You should not touch this directly, but instead use ZEND_NUM_ARGS() to obtain the value.
return_value | This variable is used to pass any return values of your function back to PHP. Access to this variable is best done using the predefined macros. For a description of these see below.
this_ptr | Using this variable, you can gain access to the object in which your function is contained, if it's used within an object. Use the function getThis() to obtain this pointer.
return_value_used | This flag indicates whether an eventual return value from this function will actually be used by the calling script. 0 indicates that the return value is not used; 1 indicates that the caller expects a return value. Evaluation of this flag can be done to verify correct usage of the function as well as speed optimizations in case returning a value requires expensive operations (for an example, see how array.c makes use of this).
executor_globals | This variable points to global settings of the Zend engine. You'll find this useful when creating new variables, for example (more about this later). The executor globals can also be introduced to your function by using the macro TSRMLS_FETCH().

Declaration of the Zend Function Block

Now that you have declared the functions to be exported, you also have to introduce them to Zend. Introducing the list of functions is done by using an array of zend_function_entry. This array consecutively contains all functions that are to be made available externally, with the function's name as it should appear in PHP and its name as defined in the C source. Internally, zend_function_entry is defined as shown in Ejemplo 46-4.

Ejemplo 46-4. Internal declaration of zend_function_entry.

typedef struct _zend_function_entry {
    char *fname;
    void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
    unsigned char *func_arg_types;
} zend_function_entry;

Entry | Description
fname | Denotes the function name as seen in PHP (for example, fopen, mysql_connect, or, in our example, first_module).
handler | Pointer to the C function responsible for handling calls to this function. For example, see the standard macro INTERNAL_FUNCTION_PARAMETERS discussed earlier.
func_arg_types | Allows you to mark certain parameters so that they're forced to be passed by reference. You usually should set this to NULL.

In the example above, the declaration looks like this:
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};
You can see that the last entry in the list always has to be {NULL, NULL, NULL}. This marker has to be set for Zend to know when the end of the list of exported functions is reached.

Nota: You cannot use the predefined macros for the end marker, as these would try to refer to a function named "NULL"!

The macro ZEND_FE (short for 'Zend Function Entry') simply expands to a structure entry in zend_function_entry. Note that these macros introduce a special naming scheme to your functions - your C functions will be prefixed with zif_, meaning that ZEND_FE(first_module) will refer to a C function zif_first_module(). If you want to mix macro usage with hand-coded entries (not a good practice), keep this in mind.

Tip: Compilation errors that refer to functions named zif_*() relate to functions defined with ZEND_FE.

Tabla 46-2 shows a list of all the macros that you can use to define functions.

Tabla 46-2. Macros for Defining Functions

Macro Name | Description
ZEND_FE(name, arg_types) | Defines a function entry of the name name in zend_function_entry. Requires a corresponding C function. arg_types needs to be set to NULL. This function uses automatic C function name generation by prefixing the PHP function name with zif_. For example, ZEND_FE("first_module", NULL) introduces a function first_module() to PHP and links it to the C function zif_first_module(). Use in conjunction with ZEND_FUNCTION.
ZEND_NAMED_FE(php_name, name, arg_types) | Defines a function that will be available to PHP by the name php_name and links it to the corresponding C function name. arg_types needs to be set to NULL. Use this function if you don't want the automatic name prefixing introduced by ZEND_FE. Use in conjunction with ZEND_NAMED_FUNCTION.
ZEND_FALIAS(name, alias, arg_types) | Defines an alias named alias for name. arg_types needs to be set to NULL. Doesn't require a corresponding C function; refers to the alias target instead.
PHP_FE(name, arg_types) | Old PHP API equivalent of ZEND_FE.
PHP_NAMED_FE(runtime_name, name, arg_types) | Old PHP API equivalent of ZEND_NAMED_FE.

Note: You can't use ZEND_FE in conjunction with PHP_FUNCTION, or PHP_FE in conjunction with ZEND_FUNCTION. However, it's perfectly legal to mix ZEND_FE and ZEND_FUNCTION with PHP_FE and PHP_FUNCTION when staying with the same macro set for each function to be declared. But mixing is not recommended; instead, you're advised to use the ZEND_* macros only.

Declaration of the Zend Module Block

This block is stored in the structure zend_module_entry and contains all necessary information to describe the contents of this module to Zend. You can see the internal definition of this module in Ejemplo 46-5.

Ejemplo 46-5. Internal declaration of zend_module_entry.

typedef struct _zend_module_entry zend_module_entry;

    struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    char *name;
    zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;

[ Rest of the structure is not interesting here ]

};

Entry | Description
size, zend_api, zend_debug and zts | Usually filled with the "STANDARD_MODULE_HEADER", which fills these four members with the size of the whole zend_module_entry, the ZEND_MODULE_API_NO, whether it is a debug build or normal build (ZEND_DEBUG) and if ZTS is enabled (USING_ZTS).
name | Contains the module name (for example, "File functions", "Socket functions", "Crypt", etc.). This name will show up in phpinfo(), in the section "Additional Modules."
functions | Points to the Zend function block, discussed in the preceding section.
module_startup_func | This function is called once upon module initialization and can be used to do one-time initialization steps (such as initial memory allocation, etc.). To indicate a failure during initialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINIT.
module_shutdown_func | This function is called once upon module shutdown and can be used to do one-time deinitialization steps (such as memory deallocation). This is the counterpart to module_startup_func(). To indicate a failure during deinitialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MSHUTDOWN.
request_startup_func | This function is called once upon every page request and can be used to do one-time initialization steps that are required to process a request. To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request startup function is called right after the module startup function (both initialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RINIT.
request_shutdown_func | This function is called once after every page request and works as counterpart to request_startup_func(). To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request shutdown function is immediately followed by a call to the module shutdown handler (both deinitialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RSHUTDOWN.
info_func | When phpinfo() is called in a script, Zend cycles through all loaded modules and calls this function. Every module then has the chance to print its own "footprint" into the output page. Generally this is used to dump environmental or statistical information. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINFO.
version | The version of the module. You can use NO_VERSION_YET if you don't want to give the module a version number yet, but we really recommend that you add a version string here. Such a version string can look like this (in chronological order): "2.5-dev", "2.5RC1", "2.5" or "2.5pl3".
Remaining structure elements | These are used internally and can be prefilled by using the macro STANDARD_MODULE_PROPERTIES_EX. You should not assign any values to them. Use STANDARD_MODULE_PROPERTIES_EX only if you use global startup and shutdown functions; otherwise, use STANDARD_MODULE_PROPERTIES directly.

In our example, this structure is implemented as follows:

zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL, NULL, NULL, NULL, NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES,
};
This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module, then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes, you can find a list of the macros involved in declared startup and shutdown functions in Tabla 46-3. These are not used in our basic example yet, but will be demonstrated later on. You should make use of these macros to declare your startup and shutdown functions, as these require special arguments to be passed (INIT_FUNC_ARGS and SHUTDOWN_FUNC_ARGS), which are automatically included into the function declaration when using the predefined macros. If you declare your functions manually and the PHP developers decide that a change in the argument list is necessary, you'll have to change your module sources to remain compatible.

Tabla 46-3. Macros to Declare Startup and Shutdown Functions

Macro | Description
ZEND_MINIT(module) | Declares a function for module startup. The generated name will be zend_minit_<module> (for example, zend_minit_first_module). Use in conjunction with ZEND_MINIT_FUNCTION.
ZEND_MSHUTDOWN(module) | Declares a function for module shutdown. The generated name will be zend_mshutdown_<module> (for example, zend_mshutdown_first_module). Use in conjunction with ZEND_MSHUTDOWN_FUNCTION.
ZEND_RINIT(module) | Declares a function for request startup. The generated name will be zend_rinit_<module> (for example, zend_rinit_first_module). Use in conjunction with ZEND_RINIT_FUNCTION.
ZEND_RSHUTDOWN(module) | Declares a function for request shutdown. The generated name will be zend_rshutdown_<module> (for example, zend_rshutdown_first_module). Use in conjunction with ZEND_RSHUTDOWN_FUNCTION.
ZEND_MINFO(module) | Declares a function for printing module information, used when phpinfo() is called. The generated name will be zend_info_<module> (for example, zend_info_first_module). Use in conjunction with ZEND_MINFO_FUNCTION.

Creation of get_module()

This function is special to all dynamic loadable modules. Take a look at the creation via the ZEND_GET_MODULE macro first:

#if COMPILE_DL_FIRSTMOD
     ZEND_GET_MODULE(firstmod)
#endif

The function implementation is surrounded by a conditional compilation statement. This is needed since the function get_module() is only required if your module is built as a dynamic extension. By specifying a definition of COMPILE_DL_FIRSTMOD in the compiler command (see above for a discussion of the compilation instructions required to build a dynamic extension), you can instruct your module whether you intend to build it as a dynamic extension or as a built-in module. If you want a built-in module, the implementation of get_module() is simply left out.

get_module() is called by Zend at load time of the module. You can think of it as being invoked by the dl() call in your script. Its purpose is to pass the module information block back to Zend in order to inform the engine about the module contents.

If you don't implement a get_module() function in your dynamic loadable module, Zend will compliment you with an error message when trying to access it.

Implementation of All Exported Functions

Implementing the exported functions is the final step. The example function in first_module looks like this:

ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}
The function declaration is done using ZEND_FUNCTION, which corresponds to ZEND_FE in the function entry table (discussed earlier).

After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).

Summary

That's it, basically - there's nothing more to implementing PHP modules. Built-in modules are structured similarly to dynamic modules, so, equipped with the information presented in the previous sections, you'll be able to fight the odds when encountering PHP module source files.

Now, in the following sections, read on about how to make use of PHP's internals to build powerful extensions.

Anterior | Inicio | Siguiente
Troubleshooting | Subir | Accepting Arguments


Accepting Arguments

One of the most important issues for language extensions is accepting and dealing with data passed via arguments. Most extensions are built to deal with specific input data (or require parameters to perform their specific actions), and function arguments are the only real way to exchange data between the PHP level and the C level. Of course, there's also the possibility of exchanging data using predefined global values (which is also discussed later), but this should be avoided by all means, as it's extremely bad practice.

PHP doesn't make use of any formal function declarations; this is why call syntax is always completely dynamic and never checked for errors. Checking for correct call syntax is left to the user code. For example, it's possible to call a function using only one argument at one time and four arguments the next time - both invocations are syntactically absolutely correct.

Determining the Number of Arguments

Since PHP doesn't have formal function definitions with support for call syntax checking, and since PHP features variable arguments, sometimes you need to find out with how many arguments your function has been called. You can use the ZEND_NUM_ARGS macro in this case. In previous versions of PHP, this macro retrieved the number of arguments with which the function has been called based on the function's hash table entry, ht, which is passed in the INTERNAL_FUNCTION_PARAMETERS list. As ht itself now contains the number of arguments that have been passed to the function, ZEND_NUM_ARGS has been stripped down to a dummy macro (see its definition in zend_API.h). But it's still good practice to use it, to remain compatible with future changes in the call interface. Note: The old PHP equivalent of this macro is ARG_COUNT.

The following code checks for the correct number of arguments:

if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;
If the function is not called with two arguments, it exits with an error message. The code snippet above makes use of the tool macro WRONG_PARAM_COUNT, which can be used to generate a standard error message like: "Warning: Wrong parameter count for firstmodule() in /home/www/htdocs/firstmod.php on line 5"

This macro prints a default error message and then returns to the caller. Its definition can also be found in zend_API.h and looks like this:

ZEND_API void wrong_param_count(void);

#define WRONG_PARAM_COUNT { wrong_param_count(); return; }
As you can see, it calls an internal function named wrong_param_count() that's responsible for printing the warning. For details on generating customized error messages, see the later section "Printing Information."

Retrieving Arguments

New parameter parsing API: This chapter documents the new Zend parameter parsing API introduced by Andrei Zmievski. It was introduced in the development stage between PHP 4.0.6 and 4.1.0 .

Parsing parameters is a very common operation and it may get a bit tedious. It would also be nice to have standardized error checking and error messages. Since PHP 4.1.0, there is a way to do just that by using the new parameter parsing API. It greatly simplifies the process of receiving parameters, but it has a drawback in that it can't be used for functions that expect variable number of parameters. But since the vast majority of functions do not fall into those categories, this parsing API is recommended as the new standard way.

The prototype for parameter parsing function looks like this:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
The first argument to this function is supposed to be the number of actual parameters passed to your function, so ZEND_NUM_ARGS() can be used for that. The second parameter should always be TSRMLS_CC macro. The third argument is a string that specifies the number and types of arguments your function is expecting, similar to how printf format string specifies the number and format of the output values it should operate on. And finally the rest of the arguments are pointers to variables which should receive the values from the parameters.

zend_parse_parameters() also performs type conversions whenever possible, so that you always receive the data in the format you asked for. Any type of scalar can be converted to another one, but conversions between complex types (arrays, objects, and resources) and scalar types are not allowed.

If the parameters could be obtained successfully and there were no errors during type conversion, the function will return SUCCESS, otherwise it will return FAILURE. The function will output informative error messages, if the number of received parameters does not match the requested number, or if type conversion could not be performed.

Here are some sample error messages:

Warning - ini_get_all() requires at most 1 parameter, 2 given
     Warning - wddx_deserialize() expects parameter 1 to be string, array given
Of course each error message is accompanied by the filename and line number on which it occurs.

Here is the full list of type specifiers:

  • l - long

  • d - double

  • s - string (with possible null bytes) and its length

  • b - boolean

  • r - resource, stored in zval*

  • a - array, stored in zval*

  • o - object (of any class), stored in zval*

  • O - object (of class specified by class entry), stored in zval*

  • z - the actual zval*

The following characters also have a meaning in the specifier string:

  • | - indicates that the remaining parameters are optional. The storage variables corresponding to these parameters should be initialized to default values by the extension, since they will not be touched by the parsing function if the parameters are not passed.

  • / - the parsing function will call SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows, to provide a copy of the parameter, unless it's a reference.

  • ! - the parameter it follows can be of specified type or NULL (only applies to a, o, O, r, and z). If NULL value is passed by the user, the storage pointer will be set to NULL.

The best way to illustrate the usage of this function is through examples:

/* Gets a long, a string and its length, and a zval. */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "lsz", &l, &s, &s_len, &param) == FAILURE) {
    return;
}

/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O|d", &obj, my_ce, &d) == FAILURE) {
    return;
}

/* Gets an object or null, and an array.
   If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!a", &obj, &arr) == FAILURE) {
    return;
}

/* Gets a separated array. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) {
    return;
}

/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3, "zbr!", &z, &b, &r) == FAILURE) {
    return;
}

Note that in the last example we pass 3 for the number of received parameters, instead of ZEND_NUM_ARGS(). What this lets us do is receive the least number of parameters if our function expects a variable number of them. Of course, if you want to operate on the rest of the parameters, you will have to use zend_get_parameters_array_ex() to obtain them.

The parsing function has an extended version that allows for an additional flags argument that controls its actions.

int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);

The only flag you can pass currently is ZEND_PARSE_PARAMS_QUIET, which instructs the function to not output any error messages during its operation. This is useful for functions that expect several sets of completely different arguments, but you will have to output your own error messages.

For example, here is how you would get either a set of three longs or a string:

long l1, l2, l3;
char *s;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                             ZEND_NUM_ARGS() TSRMLS_CC,
                             "lll", &l1, &l2, &l3) == SUCCESS) {
    /* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                                    ZEND_NUM_ARGS(), "s", &s, &s_len) == SUCCESS) {
    /* manipulate string */
} else {
    php_error(E_WARNING, "%s() takes either three long values or a string as argument",
              get_active_function_name(TSRMLS_C));
    return;
}

With all the abovementioned ways of receiving function parameters you should have a good handle on this process. For even more example, look through the source code for extensions that are shipped with PHP - they illustrate every conceivable situation.

Old way of retrieving arguments (deprecated)

Deprecated parameter parsing API: This API is deprecated and superseded by the new ZEND parameter parsing API.

After having checked the number of arguments, you need to get access to the arguments themselves. This is done with the help of zend_get_parameters_ex():

zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
All arguments are stored in a zval container, which needs to be pointed to twice. The snippet above tries to retrieve one argument and make it available to us via the parameter pointer.

zend_get_parameters_ex() accepts at least two arguments. The first argument is the number of arguments to retrieve (which should match the number of arguments with which the function has been called; this is why it's important to check for correct call syntax). The second argument (and all following arguments) are pointers to pointers to pointers to zvals. (Confusing, isn't it?) All these pointers are required because Zend works internally with **zval; to adjust a local **zval in our function,zend_get_parameters_ex() requires a pointer to it.

The return value of zend_get_parameters_ex() can either be SUCCESS or FAILURE, indicating (unsurprisingly) success or failure of the argument processing. A failure is most likely related to an incorrect number of arguments being specified, in which case you should exit with WRONG_PARAM_COUNT.

To retrieve more than one argument, you can use a similar snippet:

zval **param1, **param2, **param3, **param4;

if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

zend_get_parameters_ex() only checks whether you're trying to retrieve too many parameters. If the function is called with five arguments, but you're only retrieving three of them with zend_get_parameters_ex(), you won't get an error but will get the first three parameters instead. Subsequent calls of zend_get_parameters_ex() won't retrieve the remaining arguments, but will get the same arguments again.

Dealing with a Variable Number of Arguments/Optional Parameters

If your function is meant to accept a variable number of arguments, the snippets just described are sometimes suboptimal solutions. You have to create a line calling zend_get_parameters_ex() for every possible number of arguments, which is often unsatisfying.

For this case, you can use the function zend_get_parameters_array_ex(), which accepts the number of parameters to retrieve and an array in which to store them:

zval **parameter_array[4];

/* get the number of arguments */
argument_count = ZEND_NUM_ARGS();

/* see if it satisfies our minimal request (2 arguments) */
/* and our maximal acceptance (4 arguments) */
if(argument_count < 2 || argument_count > 4)
    WRONG_PARAM_COUNT;

/* argument count is correct, now retrieve arguments */
if(zend_get_parameters_array_ex(argument_count, parameter_array) != SUCCESS)
    WRONG_PARAM_COUNT;
First, the number of arguments is checked to make sure that it's in the accepted range. After that, zend_get_parameters_array_ex() is used to fill parameter_array with valid pointers to the argument values.

A very clever implementation of this can be found in the code handling PHP's fsockopen() located in ext/standard/fsock.c, as shown in Ejemplo 46-6. Don't worry if you don't know all the functions used in this source yet; we'll get to them shortly.

Ejemplo 46-6. PHP's implementation of variable arguments in fsockopen().

pval **args[5];
int *sock=emalloc(sizeof(int));
int *sockp;
int arg_count=ARG_COUNT(ht);
int socketd = -1;
unsigned char udp = 0;
struct timeval timeout = { 60, 0 };
unsigned short portno;
unsigned long conv;
char *key = NULL;
FLS_FETCH();

if (arg_count > 5 || arg_count < 2 || zend_get_parameters_array_ex(arg_count,args)==FAILURE) {
    CLOSE_SOCK(1);
    WRONG_PARAM_COUNT;
}

switch(arg_count) {
    case 5:
        convert_to_double_ex(args[4]);
        conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
        timeout.tv_sec = conv / 1000000;
        timeout.tv_usec = conv % 1000000;
        /* fall-through */
    case 4:
        if (!PZVAL_IS_REF(*args[3])) {
            php_error(E_WARNING,"error string argument to fsockopen not passed by reference");
        }
        pval_copy_constructor(*args[3]);
        ZVAL_EMPTY_STRING(*args[3]);
        /* fall-through */
    case 3:
        if (!PZVAL_IS_REF(*args[2])) {
            php_error(E_WARNING,"error argument to fsockopen not passed by reference");
            return;
        }
        ZVAL_LONG(*args[2], 0);
        break;
}

convert_to_string_ex(args[0]);
convert_to_long_ex(args[1]);
portno = (unsigned short) Z_LVAL_P(args[1]);

key = emalloc(Z_STRLEN_P(args[0]) + 10);

fsockopen() accepts two, three, four, or five parameters. After the obligatory variable declarations, the function checks for the correct range of arguments. Then it uses a fall-through mechanism in a switch() statement to deal with all arguments. The switch() statement starts with the maximum number of arguments being passed (five). After that, it automatically processes the case of four arguments being passed, then three, by omitting the otherwise obligatory break keyword in all stages. After having processed the last case, it exits the switch() statement and does the minimal argument processing needed if the function is invoked with only two arguments.

This multiple-stage type of processing, similar to a stairway, allows convenient processing of a variable number of arguments.

Accessing Arguments

To access arguments, it's necessary for each argument to have a clearly defined type. Again, PHP's extremely dynamic nature introduces some quirks. Because PHP never does any kind of type checking, it's possible for a caller to pass any kind of data to your functions, whether you want it or not. If you expect an integer, for example, the caller might pass an array, and vice versa - PHP simply won't notice.

To work around this, you have to use a set of API functions to force a type conversion on every argument that's being passed (see Tabla 46-4).

Note: All conversion functions expect a **zval as parameter.

Tabla 46-4. Argument Conversion Functions

Function | Description
convert_to_boolean_ex() | Forces conversion to a Boolean type. Boolean values remain untouched. Longs, doubles, and strings containing 0 as well as NULL values will result in Boolean 0 (FALSE). Arrays and objects are converted based on the number of entries or properties, respectively, that they have. Empty arrays and objects are converted to FALSE; otherwise, to TRUE. All other values result in a Boolean 1 (TRUE).
convert_to_long_ex() | Forces conversion to a long, the default integer type. NULL values, Booleans, resources, and of course longs remain untouched. Doubles are truncated. Strings containing an integer are converted to their corresponding numeric representation, otherwise resulting in 0. Arrays and objects are converted to 0 if empty, 1 otherwise.
convert_to_double_ex() | Forces conversion to a double, the default floating-point type. NULL values, Booleans, resources, longs, and of course doubles remain untouched. Strings containing a number are converted to their corresponding numeric representation, otherwise resulting in 0.0. Arrays and objects are converted to 0.0 if empty, 1.0 otherwise.
convert_to_string_ex() | Forces conversion to a string. Strings remain untouched. NULL values are converted to an empty string. Booleans containing TRUE are converted to "1", otherwise resulting in an empty string. Longs and doubles are converted to their corresponding string representation. Arrays are converted to the string "Array" and objects to the string "Object".
convert_to_array_ex(value) | Forces conversion to an array. Arrays remain untouched. Objects are converted to an array by assigning all their properties to the array table. All property names are used as keys, property contents as values. NULL values are converted to an empty array. All other values are converted to an array that contains the specific source value in the element with the key 0.
convert_to_object_ex(value) | Forces conversion to an object. Objects remain untouched. NULL values are converted to an empty object. Arrays are converted to objects by introducing their keys as properties into the objects and their values as corresponding property contents in the object. All other types result in an object with the property scalar , having the corresponding source value as content.
convert_to_null_ex(value) | Forces the type to become a NULL value, meaning empty.

Nota: You can find a demonstration of the behavior in cross_conversion.php on the accompanying CD-ROM. Figura 46-2 shows the output.

Figura 46-2. Cross-conversion behavior of PHP.

Using these functions on your arguments will ensure type safety for all data that's passed to you. If the supplied type doesn't match the required type, PHP forces dummy contents on the resulting value (empty strings, arrays, or objects, 0 for numeric values, FALSE for Booleans) to ensure a defined state.

Following is a quote from the sample module discussed previously, which makes use of the conversion functions:

zval **parameter;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &parameter) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

convert_to_long_ex(parameter);

RETURN_LONG(Z_LVAL_P(parameter));
After retrieving the parameter pointer, the parameter value is converted to a long (an integer), which also forms the return value of this function. Understanding access to the contents of the value requires a short discussion of the zval type, whose definition is shown in Ejemplo 46-7.

Ejemplo 46-7. PHP/Zend zval type definition.

typedef pval zval;

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;					/* long value */
    double dval;				/* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;				/* hash table value */
    struct {
        zend_class_entry *ce;
        HashTable *properties;
    } obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;		/* value */
    unsigned char type;	/* active type */
    unsigned char is_ref;
    short refcount;
};

Actually, pval (defined in php.h) is only an alias of zval (defined in zend.h), which in turn refers to _zval_struct. This is a most interesting structure. _zval_struct is the "master" structure, containing the value structure, type, and reference information. The substructure zvalue_value is a union that contains the variable's contents. Depending on the variable's type, you'll have to access different members of this union. For a description of both structures, see Tabla 46-5, Tabla 46-6 and Tabla 46-7.

Tabla 46-5. Zend zval Structure

Entry | Description
value | Union containing this variable's contents. See Tabla 46-6 for a description.
type | Contains this variable's type. For a list of available types, see Tabla 46-7.
is_ref | 0 means that this variable is not a reference; 1 means that this variable is a reference to another variable.
refcount | The number of references that exist for this variable. For every new reference to the value stored in this variable, this counter is increased by 1. For every lost reference, this counter is decreased by 1. When the reference counter reaches 0, no references exist to this value anymore, which causes automatic freeing of the value.

Tabla 46-6. Zend zvalue_value Structure

Entry | Description
lval | Use this property if the variable is of the type IS_LONG, IS_BOOLEAN, or IS_RESOURCE.
dval | Use this property if the variable is of the type IS_DOUBLE.
str | This structure can be used to access variables of the type IS_STRING. The member len contains the string length; the member val points to the string itself. Zend uses C strings; thus, the string length contains a trailing 0x00.
ht | This entry points to the variable's hash table entry if the variable is an array.
obj | Use this property if the variable is of the type IS_OBJECT.

Tabla 46-7. Zend Variable Type Constants

Constant | Description
IS_NULL | Denotes a NULL (empty) value.
IS_LONG | A long (integer) value.
IS_DOUBLE | A double (floating point) value.
IS_STRING | A string.
IS_ARRAY | Denotes an array.
IS_OBJECT | An object.
IS_BOOL | A Boolean value.
IS_RESOURCE | A resource (for a discussion of resources, see the appropriate section below).
IS_CONSTANT | A constant (defined) value.

To access a long you access zval.value.lval, to access a double you use zval.value.dval, and so on. Because all values are stored in a union, trying to access data with incorrect union members results in meaningless output.

Accessing arrays and objects is a bit more complicated and is discussed later.

Dealing with Arguments Passed by Reference

If your function accepts arguments passed by reference that you intend to modify, you need to take some precautions.

What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zvals that refer to Zend-internal data!

We've only discussed the so-called *_ex() API so far. You may have noticed that the API functions we've used are called zend_get_parameters_ex() instead of zend_get_parameters(), convert_to_long_ex() instead of convert_to_long(), etc. The *_ex() functions form the so-called new "extended" Zend API. They give a minor speed increase over the old API, but as a tradeoff are only meant for providing read-only access.

Because Zend works internally with references, different variables may reference the same value. Write access to a zval container requires this container to contain an isolated value, meaning a value that's not referenced by any other containers. If a zval container were referenced by other containers and you changed the referenced zval, you would automatically change the contents of the other containers referencing this zval (because they'd simply point to the changed value and thus change their own value as well).

zend_get_parameters_ex() doesn't care about this situation, but simply returns a pointer to the desired zval containers, whether they consist of references or not. Its corresponding function in the traditional API, zend_get_parameters(), immediately checks for referenced values. If it finds a reference, it creates a new, isolated zval container; copies the referenced data into this newly allocated space; and then returns a pointer to the new, isolated value.

This action is called zval separation (or pval separation). Because the *_ex() API doesn't perform zval separation, it's considerably faster, while at the same time disabling write access.

To change parameters, however, write access is required. Zend deals with this situation in a special way: Whenever a parameter to a function is passed by reference, it performs automatic zval separation. This means that whenever you're calling a function like this in PHP, Zend will automatically ensure that $parameter is being passed as an isolated value, rendering it to a write-safe state:

my_function(&$parameter);

But this is not the case with regular parameters! All other parameters that are not passed by reference are in a read-only state.

This requires you to make sure that you're really working with a reference - otherwise you might produce unwanted results. To check for a parameter being passed by reference, you can use the macro PZVAL_IS_REF. This macro accepts a zval* to check if it is a reference or not. Examples are given in in Ejemplo 46-8.

Ejemplo 46-8. Testing for referenced parameter passing.

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
    return;

/* check for parameter being passed by reference */
if (!PZVAL_IS_REF(parameter)) {
{
    zend_error(E_WARNING, "Parameter wasn't passed by reference");
    RETURN_NULL();
}

/* make changes to the parameter */
ZVAL_LONG(parameter, 10);

Assuring Write Safety for Other Parameters

You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context:

zval **parameter;

/* retrieve parameter */
zend_get_parameters_ex(1, &parameter);

/* at this stage, <parameter> still is connected */
/* to Zend's internal data buffers */

/* make <parameter> write-safe */
SEPARATE_ZVAL(parameter);

/* now we can safely modify <parameter> */
/* without implying global changes */
SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM.

Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter.

Anterior | Inicio | Siguiente
Source Discussion | Subir | Creating Variables


Creating Variables

When exchanging data from your own extensions with PHP scripts, one of the most important issues is the creation of variables. This section shows you how to deal with the variable types that PHP supports.

Overview

To create new variables that can be seen "from the outside" by the executing script, you need to allocate a new zval container, fill this container with meaningful values, and then introduce it to Zend's internal symbol table. This basic process is common to all variable creations:

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
ZEND_SET_SYMBOL(EG(active_symbol_table), "new_variable_name", new_variable);

/* the variable is now accessible to the script by using $new_variable_name */

The macro MAKE_STD_ZVAL allocates a new zval container using ALLOC_ZVAL and initializes it using INIT_ZVAL. As implemented in Zend at the time of this writing, initializing means setting the reference count to 1 and clearing the is_ref flag, but this process could be extended later - this is why it's a good idea to keep using MAKE_STD_ZVAL instead of only using ALLOC_ZVAL. If you want to optimize for speed (and you don't have to explicitly initialize the zval container here), you can use ALLOC_ZVAL, but this isn't recommended because it doesn't ensure data integrity.

ZEND_SET_SYMBOL takes care of introducing the new variable to Zend's symbol table. This macro checks whether the value already exists in the symbol table and converts the new symbol to a reference if so (with automatic deallocation of the old zval container). This is the preferred method if speed is not a crucial issue and you'd like to keep memory usage low.

Note that ZEND_SET_SYMBOL makes use of the Zend executor globals via the macro EG. By specifying EG(active_symbol_table), you get access to the currently active symbol table, dealing with the active, local scope. The local scope may differ depending on whether the function was invoked from within a function.

If you need to optimize for speed and don't care about optimal memory usage, you can omit the check for an existing variable with the same value and instead force insertion into the symbol table by using zend_hash_update():

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
zend_hash_update(
    EG(active_symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
This is actually the standard method used in most modules.

The variables generated with the snippet above will always be of local scope, so they reside in the context in which the function has been called. To create new variables in the global scope, use the same method but refer to another symbol table:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
ZEND_SET_SYMBOL(&EG(symbol_table), "new_variable_name", new_variable);
The macro ZEND_SET_SYMBOL is now being called with a reference to the main, global symbol table by referring EG(symbol_table).

Note: The active_symbol_table variable is a pointer, but symbol_table is not. This is why you have to use EG(active_symbol_table) and &EG(symbol_table) as parameters to ZEND_SET_SYMBOL - it requires a pointer.

Similarly, to get a more efficient version, you can hardcode the symbol table update:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
zend_hash_update(
    &EG(symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
Ejemplo 46-9 shows a sample source that creates two variables - local_variable with a local scope and global_variable with a global scope (see Figure 9.7). The full example can be found on the CD-ROM.

Note: You can see that the global variable is actually not accessible from within the function. This is because it's not imported into the local scope using global $global_variable; in the PHP source.

Ejemplo 46-9. Creating variables with different scopes.

ZEND_FUNCTION(variable_creation)
{
    zval *new_var1, *new_var2;

    MAKE_STD_ZVAL(new_var1);
    MAKE_STD_ZVAL(new_var2);

    ZVAL_LONG(new_var1, 10);
    ZVAL_LONG(new_var2, 5);

    ZEND_SET_SYMBOL(EG(active_symbol_table), "local_variable", new_var1);
    ZEND_SET_SYMBOL(&EG(symbol_table), "global_variable", new_var2);

    RETURN_NULL();

}

Longs (Integers)

Now let's get to the assignment of data to variables, starting with longs. Longs are PHP's integers and are very simple to store. Looking at the zval.value container structure discussed earlier in this chapter, you can see that the long data type is directly contained in the union, namely in the lval field. The corresponding type value for longs is IS_LONG (see Ejemplo 46-10).

Ejemplo 46-10. Creation of a long.

zval *new_long;

MAKE_STD_ZVAL(new_long);

new_long->type = IS_LONG;
new_long->value.lval = 10;
Alternatively, you can use the macro ZVAL_LONG:
zval *new_long;

MAKE_STD_ZVAL(new_long);
ZVAL_LONG(new_long, 10);

Doubles (Floats)

Doubles are PHP's floats and are as easy to assign as longs, because their value is also contained directly in the union. The member in the zval.value container is dval; the corresponding type is IS_DOUBLE.

zval *new_double;

MAKE_STD_ZVAL(new_double);

new_double->type = IS_DOUBLE;
new_double->value.dval = 3.45;
Alternatively, you can use the macro ZVAL_DOUBLE:
zval *new_double;

MAKE_STD_ZVAL(new_double);
ZVAL_DOUBLE(new_double, 3.45);

Strings

Strings need slightly more effort. As mentioned earlier, all strings that will be associated with Zend's internal data structures need to be allocated using Zend's own memory-management functions. Referencing of static strings or strings allocated with standard routines is not allowed. To assign strings, you have to access the structure str in the zval.value container. The corresponding type is IS_STRING:

zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);

new_string->type = IS_STRING;
new_string->value.str.len = strlen(string_contents);
new_string->value.str.val = estrdup(string_contents);
Note the usage of Zend's estrdup() here. Of course, you can also use the predefined macro ZVAL_STRING:
zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);
ZVAL_STRING(new_string, string_contents, 1);
ZVAL_STRING accepts a third parameter that indicates whether the supplied string contents should be duplicated (using estrdup()). Setting this parameter to 1 causes the string to be duplicated; 0 simply uses the supplied pointer for the variable contents. This is most useful if you want to create a new variable referring to a string that's already allocated in Zend internal memory.

If you want to truncate the string at a certain position or you already know its length, you can use ZVAL_STRINGL(zval, string, length, duplicate), which accepts an explicit string length to be set for the new string. This macro is faster than ZVAL_STRING and also binary-safe.

To create empty strings, set the string length to 0 and use empty_string as contents:

new_string->type = IS_STRING;
new_string->value.str.len = 0;
new_string->value.str.val = empty_string;
Of course, there's a macro for this as well (ZVAL_EMPTY_STRING):
MAKE_STD_ZVAL(new_string);
ZVAL_EMPTY_STRING(new_string);

Booleans

Booleans are created just like longs, but have the type IS_BOOL. Allowed values in lval are 0 and 1:

zval *new_bool;

MAKE_STD_ZVAL(new_bool);

new_bool->type = IS_BOOL;
new_bool->value.lval = 1;
The corresponding macros for this type are ZVAL_BOOL (allowing specification of the value) as well as ZVAL_TRUE and ZVAL_FALSE (which explicitly set the value to TRUE and FALSE, respectively).

Arrays

Arrays are stored using Zend's internal hash tables, which can be accessed using the zend_hash_*() API. For every array that you want to create, you need a new hash table handle, which will be stored in the ht member of the zval.value container.

There's a whole API solely for the creation of arrays, which is extremely handy. To start a new array, you call array_init().

zval *new_array;

MAKE_STD_ZVAL(new_array);

array_init(new_array);
array_init() always returns SUCCESS.

To add new elements to the array, you can use numerous functions, depending on what you want to do. Tabla 46-8, Tabla 46-9 and Tabla 46-10 describe these functions. All functions return FAILURE on failure and SUCCESS on success.

Tabla 46-8. Zend's API for Associative Arrays

Function | Description
add_assoc_long(zval *array, char *key, long n);() | Adds an element of type long.
add_assoc_unset(zval *array, char *key);() | Adds an unset element.
add_assoc_bool(zval *array, char *key, int b);() | Adds a Boolean element.
add_assoc_resource(zval *array, char *key, int r);() | Adds a resource to the array.
add_assoc_double(zval *array, char *key, double d);() | Adds a floating-point value.
add_assoc_string(zval *array, char *key, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_assoc_stringl(zval *array, char *key, char *str, uint length, int duplicate); () | Adds a string with the desired length length to the array. Otherwise, behaves like add_assoc_string().
add_assoc_zval(zval *array, char *key, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

Tabla 46-9. Zend's API for Indexed Arrays, Part 1

Function | Description
add_index_long(zval *array, uint idx, long n);() | Adds an element of type long.
add_index_unset(zval *array, uint idx);() | Adds an unset element.
add_index_bool(zval *array, uint idx, int b);() | Adds a Boolean element.
add_index_resource(zval *array, uint idx, int r);() | Adds a resource to the array.
add_index_double(zval *array, uint idx, double d);() | Adds a floating-point value.
add_index_string(zval *array, uint idx, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_index_stringl(zval *array, uint idx, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_index_zval(zval *array, uint idx, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

Tabla 46-10. Zend's API for Indexed Arrays, Part 2

Function | Description
add_next_index_long(zval *array, long n);() | Adds an element of type long.
add_next_index_unset(zval *array);() | Adds an unset element.
add_next_index_bool(zval *array, int b);() | Adds a Boolean element.
add_next_index_resource(zval *array, int r);() | Adds a resource to the array.
add_next_index_double(zval *array, double d);() | Adds a floating-point value.
add_next_index_string(zval *array, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_next_index_stringl(zval *array, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_next_index_zval(zval *array, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

All these functions provide a handy abstraction to Zend's internal hash API. Of course, you can also use the hash functions directly - for example, if you already have a zval container allocated that you want to insert into an array. This is done using zend_hash_update() for associative arrays (see Ejemplo 46-11) and zend_hash_index_update() for indexed arrays (see Ejemplo 46-12):

Ejemplo 46-11. Adding an element to an associative array.

zval *new_array, *new_element;
char *key = "element_key";

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_update(new_array->value.ht, key, strlen(key) + 1, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

Ejemplo 46-12. Adding an element to an indexed array.

zval *new_array, *new_element;
int key = 2;

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_index_update(new_array->value.ht, key, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

To emulate the functionality of add_next_index_*(), you can use this:

zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: To return arrays from a function, use array_init() and all following actions on the predefined variable return_value (given as argument to your exported function; see the earlier discussion of the call interface). You do not have to use MAKE_STD_ZVAL on this.

Tip: To avoid having to write new_array->value.ht every time, you can use HASH_OF(new_array), which is also recommended for compatibility and style reasons.

Objects

Since objects can be converted to arrays (and vice versa), you might have already guessed that they have a lot of similarities to arrays in PHP. Objects are maintained with the same hash functions, but there's a different API for creating them.

To initialize an object, you use the function object_init():

zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}
You can use the functions described in Tabla 46-11 to add members to your object.

Tabla 46-11. Zend's API for Object Creation

Function | Description
add_property_long(zval *object, char *key, long l);() | Adds a long to the object.
add_property_unset(zval *object, char *key);() | Adds an unset property to the object.
add_property_bool(zval *object, char *key, int b);() | Adds a Boolean to the object.
add_property_resource(zval *object, char *key, long r);() | Adds a resource to the object.
add_property_double(zval *object, char *key, double d);() | Adds a double to the object.
add_property_string(zval *object, char *key, char *str, int duplicate);() | Adds a string to the object.
add_property_stringl(zval *object, char *key, char *str, uint length, int duplicate);() | Adds a string of the specified length to the object. This function is faster than add_property_string() and also binary-safe.
add_property_zval(zval *obect, char *key, zval *container):() | Adds a zval container to the object. This is useful if you have to add properties which aren't simple types like integers or strings but arrays or other objects.

Resources

Resources are a special kind of data type in PHP. The term resources doesn't really refer to any special kind of data, but to an abstraction method for maintaining any kind of information. Resources are kept in a special resource list within Zend. Each entry in the list has a correspondending type definition that denotes the kind of resource to which it refers. Zend then internally manages all references to this resource. Access to a resource is never possible directly - only via a provided API. As soon as all references to a specific resource are lost, a corresponding shutdown function is called.

For example, resources are used to store database links and file descriptors. The de facto standard implementation can be found in the MySQL module, but other modules such as the Oracle module also make use of resources.

Nota: In fact, a resource can be a pointer to anything you need to handle in your functions (e.g. pointer to a structure) and the user only has to pass a single resource variable to your function.

To create a new resource you need to register a resource destruction handler for it. Since you can store any kind of data as a resource, Zend needs to know how to free this resource if its not longer needed. This works by registering your own resource destruction handler to Zend which in turn gets called by Zend whenever your resource can be freed (whether manually or automatically). Registering your resource handler within Zend returns you the resource type handle for that resource. This handle is needed whenever you want to access a resource of this type later and is most of time stored in a global static variable within your extension. There is no need to worry about thread safety here because you only register your resource handler once during module initialization.

The Zend function to register your resource handler is defined as:

ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);

There are two different kinds of resource destruction handlers you can pass to this function: a handler for normal resources and a handler for persistent resources. Persistent resources are for example used for database connection. When registering a resource, either of these handlers must be given. For the other handler just pass NULL.

zend_register_list_destructors_ex() accepts the following parameters:

ld | Normal resource destruction handler callback
pld | Pesistent resource destruction handler callback
type_name | A string specifying the name of your resource. It's always a good thing to specify a unique name within PHP for the resource type so when the user for example calls var_dump($resource); he also gets the name of the resource.
module_number | The module_number is automatically available in your PHP_MINIT_FUNCTION function and therefore you just pass it over.

The return value is a unique integer ID for your resource type.

The resource destruction handler (either normal or persistent resources) has the following prototype:

void resource_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC);
The passed rsrc is a pointer to the following structure:
typedef struct _zend_rsrc_list_entry {

    void *ptr;
    int type;
    int refcount;

} zend_rsrc_list_entry;
The member void *ptr is the actual pointer to your resource.

Now we know how to start things, we define our own resource we want register within Zend. It is only a simple structure with two integer members:

typedef struct {

    int resource_link;
    int resource_type;

} my_resource;
Our resource destruction handler is probably going to look something like this:
void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

    // You most likely cast the void pointer to your structure type

    my_resource *my_rsrc = (my_resource *) rsrc->ptr;

    // Now do whatever needs to be done with you resource. Closing
    // Files, Sockets, freeing additional memory, etc.
    // Also, don't forget to actually free the memory for your resource too!

    do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
}

Nota: One important thing to mention: If your resource is a rather complex structure which also contains pointers to memory you allocated during runtime you have to free them before freeing the resource itself!

Now that we have defined

  1. what our resource is and

  2. our resource destruction handler

we can go on and do the rest of the steps:

  1. create a global variable within the extension holding the resource ID so it can be accessed from every function which needs it

  2. define the resource name

  3. write the resource destruction handler

  4. and finally register the handler

// Somewhere in your extension, define the variable for your registered resources.
    // If you wondered what 'le' stands for: it simply means 'list entry'.
    static int le_myresource;

    // It's nice to define your resource name somewhere
    #define le_myresource_name  "My type of resource"

    [...]

    // Now actually define our resource destruction handler
    void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

        my_resource *my_rsrc = (my_resource *) rsrc->ptr;
        do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
    }

    [...]

    PHP_MINIT_FUNCTION(my_extension) {

        // Note that 'module_number' is already provided through the
        // PHP_MINIT_FUNCTION() function definition.

        le_myresource = zend_register_list_destructors_ex(my_destruction_handler, NULL, le_myresource_name, module_number);

        // You can register additional resources, initialize
        // your global vars, constants, whatever.
    }

To actually register a new resource you use can either use the zend_register_resource() function or the ZEND_REGISTER_RESOURE() macro, both defined in zend_list.h . Although the arguments for both map 1:1 it's a good idea to always use macros to be upwards compatible:

int ZEND_REGISTER_RESOURCE(zval *rsrc_result, void *rsrc_pointer, int rsrc_type);

rsrc_result | This is an already initialized zval * container.
rsrc_pointer | Your resource pointer you want to store.
rsrc_type | The type which you received when you registered the resource destruction handler. If you followed the naming scheme this would be le_myresource.

The return value is a unique integer identifier for that resource.

What is really going on when you register a new resource is it gets inserted in an internal list in Zend and the result is just stored in the given zval * container:

rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type);

    if (rsrc_result) {
        rsrc_result->value.lval = rsrc_id;
        rsrc_result->type = IS_RESOURCE;
    }

    return rsrc_id;
The returned rsrc_id uniquely identifies the newly registered resource. You can use the macro RETURN_RESOURE to return it to the user:
RETURN_RESOURCE(rsrc_id)

Nota: It is common practice that if you want to return the resource immediately to the user you specify the return_value as the zval * container.

Zend now keeps track of all references to this resource. As soon as all references to the resource are lost, the destructor that you previously registered for this resource is called. The nice thing about this setup is that you don't have to worry about memory leakages introduced by allocations in your module - just register all memory allocations that your calling script will refer to as resources. As soon as the script decides it doesn't need them anymore, Zend will find out and tell you.

Now that the user got his resource, at some point he is passing it back to one of your functions. The value.lval inside the zval * container contains the key to your resource and thus can be used to fetch the resource with the following macro: ZEND_FETCH_RESOURCE:

ZEND_FETCH_RESOURCE(rsrc, rsrc_type, rsrc_id, default_rsrc_id, resource_type_name, resource_type)

rsrc | This is your pointer which will point to your previously registered resource.
rsrc_type | This is the typecast argument for your pointer, e.g. myresource *.
rsrc_id | This is the address of the zval *container the user passed to your function, e.g. &z_resource if zval *z_resource is given.
default_rsrc_id | This integer specifies the default resource ID if no resource could be fetched or -1.
resource_type_name | This is the name of the requested resource. It's a string and is used when the resource can't be found or is invalid to form a meaningful error message.
resource_type | The resource_type you got back when registering the resource destruction handler. In our example this was le_myresource.

This macro has no return value. It is for the developers convenience and takes care of TSRMLS arguments passing and also does check if the resource could be fetched. It throws a warning message and returns the current PHP function with NULL if there was a problem retrieving the resource.

To force removal of a resource from the list, use the function zend_list_delete(). You can also force the reference count to increase if you know that you're creating another reference for a previously allocated value (for example, if you're automatically reusing a default database link). For this case, use the function zend_list_addref(). To search for previously allocated resource entries, use zend_list_find(). The complete API can be found in zend_list.h.

Macros for Automatic Global Variable Creation

In addition to the macros discussed earlier, a few macros allow easy creation of simple global variables. These are nice to know in case you want to introduce global flags, for example. This is somewhat bad practice, but Table Tabla 46-12 describes macros that do exactly this task. They don't need any zval allocation; you simply have to supply a variable name and value.

Tabla 46-12. Macros for Global Variable Creation

Macro | Description
SET_VAR_STRING(name, value) | Creates a new string.
SET_VAR_STRINGL(name, value, length) | Creates a new string of the specified length. This macro is faster than SET_VAR_STRING and also binary-safe.
SET_VAR_LONG(name, value) | Creates a new long.
SET_VAR_DOUBLE(name, value) | Creates a new double.

Creating Constants

Zend supports the creation of true constants (as opposed to regular variables). Constants are accessed without the typical dollar sign ($) prefix and are available in all scopes. Examples include TRUE and FALSE, to name just two.

To create your own constants, you can use the macros in Tabla 46-13. All the macros create a constant with the specified name and value.

You can also specify flags for each constant:

  • CONST_CS - This constant's name is to be treated as case sensitive.

  • CONST_PERSISTENT - This constant is persistent and won't be "forgotten" when the current process carrying this constant shuts down.

To use the flags, combine them using a inary OR:
// register a new constant of type "long"
     REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
     CONST_PERSISTENT);
There are two types of macros - REGISTER_*_CONSTANT andREGISTER_MAIN_*_CONSTANT. The first type creates constants bound to the current module. These constants are dumped from the symbol table as soon as the module that registered the constant is unloaded from memory. The second type creates constants that remain in the symbol table independently of the module.

Tabla 46-13. Macros for Creating Constants

Macro | Description
REGISTER_LONG_CONSTANT(name, value, flags) REGISTER_MAIN_LONG_CONSTANT(name, value, flags) | Registers a new constant of type long.
REGISTER_DOUBLE_CONSTANT(name, value, flags) REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags) | Registers a new constant of type double.
REGISTER_STRING_CONSTANT(name, value, flags) REGISTER_MAIN_STRING_CONSTANT(name, value, flags) | Registers a new constant of type string. The specified string must reside in Zend's internal memory.
REGISTER_STRINGL_CONSTANT(name, value, length, flags) REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags) | Registers a new constant of type string. The string length is explicitly set to length. The specified string must reside in Zend's internal memory.

Anterior | Inicio | Siguiente
Accepting Arguments | Subir | Duplicating Variable Contents: The Copy Constructor


Duplicating Variable Contents: The Copy Constructor

Sooner or later, you may need to assign the contents of one zval container to another. This is easier said than done, since the zval container doesn't contain only type information, but also references to places in Zend's internal data. For example, depending on their size, arrays and objects may be nested with lots of hash table entries. By assigning one zval to another, you avoid duplicating the hash table entries, using only a reference to them (at most).

To copy this complex kind of data, use the copy constructor. Copy constructors are typically defined in languages that support operator overloading, with the express purpose of copying complex types. If you define an object in such a language, you have the possibility of overloading the "=" operator, which is usually responsible for assigning the contents of the rvalue (result of the evaluation of the right side of the operator) to the lvalue (same for the left side).

Overloading means assigning a different meaning to this operator, and is usually used to assign a function call to an operator. Whenever this operator would be used on such an object in a program, this function would be called with the lvalue and rvalue as parameters. Equipped with that information, it can perform the operation it intends the "=" operator to have (usually an extended form of copying).

This same form of "extended copying" is also necessary for PHP's zval containers. Again, in the case of an array, this extended copying would imply re-creation of all hash table entries relating to this array. For strings, proper memory allocation would have to be assured, and so on.

Zend ships with such a function, called zend_copy_ctor() (the previous PHP equivalent was pval_copy_constructor()).

A most useful demonstration is a function that accepts a complex type as argument, modifies it, and then returns the argument:

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
   return;
}

// do modifications to the parameter here

// now we want to return the modified container:
*return_value = *parameter;
zval_copy_ctor(return_value);

The first part of the function is plain-vanilla argument retrieval. After the (left out) modifications, however, it gets interesting: The container of parameter is assigned to the (predefined) return_value container. Now, in order to effectively duplicate its contents, the copy constructor is called. The copy constructor works directly with the supplied argument, and the standard return values are FAILURE on failure and SUCCESS on success.

If you omit the call to the copy constructor in this example, both parameter and return_value would point to the same internal data, meaning that return_value would be an illegal additional reference to the same data structures. Whenever changes occurred in the data that parameter points to, return_value might be affected. Thus, in order to create separate copies, the copy constructor must be used.

The copy constructor's counterpart in the Zend API, the destructor zval_dtor(), does the opposite of the constructor.

Anterior | Inicio | Siguiente
Creating Variables | Subir | Returning Values


Returning Values

Returning values from your functions to PHP was described briefly in an earlier section; this section gives the details. Return values are passed via the return_value variable, which is passed to your functions as argument. The return_value argument consists of a zval container (see the earlier discussion of the call interface) that you can freely modify. The container itself is already allocated, so you don't have to run MAKE_STD_ZVAL on it. Instead, you can access its members directly.

To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in Tabla 46-14 and Tabla 46-15.

Nota: The macros in Tabla 46-14 automatically return from your function, those in Tabla 46-15 only set the return value; they don't return from your function.

Tabla 46-14. Predefined Macros for Returning Values from a Function

Macro | Description
RETURN_RESOURCE(resource) | Returns a resource.
RETURN_BOOL(bool) | Returns a Boolean.
RETURN_NULL() | Returns nothing (a NULL value).
RETURN_LONG(long) | Returns a long.
RETURN_DOUBLE(double) | Returns a double.
RETURN_STRING(string, duplicate) | Returns a string. The duplicate flag indicates whether the string should be duplicated using estrdup().
RETURN_STRINGL(string, length, duplicate) | Returns a string of the specified length; otherwise, behaves like RETURN_STRING. This macro is faster and binary-safe, however.
RETURN_EMPTY_STRING() | Returns an empty string.
RETURN_FALSE | Returns Boolean false.
RETURN_TRUE | Returns Boolean true.

Tabla 46-15. Predefined Macros for Setting the Return Value of a Function

Macro | Description
RETVAL_RESOURCE(resource) | Sets the return value to the specified resource.
RETVAL_BOOL(bool) | Sets the return value to the specified Boolean value.
RETVAL_NULL | Sets the return value to NULL.
RETVAL_LONG(long) | Sets the return value to the specified long.
RETVAL_DOUBLE(double) | Sets the return value to the specified double.
RETVAL_STRING(string, duplicate) | Sets the return value to the specified string and duplicates it to Zend internal memory if desired (see also RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) | Sets the return value to the specified string and forces the length to become length (see also RETVAL_STRING). This macro is faster and binary-safe, and should be used whenever the string length is known.
RETVAL_EMPTY_STRING | Sets the return value to an empty string.
RETVAL_FALSE | Sets the return value to Boolean false.
RETVAL_TRUE | Sets the return value to Boolean true.

Complex types such as arrays and objects can be returned by using array_init() and object_init(), as well as the corresponding hash functions on return_value. Since these types cannot be constructed of trivial information, there are no predefined macros for them.

Anterior | Inicio | Siguiente
Duplicating Variable Contents: The Copy Constructor | Subir | Printing Information


Printing Information

Often it's necessary to print messages to the output stream from your module, just as print() would be used within a script. PHP offers functions for most generic tasks, such as printing warning messages, generating output for phpinfo(), and so on. The following sections provide more details. Examples of these functions can be found on the CD-ROM.

zend_printf()

zend_printf() works like the standard printf(), except that it prints to Zend's output stream.

zend_error()

zend_error() can be used to generate error messages. This function accepts two arguments; the first is the error type (see zend_errors.h), and the second is the error message.

zend_error(E_WARNING, "This function has been called with empty arguments");
Tabla 46-16 shows a list of possible values (see Figura 46-3). These values are also referred to in php.ini. Depending on which error type you choose, your messages will be logged.

Tabla 46-16. Zend's Predefined Error Messages.

Error | Description
E_ERROR | Signals an error and terminates execution of the script immediately .
E_WARNING | Signals a generic warning. Execution continues.
E_PARSE | Signals a parser error. Execution continues.
E_NOTICE | Signals a notice. Execution continues. Note that by default the display of this type of error messages is turned off in php.ini.
E_CORE_ERROR | Internal error by the core; shouldn't be used by user-written modules.
E_COMPILE_ERROR | Internal error by the compiler; shouldn't be used by user-written modules.
E_COMPILE_WARNING | Internal warning by the compiler; shouldn't be used by user-written modules.

Figura 46-3. Display of warning messages in the browser.

Including Output in phpinfo()

After creating a real module, you'll want to show information about the module in phpinfo() (in addition to the module name, which appears in the module list by default). PHP allows you to create your own section in the phpinfo() output with the ZEND_MINFO() function. This function should be placed in the module descriptor block (discussed earlier) and is always called whenever a script calls phpinfo().

PHP automatically prints a section in phpinfo() for you if you specify the ZEND_MINFO function, including the module name in the heading. Everything else must be formatted and printed by you.

Typically, you can print an HTML table header using php_info_print_table_start() and then use the standard functions php_info_print_table_header() and php_info_print_table_row(). As arguments, both take the number of columns (as integers) and the column contents (as strings). Ejemplo 46-13 shows a source example and its output. To print the table footer, use php_info_print_table_end().

Ejemplo 46-13. Source code and screenshot for output in phpinfo().

php_info_print_table_start();
php_info_print_table_header(2, "First column", "Second column");
php_info_print_table_row(2, "Entry in first row", "Another entry");
php_info_print_table_row(2, "Just to fill", "another row here");
php_info_print_table_end();

Execution Information

You can also print execution information, such as the current file being executed. The name of the function currently being executed can be retrieved using the function get_active_function_name(). This function returns a pointer to the function name and doesn't accept any arguments. To retrieve the name of the file currently being executed, use zend_get_executed_filename(). This function accesses the executor globals, which are passed to it using the TSRMLS_C macro. The executor globals are automatically available to every function that's called directly by Zend (they're part of the INTERNAL_FUNCTION_PARAMETERS described earlier in this chapter). If you want to access the executor globals in another function that doesn't have them available automatically, call the macro TSRMLS_FETCH() once in that function; this will introduce them to your local scope.

Finally, the line number currently being executed can be retrieved using the function zend_get_executed_lineno(). This function also requires the executor globals as arguments. For examples of these functions, see Ejemplo 46-14.

Ejemplo 46-14. Printing execution information.

zend_printf("The name of the current function is %s<br>", get_active_function_name(TSRMLS_C));
zend_printf("The file currently executed is %s<br>", zend_get_executed_filename(TSRMLS_C));
zend_printf("The current line being executed is %i<br>", zend_get_executed_lineno(TSRMLS_C));

Anterior | Inicio | Siguiente
Returning Values | Subir | Startup and Shutdown Functions


Startup and Shutdown Functions

Startup and shutdown functions can be used for one-time initialization and deinitialization of your modules. As discussed earlier in this chapter (see the description of the Zend module descriptor block), there are module, and request startup and shutdown events.

The module startup and shutdown functions are called whenever a module is loaded and needs initialization; the request startup and shutdown functions are called every time a request is processed (meaning that a file is being executed).

For dynamic extensions, module and request startup/shutdown events happen at the same time.

Declaration and implementation of these functions can be done with macros; see the earlier section "Declaration of the Zend Module Block" for details.

Anterior | Inicio | Siguiente
Printing Information | Subir | Calling User Functions


Calling User Functions

You can call user functions from your own modules, which is very handy when implementing callbacks; for example, for array walking, searching, or simply for event-based programs.

User functions can be called with the function call_user_function_ex(). It requires a hash value for the function table you want to access, a pointer to an object (if you want to call a method), the function name, return value, number of arguments, argument array, and a flag indicating whether you want to perform zval separation.

ZEND_API int call_user_function_ex(HashTable *function_table, zval *object,
zval *function_name, zval **retval_ptr_ptr,
int param_count, zval **params[],
int no_separation);

Note that you don't have to specify both function_table and object; either will do. If you want to call a method, you have to supply the object that contains this method, in which case call_user_function()automatically sets the function table to this object's function table. Otherwise, you only need to specify function_table and can set object to NULL.

Usually, the default function table is the "root" function table containing all function entries. This function table is part of the compiler globals and can be accessed using the macro CG. To introduce the compiler globals to your function, call the macro TSRMLS_FETCH once.

The function name is specified in a zval container. This might be a bit surprising at first, but is quite a logical step, since most of the time you'll accept function names as parameters from calling functions within your script, which in turn are contained in zval containers again. Thus, you only have to pass your arguments through to this function. This zval must be of type IS_STRING.

The next argument consists of a pointer to the return value. You don't have to allocate memory for this container; the function will do so by itself. However, you have to destroy this container (using zval_dtor()) afterward!

Next is the parameter count as integer and an array containing all necessary parameters. The last argument specifies whether the function should perform zval separation - this should always be set to 0. If set to 1, the function consumes less memory but fails if any of the parameters need separation.

Ejemplo 46-15 shows a small demonstration of calling a user function. The code calls a function that's supplied to it as argument and directly passes this function's return value through as its own return value. Note the use of the constructor and destructor calls at the end - it might not be necessary to do it this way here (since they should be separate values, the assignment might be safe), but this is bulletproof.

Ejemplo 46-15. Calling user functions.

zval **function_name;
zval *retval;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &function_name) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

if((*function_name)->type != IS_STRING)
{
    zend_error(E_ERROR, "Function requires string argument");
}

TSRMSLS_FETCH();

if(call_user_function_ex(CG(function_table), NULL, *function_name, &retval, 0, NULL, 0) != SUCCESS)
{
    zend_error(E_ERROR, "Function call failed");
}

zend_printf("We have %i as type\n", retval->type);

*return_value = *retval;
zval_copy_ctor(return_value);
zval_ptr_dtor(&retval);

<?php

dl("call_userland.so");

function test_function()
{
    echo "We are in the test function!\n";
    return 'hello';
}

$return_value = call_userland("test_function");

echo "Return value: '$return_value'";
?>

El resultado del ejemplo seria:

We are in the test function! We have 3 as type Return value: 'hello'

Anterior | Inicio | Siguiente
Startup and Shutdown Functions | Subir | Initialization File Support


Initialization File Support

PHP 4 features a redesigned initialization file support. It's now possible to specify default initialization entries directly in your code, read and change these values at runtime, and create message handlers for change notifications.

To create an .ini section in your own module, use the macros PHP_INI_BEGIN() to mark the beginning of such a section and PHP_INI_END() to mark its end. In between you can use PHP_INI_ENTRY() to create entries.

PHP_INI_BEGIN()
PHP_INI_ENTRY("first_ini_entry",  "has_string_value", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("second_ini_entry", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("third_ini_entry",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
The PHP_INI_ENTRY() macro accepts four parameters: the entry name, the entry value, its change permissions, and a pointer to a change-notification handler. Both entry name and value must be specified as strings, regardless of whether they really are strings or integers.

The permissions are grouped into three sections:PHP_INI_SYSTEM allows a change only directly in the php.ini file; PHP_INI_USER allows a change to be overridden by a user at runtime using additional configuration files, such as .htaccess; and PHP_INI_ALL allows changes to be made without restrictions. There's also a fourth level, PHP_INI_PERDIR, for which we couldn't verify its behavior yet.

The fourth parameter consists of a pointer to a change-notification handler. Whenever one of these initialization entries is changed, this handler is called. Such a handler can be declared using the PHP_INI_MH macro:

PHP_INI_MH(OnChangeSecond);             // handler for ini-entry "second_ini_entry"

// specify ini-entries here

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message caught, our ini entry has been changed to %s<br>", new_value);

    return(SUCCESS);

}
The new value is given to the change handler as string in the variable new_value. When looking at the definition of PHP_INI_MH, you actually have a few parameters to use:
#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
All these definitions can be found in php_ini.h. Your message handler will have access to a structure that contains the full entry, the new value, its length, and three optional arguments. These optional arguments can be specified with the additional macros PHP_INI_ENTRY1 (allowing one additional argument), PHP_INI_ENTRY2 (allowing two additional arguments), and PHP_INI_ENTRY3 (allowing three additional arguments).

The change-notification handlers should be used to cache initialization entries locally for faster access or to perform certain tasks that are required if a value changes. For example, if a constant connection to a certain host is required by a module and someone changes the hostname, automatically terminate the old connection and attempt a new one.

Access to initialization entries can also be handled with the macros shown in Tabla 46-17.

Tabla 46-17. Macros to Access Initialization Entries in PHP

Macro | Description
INI_INT(name) | Returns the current value of entry name as integer (long).
INI_FLT(name) | Returns the current value of entry name as float (double).
INI_STR(name) | Returns the current value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_BOOL(name) | Returns the current value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).
INI_ORIG_INT(name) | Returns the original value of entry name as integer (long).
INI_ORIG_FLT(name) | Returns the original value of entry name as float (double).
INI_ORIG_STR(name) | Returns the original value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_ORIG_BOOL(name) | Returns the original value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).

Finally, you have to introduce your initialization entries to PHP. This can be done in the module startup and shutdown functions, using the macros REGISTER_INI_ENTRIES() and UNREGISTER_INI_ENTRIES():

ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Anterior | Inicio | Siguiente
Calling User Functions | Subir | Where to Go from Here


Where to Go from Here

You've learned a lot about PHP. You now know how to create dynamic loadable modules and statically linked extensions. You've learned how PHP and Zend deal with internal storage of variables and how you can create and access these variables. You know quite a set of tool functions that do a lot of routine tasks such as printing informational texts, automatically introducing variables to the symbol table, and so on.

Even though this chapter often had a mostly "referential" character, we hope that it gave you insight on how to start writing your own extensions. For the sake of space, we had to leave out a lot; we suggest that you take the time to study the header files and some modules (especially the ones in the ext/standard directory and the MySQL module, as these implement commonly known functionality). This will give you an idea of how other people have used the API functions - particularly those that didn't make it into this chapter.

Anterior | Inicio | Siguiente
Initialization File Support | Subir | Reference: Some Configuration Macros


Reference: Some Configuration Macros

config.m4

The file config.m4 is processed by buildconf and must contain all the instructions to be executed during configuration. For example, these can include tests for required external files, such as header files, libraries, and so on. PHP defines a set of macros that can be used in this process, the most useful of which are described in Tabla 46-18.

Tabla 46-18. M4 Macros for config.m4

Macro | Description
AC_MSG_CHECKING(message) | Prints a "checking <message>" text during configure.
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING; should specify either yes or no as value.
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script.
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module).
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files.
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link.
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with-<modulename> is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes), in which case the value of the option is contained in the variable $withval. Otherwise, it executes conditionaltest.
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_<modulename>.

Anterior | Inicio | Siguiente
Where to Go from Here | Subir | API Macros


API Macros

A set of macros was introduced into Zend's API that simplify access to zval containers (see Tabla 46-19).

Tabla 46-19. API Macros for Accessing zval Containers

Macro | Refers to
Z_LVAL(zval) | (zval).value.lval
Z_DVAL(zval) | (zval).value.dval
Z_STRVAL(zval) | (zval).value.str.val
Z_STRLEN(zval) | (zval).value.str.len
Z_ARRVAL(zval) | (zval).value.ht
Z_LVAL_P(zval) | (*zval).value.lval
Z_DVAL_P(zval) | (*zval).value.dval
Z_STRVAL_P(zval_p) | (*zval).value.str.val
Z_STRLEN_P(zval_p) | (*zval).value.str.len
Z_ARRVAL_P(zval_p) | (*zval).value.ht
Z_LVAL_PP(zval_pp) | (**zval).value.lval
Z_DVAL_PP(zval_pp) | (**zval).value.dval
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht

Anterior | Inicio | Siguiente
Reference: Some Configuration Macros | Subir | API Function and Macro reference (work in progress)


API de Secuencia para Autores de Extensiones PHP

Manual de PHP
Anterior Siguiente

Capítulo 44. API de Secuencia para Autores de Extensiones PHP

Tabla de contenidos
Generalidades
Conceptos Básicos de Secuencias
Las Secuencias como Recursos
Referencia de la API Común de Secuencias
Referencia de API de Directorios de Secuencias
Referencia de API de Archivos de Secuencias
Referencia de API de Sockets de Secuencia
Estructuras de Secuencia
Constantes de Secuencias

Generalidades

La API de Secuencias de PHP introduce un enfoque unificado a la gestión de archivos y sockets en extensiones PHP. Usando una API única con funciones estándar para operaciones comunes, la API de secuencias le permite a su extensión acceder a archivos, sockets, URLs, memoria y objetos definidos por-script. Esta es una API extensible de tiempo de ejecución que permite la carga dinámica de módulos (¡y scripts!) para registrar nuevas secuencias.

El propósito de la API de secuencias es facilitar la apertura de archivos, URLs y otras fuentes de datos secuenciables a los desarrolladores, mediante una API unificada que es fácil de entender. La API se encuentra más o menos basada en la familia de funciones ANSI C stdio (con una semántica idéntica para la mayoría de sus funciones principales), así que los progamadores de C tendrán una sensación de familiaridad con las secuencias.

La API de secuencias opera en un par de niveles diferentes: al nivel base, la API define objetos php_stream para representar fuentes de datos secuenciables. En un nivel ligeramente más alto, la API define objetos php_stream_wrapper que "envuelven" la API de nivel más bajo para proveer soporte para la recuperación de datos y meta-datos desde URLs. Un parámetro de contexto adicional, aceptado por la mayoría de funciones de creación de secuencia, es pasado al método stream_opener de la envoltura para configurar en detalle el comportamiento de la misma.

Cualquier secuencia, una vez abierta, puede tener también cualquier número de filtros aplicados sobre ella, los cuales procesan datos en la medida en que éstos son leídos desde/escritos hacia la secuencia.

Las secuencias pueden ser moldeadas (convertidas) a otros tipos de gestores de archivo, de modo que puedan ser usadas con bibliotecas externas sin mucho problema. Esto permite que aquellas bibliotecas accedan a datos directamente desde fuentes tipo URL. Si su sistema tiene la función fopencookie() o funopen(), ¡puede pasar incluso cualquier secuencia PHP a cualquier biblioteca que use stdio ANSI!

Nota: Las funciones en este capítulo son para su uso en el código fuente de PHP y no son funciones de PHP. Las funciones de secuencias para usuarios pueden encontrarse en la Referencia de Secuencias.

Anterior | Inicio | Siguiente
PHP and Zend Engine Internals | Subir | Conceptos Básicos de Secuencias


Conceptos Básicos de Secuencias

El uso de secuencias es bastante similar al uso de funciones stdio ANSI. La principal diferencia está en el modo en que obtiene en un principo el gestor de la secuencia. En la mayoría de casos, usted usará php_stream_open_wrapper() para obtener el gestor de secuencia. Esta función trabaja de forma muy similar a fopen, y puede apreciarse en el siguiente ejemplo:

Ejemplo 44-1. ejemplo simple de secuencia que despliega la página de inicio de PHP

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];

        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

La tabla a continuación muestra los equivalentes de Secuencia a las funciones más comunes de stdio ANSI. A menos que se note lo contrario, las semánticas de las funciones son idénticas.

Tabla 44-1. Funciones equivalentes a stdio ANSI en la API de Secuencias

Función Stdio ANSI | Función de Secuencias PHP | Notas
fopen | php_stream_open_wrapper | Las secuencias incluyen parámetros opcionales
fclose | php_stream_close |
fgets | php_stream_gets |
fread | php_stream_read | Se asume que el parámetro nmemb tiene un valor de 1, así que el prototipo luce más como read(2)
fwrite | php_stream_write | Se asume que el parámetro nmemb tiene un valor de 1, así que el prototipo luce más como write(2)
fseek | php_stream_seek |
ftell | php_stream_tell |
rewind | php_stream_rewind |
feof | php_stream_eof |
fgetc | php_stream_getc |
fputc | php_stream_putc |
fflush | php_stream_flush |
puts | php_stream_puts | La misma semántica que puts, NO fputs
fstat | php_stream_stat | Las secuencias tienen una estructura stat más rica

Anterior | Inicio | Siguiente
API de Secuencia para Autores de Extensiones PHP | Subir | Las Secuencias como Recursos


Las Secuencias como Recursos

Todas las secuencias son registradas como recursos cuando son creadas. Esto asegura que sean limpiadas apropiadamente incluso si ocurre un error fatal. Todas las funciones del sistema de archivos en PHP operan sobre recursos de secuencia - lo que quiere decir que sus extensiones pueden aceptar apuntadores de archivo PHP normales como parámetros también, y devolver secuencias desde sus funciones. La API de secuencias hace este proceso tan simple como es posible:

Ejemplo 44-2. Cómo aceptar una secuencia como parámetro

PHP_FUNCTION(ejemplo_escribir_hola)
{
    zval *zstream;
    php_stream *stream;

    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
        return;

    php_stream_from_zval(stream, &zstream);

    /* ahora puede usar la secuencia. Sin embargo, usted no es el
       "duenyo" de la secuencia, lo es el script. Eso quiere decir que
       usted NO DEBE cerrar la secuencia, ya que producira un fallo en
       PHP! */

    php_stream_write(stream, "hola\n");

    RETURN_TRUE();
}

Ejemplo 44-3. Cómo devolver una secuencia desde una función

PHP_FUNCTION(ejemplo_abrir_pagina_php)
{
    php_stream *stream;

    stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);

    php_stream_to_zval(stream, return_value);

    /* despues de este punto, el duenyo de la secuencia es el
       script. Si la cierra ahora, hara que PHP falle! */

}

Ya que las secuencias son limpiadas automáticamente, es tentador pensar que tenemos la oportunidad de ser programadores mediocres y no preocuparnos por cerrar las secuencias cuando hayamos terminado con ellas. Aunque tal enfoque podría funcionar, no es una buena idea por varias razones: las secuencias mantienen bloqueos sobre recursos del sistema mientras están abiertas, así que dejar un archivo abierto después que ha terminado de usarlo puede prevenir que otros procesos tengan acceso a los recursos. Si un script maneja un gran número de archivos, el conjunto de los recursos usados, tanto en términos de memoria y el exagerado número de archivos abiertos, puede producir que las peticiones al servidor web fallen. Suena mal, ¿no es así? La API de secuencias incluye algo de magia que le ayuda a mantener su código limpio - si una secuencia no es cerrada por su código cuando debería hacerlo, encontrará un poco de información útil de depuración en su registro de errores del servidor web.

Nota: Siempre use una versión de PHP compilada para depuración cuando desarrolle una extensión (--enable-debug cuando ejecute configure), ya que se ha hecho un gran esfuerzo para advertirle sobre fugas de memoria y secuencias.

En algunos casos, es útil mantener una secuencia abierta durante la duración de una petición, para actuar como un registro o rastrear un archivo, por ejemplo. Escribir el código necesario para limpiar de manera segura ese tipo de secuencia no es difícil, pero se trata de varias líneas de código que no es escrictamente necesario. Para evitarse los problemas de escribir aquél código, puede marcar una secuencia para que sea apta para una auto-limpieza. Lo que quiere decir esto es que la API de secuencias no emitirá una advertencia cuando sea momento de auto-limpiar una secuencia. Para hacer esto, puede usar php_stream_auto_cleanup().

Anterior | Inicio | Siguiente
Conceptos Básicos de Secuencias | Subir | Referencia de la API Común de Secuencias


Referencia de API de Directorios de Secuencias

Tabla de contenidos
php_stream_opendir -- Abre un directorio para la enumeración de archivos
php_stream_readdir -- Recuperar la siguiente entrada de directorio desde un directorio abierto
php_stream_rewinddir -- Restablecer una secuencia de directorio a la primera entrada
php_stream_closedir -- Cerrar una secuencia de directorio y liberar los recursos

Las funciones listadas en esta sección trabajan sobre archivos locales, asi como sobre archivos remotos (¡provisto que la envoltura soporta esta funcionalidad!).

Anterior | Inicio | Siguiente
php_stream_filter_unregister_factory | Subir | php_stream_opendir


Referencia de API de Archivos de Secuencias

Tabla de contenidos
php_stream_fopen_from_file -- Convertir un FILE* ANSI a una secuencia
php_stream_fopen_tmpfile -- Abrir un FILE* con tmpfile() y convertirlo en una secuencia
php_stream_fopen_temporary_file -- Generar un nombre de archivo temporal y abrir una secuencia sobre él

Anterior | Inicio | Siguiente
php_stream_closedir | Subir | php_stream_fopen_from_file


Referencia de API de Sockets de Secuencia

Tabla de contenidos
php_stream_sock_open_from_socket -- Convertir un descriptor de socket en una secuencia
php_stream_sock_open_host -- Abrir una conexión con un servidor huésped y devolver una secuencia
php_stream_sock_open_unix -- Abrir un socket de dominio Unix y convertirlo en una secuencia

Anterior | Inicio | Siguiente
php_stream_fopen_temporary_file | Subir | php_stream_sock_open_from_socket


Estructuras de Secuencia

Tabla de contenidos
struct php_stream_statbuf -- Contiene información sobre un archivo o URL
struct php_stream_dirent -- Contiene información sobre un archivo único durante el estudio de un directorio
struct php_stream_ops -- Contiene funciones miembro para una implementación de secuencia
struct php_stream_wrapper -- Contiene propiedades de envolturas y apuntadores a operaciones
struct php_stream_wrapper_ops -- Contiene funciones miembro para una implementación de envoltura de secuencia
struct php_stream_filter -- Contiene propiedades de filtro y apuntadores a operaciones
struct php_stream_filter_ops -- Contiene funciones miembro para una implementación de filtro de secuencia

Anterior | Inicio | Siguiente
php_stream_sock_open_unix | Subir | struct php_stream_statbuf


Constantes de Secuencias

Tabla de contenidos
Opciones de apertura de secuencia -- Afecta la operación de las funciones de fábrica de secuencias

Anterior | Inicio | Siguiente
struct php_stream_filter_ops | Subir | Opciones de apertura de secuencia


FAQ: Preguntas frecuentes

Manual de PHP
Anterior Siguiente

VIII. FAQ: Preguntas frecuentes

Tabla de contenidos
49. Información General
50. Listas de correo
51. Obtención de PHP
52. Problemas con bases de datos
53. Preguntas Frecuentes de Instalación
54. Problemas de Compilación
55. Uso de PHP
56. PHP y HTML
57. PHP y COM
58. PHP y otros lenguajes
59. Migración de PHP 2 a PHP 3
60. Migración de PHP 3 a PHP 4
61. Migración desde PHP 4 a PHP 5
62. Preguntas Varias

Anterior | Inicio | Siguiente
Reporte de Errores |  | Información General


Información General

Manual de PHP
Anterior Siguiente

Capítulo 49. Información General

Esta sección contiene las preguntas más generales sobre PHP: qué es y qué hace.

1. ¿Qué es PHP?
2. ¿Qué quiere decir PHP?
3. ¿Cuál es la relación entre las versiones?
4. ¿Puedo usar varias versiones de PHP al mismo tiempo?
5. ¿Cuáles son las diferencias entre PHP 3 y PHP 4?
6. ¡Creo que encontré un bug! ¿A quién debo decirle?

1. ¿Qué es PHP?

Tomado del prefacio del manual:

PHP es un lenguaje de scripting embebido en HTML. Mucha de su sintaxis es tomada de C, Java y Perl con un par de características adicionales únicas y específicas de PHP. El propósito del lenguaje es permitir que los desarrolladores web escriban páginas generadas dinámicamente con rapidez.

Puede encontrarse una buena introducción a PHP escrita por Stig Sæther Bakken en http://www.zend.com/zend/art/intro.php en el sitio web de Zend. Asimismo, gran parte del Material de la Conferencia PHP se encuentra disponible libremente.

2. ¿Qué quiere decir PHP?

PHP significa PHP: Hypertext Preprocessor (PHP: Pre-procesador de Hipertexto). Esto confunde a muchas personas ya que la primera palabra del acrónimo es el acrónimo mismo. Este tipo de acrónimo es llamado recursivo. Los curiosos pueden visitar el Diccionario En-Línea Gratuito de la Computación para más información sobre los acrónimos recursivos.

3. ¿Cuál es la relación entre las versiones?

PHP/FI 2.0 es una versión temprana de PHP y ya no es soportada. PHP 3 es el sucesor de PHP/FI 2.0 y es mucho más agradable. PHP 4 es la generación actual de PHP, la cual usa internamente el motor Zend. PHP 5 usa el motor Zend 2 el cual, entre otras cosas, ofrece muchas características de Programación Orientada a Objetos adicionales.

4. ¿Puedo usar varias versiones de PHP al mismo tiempo?

Si. Vea el archivo INSTALL que se incluye en la distribución fuente de PHP 4. También lea el apéndice relacionado.

5. ¿Cuáles son las diferencias entre PHP 3 y PHP 4?

Se han escrito un par de artículos sobre este tema por los autores de PHP 4. Aquí hay una lista de algunas de las características más importantes:

  • Módulo API extendido

  • Proceso de compilación generalizado bajo Unix

  • Interfaz genérica de servidor web que soporta servidores web multi-hilo

  • Resaltador de sintaxis mejorado

  • Soporte nativo de sesiones HTTP

  • Soporte de gestión de salida con búferes

  • Sistema de configuración más potente

  • Conteo de referencias

Por favor vea la Sinopsis de características nuevas en PHP 4 para una explicación detallada de estas características y más. Si está migrando de PHP 3 a PHP 4, lea también el apéndice relacionado.

6. ¡Creo que encontré un bug! ¿A quién debo decirle?

Debe dirigirse a la Base de Datos de Bugs de PHP y asegurarse de que no sea un problema conocido. Si no lo ve en la base de datos, use el formulario de reporte para reportar el problema. Es importante que use la base de datos de bugs en lugar de simplemente enviar un correo electrónico a una de las listas de correo ya que el bug tendrá un número de rastreo asignado y le será posible regresar luego y verificar el status del bug. La base de datos de bugs puede encontrarse en http://bugs.php.net/.

Anterior | Inicio | Siguiente
FAQ: Preguntas frecuentes | Subir | Listas de correo


Listas de correo

Manual de PHP
Anterior Siguiente

Capítulo 50. Listas de correo

Esta sección contiene preguntas sobre cómo ponerse en contacto con la comunidad de PHP. La mejor manera es a través de las listas de correo.

1. ¿Existen listas de correo sobre PHP?
2. ¿Existen otras comunidades?
3. ¡Ayuda! ¡Aparentemente no puedo iniciar/cancelar suscripciones en una de las listas de correo!
4. ¿Existe un archivo de las listas de correo en alguna parte?
5. ¿Qué puedo preguntar a la lista de correo?
6. ¿Qué información debo incluir cuando envío mensajes a la lista de correo?

1. ¿Existen listas de correo sobre PHP?

¡Por supuesto! Existen varias listas de correo para varios asuntos. Una lista completa de listas de correo puede encontrarse en nuestra página de Soporte.

La lista de correo más general es php-general. Para suscribirse, envíe un correo a php-general-subscribe@lists.php.net. No necesita incluir nada especial en el asunto o cuerpo del mensaje. Para cancelar la suscripción, envíe un correo a php-general-unsubscribe@lists.php.net.

También puede iniciar y cancelar suscripciones usando la interfaz web en nuestra página de Soporte.

2. ¿Existen otras comunidades?

Existe un sinnúmero de ellas alrededor del mundo. Nosotros contamos con enlaces, por ejemplo, hacia servidores IRC y listas de correo en diferentes lenguajes en nuestra página de Soporte.

3. ¡Ayuda! ¡Aparentemente no puedo iniciar/cancelar suscripciones en una de las listas de correo!

Si tiene problemas con la suscripción o cancelación de una suscripción en la lista de correo php-general, puede ser debido a que el software de la lista de correo no puede adivinar la dirección de correo apropiada para usar. Si su dirección de correo electrónico era joeblow@example.com, puede enviar su petición de suscripción a php-general-subscribe-joeblow=example.com@lists.php.net, o su petición de cancelación del servicio a php-general-unsubscribe-joeblow=example.com@lists.php.net. Use direcciones similares para las otras listas de correo.

4. ¿Existe un archivo de las listas de correo en alguna parte?

Si, encontrará una lista de sitios que mantienen archivos en la página de Soporte. Los artículos de las listas de correo también son archivados como mensajes de noticias. Puede acceder al servidor de noticias en news://news.php.net/ con un cliente de este servicio. También existe una interfaz web experimental para el servidor de noticias en http://news.php.net/

5. ¿Qué puedo preguntar a la lista de correo?

Dado que PHP está creciendo más y más cada día, el tráfico en la lista de correo php-general se ha incrementado y en el momento ronda los 150 a 200 mensajes por día. Debido a esto, es del interés de todos que use la lista como un último recurso una vez ha probado todos los otros caminos.

Antes de enviar un mensaje a la lista, por favor eche un vistazo a este FAQ y el manual para ver si puede encontrar ayuda en tales sitios. Si no encuentra nada, pruebe con los archivos de la lista de correo (vea la mención de este tema en un punto anterior). Si tiene problemas con la instalación o configuración de PHP, por favor lea en su totalidad la documentación incluida y los documentos README. Si aun no puede encontrar información que le ayude, entonces es más que bienvenido a usar la lista de correo.

Antes de formular preguntas, puede que quiera leer el documento sobre Cómo Formular Preguntas de Forma Inteligente, cosa que es una buena idea para todos.

6. ¿Qué información debo incluir cuando envío mensajes a la lista de correo?

Mensajes del tipo "¡No logro que PHP funcione! ¡Ayúdenme! ¿Qué está pasando?" son absolutamente inútiles para cualquier persona. Si está sufriendo dificultades con la configuración y ejecución de PHP, debe incluir información sobre el sistema operativo que usa, la versión de PHP que está tratando de instalar, en qué forma adquirió el software (pre-compilado, CVS, RPMs, etc), qué ha hecho hasta el momento, en qué punto se interrumpió el proceso, y el mensaje de error exacto.

Esto se aplica también para cualquier otro problema. Debe incluir información sobre lo que ha hecho, en dónde quedó bloqueado, qué está tratando de hacer y, si se aplica, los mensajes de error exactos. Si tiene problemas con su código fuente, necesita incluir la parte de éste que no está trabajando. ¡Aunque, no incluya más código del necesario! Hace que el mensaje sea difícil de leer, y muchas personas pueden simplemente ignorarlo por esta razón. Si no está seguro sobre la cantidad de información a incluir en el correo, es mejor que incluya de más.

Otra cosa importante a tener en cuenta es ofrecer un resumen de su problema en la línea de asunto. Un asunto como "¡AYÚDENME!!!" o "¿Cuál es el problema aquí?" será ignorado por la mayoría de lectores.

Y, por último, es recomendable que lea el documento sobre Cómo Formular Preguntas de Forma Inteligente, cosa que será de ayuda para todos, especialmente para usted.

Anterior | Inicio | Siguiente
Información General | Subir | Obtención de PHP


Obtención de PHP

Manual de PHP
Anterior Siguiente

Capítulo 51. Obtención de PHP

Esta sección contiene detalles sobre las ubicaciones de descarga de PHP, y asuntos particulares a ciertos sistemas operativos.

1. ¿Desde dónde puedo obtener PHP?
2. ¿Hay versiones binarias pre-compiladas disponibles?
3. ¿En dónde puedo encontrar las bibliotecas requeridas para compilar algunas de las extensiones opcionales de PHP?
4. ¿Cómo logro que estas bibliotecas funcionen?
5. He conseguido la última versión del código PHP desde el repositorio CVS en mi máquina Windows, ¿qué necesito para su compilación?
6. ¿En dónde encuentro el Archivo de Capacidades del Navegador?

1. ¿Desde dónde puedo obtener PHP?

Puede descargar PHP desde cualquiera de los miembros de la red de sitios PHP. Estos pueden encontrarse en http://www.php.net/. También puede usar CVS anónimo para obtener la última versión del código fuente. Para más información, visite http://www.php.net/anoncvs.php.

2. ¿Hay versiones binarias pre-compiladas disponibles?

Nosotros sólo distribuimos binarios pre-compilados para sistemas Windows, dado que no tenemos la capacidad de compilar PHP para cada plataforma Linux/Unix popular con todas las combinaciones de extensiones. También note que muchas distribuciones Linux vienen con PHP integrado en la actualidad. Los binarios de Windows pueden descargarse desde nuestra página de Descargas, para encontrar binarios Linux, por favor visite el sitio web de su distribución.

3. ¿En dónde puedo encontrar las bibliotecas requeridas para compilar algunas de las extensiones opcionales de PHP?

Nota: Aquellas marcadas con el signo * son bibliotecas que no son seguras en entornos multi-hilos, y no deberían ser usadas con PHP como módulo de servidor en los servidores web milti-hilos de Windows (IIS, Netscape). Por el momento, esto no tiene importancia en los entornos Unix.

  • LDAP (Unix).

  • LDAP (Unix/Win) : Mozilla Directory (LDAP) SDK

  • servidor LDAP gratuito.

  • Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.

  • SNMP* (Unix): .

  • GD* (Unix/Win).

  • mSQL* (Unix).

  • PostgreSQL (Unix).

  • IMAP* (Win/Unix).

  • Sybase-CT* (Linux, libc5) : Disponible localmente.

  • FreeType (libttf):.

  • ZLib (Unix/Win32).

  • procesador XML expat (Unix/Win32).

  • PDFLib.

  • mcrypt.

  • mhash.

  • t1lib.

  • dmalloc.

  • aspell.

  • readline.

4. ¿Cómo logro que estas bibliotecas funcionen?

Necesitará seguir las instrucciones provistas con la biblioteca. Algunas de estas bibliotecas son detectadas automáticamente cuando ejecuta el script 'configure' de PHP (como la biblioteca GD), y otras tendrán que ser habilitadas usando opciones '--with-EXTENSION' con 'configure'. Ejecute 'configure --help' para recibir un listado de estas opciones.

5. He conseguido la última versión del código PHP desde el repositorio CVS en mi máquina Windows, ¿qué necesito para su compilación?

Primero, necesita Microsoft Visual C++ v6 (la versión 5 puede que funcione, pero nosotros usamos la versión 6), y necesitará algunos archivos de soporte. Vea la sección del manual sobre la compilación de PHP desde las fuentes en Windows.

6. ¿En dónde encuentro el Archivo de Capacidades del Navegador?

Puede encontrar un archivo browscap.ini en http://browsers.garykeith.com/downloads.asp.

Anterior | Inicio | Siguiente
Listas de correo | Subir | Problemas con bases de datos


Problemas con bases de datos

Manual de PHP
Anterior Siguiente

Capítulo 52. Problemas con bases de datos

Esta sección contiene preguntas comunes sobre la relación entre PHP y bases de datos. Sí, PHP puede acceder a prácticamente cualquier base de datos disponible hoy en día.

1. He escuchado que es posible acceder a Microsoft SQL Server desde PHP. ¿Cómo?
2. ¿Puedo acceder a bases de datos Microsoft Access?
3. He actualizado a PHP 4, y ahora mysql me dice persistentemente "Warning: MySQL: Unable to save result set in ...". ¿Qué sucede?
4. PHP 5 ya no incluye bibliotecas cliente de MySQL, ¿qué representa esto para mí? ¿Aun puedo usar MySQL con PHP? Intento usar MySQL y obtengo errores de tipo "function undefined", ¿qué pasa?
5. Después de instalar el soporte de MySQL compartido, Apache produce un volcado de memoria tan pronto libphp4.so se carga. ¿Puede solucionarse esto?
6. ¿Porqué recibo un error que luce algo así: "Warning: 0 is not a MySQL result index in <archivo> on line <x>" o "Warning: Supplied argument is not a valid MySQL result resource in <archivo> on line <x>"?

1. He escuchado que es posible acceder a Microsoft SQL Server desde PHP. ¿Cómo?

En máquinas Windows, puede simplemente usar el soporte ODBC incluido y el controlador ODBC apropiado.

En máquinas Unix, es posible usar el controlador Sybase-CT para acceder a Servidores Microsoft SQL ya que son compatibles (en su mayoría) al nivel del protocolo. Sybase ha creado una versión gratuita de las bibliotecas necesarias para sistemas Linux. Para otros sistemas operativos Unix, necesita ponerse en contacto con Sybase para obtener las bibliotecas correctas. Consulte también la respuesta a la siguiente pregunta.

2. ¿Puedo acceder a bases de datos Microsoft Access?

Si. Usted ya tiene todas las herramientas necesarias si está corriendo enteramente bajo Windows 9x/Me, o NT/2000, en donde es posible usar ODBC y los controladores ODBC para bases de datos Microsoft Access.

Si está corriendo PHP en una máquina Unix y desea comunicarse con MS Access en una máquina Windows, necesitará controladores ODBC para Unix. OpenLink Software tiene controladores ODBC basados en Unix que tienen esa capacidad.

Otra alternativa consiste en usar un servidor SQL que tenga controladores ODBC Windows y usarlo para almacenar los datos, a los cuales puede acceder desde Microsoft Access (usando ODBC) y PHP (usando los controladores incorporados), o usar un formato de archivo intermedio que Access y PHP entiendan, como archivos planos o bases de datos dBase. Sobre este punto, Tim Hayes de OpenLink software escribe:

Usar otra base de datos como intermediario no es una buena idea, cuando es posible usar ODBC desde PHP directamente a su base de datos - es decir, con los controladores de OpenLink. Si realmente necesita usar un formato de archivo intermedio, OpenLink ha lanzado ahora Virtuoso (un motor de bases de datos virtual) para NT, Linux y otras plataformas Unix. Por favor visite nuestro sitio web para una descarga gratuita.

Una opción que ha sido probada con éxito es usar MySQL y sus controladores MyODBC en Windows y sincronizar las bases de datos. Steve Lawrence escribe:

  • Instale MySQL en su plataforma de acuerdo a las instrucciones de MySQL. La última versión disponible se encuentra en http://www.mysql.com/ No se requiere ninguna configuración especial, exceptuando al momento de configurar una base de datos, y al configurar la cuenta de usuario, debe poner % en el campo de host, o el nombre del host del equipo Windows a la que desea acceder desde MySQL. Anote su nombre de servidor, nombre de usuario y contraseña.

  • Descargue el controlador MyODBC para Windows desde el sitio de MySQL. Instálelo en su equipo Windows. Es posible probar su operación con las utilidades incluidas con este programa.

  • Cree un usuario o dsn de sistema en su administrador de ODBC, ubicado en el panel de control. Cree un nombre dsn, ingrese su nombre de host, nombre de usuario, contraseña, puerto, etc. para su base de datos MySQL configurada en el paso 1.

  • Instale Access usando la instalación completa, esto asegura que tenga las elementos adicionales apropiados... por lo menos requerirá el soporte ODBC y el gestor de tablas enlazadas.

  • ¡Ahora la parte divertida! Cree una nueva base de datos access. En la ventana de tabla use el clic derecho y seleccione Enlazar Tablas, o bajo la opción del menú de archivo, seleccione Obtener Datos Externos y luego Enlazar Tablas. Cuando el cuadro de navegación de archivos aparezca, seleccione archivos de tipo: ODBC. Seleccione dsn de Sistema y el nombre de su dsn creado en el paso 3. Seleccione la tabla a enlazar, presione Aceptar, y ¡listo! ¡Ahora es posible abrir la tabla y agregar/eliminar/editar datos en su servidor MySQL! También es posible construir consultas, importar/exportar tablas a MySQL, construir formularios y reportes, etc.

Consejos y Trucos:

  • Es posible construir sus tablas en Access y exportarlas a MySQL, y luego enlazarlas de vuelta. Esto facilita la rápida creación de tablas.

  • Cuando se crean tablas en Access, es necesario tener una llave primaria definida para tener acceso de escritura a la tabla en access. Asegúrese de crear una llave primaria en MySQL antes de enlazar en access.

  • Si modifica una tabla en MySQL, es necesario re-enlazarla en Access. Diríjase a herramientas>adiciones>gestor de tablas enlazadas, vaya a su DSN ODBC, y seleccione la tabla a re-enlazar desde allí. También es posible transladar su fuente dsn allí, simplemente active el cuadro de verificación "siempre preguntar por una ubicación nueva" antes de presioner Aceptar.

3. He actualizado a PHP 4, y ahora mysql me dice persistentemente "Warning: MySQL: Unable to save result set in ...". ¿Qué sucede?

Lo más posible es que PHP 4 haya sido compilado con la opción --with-mysql, sin especificar la ruta a MySQL. Esto quiere decir que PHP está usando su biblioteca cliente de MySQL incorporada. Si su sistema está ejecutando aplicaciones, tales como PHP 3 como un módulo concurrente de Apache, o auth-mysql, que usan otras versiones de cliente MySQL, entonces existe un conflicto entre las dos versiones diferentes de esos clientes.

Recompilar PHP 4, y agregar la ruta a la bandera MySQL, '--with-mysql=/su/ruta/hacia/mysql' por lo general resuelve este problema.

4. PHP 5 ya no incluye bibliotecas cliente de MySQL, ¿qué representa esto para mí? ¿Aun puedo usar MySQL con PHP? Intento usar MySQL y obtengo errores de tipo "function undefined", ¿qué pasa?

Si. Siempre habrá soporte MySQL en PHP en una forma u otra. El único cambio en PHP 5 es que ya no distribuimos la biblioteca cliente como tal. Algunas razones, sin orden alguno en particular:

  • La mayoría de sistemas en la actualidad ya tienen la biblioteca cliente instalada.

  • Dado lo anterior, tener versiones múltiples de la biblioteca puede causar problemas. Por ejemplo, si enlaza mod_auth_mysql contra una versión y PHP contra otra, y luego habilita ambos en Apache, obtendrá un bonito y gordo fallo. Asimismo, la biblioteca distribuida no siempre jugaba bien con la versión del servidor instalada. El síntoma más obvio de esta situación es el desacuerdo sobre el lugar en donde encontrar el archivo de sockets de dominio Unix mysql.socket.

  • Su mantenimiento era un poco laxo y estaba quedándose cada vez más atrás de la versiones lanzadas.

  • Las versiones futuras de la biblioteca están bajo la GPL y por lo tanto no contamos con una ruta de actualización, ya que no podemos distribuir una biblioteca GPL en un proyecto con licencia tipo BSD/Apache. Un corte limpio en PHP 5 parecía la mejor opción.

Esto en realidad no afectará a muchos. Los usuarios de Unix, por lo menos aquellos que saben lo que están haciendo, tienden a compilar siempre PHP contra sus bibliotecas de sistema libmyqlclient agregando la opción --with-mysql=/usr cuando se compila PHP. Los usuarios de Windows pueden habilitar la extensión php_mysql.dll al interior de php.ini. Para más detalles, vea la Referencia de MySQL sobre las instrucciones de instalación. También, asegúrese de que libmysql.dll se encuentre disponible en el PATH del sistema. Para más detalles sobre el cómo, lea el FAQ sobre configurar el valor PATH en sistemas Windows. Dado que libmysql.dll (y varios otros archivos relacionados) existen en la carpeta de PHP, usted querrá agregar la carpeta de PHP al PATH del sistema.

5. Después de instalar el soporte de MySQL compartido, Apache produce un volcado de memoria tan pronto libphp4.so se carga. ¿Puede solucionarse esto?

Si sus bibliotecas de MySQL están enlazadas contra pthreads ocurrirá esto. Verifique usando ldd. Si lo están, obtenga las fuentes de MySQL y compile desde allí, o re-compile desde el rpm fuente y elimine el conmutador en el archivo spec que habilita el código de cliente con hilos. Cualquiera de estas sugerencias solucionará el problema. Luego recompile PHP con las nueval bibliotecas MySQL.

6. ¿Porqué recibo un error que luce algo así: "Warning: 0 is not a MySQL result index in <archivo> on line <x>" o "Warning: Supplied argument is not a valid MySQL result resource in <archivo> on line <x>"?

Está intentando usar un identificador de resultado que es 0. El 0 indica que su consulta falló por alguna razón. Necesita verificar errores después de enviar una consulta y antes de que intente usar el identificador de resultado devuelto. La manera apropiada de hacerlo es con un código similar al siguiente:

<?php

$resultado = mysql_query("SELECT * FROM tablas_priv");
if (!$resultado) {
    echo mysql_error();
    exit;
}
?>
o
<?php

$resultado = mysql_query("SELECT * FROM tablas_priv")
    or die("Consulta fallida: " . mysql_error());
?>

Anterior | Inicio | Siguiente
Obtención de PHP | Subir | Preguntas Frecuentes de Instalación


Preguntas Frecuentes de Instalación

Manual de PHP
Anterior Siguiente

Capítulo 53. Preguntas Frecuentes de Instalación

Esta sección contiene preguntas comunes sobre el modo de instalar PHP. PHP se encuentra disponible para casi cualquier SO (excepto quizás por MacOS antes de OSX), y casi cualquier servidor web.

Para instalar PHP, siga las instrucciones en Parte II en Manual de PHP.

1. ¿Porqué no debo usar Apache 2 con un módulo de multi-procesamiento (MPM) multi-hilos en un entorno en producción?
2. Unix/Windows: ¿En dónde debe estar ubicado mi archivo php.ini?
3. Unix: Instalé PHP, ¡pero cada vez que cargo un documento, recibo el mensaje 'Document Contains No Data'! ¿Qué está pasando aquí?
4. Unix: Instalé PHP usando RPMS, ¡pero Apache no está procesando las páginas PHP! ¿Qué está pasando aquí?
5. Unix: Instalé PHP 3 usando RPMS, ¡pero no compila con el soporte de bases de datos que necesito! ¿Qué está pasando?
6. Unix: He aplicado el parche de extensiones FrontPage a Apache, y de pronto PHP dejó de funcionar. ¿Es PHP incompatible con las extensiones FrontPage de Apache?
7. Unix/Windows: He instalado PHP, pero cuando intento acceder a un script PHP a través de mi navegador, recibo una pantalla en blanco.
8. Unix/Windows: He instalado PHP, pero cuando intento acceder a un script PHP a través de mi navegador, recibo un error 500 de servidor.
9. Algunos sistemas operativos: He instalado PHP sin errores, pero cuando intento iniciar apache, recibo errores de símbolos indefinidos:
[mi_maquina:usuario /src/php4] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress
10. Windows: He instalado PHP, pero cuando intento acceder a un script PHP a través de mi navegador, recibo el error:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:
11. Windows: He seguido todas las instrucciones, ¡pero aun no logro que PHP e IIS trabajen juntos!
12. Cuando corro PHP como CGI con IIS, PWS, OmniHTTPD o Xitami, recibo el siguiente error: Security Alert! PHP CGI cannot be accessed directly..
13. ¿Cómo sé si mi php.ini está siendo encontrado y leído? Pareciera que mis cambios no están siendo implementados.
14. ¿Cómo agrego mi directorio de PHP a la variable PATH en Windows?
15. ¿Cómo hago que el archivo php.ini se encuentre disponible para PHP en windows?
16. ¿Es posible usar la negociación de contenido de Apache (opción MultiViews) con PHP?
17. ¿PHP se limita a procesar los métodos de petición GET y POST solamente?

1. ¿Porqué no debo usar Apache 2 con un módulo de multi-procesamiento (MPM) multi-hilos en un entorno en producción?

PHP es pegamento. Es el pegamento usado para construir interesantes aplicaciones web, uniendo docenas de bibliotecas externas y haciéndolas parecer una entidad coherente a través de una interfaz de lenguaje intuitiva y fácil de aprender. La flexibilidad y poder de PHP depende de la estabilidad y robustez de la plataforma subyacente. Necesita de un SO que funcione, un servidor web que funcione y unas bibliotecas externas que funcionen para unirlo todo. Cuando uno cualquiera de estos elementos deja de trabajar, PHP necesita identificar los problemas y solucionarlos rápidamente. Al hacer más complejo el marco de referencia base, no disponiendo de hilos de ejecución completamente separados, segmentos de memoria completamente separados y una caja de arena segura para que cada petición trabaje, se introduce una base débil al sistema de PHP.

Si siente que necesita usar un MPM multi-hilos, puede echarle un vistazo a la configuración FastCGI, en donde PHP corre en su propio espacio de memoria.

Y finalmente, note que esta advertencia contra el uso de un MPM multi-hilos no tiene tanta fuerza en sistemas Windows, ya que la mayoría de bibliotecas en esa platafarma tienden a ser seguras en entornos multi-hilo.

2. Unix/Windows: ¿En dónde debe estar ubicado mi archivo php.ini?

De forma predeterminada, en Unix debe estar en /usr/local/lib, lo que es, <ruta-instalacion>/lib. La mayoría de personas querrán modificar este valor en tiempo de compilación con la bandera --with-config-file-path. Podría, por ejemplo, definirla como:

--with-config-file-path=/etc
Y luego copiaría php.ini-dist desde su distribución a /etc/php.ini y lo editaría para hacer cualquier modificación local que desee.

--with-config-file-scan-dir=PATH

En windows, la ruta predeterminada para el archivo php.ini es el directorio de windows. Si está usando el servidor web Apache, php.ini será buscado primero en el directorio de instalación de Apache, p.ej. c:\program files\apache group\apache. De este modo, puede contar con diferentes archivos php.ini para diferentes versiones de Apache en la misma máquina.

Vea también el capítulo sobre el archivo de configuración.

3. Unix: Instalé PHP, ¡pero cada vez que cargo un documento, recibo el mensaje 'Document Contains No Data'! ¿Qué está pasando aquí?

Esto probablemente quiere decir que PHP está sufriendo algún tipo de dificultad y está produciendo volcados de memoria. Eche un vistazo a su registro de errores del servidor para ver si éste es el caso, y luego trate de reproducir el problema con un pequeño caso de prueba. Si sabe cómo usar 'gdb', es muy útil cuando puede proveer un backtrace con su reporte de fallo para ayudar a los desarrolladores a ubicar el problema. Si está usando PHP como módulo de Apache, intente algo como:

  • Detener todos sus procesos httpd

  • gdb httpd

  • Detener todos sus procesos httpd

  • > run -X -f /ruta/hacia/httpd.conf

  • Luego recuperar la URL que causa el problema con su navegador

  • > run -X -f /ruta/hacia/httpd.conf

  • Si está recibiendo un volcado de memoria, gdb debe informarle de ésto.

  • escriba: bt

  • Ahora debe incluir su backtrace en su reporte de fallo. Éste debe ser enviado desde http://bugs.php.net/

Si su script usa las funciones de expresiones regulares (ereg() y amigas), debe asegurarse de que compiló PHP y Apache con el mismo paquete de expresiones regulares. Esto debe pasar automáticamente con PHP y Apache 1.3.x

4. Unix: Instalé PHP usando RPMS, ¡pero Apache no está procesando las páginas PHP! ¿Qué está pasando aquí?

Asumiendo que ha instalado tanto Apache como PHP desde paquetes RPM, necesita remover los caracteres de comentario, o agregar algunas o todas de las siguientes líneas en su archivo httpd.conf:

# Módulos Extra
AddModule mod_php.c
AddModule mod_php3.c
AddModule mod_perl.c

# Módulos Extra
LoadModule php_module         modules/mod_php.so
LoadModule php3_module        modules/libphp3.so     # para PHP 3
LoadModule php4_module        modules/libphp4.so     # para PHP 4
LoadModule perl_module        modules/libperl.so
Y agregar:
AddType application/x-httpd-php3 .php3    # para PHP 3
AddType application/x-httpd-php .php      # para PHP 4
... a las propiedades globales, o a las propiedades del VirtualDomain para el cual desea tener soporte de PHP.

5. Unix: Instalé PHP 3 usando RPMS, ¡pero no compila con el soporte de bases de datos que necesito! ¿Qué está pasando?

Debido a la forma en que se compila PHP 3, no es sencillo crear un RPM de PHP flexible completo. Este problema es atendido en PHP 4. Para PHP 3, actualmente le sugerimos que use el mecanismo descrito en el archivo INSTALL.REDHAT en la distribución de PHP. Si insiste en usar una versión RPM para PHP 3, continúe leyendo...

Los empaquetadores de RPM están configurando los RPMS para ser instalados sin soporte de bases de datos para simplificar las instalaciones y porque los RPMS usan /usr/ en lugar del directorio /usr/local/ estándar para los archivos. Usted necesita decirle al archivo spec del RPM cuáles bases de datos soportar y la ubicación del nivel más alto de su servidor de bases de datos.

Este ejemplo explicará el proceso de agregar soporte para el popular servidor de bases de datos MySQL, usando la instalación de módulo para Apache.

Por supuesto, toda esta información puede ser ajustada para cualquier servidor de bases de datos soportada por PHP. Asumiremos que ha instalado MySQL y Apache completamente con RPMS para este ejemplo también.

  • Primero remueva mod_php3 :

    rpm -e mod_php3

  • Luego obtenga el rpm fuente e INSTÁLELO, NO use --rebuild

    rpm -Uvh mod_php3-3.0.5-2.src.rpm

  • Luego edite el archivo /usr/src/redhat/SPECS/mod_php3.spec

    En la sección %build agrege el soporte de bases de datos que desea, y la ruta.

    Para MySQL, usted agregaría --with-mysql=/usr La sección %build se verá algo como:

    ./configure --prefix=/usr \
--with-apxs=/usr/sbin/apxs \
--with-config-file-path=/usr/lib \
--enable-debug=no \
--enable-safe-mode \
--with-exec-dir=/usr/bin \
--with-mysql=/usr \
--with-system-regex

  • Una vez está hecha esta modificación, compile el rpm binario de este modo:

    rpm -bb /usr/src/redhat/SPECS/mod_php3.spec

  • Luego instale el rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm

Asegúrese de reiniciar Apache, y ahora tendrá PHP 3 con soporte para MySQL usando RPM's. Note que probablemente es mucho más fácil simplemente compilar a partir del tarball de distribución de PHP 3 y seguir las instrucciones encontradas en INSTALL.REDHAT.

6. Unix: He aplicado el parche de extensiones FrontPage a Apache, y de pronto PHP dejó de funcionar. ¿Es PHP incompatible con las extensiones FrontPage de Apache?

No, PHP trabaja bien con las extensiones FrontPage. El problema es que el parche de FrontPage modifica varias estructuras de Apache en las que depende PHP. Recompilar PHP (usando 'make clean ; make') después de que se ha aplicado el parche FP debe solucionar el problema.

7. Unix/Windows: He instalado PHP, pero cuando intento acceder a un script PHP a través de mi navegador, recibo una pantalla en blanco.

Seleccione la acción 'ver código fuente' en el navegador web y probablemente encontrará el código fuente de su script PHP. Esto quiere decir que el servidor web no envió el script a PHP para su interpretación. Algo está mal en la configuración del servidor - revise cuidadosamente la configuración del servidor con las instrucciones de instalación de PHP.

8. Unix/Windows: He instalado PHP, pero cuando intento acceder a un script PHP a través de mi navegador, recibo un error 500 de servidor.

Algo falló cuando el servidor intentó ejecutar PHP. Para poder ver un mensaje de error más útil, desde la línea de comandos, vaya al directorio que contiene el ejecutable PHP (php.exe en Windows) y ejecute php -i. Si PHP tiene algún problema corriendo, entonces se desplegará un mensaje de error apropiado, el cual le dará una pista sobre lo que debe hacer a continuación. Si recibe una pantalla llena de códigos HTML (la salida de la función phpinfo()) entonces PHP está funcionando, y su problema puede estar relacionado con la configuración de su servidor, la cual debe revisar de nuevo.

9. Algunos sistemas operativos: He instalado PHP sin errores, pero cuando intento iniciar apache, recibo errores de símbolos indefinidos:

[mi_maquina:usuario /src/php4] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

Esto no tiene nada que ver con PHP en realidad, sino con las bibliotecas de cliente de MySQL. Algunas necesitan --with-zlib, otras no. Este tema también se cubre en el FAQ sobre MySQL.

10. Windows: He instalado PHP, pero cuando intento acceder a un script PHP a través de mi navegador, recibo el error:

cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

El mensaje de error significa que PHP falló en su intento de producir una salida. Para poder ver un mensaje de error más útil, desde la línea de comandos, vaya al directorio que contiene el ejecutable de PHP (php.exe en Windows) y ejecute php -i. Si PHP tiene algún problema ejecutándose, entonces se desplegará un mensaje de error apropiado, el cual le dará una pista sobre lo que necesita hacer a continuación. Si recibe una pantalla llena de códigos HTML (la salida de la función phpinfo()) entonces PHP está funcionando.

Una vez PHP esté trabajando desde la línea de comandos, intente acceder al script desde el navegador nuevamente. Si aun falla, entonces la causa puede ser alguna de las siguientes:

  • Los permisos de archivo en su script PHP, php.exe, php4ts.dll, php.ini o cualquier extensión PHP que esté tratando cargar son de tal forma que el usuario anónimo de internet ISUR_<nombre_maquina> no tiene acceso a estos recursos.

  • El archivo del script no existe (o posiblemente no se encuentra en donde cree que está, relativo a su directorio web raíz). Note que para IIS, puede atrapar este error seleccionando la caja 'check file exists' cuando esté configurando la gestión de scripts bajo Internet Services Manager. Si un archivo de script no existe, entonces el servidor devolverán un error 404 en su lugar. También existe el beneficio adicional de que IIS se encargará de cualquier autenticación requerida por usted, basado en los permisos NTLanMan en su archivo de script.

11. Windows: He seguido todas las instrucciones, ¡pero aun no logro que PHP e IIS trabajen juntos!

¡Asegúrese de que cualquier usuario que necesite ejecutar un script PHP tenga los permisos para ejecutar php.exe! IIS usa un usuario anónimo que es agregado al momento de instalar IIS. Este usuario necesita privilegios sobre php.exe. También, cualquier usuario autenticado necesitará permisos para ejecutar php.exe. Y para IIS4, necesita decirle que PHP es un motor de scripts. Asimismo, querrá leer este faq.

12. Cuando corro PHP como CGI con IIS, PWS, OmniHTTPD o Xitami, recibo el siguiente error: Security Alert! PHP CGI cannot be accessed directly..

Debe definir la directiva cgi.force_redirect como 0. Su valor predeterminado es 1, así que asegúrese de que la directiva no se encuentre comentada (con un ;). Como todas las directivas, ésta se define en php.ini

Debido a que su valor predeterminado es 1, es importante que esté 100% seguro de que el archivo php.ini correcto está siendo leído. Lea este faq para más detalles.

13. ¿Cómo sé si mi php.ini está siendo encontrado y leído? Pareciera que mis cambios no están siendo implementados.

Para asegurarse de que su php.ini está siendo leído por PHP, haga un llamado a phpinfo(), y cerca del comienzo encontrará un listado llamado Configuration File (php.ini). Éste le dirá en dónde está buscando PHP el archivo php.ini y si está siendo leído o no. Si sólo existe un directorio PATH, entonces no está siendo leído y debe colocar su php.ini en ese directorio. Si php.ini es incluido con la ruta PATH, entonces está siendo leído.

Si php.ini está siendo leido y está ejecutando PHP como un módulo, entonces asegúrese de reiniciar su navegador web después de hacer cambios a php.ini

14. ¿Cómo agrego mi directorio de PHP a la variable PATH en Windows?

En Windows NT, 2000, XP y 2003:

  • Diríjase al Panel de Control y abra el ícono de Sistema (Inicio -> Configuración -> Panel de Control -> Sistema, o simplemente Inicio -> Panel de Control -> Sistema en Windows XP/2003)

  • Vaya a la solapa Avanzado

  • Pulse el botón 'Variables de Entorno'

  • Consulte el panel de 'Variables de Sistema'

  • Encuentre la entrada Path (puede que tenga que desplazarse por la lista para encontrarla)

  • Haga doble clic sobre la entrada Path

  • Ingrese su directorio PHP al final, incluyendo ';' al comienzo (p.ej. ;C:\php)

  • Presione Aceptar y reinicie su máquina

En Windows 98/Me necesita editar el archivo autoexec.bat:

  • Abra el Bloc de Notas (Inicio -> Ejecutar y escriba notepad)

  • Abra el archivo C:\autoexec.bat

  • Ubique la línea con PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... y agregue: ;C:\php al final de la línea

  • Guarde el archivo y reinicie su máquina

Nota: Asegúrese de reiniciar después de seguir los anteriores pasos para asegurarse de que los cambias a PATH sean aplicados.

El manual de PHP solía promover la copia de archivos al directorio system de Windows, esto es porque el directorio (C:\Windows, C:\WINNT, etc.) se encuentra por defecto en el valor PATH del sistema. Copiar archivos en el directorio system de Windows se considera obsoleto desde hace bastante tiempo, y puede causar problemas.

15. ¿Cómo hago que el archivo php.ini se encuentre disponible para PHP en windows?

Existen varias formas de lograr esto. Si está usando Apache, lea sus instrucciones específicas de instalación (Apache 1, Apache 2), o de lo contrario debe definir la variable de entorno PHPRC:

En Windows NT, 2000, XP y 2003:

  • Diríjase al Panel de Control y abra el ícono de Sistema (Inicio -> Configuración -> Panel de Control -> Sistema, o simplemente Inicio -> Panel de Control -> Sistema para Windows XP/2003)

  • Vaya a la solapa de Avanzado

  • Pulse sobre el botón 'Variables de Entorno'

  • Consulte el panel de 'Variables de sistema'

  • Pulse sobre 'Nueva' e ingrese 'PHPRC' como el nombre de variable y el directorio en donde se encuentra php.ini como el valor de la variable (p.ej. C:\php)

  • Pulse aceptar y reinicie su máquina

En Windows 98/Me necesita editar el archivo autoexec.bat:

  • Abra el Bloc de Notas (Inicio -> Ejecutar e ingrese notepad)

  • Abra el archivo C:\autoexec.bat

  • Agrege una nueva línea al final del archivo: set PHPRC=C:\php (reemplace C:\php con el directorio en donde se encuentra php.ini). Por favor note que la ruta no puede contener espacios. Por ejemplo si tiene instalado PHP en C:\Archivos de Programa\PHP, usted debería ingresar C:\ARCHIV~1\PHP en su lugar.

  • Guarde el archivo y reinicie su máquina

16. ¿Es posible usar la negociación de contenido de Apache (opción MultiViews) con PHP?

Si los enlaces a archivos PHP incluyen la extensión, todo trabaja perfectamente. Este FAQ es sólo para el caso en el que los enlaces a archivos PHP no incluyen la extensión y se desea usar la negociación de contenido para elegir archivos PHP de una URL sin extensión. En este caso reemplace la línea AddType application/x-httpd-php .php con:

# PHP 4
AddHandler php-script php
AddType text/html php

# PHP 5
AddHandler php5-script php
AddType text/html php
Esta solución no funciona con Apache 1 ya que el módulo PHP no atrapa php-script.

17. ¿PHP se limita a procesar los métodos de petición GET y POST solamente?

No, es posible manejar cualquier método de petición, p.ej. CONNECT. La respuesta de status apropiada puede ser enviada con header(). Si solo los métodos GET y POST debieran ser manejados, puede conseguirse con esta configuración de Apache:

<LimitExcept GET POST>
Deny from all
</LimitExcept>

Anterior | Inicio | Siguiente
Problemas con bases de datos | Subir | Problemas de Compilación


Problemas de Compilación

Manual de PHP
Anterior Siguiente

Capítulo 54. Problemas de Compilación

Esta sección reúne la mayoría de errores que ocurren en tiempo de compilación.

1. Tengo la última versión de PHP usando el servicio de CVS anónimo, ¡pero no hay un script configure!
2. Tengo problemas configurando PHP para que funcione con Apache. Dice que no puede encontrar httpd.h, ¡pero está allí donde dije que estaba!
3. Mientras configuraba PHP (./configure), se encuentra con un error similar al siguiente:
4. Cuando intento iniciar Apache, recibo el siguiente mensaje:
5. Cuando ejecuto configure, ¡dice que no puede encontrar los archivos de inclusión o la biblioteca GD, gdbm o algún otro paquete!
6. Cuando está compilando el archivo language-parser.tab.c, produce errores diciendo yytname undeclared.
7. Cuando ejecuto make, parece correr bien pero luego falla cuando intenta enlazar la aplicación final, quejándose de que no puede encontrar algunos archivos.
8. Cuando se enlaza PHP, se queja del número de referencias indefinidas.
9. No puedo lograr que compile PHP con Apache 1.3.
10. He seguido todos los pasos para instalar la versión tipo módulo de Apache en Unix, y mis scripts PHP aparecen en mi navegador o se me pide que guarde el archivo.
11. Dice que use: --activate-module=src/modules/php4/libphp4.a, pero ese archivo no existe, ¡así que lo cambié a --activate-module=src/modules/php4/libmodphp4.a y no funciona! ¿Qué está pasando?
12. Cuando intento compilar Apache con PHP como un módulo estático usando --activate-module=src/modules/php4/libphp4.a me dice que mi compilador no es compatible con ANSI.
13. Cuando intento compilar PHP usando --with-apxs obtengo mensajes de error extraños.
14. Durante make, recibo errores sobre microtime, y muchos sobre RUSAGE_.
15. Cuando compilo PHP con MySQL, configure corre bien, pero durante make recibo un error similar al siguiente: ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', ¿qué está fallando?
16. Quiero actualizar mi instalación de PHP. ¿Dónde puedo encontrar la línea ./configure que fue usada para compilar mi instalación actual de PHP?
17. Cuando se compila PHP con la biblioteca GD se producen errores extraños de compilación o produce un fallo de segmentos (segfault) en la ejecución.
18. Cuando se compila PHP parece que recibo errores aleatorios, como si se colgara. Estoy usando Solaris si eso tiene importancia.

1. Tengo la última versión de PHP usando el servicio de CVS anónimo, ¡pero no hay un script configure!

Es necesario tener el paquete GNU autoconf instalado de modo que pueda generar el script configure desde configure.in. Simplemente ejecute ./buildconf en el directorio superior después de obtener las fuentes del servidor CVS. (Asimismo, a menos que corra configure con la opción --enable-maintainer-mode, el script no será re-creado automáticamente cuando el archivo configure.in sea actualizado, así que debe asegurarse de hacerlo manualmente cuando note que configure.in ha cambiado. Un síntoma de esto es encontrar cosas como @VARIABLE@ en su Makefile después de que se ejecuta configure o config.status.)

2. Tengo problemas configurando PHP para que funcione con Apache. Dice que no puede encontrar httpd.h, ¡pero está allí donde dije que estaba!

Necesita decirle al script configure/setup la ubicación del nivel superior de su árbol fuente de Apache. Esto quiere decir que debe especificar --with-apache=/ruta/hacia/apache y no --with-apache=/ruta/hacia/apache/src.

3. Mientras configuraba PHP (./configure), se encuentra con un error similar al siguiente:

checking lex output file root... ./configure: lex: command not
       found configure: error: cannot find output from lex; giving up

Asegúrese de leer las instrucciones de instalación cuidadosamente y note que necesita instalar tanto flex como bison para compilar PHP. Dependiendo de su configuración, deberá instalar bison y flex ya sea desde el código fuente, o un paquete, como un RPM.

4. Cuando intento iniciar Apache, recibo el siguiente mensaje:

fatal: relocation error: file /ruta/hacia/libphp4.so: symbol
       ap_block_alarms: referenced symbol not found

Este error aparece usualmente cuando se compila el programa núcleo de Apache como una biblioteca DSO para uso compartido. Intente reconfigurar apache, asegurándose de usar por lo menos las siguientes banderas:

--enable-shared=max --enable-rule=SHARED_CORE

Para más información, lea el archivo INSTALL en el nivel superior de Apache, o la página del manual DSO de Apache.

5. Cuando ejecuto configure, ¡dice que no puede encontrar los archivos de inclusión o la biblioteca GD, gdbm o algún otro paquete!

Puede hacer que el script configura busque por archivos de cabecera y bibliotecas en ubicaciones no-estándar especificando banderas a pasar al pre-procesador y enlazador de C, como:

CPPFLAGS=-I/ruta/hacia/include LDFLAGS=-L/ruta/hacia/biblioteca ./configure
Si está usando una variante de csh como intérprete de comandos (¿porqué?), sería:
env CPPFLAGS=-I/ruta/hacia/include LDFLAGS=-L/ruta/hacia/biblioteca ./configure

6. Cuando está compilando el archivo language-parser.tab.c, produce errores diciendo yytname undeclared.

Necesita actualizar su versión de Bison. Puede encontrar la versión más reciente en http://www.gnu.org/software/bison/bison.html.

7. Cuando ejecuto make, parece correr bien pero luego falla cuando intenta enlazar la aplicación final, quejándose de que no puede encontrar algunos archivos.

Algunas versiones antiguas de make no colocan correctamente las versiones compiladas de los archivos en el directorio de funciones en ese mismo directorio. Intente ejecutar cp *.o functions y luego re-ejecute make para ver si eso ayuda. Si lo hace, realmente debería actualizarse a una versión reciente de GNU make.

8. Cuando se enlaza PHP, se queja del número de referencias indefinidas.

Eche un vistazo a la línea de enlace y asegúrese de que todas las bibliotecas apropiadas están siendo incluidas al final. Algunas comunes que puede estar dejando pasar son '-ldl' y cualquier otra biblioteca requerida para el soporte de bases de datos que incluyó.

Si está enlazando con Apache 1.2.x, ¿recordó agregar la información apropiada a la línea EXTRA_LIBS del archivo de configuración y re-ejecutó el script Configure de Apache? Vea el capítulo de instalación para más información.

Algunas personas han reportado también que han tenido que agregar '-ldl' inmediatamente después de libphp4.a cuando enlazan con Apache.

9. No puedo lograr que compile PHP con Apache 1.3.

En realidad es sencillo. Siga los siguientes pasos cuidadosamente:

  • Obtenga la última distribución de Apache 1.3 desde http://www.apache.org/dist/httpd/.

  • Descomprima el archivo en alguna parte, por ejemplo /usr/local/src/apache-1.3.

  • Compile PHP ejecutando en un principio ./configure --with-apache=/<ruta>/apache-1.3 (sustituya <ruta> con la ruta real a su directorio apache-1.3.)

  • Escriba make seguido de make install para compilar PHP y copiar los archivos necesarios al árbol de la distribución de Apache.

  • Cambie de directorios al directorio /<ruta>/apache-1.3/src y edite el archivo Configuration. Agregue al archivo: AddModule modules/php4/libphp4.a.

  • Escriba: ./configure seguido por make.

  • ¡Ahora debe tener un binario httpd habilitado con PHP!

Nota: También es posible usar el nuevo script ./configure de Apache. Vea las instrucciones en el archivo README.configure que es parte de su distribución de Apache. También eche un vistazo al archivo INSTALL en la distribución de PHP.

10. He seguido todos los pasos para instalar la versión tipo módulo de Apache en Unix, y mis scripts PHP aparecen en mi navegador o se me pide que guarde el archivo.

Esto quiere decir que el módulo PHP no está siendo invocado por alguna razón. Tres cosas que puede verificar antes de solicitar más ayuda:

  • Asegúrese de que el binario httpd que está corriendo es el binario httpd real que acaba de compilar. Para hacer esto, pruebe ejecutar: /ruta/hacia/binario/httpd -l

    Si no ve mod_php4.c listado entonces no está ejecutando el binario correcto. Encuentre e instale el binario correcto.

  • Asegúrese de que ha agregado el Tipo Mime correcto a uno de sus archivo .conf de Apache. Debe ser: AddType application/x-httpd-php3 .php3 (para PHP 3)

    o AddType application/x-httpd-php .php (para PHP 4)

    También asegúrese de que esta línea AddType no está escondida al interior de un bloque <Virtualhost> o <Directory> que puede prevenir que se aplique en la ubicación de su script de prueba.

  • Finalmente, la ubicación predeterminada de los archivos de configuración de Apache cambió entre Apache 1.2 y Apache 1.3. Debería verificar que el archivo de configuración al que le está agregando la línea AddType está siendo leído en realidad. Puede colocar un error de sintaxis obvio en su archivo httpd.conf o algún otro cambio obvio que le dirá si el archivo está siendo leído correctamente.

11. Dice que use: --activate-module=src/modules/php4/libphp4.a, pero ese archivo no existe, ¡así que lo cambié a --activate-module=src/modules/php4/libmodphp4.a y no funciona! ¿Qué está pasando?

Note que el archivo libphp4.a no se supone que exista. !El proceso de apache lo creará!

12. Cuando intento compilar Apache con PHP como un módulo estático usando --activate-module=src/modules/php4/libphp4.a me dice que mi compilador no es compatible con ANSI.

Este es un mensaje de error equivocado de Apache que ha sido arreglado en versiones más recientes.

13. Cuando intento compilar PHP usando --with-apxs obtengo mensajes de error extraños.

Hay tres cosas que pueden verificarse. Primero, por alguna razón cuando Apache compila el script Perl apxs, a veces termina compilándose sin las variables y banderas de compilación apropiadas. Encuentre su script apxs (pruebe con el comando which apxs), a veces se encuentra en /usr/local/apache/bin/apxs o /usr/sbin/apxs. Ábralo y verifique que tenga líneas similares a las siguientes:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Si esto es lo que ve, ha encontrado su problema. Puede que contengan solo espacios u otros valores incorrectos, como 'q()'. Cambie estas líneas para que digan:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
El segundo problema posible debería ocurrir únicamente en Red Hat 6.1 y 6.2. El script apxs que distribuye Red Hat está mal. Busque esta línea:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Si ve esta línea, cámbiela por esto:
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
Por último, si usted re-configura/re-instala Apache, agregue un make clean al proceso después de ./configure y antes de make.

14. Durante make, recibo errores sobre microtime, y muchos sobre RUSAGE_.

Durante la porción make de la instalación, si encuentra problemas similares a esto:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Su sistema está dañado. Necesita arreglar sus archivos /usr/include instalando un paquete glibc-devel que coincida con su glibc. Esto no tiene nada que ver con PHP. Para probar este punto, realice la siguiente prueba:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Si eso produce errores, sabrá que sus archivos de inclusión están en mal estado.

15. Cuando compilo PHP con MySQL, configure corre bien, pero durante make recibo un error similar al siguiente: ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', ¿qué está fallando?

Primero, es importante entender que esta es una Advertencia y no un error fatal. Dado que ésta es con frecuencia la última salida observada durante make, puede parecer como un error fatal, pero no lo es. Por supuesto, si ha configurado su compilador para que se detenga en las Advertencias, lo hará. También tenga en cuenta que el soporte MySQL está habilitado por defecto.

Nota: A partir de PHP 4.3.2, también verá el siguiente texto después de que la compilación (make) se complete:

Build complete.
        (It is safe to ignore warnings about tempnam and tmpnam).

16. Quiero actualizar mi instalación de PHP. ¿Dónde puedo encontrar la línea ./configure que fue usada para compilar mi instalación actual de PHP?

Bien puede mirar su archivo config.nice, en el árbol actual de su instalación PHP actual o, si no está disponible, simplemente ejecute un script como el siguiente

<?php phpinfo(); ?>
Al comienzo de la salida, la línea ./configure usada para compilar la instalación PHP actual es desplegada.

17. Cuando se compila PHP con la biblioteca GD se producen errores extraños de compilación o produce un fallo de segmentos (segfault) en la ejecución.

Asegúrese de que su biblioteca GD y PHP están enlazados contra las mismas bibliotecas de dependencia (p.ej. libpng).

18. Cuando se compila PHP parece que recibo errores aleatorios, como si se colgara. Estoy usando Solaris si eso tiene importancia.

Usar utilidades no-GNU durante la compilación de PHP puede causar problemas. Asegúrese de usar herramientas GNU para tener la certeza de que la compilación de PHP funcione. Por ejemplo, en Solaris, usar las versiones de SunOS compatibles-con-BSD o de Solaris de sed no funcionará, pero usar las versiones GNU o Sun POSIX (xpg4) de sed lo hará. Enlaces: GNU sed, GNU flex, y GNU bison.

Anterior | Inicio | Siguiente
Preguntas Frecuentes de Instalación | Subir | Uso de PHP


Uso de PHP

Manual de PHP
Anterior Siguiente

Capítulo 55. Uso de PHP

Esta sección reúne varios errores comunes que usted puede enfrentar cuando escribe scripts PHP.

1. Quisiera escribir un script PHP genérico que pudiera manejar datos que lleguen desde cualquier formulario. ¿Cómo averiguo qué variables del método POST se encuentran disponibles?
2. Necesito convertir todas las comillas sencillas (') en una barra invertida seguida de una comilla sencilla (\'). ¿Cómo puedo hacer esto con una expresión regular? También me gustaría convertir " en \" y \ en \\.
3. Todos mis caracteres " se convierten en \" y mis ' se convierten en \', ¿cómo me deshago de todas esas barras invertidas indeseadas? ¿Cómo y porqué llegaron allí?
4. Cuando hago lo siguiente, la salida se imprime en el orden equivocado:
<?php
function mi_funcion($argumento)
{
    echo $argumento + 10;
}
$variable = 10;
echo "mi_funcion($variable) = " . mi_funcion($variable);
?>
¿qué sucede?
5. ¿Hey, qué ha sucedido con mis saltos de línea?
<pre>
<?php echo "Esta debe ser la primera l&iacute;nea."; ?>
<?php echo "Esto debe aparecer despu&eacute;s de la nueva l&iacute;nea anterior."; ?>
</pre>
6. Recibo el mensaje 'Warning: Cannot send session cookie - headers already sent...' o 'Cannot add header information - headers already sent...'.
7. Necesito acceder a información directamente de las cabeceras de la petición. ¿Cómo puedo hacer esto?
8. Cuando intento usar autenticación con IIS, recibo el mensaje 'No Input file specified'.
9. Windows: No puedo acceder a archivos compartidos en otra computadora usando IIS
10. Mi script PHP funciona en IE y Lynx, pero en Netscape parte de mi salida está faltando. Cuando acciono "Ver código fuente" veo el contenido en IE pero no en Netscape.
11. ¿Cómo se supone que mezcle XML y PHP? ¡Se queja sobre mis etiquetas <?xml!
12. ¿Cómo puedo usar PHP con FrontPage u otro editor HTML que insiste en mover mi código por todas partes?
13. ¿En dónde puedo encontrar una lista completa de variables disponibles en PHP?
14. ¿Cómo puedo generar archivos PDF sin usar las bibliotecas no-libres y comerciales ClibPDF y PDFLib? Quisiera algo que fuera gratuito y no requiera de bibliotecas PDF externas.
15. Estoy tratando de acceder a una de las variables CGI estándar (como $DOCUMENT_ROOT o $HTTP_REFERER) en una función definida por el usuario, y parece que no la encuentra. ¿Qué está fallando?
16. Algunas directivas de PHP pueden recibir también atajos de valores de bytes, en lugar de recibir sólamente valores de bytes tipo integer. ¿Cuáles son todas las opciones de atajos de valores de byte disponibles? ¿Y puedo usarlos por fuera de php.ini?

1. Quisiera escribir un script PHP genérico que pudiera manejar datos que lleguen desde cualquier formulario. ¿Cómo averiguo qué variables del método POST se encuentran disponibles?

PHP ofrece numerosas variables predefinidas, como la super-global $_POST. Usted podría recorrer $_POST con un ciclo ya que se trata de una matriz asociativa con todos los valores POST. Por ejemplo, puede recorrer la matriz simplemente con foreach, realizar un chequeo por valores empty(), e imprimirlos.

<?php
$vacio = $post = array();
foreach ($_POST as $nombre_var => $valor_var) {
    if (empty($valor_var)) {
        $vacio[$nombre_var] = $valor_var;
    } else {
        $post[$nombre_var] = $valor_var;
    }
}

print "<pre>";
if (empty($vacio)) {
    print "Ninguno de los valores POST est&aacute;n vac&iacute;os, se envi&oacute;:\n";
    var_dump($post);
} else {
    print "Tenemos " . count($vacio) . " valores vac&iacute;os\n";
    print "Se envi&oacute;:\n"; var_dump($post);
    print "Vac&iacute;os:\n";  var_dump($vacio);
    exit;
}
?>

Superglobals: Nota de disponibilidad: Desde 4.1.0, están disponibles algunas matrices superglobales tales como $_GET, $_POST, y $_SERVER, etc. Para más información puede consultar la sección superglobals

2. Necesito convertir todas las comillas sencillas (') en una barra invertida seguida de una comilla sencilla (\'). ¿Cómo puedo hacer esto con una expresión regular? También me gustaría convertir " en \" y \ en \\.

La función addslashes() hace esto. Vea también mysql_escape_string(). También puede remover las barras invertidas con stripslashes().

Nota de directiva: magic_quotes_gpc: La directiva PHP magic_quotes_gpc tiene por defecto el valor on. Básicamente ejecuta addslashes() en los datos obtenidos por GET, POST, y COOKIE. Se puede usar stripslashes() para quitarlos.

3. Todos mis caracteres " se convierten en \" y mis ' se convierten en \', ¿cómo me deshago de todas esas barras invertidas indeseadas? ¿Cómo y porqué llegaron allí?

La función de PHP stripslashes() eliminará todas esas barras invertidas de su variable string. Lo más posible es que esas barras invertidas existen mágicamente por que la directiva de PHP magic_quotes_gpc está activa.

Nota de directiva: magic_quotes_gpc: La directiva PHP magic_quotes_gpc tiene por defecto el valor on. Básicamente ejecuta addslashes() en los datos obtenidos por GET, POST, y COOKIE. Se puede usar stripslashes() para quitarlos.

4. Cuando hago lo siguiente, la salida se imprime en el orden equivocado:

<?php
function mi_funcion($argumento)
{
    echo $argumento + 10;
}
$variable = 10;
echo "mi_funcion($variable) = " . mi_funcion($variable);
?>
¿qué sucede?

Para poder usar los resultados de su función en una expresión (como ocurre al concatenar con otras cadenas, como en el ejemplo anterior), necesita devolver el valor mediante return(), no imprimirlo con echo().

5. ¿Hey, qué ha sucedido con mis saltos de línea?

<pre>
<?php echo "Esta debe ser la primera l&iacute;nea."; ?>
<?php echo "Esto debe aparecer despu&eacute;s de la nueva l&iacute;nea anterior."; ?>
</pre>

En PHP, el final de un bloque de código es, o bien "?>" o "?>\n" (en donde \n quiere decir una nueva línea). De modo que en el ejemplo anterior, las sentencias impresas con echo estarán en una línea, puesto que PHP omite los saltos de línea después del final del bloque. Esto quiere decir que usted necesita insertar un salto de línea extra después de cada bloque de código PHP para hacer que imprima una nueva línea.

¿Porqué hace esto PHP? Por que al dar formato a un documento HTML normal, este comportamiento por lo general hace su vida más simple, ya que no desea ese salto de línea, pero tendría que crear líneas extremadamente largas o de otra forma hacer ilegible el código fuente base para lograr ese efecto.

6. Recibo el mensaje 'Warning: Cannot send session cookie - headers already sent...' o 'Cannot add header information - headers already sent...'.

Las funciones header(), setcookie(), y las funciones de sesión necesitan agregar cabeceras a la secuencia de salida, pero las cabeceras sólo pueden ser enviadas antes del resto del contenido. No puede haber salida antes de usar éstas funciones, salida como HTML. La función headers_sent() revisa si su script ya ha enviado las cabeceras, y asimismo consulte las funciones de Control de Salida.

7. Necesito acceder a información directamente de las cabeceras de la petición. ¿Cómo puedo hacer esto?

La función getallheaders() hará esto si está ejecutando PHP como módulo de Apache. Así que, el siguiente segmento de código le mostrará todas las cabeceras de petición:

<?php
$cabeceras = getallheaders();
foreach ($cabeceras as $nombre => $contenido) {
    echo "cabeceras[$nombre] = $contenido<br />\n";
}
?>

Vea también
apache_lookup_uri(),
apache_response_headers(), y
fsockopen()

8. Cuando intento usar autenticación con IIS, recibo el mensaje 'No Input file specified'.

El modelo de seguridad de IIS es la causa del problema aquí. Este es un inconveniente común a todos los programas CGI que corren bajo IIS. Una forma de evitar el problema es crear un archivo HTML plano (no interpretado por PHP) como página de entrada en un directorio autenticado. Luego usar una etiqueta META para redirigir a la página PHP, o tener un enlace hacia la página PHP. PHP reconocerá entonces la autenticación correctamente. Con el módulo ISAPI, esto no es un problema. Este inconveniente no debe afectar otros servidores web NT. Para más información, vea: http://support.microsoft.com/kb/q160422/ y la sección del manual sobre Autenticación HTTP.

9. Windows: No puedo acceder a archivos compartidos en otra computadora usando IIS

Necesita modificar el valor Go to Internet Information Services. Ubique su archivo PHP y diríjase a sus propiedades. Vaya a la pestaña Seguridad de Archivo, Editar -< Acceso anónimo y control de autenticación.

Puede solucionar el problema ya sea deshabilitando Acceso Anónimo y dejando habilitado Autenticación Integrada, o habilitando Acceso Anónimo y editando el usuario ya que éste puede no tener el acceso bien definido.

10. Mi script PHP funciona en IE y Lynx, pero en Netscape parte de mi salida está faltando. Cuando acciono "Ver código fuente" veo el contenido en IE pero no en Netscape.

Netscape es más estricto que IE en cuanto a etiquetas HTML (como tablas) se refiere. Pasar su salida HTML a través de un validador de HTML, como validator.w3.org, puede ser de ayuda. Por ejemplo, una etiqueta </table> faltante puede ser la causa de éste problema.

Asimismo, tanto IE como Lynx ignoran los caracteres NUL (\0) en la secuencia HTML, mientras que Netscape no. La mejor manera de chequear esto es compilar la versión de línea de comandos de PHP (también conocida como la versión CGI) y ejecutar su script desde la línea de comandos. En *nix, envíe la salida a través de un pipe a od -c y busque caracteres \0. Si se encuentra en Windows necesita un editor o algún otro programa que le permita ver archivos binarios. Cuando Netscape ve un NUL en un archivo, típicamente no imprimirá nada más en aquella línea, mientras que tanto IE como Lynx si lo hacen.

11. ¿Cómo se supone que mezcle XML y PHP? ¡Se queja sobre mis etiquetas <?xml!

Para poder embeber etiquetas <?xml directamente en su código PHP, tendrá que deshabilitar las etiquetas cortas, definiendo la directiva PHP short_open_tags como 0. No puede definir esta directiva con ini_set(). Independientemente del valor de short_open_tags, usted puede hacer algo como: <?php echo '<?xml'; ?>. El valor predeterminado para esta directiva es on.

12. ¿Cómo puedo usar PHP con FrontPage u otro editor HTML que insiste en mover mi código por todas partes?

Una de las cosas más fáciles es habilitar el uso de etiquetas ASP en su código PHP. Esto le permite usar el estilo de delimitadores de código ASP <% y %>. Algunos de los editores HTML populares gestionan éstas etiquetas de forma más inteligente (por ahora). Para habilitar las etiquetas estilo-ASP, necesita definir la variable php.ini asp_tags, o usar la directiva de Apache apropiada.

13. ¿En dónde puedo encontrar una lista completa de variables disponibles en PHP?

Consulte la página del manual sobre variables predefinidas, ya que allí se incluye una lista parcial de variables predefinidas disponibles para su script. Una lista completa de variables disponibles (y mucha más información) puede ser consultada al llamar la función phpinfo(). Asegúrese de leer la sección del manual sobre variables externas a PHP ya que allí se describen escenarios comunes para variables externas, como las provenientes de formularios HTML, Cookies y URLs.

register_globals: Nota importante: Desde PHP 4.2.0 el valor por defecto de la directiva register_globals es off. La comunidad PHP anima a todos a no confiar en esta directiva y usar en su lugar superglobals.

14. ¿Cómo puedo generar archivos PDF sin usar las bibliotecas no-libres y comerciales ClibPDF y PDFLib? Quisiera algo que fuera gratuito y no requiera de bibliotecas PDF externas.

Existen algunas pocas alternativas escritas en PHP, como http://www.ros.co.nz/pdf/, http://www.fpdf.org/, http://www.gnuvox.com/pdf4php/, y http://www.potentialtech.com/ppl.php. También existe el módulo Panda.

15. Estoy tratando de acceder a una de las variables CGI estándar (como $DOCUMENT_ROOT o $HTTP_REFERER) en una función definida por el usuario, y parece que no la encuentra. ¿Qué está fallando?

Es importante darse cuenta de que la directiva PHP register_globals también afecta a variables de servidor y de entorno. Cuando register_globals = off (el valor predeterminado es off a partir de PHP 4.2.0), $DOCUMENT_ROOT no existirá. En su lugar, use $_SERVER['DOCUMENT_ROOT']. Si register_globals = on entonces las variables $DOCUMENT_ROOT y $GLOBALS['DOCUMENT_ROOT'] existirán también.

Si está seguro de que register_globals = on y se pregunta porqué $DOCUMENT_ROOT no se encuentra disponible al interior de funciones, es porque éste tipo de variables es como cualquier otra, y requeriría de una sentencia global $DOCUMENT_ROOT al interior de la función. Vea también la página del manual sobre los contextos de variables. Es recomendable escribir código bajo el modelo register_globals = off.

Superglobals: Nota de disponibilidad: Desde 4.1.0, están disponibles algunas matrices superglobales tales como $_GET, $_POST, y $_SERVER, etc. Para más información puede consultar la sección superglobals

16. Algunas directivas de PHP pueden recibir también atajos de valores de bytes, en lugar de recibir sólamente valores de bytes tipo integer. ¿Cuáles son todas las opciones de atajos de valores de byte disponibles? ¿Y puedo usarlos por fuera de php.ini?

Las opciones disponibles son K (para Kilobytes), M (para Megabytes) y G (para Gigabytes; disponible desde PHP 5.1.0), las cuales son insensibles a mayúsculas y minúsculas. Cualquier otro valor asume bytes. 1M es igual a un Megabyte o 1048576 bytes. 1K es igual a un Kilobyte o 1024 bytes. No debería usar éstas notaciones cortas por fuera de php.ini, en su lugar use un valor integer de bytes. Vea la documentación de ini_get() para un ejemplo sobre cómo convertir tales valores.

Anterior | Inicio | Siguiente
Problemas de Compilación | Subir | PHP y HTML


PHP y HTML

Manual de PHP
Anterior Siguiente

Capítulo 56. PHP y HTML

PHP y HTML interactúan bastante: PHP puede generar HTML, y HTML puede pasar información a PHP. Antes de leer estas preguntas, es importante que aprenda cómo recuperar variables desde el exterior de PHP. La página del manual sobre este tema incluye bastantes ejemplos también. Preste atención especialmente a lo que register_globals representa para usted.

1. ¿Qué codificación/decodificación necesito al pasar un valor a través de un formulario/URL?
2. Intento usar una etiqueta <input type="image">, pero las variables $foo.x y $foo.y no están disponibles. $_GET['foo.x'] no existe tampoco. ¿Dónde están?
3. ¿Cómo creo matrices en un <form> HTML?
4. ¿Cómo obtengo todos los resultados de una etiqueta de selección múltiple en HTML?
5. ¿Cómo puedo pasar una variable de Javascript a PHP?

1. ¿Qué codificación/decodificación necesito al pasar un valor a través de un formulario/URL?

Existen varias etapas en las que la codificación es importante. Asumiendo que tiene un valor tipo string $datos, que contiene la cadena que desea pasar sin codificar, estas son las etapas relevantes:

  • Interpretación de HTML. Para especificar una cadena cualquiera, es necesario incluirla en comillas dobles, y aplicar htmlspecialchars() sobre el valor completo.

  • URL: Una URL consiste de varias partes. Si desea que sus datos sean interpretados como un ítem, es necesario codificarla con urlencode().

Ejemplo 56-1. Un elemento escondido de un formulario HTML

<?php
    echo "<input type='hidden' value='" . htmlspecialchars($datos) . "' />\n";
?>

Nota: No es correcto aplicar urlencode() sobre $datos, ya que es responsabilidad de los navegadores codificar los datos. Todos los navegadores populares lo hacen correctamente. Note que esto ocurrirá independientemente del método (es decir, GET o POST). Sin embargo, solo notará esto en el caso de una petición GET, ya que las peticiones POST usualmente son escondidas.

Ejemplo 56-2. Datos a ser editados por el usuario

<?php
    echo "<textarea name='misdatos'>\n";
    echo htmlspecialchars($datos)."\n";
    echo "</textarea>";
?>

Nota: Los datos son mostrados en el navegador como es de esperarse, ya que el navegador interpretará los símbolos HTML escapados.

Luego de ser enviados, ya sea por GET o POST, los datos serás codificados por el navegador para su transferencia, y serán decodificados directamente por PHP. Así que en lo que a usted concierne, no necesitará realizar ninguna codificación/decodificación, todo es manejado automáticamente.

Ejemplo 56-3. En una URL

<?php
    echo "<a href='" . htmlspecialchars("/siguientepagina.php?etapa=23&datos=" .
        urlencode($datos)) . "'>\n";
?>

Nota: En realidad está imitando una peticián HTML GET, por lo tanto no es necesario aplicar urlencode() manualmente a los datos.

Nota: Es necesario usar htmlspecialchars() sobre la URL completa, ya que la URL ocurre como el valor de un atributo HTML. En este caso, el navegador primero reemplazará las entidades HTML especiales por los caracteres correctos en el valor, y luego pasa la URL. PHP entenderá la URL correctamente, ya que ya usado urlencode() sobre los datos.

Notará que el caracter & en la URL es reemplazado por &amp;. Aunque la mayoría de navegadores entenderán el caracter si olvida esto, no siempre es posible que ocurra. Así que incluso si su URL no es dinámica, es necesario usar htmlspecialchars() sobre la URL.

2. Intento usar una etiqueta <input type="image">, pero las variables $foo.x y $foo.y no están disponibles. $_GET['foo.x'] no existe tampoco. ¿Dónde están?

Cuando se envía un formulario, es posible usar una imagen en lugar del botón de envío estándar con una etiqueta como esta:

<input type="image" src="imagen.gif" name="foo" />
Cuando el usuario pulsa sobre la imagen, el formulario acompañante será transmitido al servidor con dos variables adicionales: foo.x y foo.y.

Dado que foo.x y foo.y habrían representado nombres de variable inválidos en PHP, éstos son convertidos automáticamente a foo_x y foo_y. Es decir, los puntos son reemplazados con caracteres de subrayado. Así que, es posible acceder a estas variables como cualquier otra descrita en la sección sobre recuperación de variables desde el exterior de PHP. Por ejemplo, $_GET['foo_x'].

Nota: Los espacios en nombres de variables de petición son convertidos a caracteres de subrayado.

3. ¿Cómo creo matrices en un <form> HTML?

Para hacer que el resultado de <form> sea enviado como un valor array a su script PHP, se deben nombrar los elementos <input>, <select> o <textarea> de esta forma:

<input name="MiMatriz[]" />
<input name="MiMatriz[]" />
<input name="MiMatriz[]" />
<input name="MiMatriz[]" />
Note los paréntesis cuadrados después del nombre de la variable, ellos son los que la convierten en una matriz. Es posible agrupar los elementos en diferentes matrices asignando el mismo nombre a elementos diferentes:
<input name="MiMatriz[]" />
<input name="MiMatriz[]" />
<input name="MiOtraMatriz[]" />
<input name="MiOtraMatriz[]" />
Esto produce dos matrices, MiMatriz y MiOtraMatriz, que son enviadas al script PHP. También es posible asignar claves específicas a sus matrices:
<input name="OtraMatriz[]" />
<input name="OtraMatriz[]" />
<input name="OtraMatriz[email]" />
<input name="OtraMatriz[telefono]" />
La matriz OtraMatriz ahora tendrá las claves 0, 1, email y phone.

Nota: Especificar claves de matrices es opcional en HTML. Si no especifica las claves, la matriz es llenada en el orden en que aparecen los elementos en el formulario. Nuestro primer ejemplo contendrá las claves 0, 1, 2 y 3.

Vea también Funciones de Matrices y Variables desde el exterior de PHP.

4. ¿Cómo obtengo todos los resultados de una etiqueta de selección múltiple en HTML?

La etiquete de selección múltiple en una construcción HTML le permite a los usuarios elegir varios ítems desde una lista. Estos ítems son pasados entonces al gestor de acción del formulario. El problema es que todos son pasados con el mismo nombre de control. Es decir,

<select name="var" multiple="yes">
Cada opción elegida llegará al gestor de acción como:
var=opcion1
var=opcion2
var=opcion3
Cada opción sobrescribirá los contenidos de la variable $var previa. La solución es usar la característica de PHP "matriz desde un elemento de formulario". Debe usarse la siguiente forma:
<select name="var[]" multiple="yes">
Esto le dice a PHP que debe tratar $var como una matriz y cada asignación de valor a var[] agrega un ítem a la matriz. El primer elemento se convierte en $var[0], el siguiente $var[1], etc. La función count() puede usarse para determinar cuántas opciones fueron seleccionadas, y la función sort() puede ser usada para ordenar la matriz de opciones si es necesario.

Note que si está usando JavaScript los caracteres [] en el nombre del elemento pueden causar problemas cuando intente referirse al elemento por su nombre. Use su ID numérico de elemento de formulario en su lugar, o encierre el nombre de variables en comillas sencillas y úselo como índice de la matriz de elementos, por ejemplo:

variable = documents.forms[0].elements['var[]'];

5. ¿Cómo puedo pasar una variable de Javascript a PHP?

Ya que Javascript es una tecnología (usualmente) del lado del cliente, y PHP es (usualmente) una tecnología del lado del servidor, y dado que HTTP es un protocolo "sin estados", los dos lenguajes no pueden compartir variables directamente.

Sin embargo, es posible pasar variables entre los dos. Una forma de hacerlo es generar código Javascript con PHP, y hacer que el navegador se refresque a sí mismo, pasando variables específicas de vuelta al script PHP. El ejemplo a continuación muestra precisamente cómo hacer esto -- permite que código PHP capture la altura y el ancho de la pantalla, algo que normalmente sólo es posible en el lado del cliente.

<?php
if (isset($_GET['ancho']) AND isset($_GET['altura'])) {
  // imprimir las variables de geometria
  echo "El ancho de la pantalla es: ". $_GET['ancho'] ."<br />\n";
  echo "La altura de la pantalla es: ". $_GET['altura'] ."<br />\n";
} else {
  // pasar las variables de geometria
  // (preservar la cadena query original
  //   -- las variables post deberan ser pasadas de otra forma)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&ancho=\" + screen.width + \"&altura=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

Anterior | Inicio | Siguiente
Uso de PHP | Subir | PHP y COM


PHP y COM

Manual de PHP
Anterior Siguiente

Capítulo 57. PHP y COM

PHP puede ser usado para acceder a objetos COM y DCOM en plataformas Win32.

1. He compilado un DLL para calcular algo. ¿Hay alguna forma de ejecutar ese DLL bajo PHP?
2. ¿Qué quiere decir 'Unsupported variant type: xxxx (0xxxxx)'?
3. ¿Es posible manipular objetos visuales en PHP?
4. ¿Puedo almacenar un objeto COM en una sesión?
5. ¿Cómo puedo atrapar errores de COM?
6. ¿Puedo generar archivos DLL desde scripts PHP como puedo en Perl?
7. ¿Qué quiere decir 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?
8. ¿Cómo puedo ejecutar un objeto COM desde un servidor remoto?
9. Recibo 'DCOM is disabled in C:\ruta...\nombre_script.php on line 6', ¿qué puedo hacer?
10. ¿Es posible leer/manipular un objeto ActiveX en una página con PHP?
11. ¿Es posible obtener una instancia en ejecución de un componente?
12. ¿Hay una forma de manejar un evento enviado desde un objeto COM?
13. Estoy teniendo problemas al intentar invocar un método de un objeto COM el cual expone más de una interfaz. ¿Qué puedo hacer?
14. Así que PHP funciona con COM, ¿qué hay de COM+?
15. Si PHP puede manipular objetos COM, ¿podemos imaginar el uso de MTS para manejar recursos de componentes, en conjunto con PHP?

1. He compilado un DLL para calcular algo. ¿Hay alguna forma de ejecutar ese DLL bajo PHP?

Si se trata de un DLL simple no hay forma aun de ejecutarlo desde PHP. Si el archivo DLL contiene un servidor COM es posible que pueda acceder a él si implementa la interfaz IDispatch.

2. ¿Qué quiere decir 'Unsupported variant type: xxxx (0xxxxx)'?

Existen docenas de tipos VARIANT y combinaciones de ellos. La mayoría de ellos son soportados pero algunos aun deben ser implementados. Las matrices no están completamente soportadas. Solo las matrices uni-dimensionales de índice pueden ser pasadas entre PHP y COM. Si encuentra otros tipos que no sean soportados, por favor repórtelos como un bug (si aun no han sido reportados) y ofrezca tanta información como tenga disponible.

3. ¿Es posible manipular objetos visuales en PHP?

En general es posible, pero ya que PHP es usado frecuentemente como un lenguaje de scripting web, corre en el contexto de servidores web, por lo que objetos visuales nunca aparecerán en el escritorio de los servidores. Si usa PHP para una aplicación de scripting, p.ej. en conjunto con PHP-GTK, no hay limitaciones al acceder y manipular objetos visuales a través de COM.

4. ¿Puedo almacenar un objeto COM en una sesión?

No, no puede. Las instancias COM son tratadas como recursos y por lo tanto sólo están disponibles en el contexto de un script único.

5. ¿Cómo puedo atrapar errores de COM?

En PHP 5, la extensión COM arroja excepciones com_exception, las cuales puede atrapar y luego inspeccionar el miembro code para determinar el siguiente paso.

En PHP 4 no es posible atrapar errores COM más allá de los métodos ofrecidos por PHP mismo (@, track_errors, ..).

6. ¿Puedo generar archivos DLL desde scripts PHP como puedo en Perl?

No, desafortunadamente no existe una herramienta de ese tipo disponible para PHP.

7. ¿Qué quiere decir 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?

Este error puede tener varias razones:

  • el valor CLSID es incorrecto

  • el archivo DLL solicitado no existe

  • el componente solicitado no implementa la interfaz IDispatch

8. ¿Cómo puedo ejecutar un objeto COM desde un servidor remoto?

Exactamente como ejecuta objetos locales. Tan solo debe pasar la IP de la máquina remota como segundo parámetro al constructor COM.

Asegúrese de que ha definido com.allow_dcom =TRUE en su php.ini.

9. Recibo 'DCOM is disabled in C:\ruta...\nombre_script.php on line 6', ¿qué puedo hacer?

Edite su archivo php.ini y defina com.allow_dcom =TRUE.

10. ¿Es posible leer/manipular un objeto ActiveX en una página con PHP?

Esto no tiene nada que ver con PHP. Los objetos ActiveX son cargados en el lado del cliente si son solicitados por el documento HTML. No hay relación con el script PHP y por lo tanto no hay una interacción directa posible con el lado del servidor.

11. ¿Es posible obtener una instancia en ejecución de un componente?

Esto es posible con la ayuda de monikers. Si desea obtener múltiples referencias a la misma instancia de word, puede crear esa instancia como se muestra:

<?php
$word = new COM("C:\docs\word.doc");
?>

Esto creará una nueva instancia si no hay una instancia en ejecución disponible, o devolverá un gestor a la instancia en ejecución, si existe.

12. ¿Hay una forma de manejar un evento enviado desde un objeto COM?

Puede definir el receptor de un evento y asociarlo usando com_event_sink(). Es posible usar com_print_typeinfo() para que PHP genere un esqueleto para la clase receptora del evento.

13. Estoy teniendo problemas al intentar invocar un método de un objeto COM el cual expone más de una interfaz. ¿Qué puedo hacer?

La respuesta es tan simple como poco satisfactoria. No estamos seguros pero parece que no es posible hacer nada. Si alguien tiene información específica al respecto, por favor infórmenos :)

14. Así que PHP funciona con COM, ¿qué hay de COM+?

COM+ extiende COM mediante un marco para administrar componentes a través de MTS y MSMQ pero no hay nada especial que PHP deba soportar para usar tales componentes.

15. Si PHP puede manipular objetos COM, ¿podemos imaginar el uso de MTS para manejar recursos de componentes, en conjunto con PHP?

PHP por sí mismo no maneja transacciones aun. Por lo tanto si un error ocurre no se inicia un proceso rollback. Si usa componentes que soporten transacciones tendrá que implementar la gestión de transacciones usted mismo.

Anterior | Inicio | Siguiente
PHP y HTML | Subir | PHP y otros lenguajes


PHP y otros lenguajes

Manual de PHP
Anterior Siguiente

Capítulo 58. PHP y otros lenguajes

PHP es el mejor lenguaje para programación web, ¿pero qué hay de los otros lenguajes?

1. ¿PHP vs. ASP?
2. ¿Existe software de conversión de ASP a PHP?
3. ¿PHP vs. Cold Fusion?
4. ¿PHP vs. Perl?

1. ¿PHP vs. ASP?

ASP no es realmente un lenguaje como tal, es el acrónimo de Active Server Pages, el lenguaje usado en realidad para programar ASP es Visual Basic Script o JScript. El mayor inconveniente de ASP es que se trata de un sistema propietario que es usado nativamente sólo por Microsoft Internet Information Server (IIS). Esto limita su disponibilidad a servidores basados en Win32. Existe un par de proyectos en desarrollo que permiten que ASP corra en otros entornos y servidores web: InstantASP de Halcyon (comercial), Chili!Soft ASP de Chili!Soft (comercial). Se dice que ASP es un lenguaje más lento y pesado que PHP, y también menos estable. Algunas de las ventajas de ASP consisten en que debido a que usa principalmente VBScript, es relativamente simple tratar con el lenguaje si usted ya conoce cómo programar en Visual Basic. El soporte de ASP también se encuentra habilitado por defecto en el servidor IIS, facilitando su instalación y ejecución. Los componentes integrados en ASP son bastante limitados, de modo que si necesita usar características "avanzadas", como interactuar con servidores FTP, necesita comprar componentes adicionales.

2. ¿Existe software de conversión de ASP a PHP?

Si, la herramienta de lado del servidor asp2php es una de las más conocidas, así como ésta opción de lado del cliente.

3. ¿PHP vs. Cold Fusion?

Comúnmente se dice que PHP es más rápido y eficiente para tareas complejas de programación y cuando se desea probar ideas nuevas. Asimismo, PHP se considera por lo general más estable y menos intensivo en el uso de recursos. Cold Fusion posee un mejor gestor de errores, asi como abstracciones de bases de datos y procesamiente de fechas, aunque la abstracción de bases de datos es parte de PHP 4. Otra de las cosas que se lista como una de las fortalezas de Cold Fusion es su excelente motor de búsqueda, pero se ha dicho que un motor de búsqueda no es algo que deba ser incluido en un lenguaje de scripting orientado a web. PHP corre en casi cualquier plataforma que existe; Cold Fusion sólo se encuentra disponible en Win32, Solaris, Linux y HP/UX. Cold Fusion posee un buen entorno integrado de desarrollo, y es generalmente más sencillo para principiantes, mientras que PHP requiere inicialmente de un mayor conocimiento de programación. Cold Fusion está diseñado hacia personas sin experiencia en programación, mientras que PHP se concentra en los programadores.

Un excelente resumen sobre este tema, escrito por Michael J Sheldon, ha sido publicado en la lista de correo de PHP. Puede encontrarse una copia en http://marc.theaimsgroup.com/?l=php-general&m=95602167412542&w=1.

4. ¿PHP vs. Perl?

La mayor ventaja de PHP sobre Perl es que PHP fue diseñado para desarrollo de scripts orientados a web, mientras que Perl fue diseñado para hacer muchas más cosas y debido a esto, se hace muy complicado. La flexibilidad / complejidad de Perl facilitan la escritura de código que otro autor / programador puede encontrar muy difícil de entender. PHP posee un formato menos confuso y más estricto, sin perder flexibilidad. Con PHP es más fácil la integración con HTML que con Perl. PHP cuenta con prácticamente toda la funcionalidad 'buena' de Perl: construcciones del lenguaje, sintaxis y demás, sin hacerlo tan complicado como Perl puede llegar a ser. Perl es un lenguaje muy usado y auténtico, ha estado vigente desde finales de los ochentas, pero PHP está madurando muy rápidamente.

Anterior | Inicio | Siguiente
PHP y COM | Subir | Migración de PHP 2 a PHP 3


Migración de PHP 2 a PHP 3

Manual de PHP
Anterior Siguiente

Capítulo 59. Migración de PHP 2 a PHP 3

PHP ya tiene una larga historia tras él: Las legendarias versiones PHP 1.0, PHP/FI, PHP 3.0 y PHP 4.0.

1. ¿Migración de PHP 2 a PHP 3?

1. ¿Migración de PHP 2 a PHP 3?

Ya no se ofrece soporte para PHP/FI 2.0. Por favor refiérase a la sección apropiada del manual para más información sobre la migración desde PHP/FI 2.0.

Si aun está trabajando con PHP 2, le recomendamos fuertemente que se actualice directamente a PHP 4.

Anterior | Inicio | Siguiente
PHP y otros lenguajes | Subir | Migración de PHP 3 a PHP 4


Migración de PHP 3 a PHP 4

Manual de PHP
Anterior Siguiente

Capítulo 60. Migración de PHP 3 a PHP 4

PHP ya tiene una larga historia tras él: Las legendarias versiones PHP 1.0, PHP/FI, PHP 3.0 y PHP 4.0.

1. Migración de PHP 3 a PHP 4
2. ¿Funcionan las sesiones en PHP 3?
3. ¿Funciones incompatibles?

1. Migración de PHP 3 a PHP 4

PHP 4 fue diseñado para ser tan compatible con versiones anteriores como fuera posible, y muy poco de su funcionalidad fue descontinuado en el proceso. Si se encuentra realmente inseguro sobre la compatibilidad, debería instalar PHP 4 en un entorno de prueba y correr sus scripts allí.

Asimismo, vea el apéndice de migración apropiado de este manual.

2. ¿Funcionan las sesiones en PHP 3?

Aun cuando el soporte nativo de sesiones no existía en PHP 3, existen aplicaciones desarrolladas por terceros que ofrecían (y aun lo hacen) la funcionalidad de las sesiones. El método más común era mediante el uso de PHPLIB.

3. ¿Funciones incompatibles?

Dado que PHP 4 es básicamente una nueva versión escrita desde ceros del motor de PHP completo, hubo unas pocas funciones que fueron alteradas, y después de todo, solo algunas de las más exóticas.

Anterior | Inicio | Siguiente
Migración de PHP 2 a PHP 3 | Subir | Migración desde PHP 4 a PHP 5


Migración desde PHP 4 a PHP 5

Manual de PHP
Anterior Siguiente

Capítulo 61. Migración desde PHP 4 a PHP 5

Esta sección del faq le ayudará con la migración de PHP 4 a PHP 5.

1. Migración desde PHP 4 a PHP 5
2. ¿Funciona MySQL en PHP 5? Parece haber desaparecido.
3. He escuchado que PHP 5 tiene un modelo de Programación Orientada a Objetos completamente nuevo, ¿funcionará my código OO? ¿Dónde puedo encontrar información sobre estas nuevas características de programación OO?
4. Y bien, aparte del nuevo modelo OO, ¿qué más ha cambiado en PHP 5? También, ¿existe una versión específica a PHP 5 del manual de PHP?

1. Migración desde PHP 4 a PHP 5

Aunque PHP 5 ofrece varias características nuevas, está diseñado para ser tan compatible con versiones anteriores de PHP como es posible, y con muy poca funcionalidad afectada en el proceso.

Asegúrese de leer el apéndice de migración de PHP 5 apropiado de este manual, ya que contiene más información sobre el tema de la migración a PHP 5.

2. ¿Funciona MySQL en PHP 5? Parece haber desaparecido.

MySQL es soportado, el único cambio es que el soporte MySQL no se habilita por defecto en PHP 5. Esto básicamente quiere decir que PHP no incluye la opción --with-mysql en la línea configure, así que tendrá que usarla manualmente cuando compile PHP. Los usuarios de windows deben editar php.ini y habilitar el recurso DLL php_mysql.dll, ya que en PHP 4 tal DLL no existía, simplemente estaba incorporado en los binarios de Windows de PHP.

Asimismo, las bibliotecas de cliente MySQL no son incorporadas con PHP. Este tema se cubre con más detalle en el siguiente FAQ, y asegúrese de leer la sección de MySQL para más detalles sobre la instalación de MySQL. Una línea configure de ejemplo sería --with-mysql=/usr mientras que los usuarios de Windows necesitará el archivo libmySQL.dll disponible en el sistema.

3. He escuchado que PHP 5 tiene un modelo de Programación Orientada a Objetos completamente nuevo, ¿funcionará my código OO? ¿Dónde puedo encontrar información sobre estas nuevas características de programación OO?

El principal cambio en PHP 5 afecta el modelo OO ya que PHP 5 ahora usa el Motor Zend 2.0. La directiva zend.ze1_compatibility_mode habilita la compatibilidad con el Motor Zend 1.0 (PHP 4).

El nuevo modelo de programación orientada a objetos se documenta en las secciones de referencia OO del lenguaje y el apéndice de migración OO.

4. Y bien, aparte del nuevo modelo OO, ¿qué más ha cambiado en PHP 5? También, ¿existe una versión específica a PHP 5 del manual de PHP?

Pocos cambios adicionales existen, vea el apéndice de migración a PHP 5 para más detalles. No habrá una versión específica a PHP 5 del manual, ya que la mayoría del lenguaje PHP permanece igual.

Anterior | Inicio | Siguiente
Migración de PHP 3 a PHP 4 | Subir | Preguntas Varias


Preguntas Varias

Manual de PHP
Anterior Siguiente

Capítulo 62. Preguntas Varias

Puede que existan algunas preguntas que no podemos colocar en otras categorías. Este es el lugar en donde puede encontrarlas.

1. ¿Cómo puedo manipular los manuales comprimidos mediante bz2 en Windows?
2. ¿Qué significa un signo & al lado de un argumento en la declaración de una función, como p.ej. asort()?
3. ¿Cómo manejo el parámetro register_globals?

1. ¿Cómo puedo manipular los manuales comprimidos mediante bz2 en Windows?

Si no cuenta con una herramienta de archivación que pueda manejar archivos bz2, descargue la herramienta de línea de comandos de RedHat (por favor refiérase a la inforamción presentada más adelante).

Si no desea usar una herramienta de línea de comandos, puede probar herramientas gratuitas como Stuffit Expander, UltimateZip, 7-Zip, o Quick Zip. Si dispone de herramientas como WinRAR o Power Archiver, puede descomprimir fácilmente archivos bz2 con ellas. Si usa Total Commander (anteriormente Windows Commander), un módulo adicional para ese programa se encuentra disponible de forma gratuita desde el sitio de Total Commander.

La herramienta bzip2 de línea de comandos por Redhat:

Los usuarios de Win2k Sp2 deben obtener la versión más reciente, 1.0.2, todos los demás usuarios de Windows deben obtener la versión 1.00. Después de la descarga, renombre el ejecutable a bzip2.exe. Para mayor conveniencia, colóquelo en un directorio que sea parte de sus rutas predeterminadas, p.ej. C:\Windows, en donde C representa la unidad en donde se encuentra su instalación de Windows.

Nota: lang representa su lenguaje, y x el formato deseado, p.ej: pdf. Para descomprimir el archivo php_manual_lang.x.bz2 siga las siguientes instrucciones:

  • abra una ventana con el intérprete de comandos

  • cambie de directorio hacia la carpeta en donde almacenó el archivo php_manual_lang.x.bz2 descargado

  • invoque bzip2 -d php_manual_lang.x.bz2, extrayendo de este modo php_manual_lang.x en la misma carpeta

En caso de que haya descargado el archivo php_manual_lang.tar.bz2 con varios archivos html en su interior, el procedimiento es el mismo. La única diferencia es que recibe un archivo php_manual_lang.tar. Se conoce que el formato tar es tratado por la mayoría de archivadores en Windows, como por ejemplo WinZip.

2. ¿Qué significa un signo & al lado de un argumento en la declaración de una función, como p.ej. asort()?

Quiere decir que el argumento es pasado por referencia y es probable que la función modifique el argumento de acuerdo con la documentación. Sólo puede pasar variables de este modo y no necesita pasarlas con el signo & en la llamada de la función (tal cosa es considerada obsoleta).

3. ¿Cómo manejo el parámetro register_globals?

Para información sobre las implicaciones de seguridad de register_globals, lea el capítulo de seguridad sobre el Uso de register_globals.

Es recomendable usar superglobales, en lugar de depender en la activación de register_globals.

Si se encuentra en un servidor compartido con register_globals desactivado y necesita usar aplicaciones antiguas, que requieren que esta opción esté activada, o se encuentra en algún servidor de hospedaje en donde esta característica está habilitada, pero quisiera eliminar los riesgos de seguridad, puede que necesite emular el valor opuesto en PHP. Siempre es buena idea preguntar primero si es posible cambiar la opción de alguna forma en la configuración de PHP, pero si no es posible, entonces puede usar estos segmentos de compatibilidad.

Ejemplo 62-1. Emulación de Register Globals

Esto emula el comportamiento de register_globals On. Si ha alterado la directiva variables_order, considere modificar $superglobales acordemente.

<?php
// Emular register_globals on
if (!ini_get('register_globals')) {
    $superglobales = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobales, $_SESSION);
    }
    foreach ($superglobales as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>

Esto emula register_globals Off. Tenga en cuenta que este código debe ser llamado al comienzo absoluto de su script, o después de session_start(), si usa esa función para comenzar su sesión.

<?php
// Emular register_globals off
function retirar_registros_GLOBALS()
{
    if (!ini_get('register_globals')) {
        return;
    }

    // Puede que desee cambiar esto por un error más amigable
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        die('Se ha detectado un intento de sobreescritura en GLOBALS');
    }

    // Variables que no deben ser eliminadas
    $noEliminar = array('GLOBALS',  '_GET',
                        '_POST',    '_COOKIE',
                        '_REQUEST', '_SERVER',
                        '_ENV',     '_FILES');

    $entrada = array_merge($_GET,    $_POST,
                           $_COOKIE, $_SERVER,
                           $_ENV,    $_FILES,
                           isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach ($entrada as $c => $v) {
        if (!in_array($c, $noEliminar) && isset($GLOBALS[$c])) {
            unset($GLOBALS[$c]);
        }
    }
}

retirar_registros_GLOBALS();

?>

Anterior | Inicio | Siguiente
Migración desde PHP 4 a PHP 5 | Subir | Apéndices


Apéndices

Manual de PHP
Anterior Siguiente

IX. Apéndices

Tabla de contenidos
A. Historia de PHP y proyectos relacionados
B. Migración desde PHP 4 a PHP 5
C. Migración de PHP 3 a PHP 4
D. Migración desde PHP/FI 2 hacia PHP 3
E. Depuración en PHP
F. Opciones de configuración
G. Directivas de php.ini
H. List of Supported Timezones
I. Categorización de Extensiones
J. Lista de alias de funciones
K. Lista de Palabras Reservadas
L. Lista de Tipos de Recurso
M. Lista de Protocolos/Envolturas Soportadas
N. Lista de Filtros Disponibles
O. Lista de Transportes de Sockets Soportados
P. Tablas de comparación de tipos PHP
Q. Lista de Identificadores (tokens) del Analizador
R. Userland Naming Guide
S. Sobre el manual
T. Open Publication License
U. Índice de funciones
V. Material que falta

Anterior | Inicio | Siguiente
Preguntas Varias |  | Historia de PHP y proyectos relacionados


Historia de PHP y proyectos relacionados

Manual de PHP
Anterior Siguiente

Apéndice A. Historia de PHP y proyectos relacionados

Tabla de contenidos
Historia de PHP
Historia de los proyectos relacionados con PHP
Libros sobre PHP
Publicaciones sobre PHP

PHP ha recorrido un largo camino en los últimos años. Crecer hasta ser uno de los más importantes lenguajes de programación en entornos Web no ha sido tarea fácil. Aquellos interesados en ver brevemente cómo creció PHP hasta lo que es hoy en día, sigan leyendo. Antiguas versiones de PHP están disponibles en el Museo PHP.

Historia de PHP

PHP/FI

PHP es el heredero de un producto anterior, llamado PHP/FI. PHP/FI fue creado por Rasmus Lerdorf en 1995, inicialmente como un simple conjunto de scripts de Perl para controlar los accesos a su trabajo online. Llamó a ese conjunto de scripts 'Personal Home Page Tools'. Según se requería más funcionalidad, Rasmus fue escribiendo una implementación C mucho mayor, que era capaz de comunicarse con bases de datos, y permitía a los usuarios desarrollar sencillas aplicaciones Web dinámicas. Rasmus eligió liberar el código fuente de PHP/FI para que cualquiera pudiese utilizarlo, así como arreglar errores y mejorar el código.

PHP/FI, que se mantuvo para páginas personales y como intérprete de formularios, incluía algunas de las funcionalidads básicas de PHP tal y como lo conocemos hoy. Tenía variables como las de Perl, interpretación automática de variables de formulario y sintaxis embebida HTML. La sintaxis por sí misma era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente.

Por 1997, PHP/FI 2.0, la segunda escritura de la implementación en C, tuvo un seguimiento estimado de varios miles de usuarios en todo el mundo, con aproximadamente 50.000 dominios informando que lo tenían instalado, sumando alrededor del 1% de los dominios de Internet. Mientras había mucha gente contribuyendo con bits de código a este proyecto, era todavía en su mayor parte el proyecto de una sola persona.

PHP/FI 2.0 no se liberó oficialmente hasta Noviembre de 1997, después de gastar la mayoría de su vida en desarrollos beta. Fue sucedido en breve tiempo por las primeras versiones alfa de PHP 3.0.

PHP 3

PHP 3.0 era la primera versión que se parecía fielmente al PHP tal y como lo conocemos hoy en día. Fue creado por Andi Gutmans y Zeev Zuraski en 1997 reescribiéndolo completamente, después de que encontraran que PHP/FI 2.0 tenía pocas posibilidades para desarrollar una aplicación comercial que estaban desarrollando para un projecto universitario. En un esfuerzo para cooperar y empezar a construir sobre la base de usuarios de PHP/FI existente, Andi, Rasmus y Zeev decidieron cooperar y anunciar PHP 3.0 como el sucesor oficial de PHP/FI 2.0, interrumpiéndose en su mayor parte el desarrollo de PHP/FI 2.0.

Una de las mejores características de PHP 3.0 era su gran extensibilidad. Además de proveer a los usuarios finales de una sólida infraestructura para muchísimas bases de datos, protocolos y APIs, las características de extensibilidad de PHP 3.0 atrajeron a docenas de desarrolladores a unirse y enviar nuevos módulos de extensión. Sin duda, ésta fue la clave del enorme éxito de PHP 3.0. Otras características clave introducidas en PHP 3.0 fueron el soporte de sintáxis orientado a objetos y una sintáxis de lenguaje mucho más potente y consistente.

Todo el nuevo lenguaje fue liberado bajo un nuevo nombre, que borraba la implicación de uso personal limitado que tenía el nombre PHP/FI 2.0. Se llamó 'PHP' a secas, con el significado de ser un acrónimo recursivo - PHP: Hypertext Preprocessor.

A finales de 1998, PHP creció hasta una base de instalación de decenas de millares de usuarios (estimados) y cientos de miles de sitios Web informando de su instalación. En su apogeo, PHP 3.0 estaba instalado en aproximadamente un 10% de los servidores Web en Internet.

PHP 3.0 se liberó oficialmente en Junio de 1998, después de haber gastado unos 9 meses en pruebas públicas.

PHP 4

En el invierno de 1998, poco después del lanzamiento oficial de PHP 3.0, Andi Gutmans y Zeev Suraski comenzaron a trabajar en la reescritura del núcleo de PHP. Los objetivos de diseño fueron mejorar la ejecución de aplicaciones complejas, y mejorar la modularidad del código base de PHP. Estas aplicaciones se hicieron posibles por las nuevas características de PHP 3.0 y el apoyo de una gran variedad de bases de datos y APIs de terceros, pero PHP 3.0 no fue diseñado para el mantenimiento tan complejo de aplicaciones eficientemente.

El nuevo motor, apodado 'Motor Zend' (comprimido de sus apellidos, Zeev y Andi), alcanzó estos objetivos de diseño satisfactoriamente, y se introdujo por primera vez a mediados de 1999. PHP 4.0, basado en este motor, y acoplado con un gran rango de nuevas características adicionales, fue oficialmente liberado en Mayo de 2000, casi dos años después que su predecesor, PHP 3.0. Además de la mejora de ejecución de esta versión, PHP 4.0 incluía otras características clave como el soporte para la mayoría de los servidores Web, sesiones HTTP, buffers de salida, formas más seguras de controlar las entradas de usuario y muchas nuevas construcciones de lenguaje.

PHP 4 es actualmente la última versión liberada de PHP. Ya se está trabajando en modificar y mejorar el motor Zend para integrar las características que se diseñarían para PHP 5.0.

Hoy, se estima que PHP es usado por cientos de miles de programadores y muchos millones de sitios informan que lo tienen instalado, sumando más del 20% de los dominios en Internet.

El equipo de desarrollo de PHP incluye docenas de programadores, así como otras docenas de personas trabajando en proyectos relacionados con PHP como PEAR y el proyecto de documentación.

PHP 5

El futuro de PHP está dirigido por su núcleo, el motor Zend. PHP 5 incluira el nuevo motor Zend 2.0. Para obtener más información sobre este motor, consultar su página web.

Anterior | Inicio | Siguiente
Apéndices | Subir | Historia de los proyectos relacionados con PHP


Historia de los proyectos relacionados con PHP

PEAR

PEAR, el PHP Extension and Application Repository (originalmente, PHP Extension and Add-on Repository) es la versión de clases de creación de PHP, y puede crecer en el futuro para ser una de las vías clave para distribuir tanto PHP como extensiones PHP basados en C entre desarrolladores.

PEAR nació de las discusiones mantenidas en el PHP Developers' Meeting (PDM) transcurrido en Enero de 2000 en Tel Aviv. Fue creado por Stig S. Bakken, y lo dedicó a su primogénita, Malin Bakken.

Hasta principios de 2000, PEAR fue creciendo hasta ser un gran y significativo proyecto con un gran número de programadores trabajando en la implementación común, funcionalidad reutilizable para el beneficio de toda la comunidad PHP. PEAR hoy incluye una gran variedad de clases de infraestructura para acceso a bases de datos, caché de contenido, cálculos matemáticos, comercio electrónico y mucho más.

Más información sobre PEAR se puede encontrar en el manual de PEAR.

Iniciativa para la Garantía de Calidad de PHP

La Iniciativa para la Garantía de Calidad de PHP se configuró en el verano de 2000 en respuesta a los que criticaban que las versiones de PHP se liberaban sin que fueran comprobadas suficientemente para entornos de producción. El equipo ahora consiste en un grupo central de desarrolladores con un buen entendimiento del código base de PHP. Estos desarrolladores gastan mucho tiempo localizando y solucionando problemas con PHP. Además, hay muchos miembros de otros equipos que testean y prueban estas soluciones usando una gran variedad de plataformas.

PHP-GTK

PHP-GTK es la solución PHP para escribir las aplicaciones GUI del lado del cliente. Andrei Zmievski recuerda la planificación y la creación del proceso de PHP-GTK:

Programar GUI siempre ha estado entre mis intereses, y he encontrado que Gtk+ es una herramienta muy buena, salvo que programar con ella en C es algo tedioso. Tras presenciar las implementaciones de PyGtk y GTK-Perl, decidí ver si PHP se podría hacer con la interfaz Gtk+, incluso mínimamente. En Agosto de 2000 empecé a tener más tiempo libre, con lo que comencé a experimentar. Mi principal guía fue la implementación PyGtk con características completas bastante buenas y con un buen interfaz orientado a objetos. James Henstridge, el autor de PyGtk, proveyó mucha ayuda adicional durante esos estados iniciales.

Escribir las interfaces de todas las funciones Gtk+ estaba fuera de cuestión, por lo que mantuve la idea de generador de código, similar a cómo PyGtk lo hizo. El generador de código es un programa PHP que lee un conjunto de ficheros .defs que contienen las clases Gtk+, constantes e información de métodos y genera código C que interactúa PHP con ellos. Lo que no se puede generar automáticamente puede escribirse a mano en ficheros .overrides.

Trabajar en el generador de código y la infraestructura llevó algo de tiempo, porque pude dedicar poco tiempo a PHP-GTK durante el otoño de 2000. Después mostré PHP-GTK a Frank Kromann, que se interesó y empezó a ayudarme con el trabajo del generador de código y con la implementación para Win32. Cuando escribimos el primer programa Hola Mundo y funcionó, fue extremadamente excitante. Llevó un par de meses más llevar el proyecto a una condición presentable y la versión inicial se liberó el 1 de Marzo de 2001. La historia rápidamente llegó a SlashDot.

Sintiendo que PHP-GTK podría extenderse, configuré listas de correo separadas y repositorios CVS para ello, así como el sitio web gtk.php.net con la ayuda de Colin Viebrock. La documentación también tuvo que hacerse y James Moore llegó para ayudar en esto.

Desde su lanzamiento PHP-GTK fue ganando popularidad. Tenemos nuestro propio equipo de documentación, el manual sigue mejorando, la gente ha comenzado a escribir extensiones para PHP-GTK, y con ello más y mejores aplicaciones.

Anterior | Inicio | Siguiente
Historia de PHP y proyectos relacionados | Subir | Libros sobre PHP


Libros sobre PHP

Según crecía PHP, empezo a ser reconocido como una popular plataforma de desarrollo web. Una de las más interesantes formas de ver esta tendencia era observando los libros sobre PHP que han ido llegando a lo largo de los años.

Por lo que nosotros sabemos, el primer libro dedicado a PHP fue 'PHP - tvorba interaktivních internetových aplikací' - un libro checo publicado en 1999, cuyo autor fue Jirka Koseksiendo. Al mes siguiente le siguio un libro alemán cuyos autores fueron Egon Schmid, Christian Cartus y Richard Blume. El primer libro en inglés sobre PHP se publicó poco después, y fue 'Core PHP Programming' de Leon Atkinson. Los dos libros cubrían PHP 3.0.

Mientras estos libros fueron los primeros de su tipo - fueron seguidos por un gran número de libros de una multitud de autores y editores. ¡Existen más 40 libros en inglés, 50 libros en alemán, y más de 20 libros en francés! Además, se pueden encontrar libros sobre PHP en la mayoría de las demás lenguas, incluyendo español, coreano, japonés y hebreo.

Evidentemente, este gran número de libros, escritos por diferentes autores, publicados por muchos editores, y su disponibilidad en tantas lenguas - son un fuerte testimonio del éxito mundial de PHP.

Anterior | Inicio | Siguiente
Historia de los proyectos relacionados con PHP | Subir | Publicaciones sobre PHP


Publicaciones sobre PHP

Por lo que sabemos, el primer artículo sobre PHP en una revista impresa se publicó en la version checa de Computerworld en la primavera de 1998, y cubría PHP 3.0. Como con los libros, fue el primero en una serie de muchos artículos publicados sobre PHP en varias revistas importantes.

Artículos sobre PHP han aparecido en Dr. Dobbs, Linux Enterprise, Linux Magazine y muchas otras. Artículos sobre migración de aplicaciones basadas en PHP bajo Windows ¡han aparecido incluso en el MSDN de Microsoft!

Anterior | Inicio | Siguiente
Libros sobre PHP | Subir | Migración desde PHP 4 a PHP 5


Migración desde PHP 4 a PHP 5

Manual de PHP
Anterior Siguiente

Apéndice B. Migración desde PHP 4 a PHP 5

Tabla de contenidos
Qué ha cambiado en PHP 5
Cambios Incompatibles con Versiones Anteriores
CLI y CGI
Migración de Archivos de Configuración
Nuevas Funciones
Nuevas Directivas
Bases de Datos
Nuevo Modelo de Objetos
Reporte de Errores

Qué ha cambiado en PHP 5

PHP 5 y el Motor Zend 2 integrado han mejorado significativamente el rendimiento y las capacidades de PHP, al mismo tiempo que se han tomado precauciones para evitar al máximo incompatibilidades con el código existente. Por lo tanto, migrar su código desde PHP 4 a la versión 5 debe resultar bastante fácil. La mayoría de código PHP 4 existente debe estar listo para correr sin modificaciones, pero aun es buena idea que conozca sobre las pocas diferencias y tome sus precauciones para probar el código antes de actualizar versiones en entornos en producción.

Anterior | Inicio | Siguiente
Publicaciones sobre PHP | Subir | Cambios Incompatibles con Versiones Anteriores


Cambios Incompatibles con Versiones Anteriores

Aunque la mayoría de código PHP 4 existente debe correr sin modificaciones, es importante que preste atención a los siguientes cambios incompatibles con versiones anteriores:

  • Existen algunas palabras clave nuevas.

  • strrpos() y strripos() ahora usan la cadena entera como aguja.

  • El uso de índices de cadena inválidos generan errores de tipo E_ERROR en lugar de E_WARNING. Un ejemplo de uso inválido es: $cadena = 'abc'; unset($cadena[0]);.

  • Se modificó array_merge() para que acepte únicamente matrices. Si una variable de un tipo diferente a matriz es pasada, se genera un error de tipo E_WARNING para cada uno de esos parámetros. Tenga cuidado, ya que su código puede comenzar a emitir anuncios E_WARNING de la nada.

  • La variable de servidor PATH_TRANSLATED ya no es definida de forma implícita bajo la SAPI de Apache2, a diferencia del comportamiento de PHP 4, en donde se define con el mismo valor de la variable de servidor SCRIPT_FILENAME cuando no se define por Apache. Este cambio fue realizado para seguir la especificación CGI. Por favor refiérase al bug #23610 para más información, y asimismo vea la descripción de $_SERVER['PATH_TRANSLATED'] en el manual. Este problema afecta también a las versiones >= 4.3.2 de PHP.

  • La constante T_ML_COMMENT ya no es definida por la extensión Tokenizer. Si el valor de error_reporting es E_ALL, PHP generará una noticia. Aunque la constante T_ML_COMMENT nunca fue usada, estaba definida en PHP 4. Tanto en PHP 4 como en PHP 5 // y /* */ son resueltos como la constante T_COMMENT. Sin embargo, los comentarios estilo PHPDoc /** */, que son interpretados a partir de PHP 5, se reconocen como T_DOC_COMMENT.

  • $_SERVER debe poblarse con argc y argv si variables_order incluye "S". Si ha configurado su sistema específicamente para no crear $_SERVER, entonces por supuesto que no aparecerá. El cambio fue hecho para lograr que argc y argv siempre estuvieran disponibles en la versión CLI independientemente del parámetro variables_order. Es decir, ahora la versión CLI define siempre las variables globales $argc y $argv.

  • Un objeto sin propiedades ya no es considerado "vacío".

  • En algunos casos, las clases deben ser declaradas antes de su uso. Esto sólo ocurre si algunas de las nuevas características de PHP 5 (tal como las interfaces) son usadas. De otro modo el comportamiento antiguo se conserva.

  • get_class(), get_parent_class() y get_class_methods() devuelven ahora el nombre de las clases/métodos como ellos fueron declarados (siguiendo las mayúsculas y minísculas) lo cual puede llevar a problemas en scripts viejos que dependían en el comportamiento anterior (el nombre de la clase/método era devuelto en minúsculas siempre). Una posible solución es buscar las funciones mencionadas en todos sus scripts y usar strtolower().

    Este cambio en la sensibilidad a minúsculas y mayúsculas se aplica también a las constantes predefinidas mágicamente __CLASS__, __METHOD__, y __FUNCTION__. Los valores son devueltos exactamente como son declarados (sensibles a mayúsculas y minúsculas).

  • ip2long() ahora devuelve FALSE cuando una dirección IP inválida es pasada como argumento a la función, y no -1.

  • Si hay funciones definidas en el archivo incluido, éstas pueden ser usadas en el archivo principal, sin importar que estén antes de una sentencia return() o después. Si el archivo es incluido dos veces, PHP 5 produce un error fatal ya que las funciones ya han sido declaradas, mientras que PHP 4 no se queja al respecto. Se recomienda usar include_once() en lugar de revisar si el archivo ya había sido incluido y retornar condicionalmente al interior del archivo incluido.

  • include_once() y require_once() primero normalizan la ruta del archivo incluido en Windows de modo que incluir A.php y a.php incluyen el archivo solo una vez.

Ejemplo B-1. strrpos() y strripos() ahora usan la cadena entera como aguja

<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

Ejemplo B-2. Un objeto sin propiedades ya no es considerado "vacío"

<?php
class prueba { }
$p = new prueba();

var_dump(empty($p)); // echo bool(false)

if ($p) {
    // Se ejecuta
}
?>

Ejemplo B-3. En algunos casos, las clases deben declararse antes de ser usadas

<?php

// funciona sin errores:
$a = new a();
class a {
}

// gerena un error:
$a = new b();

interface c{
}
class b implements c {
}

?>

Anterior | Inicio | Siguiente
Migración desde PHP 4 a PHP 5 | Subir | CLI y CGI


CLI y CGI

En PHP 5, se efectuaron algunos cambios en el entorno CLI y los nombres de archivo CGI. En PHP 5, la versión CGI fue renombrada a php-cgi.exe (previamente php.exe) y la versión CLI ahora existe en el directorio principal (previamente era cli/php.exe).

En PHP 5 se introdujo también un nuevo modo: php-win.exe. Este es igual a la versión CLI, excepto que php-win no genera ninguna salida y por lo tanto no provee una consola (no aparece una "caja de dos" en la pantalla"). Este comportamiento es similar a php-gtk.

En PHP 5, la versión CLI siempre define las variables globales $argv y $argc, independientemente a cualquier directiva en php.ini. Incluso teniendo el parámetro register_argc_argv como off no tendrá efecto en la versión CLI.

Vea también la referencia de la línea de comandos.

Anterior | Inicio | Siguiente
Cambios Incompatibles con Versiones Anteriores | Subir | Migración de Archivos de Configuración


Migración de Archivos de Configuración

Dado que los módulos ISAPI cambiaron sus nombres, de php4xxx a php5xxx, es necesario hacer algunos cambios en los archivos de configuración. También ocurrieron cambios en los nombres de archivos CLI y CGI. Por favor refiérase a la sección correspondiente para más información.

Migrar la configuración de Apache es extremadamente simple. Consulte el ejemplo a continuación para verificar el cambio que necesita realizar:

Ejemplo B-4. Migración de archivos de configuración de Apache para PHP 5

# cambie esta línea:
LoadModule php4_module /php/sapi/php4apache2.dll

# por esta:
LoadModule php5_module /php/php5apache2.dll

Si su servidor web está usando PHP en modo CGI, debe notar que la versión CGI ha cambiado su nombre de php.exe a php-cgi.exe. En apache, debe hacer algo como lo siguiente:

Ejemplo B-5. Migración de archivos de configuración de Apache para PHP 5, modo CGI

# cambie esta línea:
Action application/x-httpd-php "/php/php.exe"

# por esta:
Action application/x-httpd-php "/php/php-cgi.exe"

En otros servidores web necesita cambiar ya sea el nombre de archivo CGI o del módulo ISAPI.

Anterior | Inicio | Siguiente
CLI y CGI | Subir | Nuevas Funciones


Nuevas Funciones

En PHP 5 aparecen algunas funciones nuevas. A continuación se presenta una lista de ellas:

Matrices:

  • array_combine() - Crea una matriz usando una matriz para las claves y otra para sus valores

  • array_diff_uassoc() - Computa la diferencia de matrices con un chequeo adicional de índices, el cual es realizado con una llamada de retorno entregada por el usuario

  • array_udiff() - Computa la diferencia de matrices usando una llamada de retorno para la comparación de datos

  • array_udiff_assoc() - Computa la diferencia de matrices con un chequeo adicional de índices. Los datos son comparados usando una llamada de retorno

  • array_udiff_uassoc() - Computa la diferencia de matrices con un chequeo adicional de índices. Los datos son comparados usando una llamada de retorno. El chequeo de índices es realizado usando una llamada de retorno

  • array_walk_recursive() - Aplica una función de usuario recursivamente a cada miembro de una matriz

  • array_uintersect_assoc() - Computa la intersección de matrices con un chequeo adicional de índices. Los datos son comparados usando una llamada de retorno

  • array_uintersect_uassoc() - Computa la intersección de matrices con un chequeo adicional de índices. Tanto los datos como los índices son comparados usando llamadas de retorno

  • array_uintersect() - Computa la intersección de matrices. Los datos son comparados usando una llamada de retorno

InterBase:

  • ibase_affected_rows() - Devuelve el número de filas que fueron afectadas por la consulta anterior

  • ibase_backup() - Inicia una labor de respaldo en el administrador de servicios y retorna inmediatamente

  • ibase_commit_ret() - Aplica una transacción sin cerrarla

  • ibase_db_info() - Solicita estadísticas sobre una base de datos

  • ibase_drop_db() - Elimina una base de datos

  • ibase_errcode() - Devuelve un código de error

  • ibase_free_event_handler() - Cancela un gestor de eventos registrado

  • ibase_gen_id() - Incrementa el generador nombrado y devuelve su nuevo valor

  • ibase_maintain_db() - Ejecuta un comando de mantenimiento en el servidor de bases de datos

  • ibase_name_result() - Asigna un nombre a un conjunto de resultados

  • ibase_num_params() - Devuelve el número de parámetros en una consulta preparada

  • ibase_param_info() - Devuelve información sobre un parámetro en una consulta preparada

  • ibase_restore() - Inicia una labor de rescate en el administrador de servicios y retorna inmediatamente

  • ibase_rollback_ret() - Revierte una transacción y conserva su contexto

  • ibase_server_info() - Solicita estadísticas sobre una base de datos

  • ibase_service_attach() - Conectarse al administrador de servicios

  • ibase_service_detach() - Desconectarse del administrador de servicios

  • ibase_set_event_handler() - Registrar una llamada de retorno a ser usada cuando se publican eventos

  • ibase_wait_event() - Esperar a que un evento sea publicado por la base de datos

iconv:

  • iconv_mime_decode() - Decodifica un campo de cabecera MIME

  • iconv_mime_decode_headers() - Decodifica múltiples campos de cabecera MIME de una vez

  • iconv_mime_encode() - Compone un campo de cabecera MIME

  • iconv_strlen() - Devuelve el conteo de caracteres de la cadena

  • iconv_strpos() - Encuentra la posición de la primera ocurrencia de una aguja al interior de un pajar

  • iconv_strrpos() - Encuentra la última ocurrencia de una aguja en un pajar

  • iconv_substr() - Recorta parte de una cadena

Secuencias:

  • stream_copy_to_stream() - Copia datos de una secuencia a otra

  • stream_get_line() - Obtiene una línea de un recurso tipo secuencia hasta cierto límite indicado

  • stream_socket_accept() - Acepta una conexión sobre un socket creado por stream_socket_server()

  • stream_socket_client() - Abre una conexión de socket de Internet Abierto o Dominio Unix

  • stream_socket_get_name() - Recupera el nombre de sockets locales o remotos

  • stream_socket_recvfrom() - Recibe datos de un socket, conectado o no

  • stream_socket_sendto() - Envia un mensaje a un socket, bien esté conectado o no

  • stream_socket_server() - Crea un socket de servidor de Internet o de dominio Unix

Fecha y hora:

  • idate() - Dar formato de entero a una fecha/hora local

  • date_sunset() - Hora de crepúsculo para un día y ubicación determinados

  • date_sunrise() - Hora del alba para un día y ubicación determinados

  • time_nanosleep() - Espera por un número de segundos y nanosegundos

Cadenas:

  • str_split() - Convierte una cadena en una matriz

  • strpbrk() - Busca una cadena por un conjunto cualquiera de caracteres

  • substr_compare() - Comparación segura con material binario, opcionalmente insensitiva a mayúsculas y minúsculas, de dos cadenas a partir de un desplazamiento, y hasta un límite da caracteres

Other:

  • convert_uudecode() - decodificar una cadena con el algoritmo uuencode

  • convert_uuencode() - Codificar una cadena con el algoritmo uuencode

  • curl_copy_handle() - Copiar un gestor cURL junto con todas sus preferencias

  • dba_key_split() - Separa una llave representada como cadena a una representación de matriz

  • dbase_get_header_info() - Obtiene la información de cabecera de una base de datos dBase

  • dbx_fetch_row() - Recupera filas desde un resultado de consulta que usó la bandera DBX_RESULT_UNBUFFERED

  • fbsql_set_password() - Cambia la contraseña para un usuario determinado

  • file_put_contents() - Escribe una cadena a un archivo

  • ftp_alloc() - Reserva espacio para que el archivo sea cargado

  • get_declared_interfaces() - Devuelve una matriz de todas las interfaces declaradas

  • get_headers() - Recupera todas las cabeceras enviadas por el servidor en respuesta a una petición HTTP

  • headers_list() - Devuelve una lista de cabeceras de respuesta enviadas (o listas para ser enviadas)

  • http_build_query() - Generar una cadena query codificada estilo URL

  • image_type_to_extension() - Obtiene la extensión de
archivo para el tipo de imagen devuelto por
getimagesize(),
exif_read_data(),
exif_thumbnail(),
exif_imagetype()

  • imagefilter() - Aplica un filtro a una imagen usando argumentos personalizados

  • imap_getacl() - Obtiene el valor ACL para la casilla de correo dada

  • ldap_sasl_bind() - Enlaza con el directorio LDAP usando SASL

  • mb_list_encodings() - Devuelve una matriz de todas las codificaciones soportadas

  • pcntl_getpriority() - Obtiene la prioridad de cualquier proceso

  • pcntl_wait() - Espera o devuelve el status de un hijo bifurcado como se define por la llamada de sistema waitpid()

  • pg_version() - Devuelve una matriz con el cliente, protocolo y versión del servidor (cuando se encuentra disponible)

  • php_check_syntax() - Verifica la sintaxis del archivo especificado

  • php_strip_whitespace() - Devuelve el código fuente con los comentarios y espacios eliminados

  • proc_nice() - Cambia la prioridad del proceso actual

  • pspell_config_data_dir() - Cambia la ubicación de los archivos de datos del lenguaje

  • pspell_config_dict_dir() - Cambia la ubicación de la lista principal de palabras

  • setrawcookie() - Envía una cookie sin codificar el valor en estilo URL

  • scandir() - Lista los archivos y directorios al interior de la ruta especificada

  • snmp_read_mib() - Lee y realiza análisis sintáctico sobre un archivo MIB en el árbol MIB activo

  • sqlite_fetch_column_types() - Devuelve una matriz de tipos de columna de una tabla en particular

Nota: La extensión Tidy ha modificado también su API por completo.

Anterior | Inicio | Siguiente
Migración de Archivos de Configuración | Subir | Nuevas Directivas


Nuevas Directivas

Algunas directivas de php.ini se han incorporado en PHP 5. Aquí se presenta una lista de ellas:

  • mail.force_extra_parameters - Obliga a que se agreguen los parámetros especificados como parámetros extra al ejecutable de sendmail. Estos parámetros siempre reemplazan el valor del quinto parámetro de mail(), incluso en modo seguro

  • register_long_arrays - habilita/deshabilita el registro de las largas variables obsoletas $HTTP_*_VARS

  • session.hash_function - selecciona una función de resumen criptográfico (MD5 o SHA-1)

  • session.hash_bits_per_character - define cuántos bits deben almacenarse en cada caracter cuando se convierten datos binarios de hash a algo más legible (de 4 a 6)

  • zend.ze1_compatibility_mode - Habilita el modo de compatibilidad con el Motor Zend 1 (PHP 4)

Anterior | Inicio | Siguiente
Nuevas Funciones | Subir | Bases de Datos


Bases de Datos

Hubo algunos cambios en PHP 5 relacionados con las bases de datos (MySQL y SQLite).

En PHP 5 las bibliotecas de cliente MySQL no se incluyen, debido a problemas de licencia, entre otros. Para más información, lea la entrada del FAQ.

También hay una nueva extensión, MySQLi (MySQL Mejorado), la cual está diseñada para trabajar con MySQL 4.1 y superior.

A partir de PHP 5, la extensión SQLite viene incorporada en PHP. SQLite es un motor de bases de datos embebible y no es una biblioteca de cliente usada para conectarse con un servidor grande de bases de datos (como MySQL o PostgreSQL). La biblioteca SQLite lee y escribe directamente hacia y desde los archivos de bases de datos en disco.

Anterior | Inicio | Siguiente
Nuevas Directivas | Subir | Nuevo Modelo de Objetos


Nuevo Modelo de Objetos

En PHP 5 existe un nuevo Modelo de Objetos. El manejo de objetos en PHP ha sido re-escrito por completo, permitiendo una mejora en rendimiento y muchas características nuevas. En versiones previas de PHP, los objetos eran manejados como tipos primitivos (por ejemplo enteros y cadenas). La desventaja de este método era que semánticamente el objeto completo era copiado cuando una variable era asignada, o pasada como parámetro a un método. En el nuevo enfoque, los objetos son referenciados por gestor, y no por valor (puede pensarse en el gestor como un identificador de objeto).

Muchos programadores de PHP no son conscientes siquiera de los detalles que implican las copias en el modelo antiguo de objetos y, por lo tanto, la mayoría de aplicaciones de PHP funcionarán sin problemas, o con muy pocas modificaciones.

El nuevo Modelo de Objetos es documentado en la Referencia del Lenguaje.

Vea también la directiva zend.ze1_compatibility_mode para compatibiladad con PHP 4.

Anterior | Inicio | Siguiente
Bases de Datos | Subir | Reporte de Errores


Reporte de Errores

A partir de PHP 5, la nueva constante de reporte de errores E_STRICT se encuentra disponible con el valor 2048. Ésta habilita sugerencias en tiempo de ejecución por parte de PHP sobre la inter-operabilidad de su código y compatibilidad hacia adelante, que le ayudarán a sincronizarse con los últimos y mejores métodos de escritura de código. Por ejemplo, un mensaje STRICT puede advertirle cuando use funciones obsoletas.

Nota: E_ALL no incluye E_STRICT, así que esta constante no está habilitada por omisión.

Anterior | Inicio | Siguiente
Nuevo Modelo de Objetos | Subir | Migración de PHP 3 a PHP 4


Migración de PHP 3 a PHP 4

Manual de PHP
Anterior Siguiente

Apéndice C. Migración de PHP 3 a PHP 4

Tabla de contenidos
Qué ha cambiado en PHP 4
Ejecutar PHP 3 y PHP 4 simultáneamente
Migración de Archivos de Configuración
Comportamiento del analizador sintáctico
Reporte de errores
Inicializadores
empty("0")
Funciones faltantes
Extensiones PHP 3
Sustitución de variables en cadenas
Cookies
Gestión de variables globales

Qué ha cambiado en PHP 4

PHP 4 y el motor Zend integrado han mejorado considerablemente las capacidades y el rendimiento de PHP, pero se ha tenido mucho cuidado para evitar cualquier impacto negativo sobre el código existente. De modo que migrar su código desde PHP 3 a PHP 4 debe ser mucho más sencillo que migrar de PHP/FI 2 a PHP 3. Bastante código de PHP 3 existente debe estar listo para correr sin modificaciones, pero aun así es importante que sepa sobre las pocas diferencias, y tome las precauciones necesarias para probar su código antes de cambiar las versiones en entornos de producción. Las siguientes líneas deben propocionarle algunas pistas sobre qué tipo de cosas considerar.

Anterior | Inicio | Siguiente
Reporte de Errores | Subir | Ejecutar PHP 3 y PHP 4 simultáneamente


Ejecutar PHP 3 y PHP 4 simultáneamente

Sistemas operativos recientes ofrecen la posibilidad de realizar versionamiento y contextualización. Estas características hacen posible que PHP 3 y PHP 4 corran como módulos concurrentes en un servidor Apache.

Se conoce que esta característica funciona sobre las siguientes plataformas:

  • Linux con versión reciente de binutils (se ha probado con binutils 2.9.1.0.25)

  • Solaris 2.5 o superior

  • FreeBSD (se ha probado con 3.2, 4.0)

Para habilitarlo, configure PHP 3 y PHP 4 para que usen APXS (--with-apxs) y las extensiones de enlace necesarias (--enable-versioning). Por lo demás, todas las instrucciones de instalación estándar se aplican. Por ejemplo:

$ ./configure \
  --with-apxs=/apache/bin/apxs \
  --enable-versioning \
  --with-mysql \
  --enable-track-vars

Anterior | Inicio | Siguiente
Migración de PHP 3 a PHP 4 | Subir | Migración de Archivos de Configuración


Migración de Archivos de Configuración

El archivo de configuración global, php3.ini, ha cambiado su nombre a php.ini.

Para el archivo de configuración de Apache, existen unos cuantos cambios más. Los tipos MIME reconocidos por el módulo PHP han cambiado.

application/x-httpd-php3        -->    application/x-httpd-php
application/x-httpd-php3-source -->    application/x-httpd-php-source

Puede hacer que sus archivos de configuración trabajen con ambas versiones de PHP (dependiendo de cuál es la que está compilada actualmente con el servidor), usando la siguiente sintaxis:

AddType  application/x-httpd-php3        .php3
AddType  application/x-httpd-php3-source .php3s

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

Adicionalmente, los nombres de directivas PHP para Apache han cambiado.

A partir de PHP 4.0, existen solo cuatro directivas Apache que se relacionan con PHP:

php_value [nombre de directiva PHP] [valor]
php_flag [nombre de directiva PHP] [On|Off]
php_admin_value [nombre de directiva PHP] [valor]
php_admin_flag [nombre de directiva PHP] [On|Off]

Existen dos diferencias entre los valores Admin y los no-admin:

  • Los valores (o banderas) admin pueden aparecer solo en los archivos de configuración globales de Apache (p.ej., httpd.conf).

  • Los valores (o banderas) estándar no pueden controlar ciertas directivas PHP, por ejemplo: safe mode (si pudiera sobrescribir los parámetros del modo seguro en los archivos .htaccess, se estropearía la gracia de safe mode). En contraste, los valores Admin pueden modificar el valor de cualquier directiva PHP.

Para hacer el proceso de transición más sencillo, PHP 4 es distribuido con scripts que convierten automáticamente su configuración en archivos Apache y .htaccess para que trabajen con PHP 3 y PHP 4. ¡Estos scripts NO convierten las líneas de tipos mime! Tendrá que convertir éstas manualmente.

Para convertir sus archivos de configuración de Apache, ejecute el script apconf-conv.sh (disponible en el directorio scripts/apache/). Por ejemplo:

~/php4/scripts/apache:#  ./apconf-conv.sh /usr/local/apache/conf/httpd.conf

Su archivo de configuración original será guardado en httpd.conf.orig.

Para convertir sus archivos .htaccess, ejecute el script aphtaccess-conv.sh (disponible así mismo en el directorio scripts/apache/):

~/php4/scripts/apache:#  find / -name .htaccess -exec ./aphtaccess-conv.sh {} \;

De modo semejante, sus archivos .htaccess antiguos serán guardados con el prefijo .orig.

Los scripts de conversión requieren que awk esté instalado.

Anterior | Inicio | Siguiente
Ejecutar PHP 3 y PHP 4 simultáneamente | Subir | Comportamiento del analizador sintáctico


Comportamiento del analizador sintáctico

El proceso de análisis sintáctico y la ejecución son ahora dos pasos completamente separados, no se procederá a la ejecución del código de cualquier archivo hasta que éste en su totalidad, así como todo el código requerido se haya analizado completa y satisfactoriamente.

Uno de los nuevos requisitos introducidos con esta separación es que todos los archivos requeridos y de inclusión tienen que ser sintácticamente completos ahora. Ya no es permitida la separación de diferentes segmentos de una estructura de control a través de varios archivos. Esto quiere decir que ahora no puede iniciar un ciclo for o while, una sentencia if o un bloque switch en un archivo, y tener el final del ciclo, sentencias else, endif, case o break en un archivo diferente.

Aun es perfectamente legal incluir código adicional al interior de ciclos u otras estructuras de control, únicamente las palabras claves de control y los corchetes correspondientes {...} tienen que estar en la misma unidad de compilación (archivo o cadena procesada por eval()).

Esto no debe generar una repercusión significativa ya que separar el código de esta manera debe ser considerado como muy mal estilo, en cualquier caso.

Algo más que ya no es posible, aunque es rara veces visto en código PHP 3, es devolver valores desde un archivo requerido. Devolver un valor desde un archivo de inclusión es posible aun.

Anterior | Inicio | Siguiente
Migración de Archivos de Configuración | Subir | Reporte de errores


Reporte de errores

Cambios de configuración

Con PHP 3 el nivel de reporte de errores estaba establecido como un valor numérico simple formado por la suma de los números relacionados con diferentes niveles de error. Algunos valores usuales eran 15 para reportar todos los errores y advertencias, o 7 para reportar todo excepto mensajes de noticias simples que indicaban mal estilo del código y cosas por el estilo.

PHP 4 tiene un conjunto de niveles de error y advertencia mayor y viene con un analizador sintáctico de configuración que permite el uso de constantes simbólicas para determinar el comportamiento deseado.

El nivel de reporte de errores debe ser ahora configurado mediante la deshabilitación explícita de niveles de advertencia que no desea que generen mensajes de error, con una sentencia lógica OR sobre la constante simbólica E_ALL. ¿Suena complicado? Bien, digamos que usted desea que el sistema de reporte de errores le haga saber sobre cualquier problema excepto por las advertencias de estilo simples que están categorizadas por la constante simbólica E_NOTICE. En ese caso, colocará lo siguiente en su php.ini: error_reporting = E_ALL & ~ ( E_NOTICE ). Si desea suprimir las advertencias también, usted agrega la constante apropiada al interior de los paréntesis usando el operador binario OR '|': error_reporting= E_ALL & ~ ( E_NOTICE | E_WARNING ).

Aviso

Cuando actualice código o servidores desde PHP 3 a PHP 4, usted debería chequear estos parámetros y llamadas a error_reporting() o puede que quiera deshabilitar el reporte de los nuevos tipos de error, especialmente E_COMPILE_ERROR. Esto puede llevar a la generación de documentos sin información alguna sobre qué ha pasado o en dónde investigar por posibles problemas.

Aviso

El uso de los valores antiguos 7 y 15 para establecer el reporte de errores es una muy mala idea ya que esto suprime algunas de las nuevas clases de errores presentes, incluyendo errores de la fase de análisis sintáctico. Esto puede producir comportamientos bastante extraños, debido a que posiblemente los scripts no trabajen más sin dejar de mostrar mensajes de error en todas partes.

Esto ha producido una cantidad enorme de reportes de fallos irreproducibles en el pasado, en donde la gente reportaba problemas con el motor de scripts que eran incapaces de rastrear, cuando lo que sucedía en realidad era usualmente algún '}' que faltaba en un archivo requerido, que el analizador sintáctico no podía reportar debido a un sistema de reporte de errores mal configurado.

Así que revisar la configuración de su reporte de errores debe ser lo primero que debe hacer siempre que sus scripts mueran silenciosamente. El motor Zend puede considerarse suficientemente maduro en la actualidad como para afirmar que éste no es el causante de estos comportamientos extraños.

Mensajes de advertencia adicionales

Una gran cantidad de código PHP 3 existente usa construcciones del lenguaje que deben ser consideradas como muy mal estilo ya que, aunque logran el efecto esperado ahora, pueden verse influenciadas por cambios en otros lugares del código. PHP 4 desplegará una enorme cantidad de mensajes de noticia en tales situaciones en donde PHP 3 no lo hacía. La solución simple es deshabilitar los mensajes E_NOTICE, pero usualmente es una buena idea arreglar el código en su lugar.

El caso más común que produce mensajes de noticia ahora es el uso de constantes de cadena sin comillas como índices de matrices. Tanto PHP 3 como PHP 4 llegarán a interpretar éstas como cadenas si no existen palabras clave o constantes con tales nombres, pero en donde sea que una constante con tal nombre haya sido definida en algún lugar del código, puede dañar el script. Esto puede convertirse incluso en un riesgo de seguridad si algún intruso logra redefinir constantes de cadena en forma tal que hace que sus scripts le den derechos de acceso que él no debía tener. Así que PHP 4 le advertirá ahora siempre que use constantes de cadena sin comillas, como por ejemplo en $_SERVER[REQUEST_METHOD]. Modificar tal expresión por $_SERVER['REQUEST_METHOD'] hará feliz al analizador sintáctico y mejorará significativamente el estilo y la seguridad de su código.

Otra cosa sobre la que PHP 4 le notificará es sobre el uso de variables o elementos de matrices sin inicializar.

Anterior | Inicio | Siguiente
Comportamiento del analizador sintáctico | Subir | Inicializadores


Inicializadores

Las variables estáticas y los inicializadores de miembros de clase aceptan únicamente valores escalares, mientras que en PHP 3 aceptaban cualquier expresión válida. Esto es, nuevamente, debido a la separación entre el análisis sintáctico y la ejecución ya que el código no ha sido ejecutado aun cuando el analizador sintáctico ve el inicializador.

Para clases, debería usar constructores para inicializar variables miembro en su lugar. Para variables estáticas, cosas diferentes a simples valores estáticos rara vez tienen sentido después de todo.

Anterior | Inicio | Siguiente
Reporte de errores | Subir | empty("0")


Funciones faltantes

Aunque PHP 4 viene con una gran cantidad de características, funciones y extensiones nuevas, puede que aun encuentre funciones de la versión 3 que hacen falta. Un número pequeño de funciones centrales han desaparecido ya que no funcionan con el nuevo esquema de separación de análisis sintáctico y ejecución que se introdujo en PHP 4 con el motor Zend. Otras funciones, e incluso extensiones completas, se han marcado obsoletas a medida que nuevas funciones y extensiones cubren las mismas tareas y en ocasiones en una forma más general. Algunas funciones simplemente no han sido portadas aun y finalmente algunas funciones o extensiones pueden faltar debido a conflictos de licencias.

Funciones faltantes debido a cambios conceptuales

Dado que PHP 4 separa ahora el análisis sintáctico de la ejecución, ya no es posible modificar el comportamiente del analizador sintáctico (embebido ahora en el motor Zend) en tiempo de ejecución, dado que el análisis ya ha ocurrido para entonces. De modo que la función short_tags() ya no existe. Aun puede modificar el comportamiento del analizador sintánctico definiendo los valores apropiados en el archivo php.ini.

Otra característica de PHP 3 que no es parte de PHP 4 es la interfaz de depuración integrada. Existen adiciones de terceros para el motor Zend que añaden funcionalidades similares.

Funciones y extensiones deprecadas

Las extensiones de bases de datos Adabas y Solid ya no existen. Larga vida a la extensión unificada ODBC en su lugar.

Status modificado para unset()

unset(), aun cuando sigue estando disponible, es implementada ahora como una construcción del lenguaje en lugar de una función.

Esto no tiene consecuencia alguna en el comportamiento de unset(), pero realizar una prueba con "unset" usando function_exists() devolverá FALSE del mismo modo que ocurriría con otras construcciones del lenguaje que tienen apariencia de funciones, como echo().

Otro cambio más práctico es que ya no es posible llamar unset() indirectamente, esto es, $func="unset"; $func($alguna_variable) no funcionará más.

Anterior | Inicio | Siguiente
empty("0") | Subir | Extensiones PHP 3


Extensiones PHP 3

Las extensiones escritas para PHP 3 no trabajarán con PHP 4, ni como binarios ni al nivel de fuente. No es difícil portar extensiones a PHP 4 si tiene acceso a las fuentes originales. Una descripción detallada de tal proceso de migración no hace parte de este documento.

Anterior | Inicio | Siguiente
Funciones faltantes | Subir | Sustitución de variables en cadenas


Sustitución de variables en cadenas

PHP 4 añade un nuevo mecanismo para la sustitución de variables en cadenas. Ahora, finalmente, puede acceder a variables miembro de objetos y elementos de matrices multidimensionales al interior de cadenas.

Para tal efecto, necesita rodear sus variables con corchetes, colocando el signo de dólar inmediatamente después del corchete de apetura: {$...}

Para embeber el valor de una variable miembro de objeto en una cadena, simplemente escriba "texto {$obj->miembro} texto", mientras que en PHP 3 debía hacer algo como "texto ".$obj->miembro." texto".

Esto debería representar código más legible, aunque podría arruinar scripts existentes escritos para PHP 3. Pero puede encontrar fácilmente este tipo de problemas, revisando el código por la combinación de caracteres {$ en su código, y reemplazándola por \{$ con su herramienta de búsqueda-y-reemplazo favorita.

Anterior | Inicio | Siguiente
Extensiones PHP 3 | Subir | Cookies


Cookies

PHP 3 tenía el mal hábito de definir cookies en el orden contrario al de las llamadas a setcookie() en su código. PHP 4 acabó con este hábito y crea las líneas de cabecera de cookies en el mismo orden exacto en el que usted define las cookies en el código.

Esto puede dañar código existente, pero el comportamiento antiguo era tan extraño de entender que merecía un cambio para prevenir posteriores problemas en el futuro.

Anterior | Inicio | Siguiente
Sustitución de variables en cadenas | Subir | Gestión de variables globales


Gestión de variables globales

Aunque el manejo de variables globales se enfocaba en la simplicidad en PHP 3 y versiones tempranas de PHP 4, éste enfoque ha cambiado para ser más seguro. Mientras que en PHP 3 el siguiente ejemplo funcionaba bien, en PHP 4 debe ser unset(unset($GLOBALS["id"]));. Este es sólo un detalle de la gestión de variables globales. Usted debería usar siempre $GLOBALS, con versiones recientes de PHP 4 está obligado a hacerlo en la mayoría de casos. Lea más sobre este asunto en la sección de referencias global.

Ejemplo C-1. Migración de variables globales

<?php
$id = 1;
function prueba()
{
    global $id;
    unset($id);
}
prueba();
echo($id); // Esto imprime 1 en PHP 4
?>

Anterior | Inicio | Siguiente
Cookies | Subir | Migración desde PHP/FI 2 hacia PHP 3


Migración desde PHP/FI 2 hacia PHP 3

Manual de PHP
Anterior Siguiente

Apéndice D. Migración desde PHP/FI 2 hacia PHP 3

Tabla de contenidos
Sobre las incompatibilidades en 3.0
old_function
Etiquetas de inicio/final
Sintaxis if..endif
Sintaxis while
Tipos de las expresiones
Los mensajes de error han cambiado
Evaluación booleana de corto-circuito
Valores de retorno de función TRUE/FALSE
Otras incompatibilidades

Sobre las incompatibilidades en 3.0

PHP 3.0 ha sido rescrito desde ceros. Posee un analizador sintáctico apropiado, que es mucho más robusto y consistente que el de 2.0. 3.0 es también significativamente mas rápido, y usa menos memoria. Sin embargo, algunas de estas mejoras no fueron posibles sin modificaciones de compatibilidad, tanto en la sintaxis como en el funcionamiento.

Además, los desarrolladores de PHP han intentado limpiar tanto la sintaxis como la semántica de PHP en la versión 3.0, y ésto ha causado también algunas incompatibilidades. Creemos que, a largo plazo, estos cambios serán para bien.

Este capítulo intentará guiarle a través de las incompatibilidades que puede encontrar cuando vaya desde PHP/FI 2.0 a PHP 3.0, además de ayudarle a resolverlas. No se mencionan aquí las nuevas características, a menos que sea necesario.

Existe un programa que puede convertir automáticamente sus viejos scripts PHP/FI 2.0. Puede ser encontrado en el subdirectorio convertor de la distribucion 3.0 de PHP. Sin embargo, éste programa solo detecta los cambios de sintaxis, así que debería leer este capítulo con cuidado, en cualquier caso.

Anterior | Inicio | Siguiente
Gestión de variables globales | Subir | old_function


Etiquetas de inicio/final

Aquello que probablemente note primero, es que las etiquetas de inicio y final de PHP han cambiado. Las vieja forma <? > ha sido reemplazada por tres nuevas formas posibles:

Ejemplo D-1. Migración: etiquetas viejas de inicio/fin

<? echo "Esto es c&oacute;digo PHP/FI 2.0.\n"; >
A partir de la versión 2.0, PHP/FI también soporta esta variante:

Ejemplo D-2. Migración: primer juego nuevo de etiquetas de inicio/fin

<? echo "&iexcl;Esto es c&oacute;digo PHP 3.0!\n"; ?>
Note que la etiqueta de fin consiste ahora en un signo de interrogación y un caracter mayor-que, en lugar de tan sólo un mayor-que. Sin embargo, si planea usar XML en su servidor, tendrá problemas con la primera variante nueva, ya que PHP puede intentar ejecutar el marcado XML en documentos XML como código PHP. Es por esto que se han introducido las siguientes variantes:

Ejemplo D-3. Migración: segundo juego de etiquetas de inicio/fin

<?php echo "&iexcl;Esto es c&oacute;digo PHP 3.0!\n"; ?>
Algunas personas han tenido problemas con editores que no reconocen las etiquetas de instrucción de procesamiento después de todo. Microsoft FrontPage es uno de esos editores, y a modo de remedio, se ha introducido también esta otra variante:

Ejemplo D-4. Migración: tercer juego de etiquetas de inicio/fin

<script language="php">

  echo "&iexcl;Esto es c&oacute;digo PHP 3.0!\n";

</script>

Anterior | Inicio | Siguiente
old_function | Subir | Sintaxis if..endif


Sintaxis if..endif

El modo `alternativo' de escribir sentencias if/elseif/else, usando if();elseif(); else; endif; no puede implementarse de forma eficiente sin agregar una gran cantidad de complejidad al analizador sintáctico 3.0. Debido a esto, la sintaxis ha sido modificada:

Ejemplo D-5. Migración: sintaxis if..endif antigua

if ($foo);
    echo "sip\n";
elseif ($bar);
    echo "casi\n";
else;
    echo "nop\n";
endif;

Ejemplo D-6. Migración: sintaxis if..endif nueva

if ($foo):
    echo "sip\n";
elseif ($bar):
    echo "casi\n";
else:
    echo "nop\n";
endif;
Note que los punto-y-coma, han sido reemplazados por los los dos-puntos en todas las sentencias, excepto en aquella que termina la expresión (endif).

Anterior | Inicio | Siguiente
Etiquetas de inicio/final | Subir | Sintaxis while


Sintaxis while

Al igual que con if..endif, la sintaxis de while..endwhile ha cambiado también:

Ejemplo D-7. Migración: sintaxis while..endwhile antigua

while ($mas_en_camino);
    ...
endwhile;

Ejemplo D-8. Migración: sintaxis while..endwhile nueva

while ($mas_en_camino):
    ...
endwhile;

Aviso

Si usa la sintaxis antigua while..endwhile en PHP 3.0, obtendrá un ciclo que nunca finaliza.

Anterior | Inicio | Siguiente
Sintaxis if..endif | Subir | Tipos de las expresiones


Tipos de las expresiones

PHP/FI 2.0 usaba el lado izquierdo de las expresiones para determinar el tipo del resultado. PHP 3.0 toma ambos lados en cuenta cuando determina los tipos del resultado, y esto puede producir comportamientos impredecibles si ejecuta scripts 2.0 en 3.0.

Considere este ejemplo:

$a[0]=5;
$a[1]=7;

$clave = key($a);
while ("" != $clave) {
    echo "$clave";
    next($a);
}

En PHP/FI 2.0, esto mostraría los dos índices de $a. En PHP 3.0, no mostraría nada. La razón es que en PHP 2.0, al ser el argumento izquierdo de tipo cadena, se realizaba una comparación de cadenas, y ciertamente "" no es igual a "0", y el ciclo continúa. En PHP 3.0, cuando se compara una cadena con un entero, se realiza una comparación de enteros (la cadena es convertida a entero). Esto resulta en la comparación de atoi("") que es 0, y lista_de_variables que también es 0, y dado que 0==0, el ciclo no avanzará ni una sola vez.

La solución a esto es simple. Reemplace la sentencia while con:

while ((string)$clave != "") {

Anterior | Inicio | Siguiente
Sintaxis while | Subir | Los mensajes de error han cambiado


Los mensajes de error han cambiado

Los mensajes de error de PHP 3.0 son, usualmente, más precisos que los de 2.0, pero ya no puede ver el fragmento de código que causa el error. Sin embargo, se le entregará el nombre de archivo y número de línea del error.

Anterior | Inicio | Siguiente
Tipos de las expresiones | Subir | Evaluación booleana de corto-circuito


Evaluación booleana de corto-circuito

En PHP 3.0, la evaluación booleana es por corto-circuito. Esto significa que en una expresión como (1 || prueba()), la función prueba() no será ejecutada ya que nada puede cambiar el resultado de la expresión después del 1.

Es éste un detalle menor de compatibilidad, pero puede provocar inesperados efectos colaterales.

Anterior | Inicio | Siguiente
Los mensajes de error han cambiado | Subir | Valores de retorno de función TRUE/FALSE


Otras incompatibilidades

  • El módulo Apache de PHP 3.0 no soporta más versiones de Apache anteriores a la 1.2. Se requiere Apache 1.2 o superior.

  • echo() no soporta más una cadena de formato. Use la función printf() en su lugar.

  • En PHP/FI 2.0, un efecto colateral de implementación causaba que $foo[0] tuviera el mismo efecto que $foo. Esto no ocurre en PHP 3.0.

  • La lectura de matrices con $matriz[] ya no es soportada.

    Esto quiere decir que no puede recorrer una matriz mediante un ciclo que realice $datos = $matriz[]. Use current() y next() en su lugar.

    Así mismo, $matriz1[] = $matriz2 no adiciona los valores de $matriz2 a $matriz1, sino que adiciona $matriz2 como la última entrada de $matriz1. Consulte también el soporte de matrices multidimensionales.

  • "+" ya no es sobrecargado como un operador de concatenación de cadenas, sino que convierte sus argumentos a números y realiza una suma numérica. Use "." en su lugar.

Ejemplo D-11. Migración desde 2.0: concatenación para cadenas

echo "1" + "1";

En PHP 2.0 esto mostraría 11, en PHP 3.0 imprimiría 2. En su lugar use:

echo "1"."1";
$a = 1;
$b = 1;
echo $a + $b;

Esto imprimiría 2 tanto en PHP 2.0 como en 3.0.

$a = 1;
$b = 1;
echo $a.$b;
Esto imprimirá 11 en PHP 3.0.

Anterior | Inicio | Siguiente
Valores de retorno de función TRUE/FALSE | Subir | Depuración en PHP


Depuración en PHP

Manual de PHP
Anterior Siguiente

Apéndice E. Depuración en PHP

Tabla de contenidos
Sobre el depurador
Uso del Depurador
Protocolo del Depurador

Sobre el depurador

PHP 3 incluye soporte para un depurador basado en red.

PHP 4 no cuenta con una herramienta de depuración interna. Aun así, puede usar uno de los depuradores externos. El entorno integrado de desarrollo Zend incluye un depurador, y existen también algunas extensiones de depuración gratuitas como DBG en http://dd.cron.ru/dbg/, el Depurador Avanzado de PHP (APD, por sus siglas en Inglés) o Xdebug, el cual posee incluso una interfaz de depuración compatible con la funcionalidad de depuración de PHP 3, tal y como se describe en esta sección.

Anterior | Inicio | Siguiente
Otras incompatibilidades | Subir | Uso del Depurador


Uso del Depurador

El depurador interno en PHP 3 es útil para rastrear fallos difíciles de señalar. El depurador funciona creando una conexión con un puerto TCP en cada ocasión que PHP 3 arranca. Todos los mensajes de error de esa petición serán enviados a esta conexión TCP. Esta información tiene como propósito ser usada por un "servidor de depuración" que puede correr dentro de un IDE o editor programable (como Emacs).

Cómo configurar el depurador:

  1. Configure un puerto TCP para el depurador en el archivo de configuración (debugger.port) y habilítelo (debugger.enabled).

  2. Configure un receptor TCP en ese puerto en alguna parte (por ejemplo, socket -l -s 1400 en sistemas Unix).

  3. En su código, ejecute "debugger_on(host)", en donde host es el número IP o nombre del servidor huésped en donde está corriendo el receptor TCP.

Ahora, todas las advertencias, noticias etc. aparecerán en ese socket receptor, incluso si las ha deshabilitado con error_reporting().

Anterior | Inicio | Siguiente
Depuración en PHP | Subir | Protocolo del Depurador


Protocolo del Depurador

El protocolo del depurador de PHP 3 es basado en líneas. Cada línea tiene un tipo, y varias líneas componen un mensaje. Cada mensaje comienza con una línea del tipo start y termina con una línea del tipo end. PHP 3 puede enviar líneas para diferentes mensajes simultáneamente.

Una línea tiene este formato:

fecha hora host(pid) tipo: datos-mensaje

fecha

Fecha en formato ISO 8601 (aaaa-mm-dd)

hora

Hora, incluyendo microsegundos: hh:mm:uuuuuu

host

Nombre DNS o dirección IP del host en donde se generó el error de script.

pid

PID (id de proceso) en host del proceso que contenía el script de PHP 3 que generó este error.

tipo

Tipo de línea. Le dice al programa receptor sobre el modo en que debería tratar los datos a continuación:

Tabla E-1. Tipos de Línea del Depurador

Nombre | Significado
start | Le dice el programa receptor que un mensaje de depurador comienza aquí. Los contenidos de datos serán el tipo de mensaje de error, listados más adelante.
message | El mensaje de error PHP 3.
location | Nombre de archivo y número de línea en donde ocurrió el error. La primera línea location contendrá siempre la ubicación de nivel más alto. datos contendrá archivo:línea.Siempre habrá una línea location después de message y después de cada function.
frames | Número de marcos en el siguiente volcado de pila. Si hay cuatro marcos, espere información sobre cuatro niveles de llamados a función. Si no se entrega una línea "frames", se asumirá que la profundidad es 0 (el error ocurrió en el contexto de más alto nivel).
function | Nombre de la función en donde ocurrió el error. Será repetido una vez por cada nivel en la pila de llamados a funciones.
end | Le indica al programa receptor que el mensaje de depurador termina aquí.

datos

Datos de la línea.

Tabla E-2. Tipos de Error del Depurador

Depurador | Interno de PHP 3
warning | E_WARNING
error | E_ERROR
parse | E_PARSE
notice | E_NOTICE
core-error | E_CORE_ERROR
core-warning | E_CORE_WARNING
unknown | (cualquier otro)

Ejemplo E-1. Mensaje de Depurador de Ejemplo

1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (null):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice

Anterior | Inicio | Siguiente
Uso del Depurador | Subir | Opciones de configuración


Extensión de PHP 3

Manual de PHP
Anterior Siguiente

Capítulo 48. Extensión de PHP 3

Tabla de contenidos
Adición de funciones a PHP
Llamados a Funciones de Usuario
Reporte de Errores

Esta sección se encuentra bastante desactualizada y demuestra el modo de extender PHP 3. Si está interesado en PHP 4, por favor lea la sección sobre la interfaz de programación Zend.

Adición de funciones a PHP

Prototipo de Función

Todas las funciones lucen de este modo:

void php3_foo(INTERNAL_FUNCTION_PARAMETERS) {

}
Incluso si su función no recibe argumentos, ésta es la forma de llamarla.

Argumentos de Función

Los argumentos son siempre de tipo pval. Este tipo posee una unión que contiene el tipo real del argumento. Así que, si su función recibe dos argumentos, usted haría algo como lo siguiente al comienzo de su función:

Ejemplo 48-1. Recuperación de argumentos de función

pval *arg1, *arg2;
if (ARG_COUNT(ht) != 2 || getParameters(ht,2,&arg1,&arg2)==FAILURE) {
   WRONG_PARAM_COUNT;
}
NOTA: Los argumentos pueden ser pasados ya sea por valor o por referencia. En ambos casos necesitará pasar &(pval *) a getParameters. Si desea chequear si el parámetra n'ésimo le fue enviado por referencia o no, puede usar la función ParameterPassedByReference(ht,n). Ésta devolverá 1 o 0.

Cuando usted modifica cualquiera de los parámetros pasados, ya sea que hayan sido enviados por referencia o por valor, puede o bien comenzar con el parámetro llamando pval_destructor sobre él, o si es un ARRAY al que desea agregar valores, puede usar funciones similares a aquellas en internal_functions.h que manipulan return_value como un ARRAY.

También, si modifica un parámetro a IS_STRING asegúrese de asignar primero la nueva cadena mediante estrdup() y la longitud de la cadena, y sólo después modifique el tipo a IS_STRING. Si modifica la cadena de un parámetro que ya es IS_STRING o IS_ARRAY, debe ejecutar pval_destructor sobre éste primero.

Argumentos de Función Variables

Una función puede recibir un número variable de argumentos. Si su función puede recibir ya sea 2 o 3 argumentos, use lo siguiente:

Ejemplo 48-2. Argumentos de función variables

pval *arg1, *arg2, *arg3;
int arg_count = ARG_COUNT(ht);

if (arg_count < 2 || arg_count > 3 ||
    getParameters(ht,arg_count,&arg1,&arg2,&arg3)==FAILURE) {
    WRONG_PARAM_COUNT;
}

Uso de los Argumentos de Función

El tipo de cada argumento es almacenado en el campo type de pval. Este tipo puede ser cualquiera de los siguientes:

Tabla 48-1. Tipos Internos de PHP

IS_STRING | Cadena
IS_DOUBLE | Punto flotante de doble precisión
IS_LONG | Entero largo
IS_ARRAY | Matriz
IS_EMPTY | Ninguno
IS_USER_FUNCTION | ??
IS_INTERNAL_FUNCTION | ?? (si alguno de éstos no puede ser pasado a una función - eliminar)
IS_CLASS | ??
IS_OBJECT | ??

Si recibe un argumento de un tipo y quisiera usarlo como otro, o si tan sólo desea obligar al argumento a que sea de un cierto tipo, puede usar una de las siguientes funciones de conversión:

convert_to_long(arg1);
convert_to_double(arg1);
convert_to_string(arg1);
convert_to_boolean_long(arg1); /* Si la cadena es "" o "0" se convierte a 0, 1 de lo contrario */
convert_string_to_number(arg1);  /* Convierte una cadena a un LONG o DOUBLE, dependiendo de la cadena */

Estas funciones todas realizan conversión en-el-lugar. No devuelven nada.

El argumento como tal es almacenado en una unión; los miembros son:

  • IS_STRING: arg1->value.str.val

  • IS_LONG: arg1->value.lval

  • IS_DOUBLE: arg1->value.dval

Administración de Memoria en las Funciones

Cualquier segmento de memoria necesitado por una función debe ser reservado ya sea con emalloc() o estrdup(). Estas son funciones que abstraen la gestión de memoria y lucen y huelen como las funciones normales malloc() y strdup(). La memoria debe ser liberada con efree().

Hay dos tipos de memoria en este programa: la memoria que es devuelta al intérprete en una variable, y la memoria que necesita para el almacenamiento temporal en su función interna. Cuando asigna una cadena a una variable que es devuelta al intérprete, necesita asegurarse de reservar primero la memoria con emalloc() o estrdup(). Esta memoria no debería ser liberada por usted NUNCA, a menos que más adelante en la misma función sobrescriba su asignación original (aunque este tipo de práctica no se considera apropiada).

Para cualquier segmento de memoria temporal/permanente que necesite en sus funciones/bibliotecas, usted debería usar las tres funciones emalloc(), estrdup(), y efree(). Éstas se comportan EXACTAMENTE como sus contrapartes. Cualquier cosa que reserve con emalloc() o estrdup() debe liberarla con efree() en alguno u otro punto, a menos que espere que permanezca hasta el final del programa; de otro modo, habrá una fuga de memoria. El significado de "las funciones se comportan exactamente como sus contrapartes" es: si usted usa efree() sobre algo que no fue reservado con emalloc() ni estrdup(), puede que reciba un fallo de segmentación. De modo que, por favor, tenga cuidado y libere toda su memoria desperdiciada.

Si compila con "-DDEBUG", PHP imprimirá una lista de toda la memoria que fue reservada usando emalloc() y estrdup() y nunca liberada con efree() una vez termina la ejecución el script especificado.

Definición de Variables en la Tabla de Símbolos

Un número de macros se encuentra a su disposición para facilitar la definición de una variable en la tabla de símbolos:

  • SET_VAR_STRING(nombre,valor)

  • SET_VAR_DOUBLE(nombre,valor)

  • SET_VAR_LONG(nombre,valor)

Aviso

Tenga cuidado con SET_VAR_STRING. La parte del valor debe ser reservada manualmente con malloc, ya que el código de gestión de memoria intentará liberar este apuntador más adelante. No pase memoria reservada estáticamente a un llamado a SET_VAR_STRING.

Las tablas de símbolos en PHP se encuentran implementadas como tablas asociativas. En cualquier momento dado, &symbol_table es un apuntador a la tabla de símbolos 'principal', y active_symbol_table apunta a la tabla de símbolos activa actualmente (éstas pueden ser idénticas, como al arranque, o diferentes, si se encuentra en el interior de una función).

Los siguientes ejemplos usan 'active_symbol_table'. Debe reemplazar este valor con &symbol_table si desea trabajar específicamente con la tabla de símbolos 'principal'. Asimismo, las mismas funciones pueden ser aplicadas sobre matrices, como se explica más adelante.

Ejemplo 48-3. Chequear si $foo existe en la tabla de símbolos

if (hash_exists(active_symbol_table,"foo",sizeof("foo"))) { existe... }
else { no existe }

Ejemplo 48-4. Encontrar el tamaño de una variable en una tabla de símbolos

hash_find(active_symbol_table,"foo",sizeof("foo"),&pvalue);
check(pvalue.type);
Las matrices en PHP son implementadas usando las mismas tablas asociativas como tablas de símbolos. Esto quiere decir que las dos funciones anteriores pueden ser usadas también para chequear variables al interior de matrices.

Si desea definir una nueva matriz en una tabla de símbolos, debe hacer lo siguiente.

Primero, puede que desee chequear si existe, y abortar la ejecución apropiadamente, usando hash_exists() o hash_find().

A continuación, inicialice la matriz:

Ejemplo 48-5. Inicialización de una nueva matriz

pval arr;

if (array_init(&arr) == FAILURE) { fallo... };
hash_update(active_symbol_table,"foo",sizeof("foo"),&arr,sizeof(pval),NULL);
Este código declara una nueva matriz, llamada $foo, en la tabla de símbolos actual. Esta matriz se encuentra vacía.

Este es el modo de agregar entradas en ella:

Ejemplo 48-6. Adición de nuevas entradas en una matriz nueva

pval entrada;

entrada.type = IS_LONG;
entrada.value.lval = 5;

/* define $foo["bar"] = 5 */
hash_update(arr.value.ht,"bar",sizeof("bar"),&entrada,sizeof(pval),NULL);

/* define $foo[7] = 5 */
hash_index_update(arr.value.ht,7,&entrada,sizeof(pval),NULL);

/* define el siguiente lugar libre en $foo[],
 * $foo[8], como 5 (funciona como en php2)
 */
hash_next_index_insert(arr.value.ht,&entrada,sizeof(pval),NULL);
Si desea modificar un valor que ha insertado a una matriz asociativa, primero debe recuperarlo desde la matriz. Para prevenir ineficiencias, puede ofrecer un pval ** a la función de adición de la matriz asociativa, y éste será actualizado con la dirección pval * del elemento insertado en la matriz. Si tal valor es NULL (como en todos los ejemplos anteriores) - el parámetro es ignorado.

hash_next_index_insert() usa más o menos la misma lógica que $foo[] = bar; en PHP 2.0.

Si está construyendo una matriz para devolverla desde una función, puede inicializar la matriz tal y como se ha indicado, haciendo:

if (array_init(return_value) == FAILURE) { fallo...; }

...y luego agregar valores con las funciones de ayuda:

add_next_index_long(valor_retorno,valor_long);
add_next_index_double(valor_retorno,valor_double);
add_next_index_string(valor_retorno,estrdup(valor_string));

Por supuesto, si la adición no es realizada correctamente luego de la inicialización de la matriz, probablemente tenga que verificar la existencia de la matriz primero:

pval *arr;

if (hash_find(active_symbol_table,"foo",sizeof("foo"),(void **)&arr)==FAILURE) { no se pudo encontrar... }
else { use arr->value.ht... }

Note que hash_find recibe un apuntador a un apuntador pval, y no un apuntador pval.

Prácticamente toda función de matriz asociativa devuelve SUCCESS o FAILURE (excepto por hash_exists(), que devuelve un valor booleano de verdad).

Devolución de valores simples

Un número de macros se encuentra a su disposición para facilitar la devolución de valores desde una función.

Las macros RETURN_* todas establecen el valor de retorno y generan una devolución desde la función:

  • RETURN

  • RETURN_FALSE

  • RETURN_TRUE

  • RETURN_LONG(l)

  • RETURN_STRING(s,dup) Si dup es TRUE, duplica la cadena

  • RETURN_STRINGL(s,l,dup) Devuelve una cadena (s) especificando la longitud (l).

  • RETURN_DOUBLE(d)

Las macros RETVAL_* establecen el valor de retorno, pero no devuelven.

  • RETVAL_FALSE

  • RETVAL_TRUE

  • RETVAL_LONG(l)

  • RETVAL_STRING(s,dup) Si dup es TRUE, duplica la cadena

  • RETVAL_STRINGL(s,l,dup) Devuelve una cadena (s) especificando la longitud (l).

  • RETVAL_DOUBLE(d)

Todas las macros de cadena anteriores aplicarán estrdup() sobre el argumento 's' pasado, de modo que puede liberar de forma segura el argumento después de llamar la macro, o alternativamente puede usar memoria reservada estáticamente.

Si su función devuelve repuesteas booleanas de éxito/error, use siempre RETURN_TRUE y RETURN_FALSE respectivamente.

Devolución de valores complejos

Su función también puede devolver un tipo de datos complejo como un objeto o una matriz.

Devolución de un objeto:

  1. Llame object_init(valor_retorno).

  2. Llénelo con valores. Las funciones disponibles para este propósito se listan más adelante.

  3. Posiblemente, registre funciones para este objeto. Para obtener valores del objeto, la función tendría que recuperar "this" desde active_symbol_table. Su tipo debe ser IS_OBJECT, y es básicamente una tabla asociativa regular (esto quiere decir, puede usar las funciones de matrices asociativas regulares sobre .value.ht). El registro como tal de la función puede realizarse usando:

    add_method( valor_retorno, nombre_funcion, apuntador_funcion );

Las funciones usadas para poblar el objeto son:

  • add_property_long( valor_retorno, nombre_propiedad, l ) - Agregar una propiedad llamada 'nombre_propiedad', de tipo long, igual a 'l'

  • add_property_double( valor_retorno, nombre_propiedad, d ) - Igual, sólo agrega un double

  • add_property_string( valor_retorno, nombre_propiedad, str ) - Igual, sólo agrega una cadena

  • add_property_stringl( valor_retorno, nombre_propiedad, str, l ) - Igual, sólo agrega una cadena de longitud 'l'

Devolución de una matriz:

  1. Llame array_init(valor_retorno).

  2. Llénela con valores. Las funciones disponibles para este propósito se listan más adelante.

Las funciones usadas para poblar una matriz son:

  • add_assoc_long(valor_retorno,clave,l) - agregar una matriz asociativa con la clave 'clave' y el valor largo 'l'

  • add_assoc_double(valor_retorno,clave,d)

  • add_assoc_string(valor_retorno,clave,cadena,duplicar)

  • add_assoc_stringl(valor_retorno,clave,cadena,longitud,duplicar) especifica la longitud de la cadena

  • add_index_long(valor_retorno,indice,l) - agregar una entrada en el indice 'indice' con el valor long 'l'

  • add_index_double(valor_retorno,indice,d)

  • add_index_string(valor_retorno,indice,cadena)

  • add_index_stringl(valor_retorno,indice,cadena,length) - especificar la longitud de la cadena

  • add_next_index_long(valor_retorno,l) - agregar una entrada de la matriz en la siguiente ubicación libre con el valor long 'l'

  • add_next_index_double(valor_retorno,d)

  • add_next_index_string(valor_retorno,cadena)

  • add_next_index_stringl(valor_retorno,cadena,length) - especificar la longitud de la cadena

Uso de la lista de recursos

PHP posee una forma estándar de tratar con los varios tipos de recursos. Esto reemplaza todas las listas enlazadas locales usadas en PHP 2.0.

Funciones disponibles:

  • php3_list_insert(apuntador, tipo) - devuelve el 'id' del recurso recién insertado

  • php3_list_delete(id) - eliminar el recurso con el id especificado

  • php3_list_find(id,*tipo) - devuelve el apuntador del recurso con el id especificado, actualiza 'tipo' al tipo del recurso

Típicamente, estas funciones son usadas para gestores de SQL, pero pueden ser usadas para cualquier otra cosa; por ejemplo, mantener descriptores de archivo.

Un listado de código típico luciría de la siguiente forma:

Ejemplo 48-7. Adición de un nuevo recurso

RESOURCE *recurso;

/* ...reservar memoria para el recurso y adquirirlo... */
/* agregar un nuevo recurso a la lista */
valor_retorno->value.lval = php3_list_insert((void *) recurso, LE_RESOURCE_TYPE);
valor_retorno->type = IS_LONG;

Ejemplo 48-8. Uso de un recurso existente

pval *id_recurso;
RESOURCE *recurso;
int tipo;

convert_to_long(id_recurso);
recurso = php3_list_find(id_recurso->value.lval, &tipo);
if (tipo != LE_RESOURCE_TYPE) {
    php3_error(E_WARNING,"el indice de recurso %d tiene el tipo equivocado",id_recurso->value.lval);
    RETURN_FALSE;
}
/* ...usar el recurso... */

Ejemplo 48-9. Eliminar un recurso existente

pval *id_recurso;
RESOURCE *recurso;
int tipo;

convert_to_long(id_recurso);
php3_list_delete(id_recurso->value.lval);
Los tipos de recurso deberían estar registrados en php3_list.h, en enum list_entry_type. Adicionalmente, debe procurarse la implementación de código de finalización para cada nuevo tipo de recurso definido, en list_entry_destructor() ubicado en list.c (incluso si no tiene nada que hacer en la finalización, debe agregar un caso vacío).

Uso de la tabla de recursos persistentes

PHP posee una forma estándar de almacenar recursos persistentes (es decir, recursos que son conservados entre peticiones). El primer módulo en usar esta característica fue el módulo MySQL, y mSQL a continuación, de modo que puede obtener una idea general de cómo debe ser usado un recurso persistente leyendo mysql.c. Las funciones que debe consultar son:

php3_mysql_do_connect
php3_mysql_connect()
php3_mysql_pconnect()

La idea general de los módulos de persistencia es la siguiente:

  1. Escriba todo el código de su módulo para que trabaje con la lista de recursos normales mencionada en la sección (9).

  2. Escriba el código de funciones de conexión extra que revisen si el recurso ya existe en la lista de recursos persistentes. Si es así, regístrelo en la lista de recursos normal como un apuntador a la lista de recursos persistentes (debido a 1., el resto del código debe funcionar inmediatamente). Si no existe, entonces créelo, agréguelo a la lista de recursos persistentes Y agregue un apuntador hacia él desde la lista normal de recursos, de modo que todo el código pueda funcionar; esto ya que se encuentra en la lista de recursos regulares, pero, en la siguiente conexión, el recurso sería encontrado en la lista de recursos persistentes y usado sin tener que crearlo de nuevo. Debe registrar éstos recursos con un tipo diferente (p.ej. LE_MYSQL_LINK para un enlace no-persistente y LE_MYSQL_PLINK para un enlace persistente).

Si lee mysql.c, notará que, con la excepción de la función de conexión más compleja, nada del resto del módulo tiene que ser modificado.

La misma interfaz existe para la lista de recursos regulares y la lista de recursos persistentes, tan sólo 'list' se reemplaza por 'plist':

  • php3_plist_insert(apuntador, tipo) - devuelve el 'id' del recurso recién insertado

  • php3_plist_delete(id) - eliminar el recurso con el id especificado

  • php3_plist_find(id,*tipo) - devuelve el apuntador del recurso con el id especificado, actualiza 'tipo' al tipo del recurso

Sin embargo, es más que probable que estas funciones le resulten inútiles cuando intente implementar un módulo persistente. Típicamente, es deseable aprovechar el hecho de que la lista de recursos persistentes es realmente una tabla asociativa. Por ejemplo, en los módulos MySQL/mSQL, cuando hay un llamado a pconnect() (conexión persistente), la función crea una cadena a partir de los valores de host/usuario/contraseña que fueron pasados a la función, y asocia el enlace SQL con ésta cadena como clave. La siguiente vez que alguien haga un llamado a pconnect() con la misma información de host/usuario/contraseña, se generará la misma clave, y la función encontrará el enlace SQL en la lista persistente.

Hasta que sea documentado más a fondo, debería echarle un vistazo a mysql.c o msql.c para ver cómo pueden usarse las capacidades de tabla asociativa de una lista plist.

Una cosa importante a notar: los recursos que van a la lista de recursos persistentes *NO* debe ser reservada con el gestor de memoria de PHP, es decir, NO debe ser creada con emalloc(), estrdup(), etc. En su lugar, deben ser usadas las funciones normales malloc(), strdup(), etc. La razón de esto es simple - al final de la petición (final de cada visita), cada trozo de memoria que fue ubicado usando el gestor de memoria de PHP es eliminado. Ya que la lista persistente no se supone que deba ser eliminada el final de cada petición, no debe utilizarse el gestor de memoria de PHP para reservar recursos que vayan a la lista.

Cuando registra un recurso que va a ser usado en la lista persistente, debe agregar destructores para ésta tanto en la lista no-persistente como en la persistente. El destructor en la lista no-persistente no debería hacer nada. Aquel en la lista persistente debería liberar apropiadamente cualquier recurso obtenido por ese tipo (p.ej. memoria, enlaces SQL, etc). Tal como con los recursos no-persistentes, usted *DEBE* agregar destructores para cada recurso, incluso si no requieren ser destruidos y el destructor puede estar vacío. Recuerde, ya que emalloc() y amigos no deben ser usados junto con la lista persistente, tampoco debe usar efree() aquí.

Añadir directivas de configuración de tiempo de ejecución

Muchas de las características de PHP pueden ser configuradas en tiempo de ejecución. Estas directivas de configuración pueden aparecer en el archivo php3.ini designado, o, en el caso de la versión módulo de Apache, en los archivos .conf de Apache. La ventaja de tenerlas en los archivos .conf de Apache es que pueden ser configuradas por cada directorio. Esto quiere decir que un directorio puede tener cierto valor para safemodeexecdir, por ejemplo, mientras que otro directorio puede tener otro. Esta especificidad en la configuración es especialmente útil cuando un servidor soporta múltiples hosts virtuales.

Los pasos requeridos para agregar una nueva directiva:

  1. Agregar la directiva a la estructura php3_ini_structure en mod_php3.h.

  2. En main.c, editar la función php3_module_startup y agregar la llamada apropiada a cfg_get_string() o cfg_get_long().

  3. Agregar la directiva, restricciones y un comentario a la estructura php3_commands en mod_php3.c. Fíjese en la parte de restricciones. RSRC_CONF son directivas que pueden estar presentes sólo en las archivos .conf de Apache, Cualquier directiva OR_OPTIONS puede estar presente en cualquier parte, incluyendo archivos .htaccess normales.

  4. Agregue la entrada apropiada para su directiva en php3take1handler() o en php3flaghandler().

  5. En la sección de configuración de la función _php3_info() en functions/info.c necesita agregar su nueva directiva.

  6. Y, por último, debe por supuesto usar su directiva en alguna parte. Esta será asequible como php3_ini.directiva.

Anterior | Inicio | Siguiente
VCWD_UTIME | Subir | Llamados a Funciones de Usuario


Llamados a Funciones de Usuario

Para llamar funciones de usuario desde una función interna, debe usar la función call_user_function().

call_user_function() devuelve SUCCESS en caso de éxito, y FAILURE si la función no pudo ser encontrada. ¡Debe chequear ese valor de retorno! Si devuelve SUCCESS, usted es responsable por la destrucción del valor tipo pval retval (o devolverlo como el valor de retorno de su función). Si devuelve FAILURE, el valor de retval será indefinido, y no debe tocarlo.

Todas las funciones internas que hacen llamados a funciones de usuario deben ser reentrantes. Entre otras cosas, esto quiere decir que no debe usar variables globales o estáticas.

call_user_function() recibe seis argumentos:

HashTable *tabla_de_funciones

Esta es la tabla asociativa en la que será buscada la función.

pval *objeto

Este es un apuntador a un objeto sobre el que es invocada la función. Debe ser NULL si es llamada una función global. Si no es NULL (es decir, apunta hacia un objeto), el argumento tabla_de_funciones es ignorado, y en su lugar se toma de la matriz asociativa del objeto. El objeto *puede* ser modificado por la función que es invocada sobre él (la función tendrá acceso sobre el objeto mediante $this). Si por alguna razón no desea que eso ocurra, envíe en su lugar una copia del objeto.

pval *nombre_funcion

El nombre de la función a llamar. Debe ser un pval de tipo IS_STRING cuyos miembros function_name.str.val y function_name.str.len se encuentren definidos con valores apropiados. El nombre_funcion es modificado por call_user_function() - es convertido a minúsculas. Si necesita conservar los caracteres originales, envíe una copia del nombre de función en su lugar.

pval *retval

Un apuntador a una estructura pval, en la cual es guardado el valor de retorno de la función invocada. La estructura debe ser reservada previamente - call_user_function() NO reserva memoria por sí sola.

int conteo_param

El número de parámetros que son pasados a la función.

pval *params[]

Una matriz de apuntadores a valores que serán pasados como argumentos a la función, el primer argumento ubicado en la posición 0, el segundo en la posición 1, etc. La matriz es una matriz de apuntadores a valores pval; Los apuntadores son enviados tal cual a la función, lo que quiere decir que si la función modifica sus argumentos, los valores originales son modificados (pasados por referencia). Si no desea esta clase de comportamiento, pase una copia en su lugar.

Anterior | Inicio | Siguiente
Extensión de PHP 3 | Subir | Reporte de Errores


Reporte de Errores

Para reportar errores desde una función interna, debe llamar a la función php3_error(). Ésta recibe por lo menos dos parámetros -- el primero es el nivel del error, el segundo es la cadena con formato para el mensaje de error (como en un llamado estándar a printf()), y cualquier argumento subsiguiente será usado como parámetro para la cadena de formato. Los niveles de error son:

E_NOTICE

Las noticias no son desplegadas por defecto, e indican que el script encontró algo que puede indicar un error, pero podría ocurrir también en el curso normal de un script en ejecución. Por ejemplo, al tratar de acceder al valor de una variable que no ha sido definida, o al llamar stat() sobre un archivo que no existe.

E_WARNING

Las advertencias son desplegadas por defecto, pero no interrumpen la ejecución del script. Éstas indican un problema que debía ser atrapado por el script antes de que el llamado fuera hecho. Por ejemplo, llamar ereg() con una expresión regular inválida.

E_ERROR

Los errores son desplegados por defecto también, y la ejecución del script es detenida después de que la función retorna. Éstos indican errores de los que no puede realizarse una recuperación, tales como problemas de reserva de memoria.

E_PARSE

Los errores de análisis sintáctico deben ser generados únicamente por el analizador sintáctico. El código es listado aquí sólo con el propósito de crear una referencia completa.

E_CORE_ERROR

Este es como un E_ERROR, excepto que es generado por el núcleo de PHP. Las funciones no deben generar este tipo de error.

E_CORE_WARNING

Este es como un E_WARNING, excepto que es generado por el núcleo de PHP. Las funciones no deben generar este tipo de error.

E_COMPILE_ERROR

Este es como un E_ERROR, excepto que es generado por el Motor de Scripting de Zend. Las funciones no deben generar este tipo de error.

E_COMPILE_WARNING

Este es como un E_WARNING, excepto que es generado por el Motor de Scripting de Zend. Las funciones no deben generar este tipo de error.

E_USER_ERROR

Este es como un E_ERROR, excepto que es generado en código PHP usando la función trigger_error(). Las funciones no deben generar este tipo de error.

E_USER_WARNING

Este es como un E_WARNING, excepto que es generado en código PHP usando la función trigger_error(). Las funciones no deben generar este tipo de error.

E_USER_NOTICE

Este es como un E_NOTICE, excepto que es generado en código PHP usando la función trigger_error(). Las funciones no deben generar este tipo de error.

E_ALL

Todos los anteriores. Usando este nivel de error_reporting le mostrará todos los tipos de error.

Anterior | Inicio | Siguiente
Llamados a Funciones de Usuario | Subir | FAQ: Preguntas frecuentes


Opciones de configuración

Manual de PHP
Anterior Siguiente

Apéndice F. Opciones de configuración

Tabla de contenidos
Lista central de opciones de configuración

Lista central de opciones de configuración

Abajo está una lista parcial de opciones de configuración usados por los scripts configure de PHP cuando se compila en ambientes de tipo UNIX. La mayoría de las opciones de configuración están listadas en su ubicación apropiada en las páginas de referencia de la extensión y no aquí. Para una lista actualizada de las opciones de configuración, ejecute ./configure --help en su directorio origen de PHP después de ejecutar autoconf (vea también el Capítulo de Instalación). También puede interesarle leer la documentación GNU configure para mayor información en otras opciones de configure tales como --prefix=PREFIX.

Nota: Estas son usadas unicamente en tiempo de compilación. Si desea alterar la configuración en tiempo de ejecución de PHP, por favor vea el capítulo sobre Configuración en tiempo de ejecución.

  • Misceláneo

  • Comportamiento PHP

  • Servidor

Opciones de configuración en PHP 4

Nota: Estas opciones son sólo usadas en PHP 4, tal como PHP 4.1.0. Algunas están disponibles en versiones anteriores a PHP 4, aún algunas en PHP 3, otras solo en PHP 4.1.0. Si quiere compilar una versión anterior, muy probablemente algunas opciones no estarán disponibles.

Opciones Misceláneas

--enable-debug

Compilar con símbolos de rastreo de errores (debugging).

--with-layout=TYPE

Establece como los ficheros instalados serán presentados el tipo uno es de PHP (valor por defecto) o GNU.

--with-pear=DIR

Instala PEAR en DIR (valor por defecto PREFIX/lib/php).

--without-pear

No instale PEAR.

--enable-sigchild

Establece el propio manejador SIGCHLD de PHP.

--disable-rpath

Deshabilita pasar trayectorias de búsqueda de librerias de tiempo de ejecución adicionales.

--enable-libgcc

Habilita explícitamente el ligado con libgcc.

--enable-php-streams

Incluye streams PHP experimentales. ¡No se use a menos que este probando el código!.

--with-zlib-dir[=DIR]

Defina la localización del directorio de instalación de zlib.

--enable-trans-sid

Habilita la propagación transparente del ID de sesión. Válido sólo para PHP 4.1.2 or inferior. A partir de PHP 4.2.0, la característica trans-id está siempre disponible.

--with-tsrm-pthreads

Usa threads de POSIX (valor por defecto).

--enable-shared[=PKGS]

Construye librerías compartidas [default=yes].

--enable-static[=PKGS]

Construye librerias estáticas [default=yes].

--enable-fast-install[=PKGS]

Optimiza para una rápida instalación [default=yes].

--with-gnu-ld

Asume que el compilador de C usa GNU Id [default=no].

--disable-libtool-lock

Evita bloqueos (debe romper compilaciones paralelas).

--with-pic

Intenta usar sólo objetos PIC/non-PIC [default=use both].

--enable-memory-limit

Compila con soporte de limite de memoria.

--disable-url-fopen-wrapper

Deshabilita empaquetador fopen que abre URLs, que permite accesar ficheros vía HTTP o FTP.

--enable-versioning

Exporta sólo los símbolos requeridos. Vea INSTALL para más información.

--with-imsp[=DIR]

Incluye soporte IMSp (DIR es el directorio de inclusión IMSP's y el directorio de libimsp.a). ¡Sólo PHP3!.

--with-mck[=DIR]

Incluye soporte para Cybercash MCK. DIR es el directorio donde se construye cybercash mck, el directorio por defecto es /usr/src/mck-3.2.0.3-linux, para ayuda sobre esto vea en extra/cyberlib. ¡Sólo PHP 3!.

--with-mod-dav=DIR

Incluye soporte para DAV através del modulo mod_dav de Apache, DIR es el directorio de instalación de mod_dav (sólo el modulo de Apache) ¡Sólo en PHP 3!.

--enable-debugger

Compila con funciones remotas de rastreo de errores. ¡Sólo en PHP 3!.

--enable-versioning

Toma ventaja del alcance y manejo de versiones proveido por Solaris 2.x y Linux. ¡Sólo en PHP 3!.

Opciones de PHP

--enable-maintainer-mode

Habilita las reglas y dependencias de Make, aunque para el que quiera instalar casualmente no son útiles ( y a veces hasta pueden confundir).

--with-config-file-path=PATH

Establece la ruta a seguir para php.ini, el valor por defecto es /PREFIX/lib.

--enable-safe-mode

Abilita SAFE MODE por defecto.

--with-exec-dir[=DIR]

Solo permite executables en DIR cuando SAFE MODE está por defecto a /usr/local/php/bin.

--enable-magic-quotes

Abilita MAGIC QUOTES por defecto.

--disable-short-tags

Desabilita la forma corta de la etiqueta de inicio php <? por defecto.

opciones SAPI

La siguiente lista contiene los SAPI&s disponibles (Server Application Programming Interface) para PHP.

--with-aolserver=DIR

Especifica la ruta donde está AOLserver.

--with-apxs[=FILE]

Crea un modulo compartido de Apache. FILE es la ruta opcional de la herramienta apxs. Asegúrese de especificar la versión de apxs que está instalada en su sistema y no la que está en los fuentes de apache.

--with-apache[=DIR]

Crea un modulo estático de apache. DIR es el directorio del Apache por defecto es /usr/local/apache.

--with-mod_charset

Habilita la tranferencia de tablas para mod_charset (Apache en Ruso).

--with-apxs2[=FILE]

Crea un modulo compartido de Apache 2.0. FILE es la ruta opcional a la herramienta apxs.

--with-caudium=DIR

Crea PHP como un modulo PIKE para ser usado con Caudium. DIR es el directorio del servidor Caudium, con el valor por defecto /usr/local/caudium/server.

--disable-cli

Disponible con PHP 4.3.0. Deshabilita la versión CLI de PHP (esto fuerza--without-pear). Para mayor información, vea la sección acerca de Usando PHP desde la línea de comando.

--enable-embed[=TYPE]

Habilita la creación de la librería SAPI. TYPE es shared o static, el valor por defecto es shared. Disponible con PHP 4.3.0.

--with-fhttpd[=DIR]

Crea el modulo fhttpd. DIR es el directorio fuente de fhttpd, que es por defecto /usr/local/src/fhttpd. Ya no está disponible desde PHP 4.3.0.

--with-isapi=DIR

Crea PHP como un modulo ISAPI para ser usado con Zeus.

--with-nsapi=DIR

Especifica la ruta para el servidor web instalado Netscape/iPlanet/SunONE.

--with-phttpd=DIR

No hay información disponible.

--with-pi3web=DIR

Crea PHP como un modulo para ser usado con Pi3Web.

--with-roxen=DIR

Crea PHP como un modulo PIKE. DIR es el directorio base de Roxen, normalmente /usr/local/roxen/server.

--enable-roxen-zts

Crea el modulo Roxen usando Zend Thread Safety.

--with-servlet[=DIR]

Incluye soporte para servlet. DIR es el directorio base de instalación de JDSK. Este SAPI requiere que la extensión de java sea creada como un dl compartido.

--with-thttpd=SRCDIR

Crea PHP como un modulo thttpd.

--with-tux=MODULEDIR

Crea PHP omo un modulo TUX (solo Linux).

--with-webjames=SRCDIR

Crea PHP como un modulo WebJames (solo RISC OS).

--disable-cgi

Desabilita la creación CGI de PHP. Disponible con PHP 4.3.0.

--enable-force-cgi-redirect

Habilita el chequeo de seguridad para redirecciones internas del servidor. Debe usar esta opción si esta ejecutando la versión CGI con Apache.

--enable-discard-path

Si esta opción está habilitada, el binario CGI de PHP puede de manera segura ser puesto fuera de la trayectoria web, y los usuarios no podrán evitar la seguridad de .htaccess.

--with-fastcgi

Crea PHP como una aplicación FastCGI. Ya no está disponibles desde PHP 4.3.0, en lugar de esta debe usar --enable-fastcgi.

--enable-fastcgi

Si esta opción está activada, el modulo CGI será construido también con soporte para FastCGI. Disponible desde PHP 4.3.0

--disable-path-info-check

Si esta opción esta deshabilitada, las rutas, tales como /info.php/test?a=b fallarán. Disponible desde PHP 4.3.0. Para mas información vea el Manual de Apache.

Anterior | Inicio | Siguiente
Protocolo del Depurador | Subir | Directivas de php.ini


Lista de alias de funciones

Manual de PHP
Anterior Siguiente

Apéndice J. Lista de alias de funciones

Aqui teneis la lista de alias de funciones. Todos loas alias están listados aqui. en general es una mala idea usar alias, ya que pueden ser modificados o renombrados, por lo que tu código no podra utilizarse. Esta lista se provee para que quien quiera actualizar su código antiguo a la sintaxis actual.

De todas maneras, algunas funciones tienen dos nombres, sin preferencia por uno u otro. (Por ejemplo, is_int() y is_integer() som válidas indistintamente)

Esta lista es consistente con PHP 4.0.6. Para obtener una lista actualizada todos los dias, pasaros por aqui.

Tabla J-1. Alias

Alias | Función principal | Extensión usada
_ | gettext() | Gettext
add | swfmovie_add() | Ming (flash)
add | swfsprite_add() | Ming (flash)
add_root | domxml_add_root() | DOM XML
addaction | swfbutton_addAction() | Ming (flash)
addcolor | swfdisplayitem_addColor() | Ming (flash)
addentry | swfgradient_addEntry() | Ming (flash)
addfill | swfshape_addfill() | Ming (flash)
addshape | swfbutton_addShape() | Ming (flash)
addstring | swftext_addString() | Ming (flash)
addstring | swftextfield_addString() | Ming (flash)
align | swftextfield_align() | Ming (flash)
attributes | domxml_attributes() | DOM XML
children | domxml_children() | DOM XML
chop | rtrim() | Base syntax
close | closedir() | Base syntax
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
cv_add | ccvs_add() | CCVS
cv_auth | ccvs_auth() | CCVS
cv_command | ccvs_command() | CCVS
cv_count | ccvs_count() | CCVS
cv_delete | ccvs_delete() | CCVS
cv_done | ccvs_done() | CCVS
cv_init | ccvs_init() | CCVS
cv_lookup | ccvs_lookup() | CCVS
cv_new | ccvs_new() | CCVS
cv_report | ccvs_report() | CCVS
cv_return | ccvs_return() | CCVS
cv_reverse | ccvs_reverse() | CCVS
cv_sale | ccvs_sale() | CCVS
cv_status | ccvs_status() | CCVS
cv_textvalue | ccvs_textvalue() | CCVS
cv_void | ccvs_void() | CCVS
die | exit() | Miscellaneous functions
dir | getdir() | Base syntax
diskfreespace | disk_free_space() | Filesystem
domxml_getattr | domxml_get_attribute() | DOM XML
domxml_setattr | domxml_set_attribute() | DOM XML
doubleval | floatval() | Base syntax
drawarc | swfshape_drawarc() | Ming (flash)
drawcircle | swfshape_drawcircle() | Ming (flash)
drawcubic | swfshape_drawcubic() | Ming (flash)
drawcubicto | swfshape_drawcubicto() | Ming (flash)
drawcurve | swfshape_drawcurve() | Ming (flash)
drawcurveto | swfshape_drawcurveto() | Ming (flash)
drawglyph | swfshape_drawglyph() | Ming (flash)
drawline | swfshape_drawline() | Ming (flash)
drawlineto | swfshape_drawlineto() | Ming (flash)
dtd | domxml_intdtd() | DOM XML
dumpmem | domxml_dumpmem() | DOM XML
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Base syntax
get_attribute | domxml_get_attribute() | DOM XML
getascent | swffont_getAscent() | Ming (flash)
getascent | swftext_getAscent() | Ming (flash)
getattr | domxml_get_attribute() | DOM XML
getdescent | swffont_getDescent() | Ming (flash)
getdescent | swftext_getDescent() | Ming (flash)
getheight | swfbitmap_getHeight() | Ming (flash)
getleading | swffont_getLeading() | Ming (flash)
getleading | swftext_getLeading() | Ming (flash)
getshape1 | swfmorph_getShape1() | Ming (flash)
getshape2 | swfmorph_getShape2() | Ming (flash)
getwidth | swfbitmap_getWidth() | Ming (flash)
getwidth | swffont_getWidth() | Ming (flash)
getwidth | swftext_getWidth() | Ming (flash)
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Multi-bytes Strings
i18n_discover_encoding | mb_detect_encoding() | Multi-bytes Strings
i18n_http_input | mb_http_input() | Multi-bytes Strings
i18n_http_output | mb_http_output() | Multi-bytes Strings
i18n_internal_encoding | mb_internal_encoding() | Multi-bytes Strings
i18n_ja_jp_hantozen | mb_convert_kana() | Multi-bytes Strings
i18n_mime_header_decode | mb_decode_mimeheader() | Multi-bytes Strings
i18n_mime_header_encode | mb_encode_mimeheader() | Multi-bytes Strings
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Base syntax
is_double | is_float() | Base syntax
is_integer | is_int() | Base syntax
is_long | is_int() | Base syntax
is_real | is_float() | Base syntax
is_writeable | is_writable() | Base syntax
join | implode() | Base syntax
labelframe | swfmovie_labelFrame() | Ming (flash)
labelframe | swfsprite_labelFrame() | Ming (flash)
last_child | domxml_last_child() | DOM XML
lastchild | domxml_last_child() | DOM XML
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Base syntax
mbstrcut | mb_strcut() | Multi-bytes Strings
mbstrlen | mb_strlen() | Multi-bytes Strings
mbstrpos | mb_strpos() | Multi-bytes Strings
mbstrrpos | mb_strrpos() | Multi-bytes Strings
mbsubstr | mb_substr() | Multi-bytes Strings
ming_setcubicthreshold | ming_setCubicThreshold() | Ming (flash)
ming_setscale | ming_setScale() | Ming (flash)
move | swfdisplayitem_move() | Ming (flash)
movepen | swfshape_movepen() | Ming (flash)
movepento | swfshape_movepento() | Ming (flash)
moveto | swfdisplayitem_moveTo() | Ming (flash)
moveto | swffill_moveTo() | Ming (flash)
moveto | swftext_moveTo() | Ming (flash)
msql | msql_db_query() | mSQL
msql_createdb | msql_create_db() | mSQL
msql_dbname | msql_result() | mSQL
msql_dropdb | msql_drop_db() | mSQL
msql_fieldflags | msql_field_flags() | mSQL
msql_fieldlen | msql_field_len() | mSQL
msql_fieldname | msql_field_name() | mSQL
msql_fieldtable | msql_field_table() | mSQL
msql_fieldtype | msql_field_type() | mSQL
msql_freeresult | msql_free_result() | mSQL
msql_listdbs | msql_list_dbs() | mSQL
msql_listfields | msql_list_fields() | mSQL
msql_listtables | msql_list_tables() | mSQL
msql_numfields | msql_num_fields() | mSQL
msql_numrows | msql_num_rows() | mSQL
msql_regcase | sql_regcase() | mSQL
msql_selectdb | msql_select_db() | mSQL
msql_tablename | msql_result() | mSQL
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_close | sybase_close() | Sybase
mssql_close | sybase_close() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_min_client_severity | sybase_min_client_severity() | Sybase
mssql_min_error_severity | sybase_min_error_severity() | Sybase
mssql_min_message_severity | sybase_min_message_severity() | Sybase
mssql_min_server_severity | sybase_min_server_severity() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_query | sybase_query() | Sybase
mssql_query | sybase_query() | Sybase
mssql_result | sybase_result() | Sybase
mssql_result | sybase_result() | Sybase
mssql_select_db | sybase_select_db() | Sybase
mssql_select_db | sybase_select_db() | Sybase
multcolor | swfdisplayitem_multColor() | Ming (flash)
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
name | domxml_attrname() | DOM XML
new_child | domxml_new_child() | DOM XML
new_xmldoc | domxml_new_xmldoc() | DOM XML
nextframe | swfmovie_nextFrame() | Ming (flash)
nextframe | swfsprite_nextFrame() | Ming (flash)
node | domxml_node() | DOM XML
oci8append | ocicollappend() | OCI8
oci8assign | ocicollassign() | OCI8
oci8assignelem | ocicollassignelem() | OCI8
oci8close | ocicloselob() | OCI8
oci8free | ocifreecoll() | OCI8
oci8free | ocifreedesc() | OCI8
oci8getelem | ocicollgetelem() | OCI8
oci8load | ociloadlob() | OCI8
oci8max | ocicollmax() | OCI8
oci8ocifreecursor | ocifreestatement() | OCI8
oci8save | ocisavelob() | OCI8
oci8savefile | ocisavelobfile() | OCI8
oci8size | ocicollsize() | OCI8
oci8trim | ocicolltrim() | OCI8
oci8writetemporary | ociwritetemporarylob() | OCI8
oci8writetofile | ociwritelobtofile() | OCI8
odbc_do | odbc_exec() | OCI8
odbc_field_precision | odbc_field_len() | OCI8
output | swfmovie_output() | Ming (flash)
parent | domxml_parent() | DOM XML
pdf_add_outline | pdf_add_bookmark() | PDF
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Base syntax
recode | recode_string() | Recode
remove | swfmovie_remove() | Ming (flash)
remove | swfsprite_remove() | Ming (flash)
rewind | rewinddir() | Base syntax
root | domxml_root() | DOM XML
rotate | swfdisplayitem_rotate() | Ming (flash)
rotateto | swfdisplayitem_rotateTo() | Ming (flash)
rotateto | swffill_rotateTo() | Ming (flash)
save | swfmovie_save() | Ming (flash)
savetofile | swfmovie_saveToFile() | Ming (flash)
scale | swfdisplayitem_scale() | Ming (flash)
scaleto | swfdisplayitem_scaleTo() | Ming (flash)
scaleto | swffill_scaleTo() | Ming (flash)
set_attribute | domxml_set_attribute() | DOM XML
set_content | domxml_set_content() | DOM XML
setaction | swfbutton_setAction() | Ming (flash)
setattr | domxml_set_attribute() | DOM XML
setbackground | swfmovie_setBackground() | Ming (flash)
setbounds | swftextfield_setBounds() | Ming (flash)
setcolor | swftext_setColor() | Ming (flash)
setcolor | swftextfield_setColor() | Ming (flash)
setdepth | swfdisplayitem_setDepth() | Ming (flash)
setdimension | swfmovie_setDimension() | Ming (flash)
setdown | swfbutton_setDown() | Ming (flash)
setfont | swftext_setFont() | Ming (flash)
setfont | swftextfield_setFont() | Ming (flash)
setframes | swfmovie_setFrames() | Ming (flash)
setframes | swfsprite_setFrames() | Ming (flash)
setheight | swftext_setHeight() | Ming (flash)
setheight | swftextfield_setHeight() | Ming (flash)
sethit | swfbutton_setHit() | Ming (flash)
setindentation | swftextfield_setIndentation() | Ming (flash)
setleftfill | swfshape_setleftfill() | Ming (flash)
setleftmargin | swftextfield_setLeftMargin() | Ming (flash)
setline | swfshape_setline() | Ming (flash)
setlinespacing | swftextfield_setLineSpacing() | Ming (flash)
setmargins | swftextfield_setMargins() | Ming (flash)
setmatrix | swfdisplayitem_setMatrix() | Ming (flash)
setname | swfdisplayitem_setName() | Ming (flash)
setname | swftextfield_setName() | Ming (flash)
setover | swfbutton_setOver() | Ming (flash)
setrate | swfmovie_setRate() | Ming (flash)
setratio | swfdisplayitem_setRatio() | Ming (flash)
setrightfill | swfshape_setrightfill() | Ming (flash)
setrightmargin | swftextfield_setRightMargin() | Ming (flash)
setspacing | swftext_setSpacing() | Ming (flash)
setup | swfbutton_setUp() | Ming (flash)
show_source | highlight_file () | Base syntax
sizeof | count() | Base syntax
skewx | swfdisplayitem_skewX() | Ming (flash)
skewxto | swfdisplayitem_skewXTo() | Ming (flash)
skewxto | swffill_skewXTo() | Ming (flash)
skewy | swfdisplayitem_skewY() | Ming (flash)
skewyto | swfdisplayitem_skewYTo() | Ming (flash)
skewyto | swffill_skewYTo() | Ming (flash)
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Base syntax
streammp3 | swfmovie_streamMp3() | Ming (flash)
swfaction | swfaction_init() | Ming (flash)
swfbitmap | swfbitmap_init() | Ming (flash)
swfbutton | swfbutton_init() | Ming (flash)
swffill | swffill_init() | Ming (flash)
swffont | swffont_init() | Ming (flash)
swfgradient | swfgradient_init() | Ming (flash)
swfmorph | swfmorph_init() | Ming (flash)
swfmovie | swfmovie_init() | Ming (flash)
swfshape | swfshape_init() | Ming (flash)
swfsprite | swfsprite_init() | Ming (flash)
swftext | swftext_init() | Ming (flash)
swftextfield | swftextfield_init() | Ming (flash)
unlink | domxml_unlink_node() | DOM XML
xptr_new_context | xpath_new_context() | DOM XML

Anterior | Inicio | Siguiente
Estado | Subir | Lista de Palabras Reservadas


Lista de Palabras Reservadas

Manual de PHP
Anterior Siguiente

Apéndice K. Lista de Palabras Reservadas

Tabla de contenidos
Lista de Palabras Clave
Variables Predefinidas
Clases Predefinidas
Constantes predefinidas

El siguiente es un listado de identificadores predefinidos en PHP. Ninguno de los identificadores listados aquí debe ser usado como identificador en alguno de sus scripts. Estas listas incluyen palabras clave y nombres de variable, constantes y clases predefinidas. Estas listas no son ni exhaustivas ni completas.

Lista de Palabras Clave

Estas palabras tienen un significado especial en PHP. Algunas de ellas representan cosas que lucen como funciones, o algunas se ven como constantes, y así sucesivamente--pero no lo son, en realidad: son construcciones del lenguaje. Usted no puede usar ninguna de las siguientes palabras como constantes, nombres de clase, nombres de funciones o métodos. Usarlas como nombres de variables está bien, generalmente, pero puede conducir a confusiones.

Tabla K-1. Palabras Clave de PHP

and | or | xor | __FILE__ | exception (PHP 5)
__LINE__ | array() | as | break | case
class | const | continue | declare | default
die() | do | echo() | else | elseif
empty() | enddeclare | endfor | endforeach | endif
endswitch | endwhile | eval() | exit() | extends
for | foreach | function | global | if
include() | include_once() | isset() | list() | new
print() | require() | require_once() | return() | static
switch | unset() | use | var | while
__FUNCTION__ | __CLASS__ | __METHOD__ | final (PHP 5) | php_user_filter (PHP 5)
interface (PHP 5) | implements (PHP 5) | extends | public (PHP 5) | private (PHP 5)
protected (PHP 5) | abstract (PHP 5) | clone (PHP 5) | try (PHP 5) | catch (PHP 5)
throw (PHP 5) | cfunction (PHP 4 únicamente) | old_function (PHP 4 únicamente) | this (PHP 5 únicamente) |

Anterior | Inicio | Siguiente
Lista de alias de funciones | Subir | Variables Predefinidas


Variables Predefinidas

A partir de PHP 4.1.0, el método preferido para recuperar variables externas es mediante las superglobales mencionadas más adelante. Antes de este punto, la gente recaía en register_globals o las matrices largas predefinidas en PHP ($HTTP_*_VARS). A partir de PHP 5.0.0, las matrices de tipo "long" de variables predefinidas, se pueden desactivar con la directiva register_long_arrays.

Variables de servidor: $_SERVER

Nota: Aparecieron en 4.1.0. En versiones anteriores, utilice $HTTP_SERVER_VARS.

$_SERVER es una matriz que contiene información tal como cabeceras, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web. No existen garantías de que cada servidor vaya a proveer alguno de estos valores; puede que los servidores omitan algunos, o provean otros que no se listan aquí. Hecha esta aclaración, un gran número de estas variables hacen parte de la especificación CGI 1.1, así que puede esperar que sean definidas por el servidor.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_SERVER; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_SERVER_VARS.

$HTTP_SERVER_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_SERVER_VARS y $_SERVER son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; esto quiere decir, por separado de las matrices $_SERVER y $HTTP_SERVER_VARS. Para información relacionada, vea el capítulo de seguridad titulado Uso de Registros Globales. Estas variables globales individuales no son superglobales.

Usted puede encontrar o no cualquiera de los siguientes elementos en $_SERVER. Note que algunos de éstos, si es que los hay, estarán disponibles (o tendrán algún significado después de todo) si se ejecuta PHP en la línea de comandos.

'PHP_SELF'

El nombre de archivo del script ejecutándose actualmente, relativo a la raíz de documentos. Por ejemplo, $_SERVER['PHP_SELF'] en un script en la dirección http://example.com/test.php/foo.bar sería /test.php/foo.bar. La constante __FILE__ contiene la ruta completa y nombre del archivo actual (es decir, incluido).

Si PHP está siendo ejecutado como un procesador de línea de comandos, esta variable contiene el nombre del script a partir de PHP 4.3.0. Anteriormente no estaba disponible.

'argv'

Matriz de argumentos pasados al script. Cuando el script es ejecutado en la línea de comandos, ésta entrega acesso al estilo C a los parámetros de la línea de comandos. Cuando es llamado mediante el método GET, ésta contendrá la cadena de consulta (query).

'argc'

Contiene el número de parámetros de línea de comandos pasados al script (si se ejecuta en la línea de comandos).

'GATEWAY_INTERFACE'

Qué revisión de la especificación CGI está usando el servidor; es decir 'CGI/1.1'.

'SERVER_ADDR'

La dirección IP del servidor bajo la cual está siendo ejecutado el script actual.

'SERVER_NAME'

El nombre del servidor anfitrión bajo el que está siendo ejecutado el script actual. Si el script está corriendo en un host virtual, éste será el valor definido para tal host virtual.

'SERVER_SOFTWARE'

Cadena de identificación del servidor, dada en las cabeceras cuando se responde a peticiones.

'SERVER_PROTOCOL'

Nombre y revisión del protocolo de información mediante el cual fue solicitada la página; es decir, 'HTTP/1.0';

'REQUEST_METHOD'

Cuál método de petición fue usado para acceder a la página; es decir, 'GET', 'HEAD', 'POST', 'PUT'.

Nota: El script PHP es finalizado luego de enviar las cabeceras (es decir, después de producir cualquier salida sin uso de búferes de salida) si el método de petición fue HEAD.

'REQUEST_TIME'

La marca de tiempo del inicio de la petición. Disponible desde PHP 5.1.0.

'QUERY_STRING'

La cadena de consulta, si existe, mediante la cual se accedió a la página.

'DOCUMENT_ROOT'

El directorio raíz de documentos bajo el que está siendo ejecutado el script actual, tal y como se define en el archivo de configuración del servidor.

'HTTP_ACCEPT'

Contenidos de la cabecera Accept: de la petición actual, si existe.

'HTTP_ACCEPT_CHARSET'

Contenidos de la cabecera Accept-Charset: de la petición actual, si existe. Ejemplo: 'iso-8859-1,*,utf-8'.

'HTTP_ACCEPT_ENCODING'

Contenidos de la cabecera Accept-Encoding: de la petición actual, si existe. Ejemplo: 'gzip'.

'HTTP_ACCEPT_LANGUAGE'

Contenidos de la cabecera Accept-Language: de la petición actual, si existe. Ejemplo: 'en'.

'HTTP_CONNECTION'

Contenidos de la cabecera Connection: de la petición actual, si existe. Ejemplo: 'Keep-Alive'.

'HTTP_HOST'

Contenidos de la cabecera Host: de la petición actual, si existe.

'HTTP_REFERER'

La dirección de la página (si la hay) la cual refirió al agente de usuario a la página actual. Este valor es definido por el agente de usuario. No todos los agentes de usuario lo definen, y algunos proveen la capacidad de modificar HTTP_REFERER como una característica del software. En resumen, no se puede confiar realmente en este valor.

'HTTP_USER_AGENT'

Contenidos de la cabecera User-Agent: de la petición actual, si existe. Esta es una cadena que denota el agente de usuario que está accediendo a la página. Un ejemplo típico es: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Entre otras cosas, puede usar este valor con get_browser() para personalizar la salida de su página a las capacidades del agente de usuario.

'HTTPS'

Definido con un valor no-vacío si el script fue solicitado a través del protocolo HTTPS.

Note que cuando se usa ISAPI con IIS, el valor será off si la petición no fue hecha a través del protocolo HTTPS.

'REMOTE_ADDR'

La dirección IP desde donde el usuario está observado la página actual.

'REMOTE_HOST'

El nombre Host desde donde el usuario está viendo la página actual. La consulta dns de vuelta está basada en el valor REMOTE_ADDR del usuario.

Nota: Su servidor web debe estar configurado para crear esta variable. Por ejemplo, en Apache necesitará HostnameLookups On dentro de httpd.conf para que exista. Vea también gethostbyaddr().

'REMOTE_PORT'

El puerto que está siendo usado en la máquina del usuario para comunicarse con el servidor web.

'SCRIPT_FILENAME'

La ruta absoluta del nombre del script siendo ejecutado actualmente.

Nota: Si un script es ejecutado en el entorno CLI usando una ruta relativa, tal como archivo.php o ../archivo.php, $_SERVER['SCRIPT_FILENAME'] contendrá la ruta relativa especificada por el usuario.

'SERVER_ADMIN'

El valor dado a la directiva SERVER_ADMIN (para Apache) en el archivo de configuración del servidor web. Si el script está siendo ejecutado en un host virtual, éste será el valor definido para ese host virtual.

'SERVER_PORT'

El puerto en el equipo servidor que está siendo usado por el servidor web para comunicación. En configuraciones predeterminadas, ese valor será '80'; usando SSL, por ejemplo, este valor cambiará a cualquiera que sea el puerto que esté definido para HTTP seguro.

'SERVER_SIGNATURE'

Cadena que contiene la versión del servidor y el nombre de host virtual que es agregado a las páginas generadas por el servidor, si está habilitada esta funcionalidad.

'PATH_TRANSLATED'

Ruta sobre el sistema de archivos (no la raíz de documentos) al script actual, luego de que el servidor haya realizado cualquier asignación al vuelo virtual-a-real.

Nota: A partir de PHP 4.3.2, PATH_TRANSLATED ya no se define implícitamente bajo la SAPI de Apache 2, a diferencia de lo que ocurre en Apache 1, en donde se define con el mismo valor de la variable de servidor SCRIPT_FILENAME cuando Apache no se encarga de definirlo. Este cambio fue realizado para cumplir con la especificación CGI de que PATH_TRANSLATED debe existir únicamente si PATH_INFO se define.

Los usuarios de Apache 2 pueden usar AcceptPathInfo = On al interior de httpd.conf para definir PATH_INFO.

'SCRIPT_NAME'

Contiene la ruta del script actual. Ésta es útil para páginas que necesitan apuntar a ellas mismas. La constante __FILE__ contiene la ruta completa y nombre del archivo actual (es decir, incluido).

'REQUEST_URI'

El URI que fue dado para acceder a esta página; por ejemplo, '/index.html'.

'PHP_AUTH_DIGEST'

Cuando se está corriendo bajo Apache como módulo, realizando autenticación HTTP Digest, esta variable recibe el valor de la cabecera 'Authorization' enviada por el cliente (la cual debería ser usada para efectuar la validación apropiada).

'PHP_AUTH_USER'

Cuando se corre sobre Apache o IIS (ISAPI en PHP 5) como módulo realizando autenticación HTTP, esta variable es definida con el nombre de usuario definido por el cliente.

'PHP_AUTH_PW'

Cuando se corre sobre Apache o IIS (ISAPI en PHP 5) como módulo realizando autenticación HTTP, esta variable es definida con la contraseña entregada por el usuario.

'AUTH_TYPE'

Cuando se corre sobre Apache como módulo realizando autenticación HTTP, esta variable es definida con el tipo de autenticación.

Variables de entorno: $_ENV

Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_ENV_VARS.

Estas variables son importadas en el espacio de nombres global de PHP desde el entorno bajo el que está siendo ejecutado el intérprete PHP. Muchas son entregadas por el intérprete de comandos bajo el que PHP está corriendo y diferentes sistemas suelen tener diferentes tipos de intérpretes de comandos, una lista definitiva es imposible. Por favor consulte la documentación de su intérprete de comandos por una lista de varibles de entorno que resultan definidas.

Otras variables de entorno incluyen las variables CGI, colocadas allí independientemente de que PHP esté siendo ejecutado como módulo del servidor o procesador CGI.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo del script. No necesita hacer global $_ENV; para acceder a ella desde funciones o métodos, tal y como lo hace con $HTTP_ENV_VARS.

$HTTP_ENV_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_ENV_VARS y $_ENV son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también se harán disponibles en el entorno global del script; i.e., por separado de las matrices $_ENV y $HTTP_ENV_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Cookies HTTP: $_COOKIE

Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_COOKIE_VARS.

Una matriz asociativa de variables pasadas al script actual a través de cookies HTTP. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_COOKIE; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_COOKIE_VARS.

$HTTP_COOKIE_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_COOKIE_VARS y $_COOKIE son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_COOKIE y $HTTP_COOKIE_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Variables HTTP GET: $_GET

Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_GET_VARS.

Una matriz asociativa de variables pasadas al script actual a través del método HTTP GET. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_GET; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_GET_VARS.

$HTTP_GET_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_GET_VARS y $_GET son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_GET y $HTTP_GET_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Variables HTTP POST: $_POST

Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_POST_VARS.

Una matriz asociativa de variables pasadas al script actual a través del método HTTP POST. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_POST; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_POST_VARS.

$HTTP_POST_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_POST_VARS y $_POST son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_POST y $HTTP_POST_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Variables de carga de archivos HTTP: $_FILES

Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_POST_FILES.

Una matriz asociativa de elementos cargados al script actual a través del método HTTP POST. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_FILES; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_POST_FILES.

$HTTP_POST_FILES contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_POST_FILES y $_FILES son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_FILES y $HTTP_POST_FILES. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Variables de petición: $_REQUEST

Nota: Introducidas en 4.1.0. No existe una matriz equivalente en versiones anteriores.

Nota: Antes de PHP 4.3.0, la información de $_FILES también era incluida en $_REQUEST.

Una matriz asociativa que consiste en los contenidos de $_GET, $_POST, y $_COOKIE.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_REQUEST; para acceder a ella dentro de funciones o métodos.

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de la matriz $_REQUEST. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Variables de sesión: $_SESSION

Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_SESSION_VARS.

Una matriz asociativa que contiene las variables de sesión disponibles en el script actual. Consulte la documentación sobre Funciones de Sesión para más información sobre cómo es usada esta matriz.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_SESSION; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_SESSION_VARS.

$HTTP_SESSION_VARS contiene la misma información, pero no es una superglobal. (Note que $HTTP_SESSION_VARS y $_SESSION son variable diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_SESSION y $HTTP_SESSION_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.

Variables globales: $GLOBALS

Nota: $GLOBALS ha estado disponible desde PHP 3.0.0.

Una matriz asociativa que contiene referencias a todas las variables que están definidas actualmente en el contexto global del script. Los nombres de las variables son las claves de la matriz.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_GLOBALS; para acceder a ella dentro de funciones o métodos.

El mensaje de error previo: $php_errormsg

$php_errormsg es una variable que contiene el texto del último mensaje de error generado por PHP. Esta variable solo estará disponibles dentro del contexto en el que el error ocurrió, y solo si la opción de configuración track_errors está habilitada (por omisión está definida como off).

Anterior | Inicio | Siguiente
Lista de Palabras Reservadas | Subir | Clases Predefinidas


Clases Predefinidas

Esta sección lista clases predefinidas estándar. Extensiones particulares definen otras clases que son descritas en sus referencias.

Clases Estándar Predefinidas

Estas clases están definidas en el juego de funciones estándar incluidas en la distribuición de PHP.

Directory

La clase a partir de la cual dir es instanciada.

stdClass

__PHP_Incomplete_Class

Clases predefinidas en PHP 5

Estas clases predefinidas adicionales fueron introducidas en PHP 5.0.0

exception

php_user_filter

Anterior | Inicio | Siguiente
Variables Predefinidas | Subir | Constantes predefinidas


Constantes predefinidas

Constantes Base Predefinidas

Estas constantes son definidas por el núcleo de PHP. Esto incluye PHP, el motor Zend, y los módulos SAPI.

PHP_VERSION (string)

PHP_OS (string)

PHP_SAPI (string)

Disponible desde PHP 4.2.0. Vea también php_sapi_name().

PHP_EOL (string)

Disponible desde PHP 4.3.10 y PHP 5.0.2

PHP_INT_MAX (integer)

Disponible desde PHP 4.4.0 y PHP 5.0.5

PHP_INT_SIZE (integer)

Disponible desde PHP 4.4.0 y PHP 5.0.5

DEFAULT_INCLUDE_PATH (string)

PEAR_INSTALL_DIR (string)

PEAR_EXTENSION_DIR (string)

PHP_EXTENSION_DIR (string)

PHP_PREFIX (string)

Disponible desde PHP 4.3.0

PHP_BINDIR (string)

PHP_LIBDIR (string)

PHP_DATADIR (string)

PHP_SYSCONFDIR (string)

PHP_LOCALSTATEDIR (string)

PHP_CONFIG_FILE_PATH (string)

PHP_CONFIG_FILE_SCAN_DIR (string)

PHP_SHLIB_SUFFIX (string)

Disponible desde PHP 4.3.0

PHP_OUTPUT_HANDLER_START (integer)

PHP_OUTPUT_HANDLER_CONT (integer)

PHP_OUTPUT_HANDLER_END (integer)

E_ERROR (integer)

E_WARNING (integer)

E_PARSE (integer)

E_NOTICE (integer)

E_CORE_ERROR (integer)

E_CORE_WARNING (integer)

E_COMPILE_ERROR (integer)

E_COMPILE_WARNING (integer)

E_USER_ERROR (integer)

E_USER_WARNING (integer)

E_USER_NOTICE (integer)

E_ALL (integer)

E_STRICT (integer)

Disponible a partir de PHP 5.0.0

__COMPILER_HALT_OFFSET__ (integer)

Disponible a partir de PHP 5.1.0

Vea también: Constantes mágicas.

Constantes Estándar Predefinidas

Estas constantes están definidas en PHP por defecto.

EXTR_OVERWRITE (integer)

EXTR_SKIP (integer)

EXTR_PREFIX_SAME (integer)

EXTR_PREFIX_ALL (integer)

EXTR_PREFIX_INVALID (integer)

EXTR_PREFIX_IF_EXISTS (integer)

EXTR_IF_EXISTS (integer)

SORT_ASC (integer)

SORT_DESC (integer)

SORT_REGULAR (integer)

SORT_NUMERIC (integer)

SORT_STRING (integer)

CASE_LOWER (integer)

CASE_UPPER (integer)

COUNT_NORMAL (integer)

COUNT_RECURSIVE (integer)

ASSERT_ACTIVE (integer)

ASSERT_CALLBACK (integer)

ASSERT_BAIL (integer)

ASSERT_WARNING (integer)

ASSERT_QUIET_EVAL (integer)

CONNECTION_ABORTED (integer)

CONNECTION_NORMAL (integer)

CONNECTION_TIMEOUT (integer)

INI_USER (integer)

INI_PERDIR (integer)

INI_SYSTEM (integer)

INI_ALL (integer)

M_E (float)

M_LOG2E (float)

M_LOG10E (float)

M_LN2 (float)

M_LN10 (float)

M_PI (float)

M_PI_2 (float)

M_PI_4 (float)

M_1_PI (float)

M_2_PI (float)

M_2_SQRTPI (float)

M_SQRT2 (float)

M_SQRT1_2 (float)

CRYPT_SALT_LENGTH (integer)

CRYPT_STD_DES (integer)

CRYPT_EXT_DES (integer)

CRYPT_MD5 (integer)

CRYPT_BLOWFISH (integer)

DIRECTORY_SEPARATOR (string)

SEEK_SET (integer)

SEEK_CUR (integer)

SEEK_END (integer)

LOCK_SH (integer)

LOCK_EX (integer)

LOCK_UN (integer)

LOCK_NB (integer)

HTML_SPECIALCHARS (integer)

HTML_ENTITIES (integer)

ENT_COMPAT (integer)

ENT_QUOTES (integer)

ENT_NOQUOTES (integer)

INFO_GENERAL (integer)

INFO_CREDITS (integer)

INFO_CONFIGURATION (integer)

INFO_MODULES (integer)

INFO_ENVIRONMENT (integer)

INFO_VARIABLES (integer)

INFO_LICENSE (integer)

INFO_ALL (integer)

CREDITS_GROUP (integer)

CREDITS_GENERAL (integer)

CREDITS_SAPI (integer)

CREDITS_MODULES (integer)

CREDITS_DOCS (integer)

CREDITS_FULLPAGE (integer)

CREDITS_QA (integer)

CREDITS_ALL (integer)

STR_PAD_LEFT (integer)

STR_PAD_RIGHT (integer)

STR_PAD_BOTH (integer)

PATHINFO_DIRNAME (integer)

PATHINFO_BASENAME (integer)

PATHINFO_EXTENSION (integer)

PATH_SEPARATOR (string)

CHAR_MAX (integer)

LC_CTYPE (integer)

LC_NUMERIC (integer)

LC_TIME (integer)

LC_COLLATE (integer)

LC_MONETARY (integer)

LC_ALL (integer)

LC_MESSAGES (integer)

ABDAY_1 (integer)

ABDAY_2 (integer)

ABDAY_3 (integer)

ABDAY_4 (integer)

ABDAY_5 (integer)

ABDAY_6 (integer)

ABDAY_7 (integer)

DAY_1 (integer)

DAY_2 (integer)

DAY_3 (integer)

DAY_4 (integer)

DAY_5 (integer)

DAY_6 (integer)

DAY_7 (integer)

ABMON_1 (integer)

ABMON_2 (integer)

ABMON_3 (integer)

ABMON_4 (integer)

ABMON_5 (integer)

ABMON_6 (integer)

ABMON_7 (integer)

ABMON_8 (integer)

ABMON_9 (integer)

ABMON_10 (integer)

ABMON_11 (integer)

ABMON_12 (integer)

MON_1 (integer)

MON_2 (integer)

MON_3 (integer)

MON_4 (integer)

MON_5 (integer)

MON_6 (integer)

MON_7 (integer)

MON_8 (integer)

MON_9 (integer)

MON_10 (integer)

MON_11 (integer)

MON_12 (integer)

AM_STR (integer)

PM_STR (integer)

D_T_FMT (integer)

D_FMT (integer)

T_FMT (integer)

T_FMT_AMPM (integer)

ERA (integer)

ERA_YEAR (integer)

ERA_D_T_FMT (integer)

ERA_D_FMT (integer)

ERA_T_FMT (integer)

ALT_DIGITS (integer)

INT_CURR_SYMBOL (integer)

CURRENCY_SYMBOL (integer)

CRNCYSTR (integer)

MON_DECIMAL_POINT (integer)

MON_THOUSANDS_SEP (integer)

MON_GROUPING (integer)

POSITIVE_SIGN (integer)

NEGATIVE_SIGN (integer)

INT_FRAC_DIGITS (integer)

FRAC_DIGITS (integer)

P_CS_PRECEDES (integer)

P_SEP_BY_SPACE (integer)

N_CS_PRECEDES (integer)

N_SEP_BY_SPACE (integer)

P_SIGN_POSN (integer)

N_SIGN_POSN (integer)

DECIMAL_POINT (integer)

RADIXCHAR (integer)

THOUSANDS_SEP (integer)

THOUSEP (integer)

GROUPING (integer)

YESEXPR (integer)

NOEXPR (integer)

YESSTR (integer)

NOSTR (integer)

CODESET (integer)

LOG_EMERG (integer)

LOG_ALERT (integer)

LOG_CRIT (integer)

LOG_ERR (integer)

LOG_WARNING (integer)

LOG_NOTICE (integer)

LOG_INFO (integer)

LOG_DEBUG (integer)

LOG_KERN (integer)

LOG_USER (integer)

LOG_MAIL (integer)

LOG_DAEMON (integer)

LOG_AUTH (integer)

LOG_SYSLOG (integer)

LOG_LPR (integer)

LOG_NEWS (integer)

LOG_UUCP (integer)

LOG_CRON (integer)

LOG_AUTHPRIV (integer)

LOG_LOCAL0 (integer)

LOG_LOCAL1 (integer)

LOG_LOCAL2 (integer)

LOG_LOCAL3 (integer)

LOG_LOCAL4 (integer)

LOG_LOCAL5 (integer)

LOG_LOCAL6 (integer)

LOG_LOCAL7 (integer)

LOG_PID (integer)

LOG_CONS (integer)

LOG_ODELAY (integer)

LOG_NDELAY (integer)

LOG_NOWAIT (integer)

LOG_PERROR (integer)

Anterior | Inicio | Siguiente
Clases Predefinidas | Subir | Lista de Tipos de Recurso


Lista de Tipos de Recurso

Manual de PHP
Anterior Siguiente

Apéndice L. Lista de Tipos de Recurso

La siguiente es una lista de las funciones que crean, usan o destruyen recursos PHP. La función is_resource() puede ser usada para determinar si una variable es un recurso y get_resource_type() devolverá el tipo de recurso que es.

Tabla L-1. Tipos de Recurso

Nombre del Tipo de Recurso | Creado Por | Usado Por | Destruido Por | Definición
aspell | aspell_new() | aspell_check(), aspell_check_raw(), aspell_suggest() | Nadie | Diccionario aspell
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Archivo bzip2
COM | com_load() | com_invoke(), com_propget(), com_get(), com_propput(), com_set(), com_propput() | Nadie | Referencia a objeto COM
VARIANT
cpdf | cpdf_open() | cpdf_page_init(), cpdf_finalize_page(), cpdf_finalize(), cpdf_output_buffer(), cpdf_save_to_file(), cpdf_set_current_page(), cpdf_begin_text(), cpdf_end_text(), cpdf_show(), cpdf_show_xy(), cpdf_text(), cpdf_set_font(), cpdf_set_leading(), cpdf_set_text_rendering(), cpdf_set_horiz_scaling(), cpdf_set_text_rise(), cpdf_set_text_matrix(), cpdf_set_text_pos(), cpdf_set_text_pos(), cpdf_set_word_spacing(), cpdf_continue_text(), cpdf_stringwidth(), cpdf_save(), cpdf_translate(), cpdf_restore(), cpdf_scale(), cpdf_rotate(), cpdf_setflat(), cpdf_setlinejoin(), cpdf_setlinecap(), cpdf_setmiterlimit(), cpdf_setlinewidth(), cpdf_setdash(), cpdf_moveto(), cpdf_rmoveto(), cpdf_curveto(), cpdf_lineto(), cpdf_rlineto(), cpdf_circle(), cpdf_arc(), cpdf_rect(), cpdf_closepath(), cpdf_stroke(), cpdf_closepath_fill_stroke(), cpdf_fill_stroke(), cpdf_clip(), cpdf_fill(), cpdf_setgray_fill(), cpdf_setgray_stroke(), cpdf_setgray(), cpdf_setrgbcolor_fill(), cpdf_setrgbcolor_stroke(), cpdf_setrgbcolor(), cpdf_add_outline(), cpdf_set_page_animation(), cpdf_import_jpeg(), cpdf_place_inline_image(), cpdf_add_annotation() | cpdf_close() | Documento PDF con la biblioteca CPDF
cpdf outline
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | Sesión curl
dbm | dbmopen() | dbmexists(), dbmfetch(), dbminsert(), dbmreplace(), dbmdelete(), dbmfirstkey(), dbmnextkey() | dbmclose() | Enlace a base de datos DBM
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Enlace a base de datos DBA
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | Nadie | Enlace persistente a base de datos DBA
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Enlace a base de datos Dbase
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | dbx connection
dbx_result_object | dbx_query() | Nadie | Resultado dbx
domxml attribute
domxml document
domxml node
xpath context
xpath object
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_blob_size(), fbsql_clob_size(), fbsql_commit(), fbsql_change_user(), fbsql_create_blob(), fbsql_create_db(), fbsql_create_clob(), fbsql_data_seek(), fbsql_database_password(), fbsql_database(), fbsql_db_query(), fbsql_db_status(), fbsql_drop_db(), fbsql_errno(), fbsql_error(), fbsql_get_autostart_info(), fbsql_hostname(), fbsql_insert_id(), fbsql_list_dbs(), fbsql_password(), fbsql_read_blob(), fbsql_read_clob(), fbsql_rollback(), fbsql_select_db(), fbsql_set_password(), fbsql_set_transaction(), fbsql_start_db(), fbsql_stop_db(), fbsql_username() | fbsql_close() | Enlace a base de datos fbsql
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | Nadie | Enlace persistente con base de datos fbsql
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | fbsql result
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | Archivo FDF
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | Secuencia FTP
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | Imagen GD
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | Nadie | Fuente para GD
gd PS encoding
gd PS font | imagepsloadfont() | imagepstext(), imagepsslantfont(), imagepsextendfont(), imagepsencodefont(), imagepsbbox() | imagepsfreefont() | Fuente PS para GD
GMP integer | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | Nadie | Número GMP
hyperwave document | hw_cp(), hw_docbyanchor(), hw_getremote(), hw_getremotechildren() | hw_children(), hw_childrenobj(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getsrcbydestobj(), hw_getandlock(), hw_gettext(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_inscoll(), hw_pipedocument(), hw_unlock() | hw_deleteobject() | Objeto hyperwave
hyperwave link | hw_connect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | hw_close(), hw_free_document() | Enlace con servidor Hyperwave
hyperwave link persistent | hw_pconnect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | Nadie | Enlace persistente con servidor Hyperwave
icap | icap_open() | icap_fetch_event(), icap_list_events(), icap_store_event(), icap_snooze(), icap_list_alarms(), icap_delete_event() | icap_close() | Enlace con servidor icap
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Enlace con servidor IMAP, POP3
imap chain persistent
imap persistent
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Enlace con base ingresII
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | Nadie | Enlace persistente con base ingresII
interbase blob
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Enlace con base de datos Interbase
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | Nadie | Enlace persistente con base de datos Interbase
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Consulta Interbase
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Resultado Interbase
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Transacción Interbase
java
ldap link | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | Conexión ldap
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | Resultado de búsqueda ldap
ldap result entry
mcal | mcal_open(), mcal_popen() | mcal_create_calendar(), mcal_rename_calendar(), mcal_rename_calendar(), mcal_delete_calendar(), mcal_fetch_event(), mcal_list_events(), mcal_append_event(), mcal_store_event(), mcal_delete_event(), mcal_list_alarms(), mcal_event_init(), mcal_event_set_category(), mcal_event_set_title(), mcal_event_set_description(), mcal_event_set_start(), mcal_event_set_end(), mcal_event_set_alarm(), mcal_event_set_class(), mcal_next_recurrence(), mcal_event_set_recur_none(), mcal_event_set_recur_daily(), mcal_event_set_recur_weekly(), mcal_event_set_recur_monthly_mday(), mcal_event_set_recur_monthly_wday(), mcal_event_set_recur_yearly(), mcal_fetch_current_stream_event(), mcal_event_add_attribute(), mcal_expunge() | mcal_close() | Enlace a servidor de calendario
SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFGradient
SWFMorph
SWFMovie
SWFShape
SWFSprite
SWFText
SWFTextField
mnogosearch agent
mnogosearch result
msql link | msql_connect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | msql_close() | Enlace a base de datos mSQL
msql link persistent | msql_pconnect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | Nadie | Enlace persistente con mSQL
msql query | msql_db_query(), msql_list_dbs(), msql_list_fields(), msql_list_tables(), msql_query() | msql(), msql_affected_rows(), msql_data_seek(), msql_dbname(), msql_fetch_array(), msql_fetch_field(), msql_fetch_object(), msql_fetch_row(), msql_field_seek(), msql_field_table(), msql_field_flags(), msql_field_len(), msql_field_name(), msql_field_type(), msql_num_fields(), msql_num_rows(), msql_numfields(), msql_numrows(), msql_result() | msql_free_result(), msql_free_result() | Resultado mSQL
mssql link | mssql_connect() | mssql_query(), mssql_select_db() | mssql_close() | Enlace con base de datos Microsoft SQL Server
mssql link persistent | mssql_pconnect() | mssql_query(), mssql_select_db() | Nadie | Enlace persistente con Microsoft SQL Server
mssql result | mssql_query() | mssql_data_seek(), mssql_fetch_array(), mssql_fetch_field(), mssql_fetch_object(), mssql_fetch_row(), mssql_field_length(), mssql_field_name(), mssql_field_seek(), mssql_field_type(), mssql_num_fields(), mssql_num_rows(), mssql_result() | mssql_free_result() | Rasultado de Microsoft SQL Server
mysql link | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Enlace con base de datos MySQL
mysql link persistent | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | Nadie | Enlace persistente con base de datos MySQL
mysql result | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | Resultado MySQL
oci8 collection
oci8 connection | ocilogon(), ociplogon(), ocinlogon() | ocicommit(), ociserverversion(), ocinewcursor(), ociparse(), ocierror() | ocilogoff() | Enlace con base de datos Oracle
oci8 descriptor
oci8 server
oci8 session
oci8 statement | ocinewdescriptor() | ocirollback(), ocinewdescriptor(), ocirowcount(), ocidefinebyname(), ocibindbyname(), ociexecute(), ocinumcols(), ociresult(), ocifetch(), ocifetchinto(), ocifetchstatement(), ocicolumnisnull(), ocicolumnname(), ocicolumnsize(), ocicolumntype(), ocistatementtype(), ocierror() | ocifreestatement() | Cursor Oracle
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Enlace con base de datos ODBC
odbc link persistent | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | Nadie | Enlace persistente con base de datos ODBC
odbc result | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | Resultado ODBC
birdstep link
birdstep result
OpenSSL key | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | Llave OpenSSL
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Llave pública
oracle Cursor | ora_open() | ora_bind(), ora_columnname(), ora_columnsize(), ora_columntype(), ora_error(), ora_errorcode(), ora_exec(), ora_fetch(), ora_fetch_into(), ora_getcolumn(), ora_numcols(), ora_numrows(), ora_parse() | ora_close() | Cursor Oracle
oracle link | ora_logon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | ora_logoff() | Enlace con base de datos oracle
oracle link persistent | ora_plogon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | Nadie | Enlace persistente con base de datos oracle
pdf document | pdf_new() | pdf_add_bookmark(), pdf_add_launchlink(), pdf_add_locallink(), pdf_add_note(), pdf_add_pdflink(), pdf_add_weblink(), pdf_arc(), pdf_attach_file(), pdf_begin_page(), pdf_circle(), pdf_clip(), pdf_closepath(), pdf_closepath_fill_stroke(), pdf_closepath_stroke(), pdf_concat(), pdf_continue_text(), pdf_curveto(), pdf_end_page(), pdf_endpath(), pdf_fill(), pdf_fill_stroke(), pdf_findfont(), pdf_get_buffer(), pdf_get_image_height(), pdf_get_image_width(), pdf_get_parameter(), pdf_get_value(), pdf_lineto(), pdf_moveto(), pdf_open_ccitt(), pdf_open_file(), pdf_open_image_file(), pdf_place_image(), pdf_rect(), pdf_restore(), pdf_rotate(), pdf_save(), pdf_scale(), pdf_setdash(), pdf_setflat(), pdf_setfont(), pdf_setgray(), pdf_setgray_fill(), pdf_setgray_stroke(), pdf_setlinecap(), pdf_setlinejoin(), pdf_setlinewidth(), pdf_setmiterlimit(), pdf_setpolydash(), pdf_setrgbcolor(), pdf_setrgbcolor_fill(), pdf_setrgbcolor_stroke(), pdf_set_border_color(), pdf_set_border_dash(), pdf_set_border_style(), pdf_set_char_spacing(), pdf_set_duration(), pdf_set_font(), pdf_set_horiz_scaling(), pdf_set_parameter(), pdf_set_text_pos(), pdf_set_text_rendering(), pdf_set_value(), pdf_set_word_spacing(), pdf_show(), pdf_show_boxed(), pdf_show_xy(), pdf_skew(), pdf_stringwidth(), pdf_stroke(), pdf_translate(), pdf_add_thumbnail(), pdf_arcn(), pdf_begin_pattern(), pdf_begin_template(), pdf_end_pattern(), pdf_end_template(), pdf_initgraphics(), pdf_makespotcolor(), pdf_set_info(), pdf_setcolor(), pdf_setmatrix(), pdf_open_memory_image() | pdf_close(), pdf_delete() | Documento PDF
pdf image | pdf_open_image(), pdf_open_image_file(), pdf_open_memory_image() | pdf_get_image_height(), pdf_get_image_width(), pdf_open_CCITT(), pdf_place_image() | pdf_close_image() | Imagen en archivo PDF
pdf object
pdf outline
pgsql large object | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | Objato Largo PostgreSQL
pgsql link | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Enlace con base de datos PostgreSQL
pgsql link persistent | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | Nadie | Enlace persistente con base de datos PostgreSQL
pgsql result | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | Resultado PostgreSQL
pgsql string
printer
printer brush
printer font
printer pen
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | Nadie | Diccionario pspell
pspell config | pspell_config_create() | pspell_new_config() | Nadie | Configuración pspell
Sablotron XSLT | xslt_create() | xslt_closelog(), xslt_openlog(), xslt_run(), xslt_set_sax_handler(), xslt_errno(), xslt_error(), xslt_fetch_result(), xslt_free() | xslt_free() | Analizador sintáctico XSLT
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close()
sockets file descriptor set | socket() | accept_connect(), bind(), connect(), listen(), read(), write() | close() | Socket
sockets i/o vector
dir | opendir() | readdir(), rewinddir() | closedir() | Gestor de directorio
stream | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | Gestor de archivo
pipe | popen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Gestor de proceso
socket | fsockopen(), pfsockopen() | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Gestor de socket
sybase-db link | sybase_connect() | sybase_query(), sybase_select_db() | sybase_close() | Enlace a base de datos Sybase usando la biblioteca DB
sybase-db link persistent | sybase_pconnect() | sybase_query(), sybase_select_db() | Nadie | Enlace persistente con base de datos Sybase usando la biblioteca DB
sybase-db result | sybase_query(), sybase_unbuffered_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Resultado Sybase usando la biblioteca DB
sybase-ct link | sybase_connect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | sybase_close() | Enlace a base de datos Sybase usando la biblioteca CT
sybase-ct link persistent | sybase_pconnect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | Nadie | Enlace persistente con base de datos Sybase usando la biblioteca CT
sybase-ct result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Resultado Sybase usando la biblioteca CT
sysvsem | sem_get() | sem_acquire() | sem_release() | Semáforo de Sistema V
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | Memoria Compartida de Sistema V
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | Paquete WDDX
xml | xml_parser_create(), xml_parser_create_ns(), | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | Analizador sintáctico XML
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | Archivo comprimido gz

Anterior | Inicio | Siguiente
Constantes predefinidas | Subir | Lista de Protocolos/Envolturas Soportadas


Lista de Protocolos/Envolturas Soportadas

Manual de PHP
Anterior Siguiente

Apéndice M. Lista de Protocolos/Envolturas Soportadas

Tabla de contenidos
Sistema de archivos
Socket
HTTP y HTTPS
FTP y FTPS
Secuencias de entrada/salida PHP
Secuencias de Compresión
Datos (RFC 2397)
Shell Seguro 2
Secuencias de Audio
Secuencias de Interacción de Procesos

La siguiente es una lista de los varios protocolos estilo URL que PHP tiene integrado para su uso con las funciones del sistema de archivos, tales como fopen() y copy(). Adicionalmente a estas envolturas, y a partir de PHP 4.3.0, usted puede escribir sus propias envolturas usando scripts PHP y stream_wrapper_register().

Sistema de archivos

Todas las versiones de PHP. Usada explícitamente mediante file:// a partir de PHP 4.3.0

  • /ruta/hacia/archivo.ext

  • ruta/relativa/hacia/archivo.ext

  • archivoEnDirActual.ext

  • C:/ruta/hacia/archivo_win.ext

  • C:\ruta\hacia\archivo_win.ext

  • \\servidor_smb\recurso_compartido\ruta\hacia\archivo_win.ext

  • file:///ruta/hacia/archivo.ext

Filesystem es la envoltura predeterminada usada por PHP, y representa el sistema de archivos local. Cuando se especifica una ruta relativa (una ruta que no comienza con /, \, \\, o una letra de unidad en Windows), la ruta provista será aplicada contra el directorio de trabajo actual. En muchos casos éste es el directorio en el cual reside el script, a menos que haya sido modificado. Al usar la sapi CLI, éste es, por omisión, el directorio desde donde fue llamado el script.

Con algunas funciones, como fopen() y file_get_contents(), include_path puede usarse opcionalmente también para las búsquedas de rutas relativas.

Tabla M-1. Resumen de Envoltura

Atributo | Soporte
Restricción por allow_url_fopen | No
Permite Lectura | Si
Permite Escritura | Si
Permite Adición | Si
Permite Lectura y Escritura Simultánea | Si
Soporte stat() | Si
Soporte unlink() | Si
Soporte rename() | Si
Soporte mkdir() | Si
Soporte rmdir() | Si

Anterior | Inicio | Siguiente
Lista de Tipos de Recurso | Subir | Socket


HTTP y HTTPS

PHP 3, PHP 4, PHP 5. https:// a partir de PHP 4.3.0

  • http://example.com

  • http://example.com/archivo.php?var1=val1&var2=val2

  • http://usuario:contrasenya@example.com

  • https://example.com

  • https://example.com/archivo.php?var1=val1&var2=val2

  • https://usuario:contrasenya@example.com

Permite acceso de sólo-lectura a archivos/recursos a través de HTTP 1.0, usando el método HTTP GET. Una cabecera Host: es enviada con la petición para gestionar hosts virtuales basados en nombres. Si ha configurado una cadena user_agent usando su archivo ini o en el contexto de secuencia, también ésta será usada en la petición.

Aviso

Cuando se usa SSL, Microsoft IIS violara el protocolo, cerrando la conexion sin mandar un indicador close_notify. PHP avisara de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solucion a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema y suprime la advertencia. Si usais la funcion fsockopen() para crear un socket ssl://, tendreis que suprimir la advertencia explicitamente.

Las redirecciones han sido soportadas desde PHP 4.0.5; si se encuentra usando una versión anterior, necesitará incluir barras de cierre en sus URLs. Si es importante conocer la URL del recurso del cual proviene su documento (luego de que todas las redirecciones han sido procesadas), necesitará trabajar con la serie de cabeceras de respuesta devueltas por la secuencia.

<?php
$url = 'http://www.example.com/pagina_de_redireccion.php';

$da = fopen($url, 'r');

/* Antes de PHP 4.3.0, use $http_response_header
   en lugar de stream_get_meta_data() */
$meta_datos = stream_get_meta_data($da);
foreach($meta_datos['wrapper_data'] as $respuesta) {

  /* ¿Fuimos redirigidos? */
  if (substr(strtolower($respuesta), 0, 10) == 'location: ') {
    /* actualizar $url con la ubicación desde donde fuimos redirigidos */
    $url = substr($respuesta, 18);
  }

}

?>

Ejemplo M-2. Descargar una página y enviar datos POST

<?php

$datos_post = http_build_query(
    array(
        'var1' => 'alguna cosa',
        'var2' => 'doh'
    )
);

$opciones = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $datos_post
    )
);
$contexto  = stream_context_create($opciones);

$resultado = file_get_contents('http://example.com/submit.php', false, $contexto);

?>

La secuencia permite acceso al cuerpo del recurso; las cabeceras son almacenadas en la variable $http_response_header. A partir de PHP 4.3.0, las cabeceras están disponibles mediante el uso de stream_get_meta_data().

Las conexiones HTTP son de sólo-lectura; no puede escribir datos o copiar archivos hacia un recurso HTTP.

Nota: HTTPS es soportado a partir de PHP 4.3.0, si ha compilado el soporte para OpenSSL.

Tabla M-2. Resumen de Envoltura

Atributo | Soporte
Restricción por allow_url_fopen | Si
Permite Lectura | Si
Permite Escritura | No
Permite Adición | No
Permite Lectura y Escritura Simultánea | N/D
Soporte stat() | No
Soporte unlink() | No
Soporte rename() | No
Soporte mkdir() | No
Soporte rmdir() | No

Tabla M-3. Opciones de contexto

Nombre | Uso | Predeterminado
method | GET, POST, u otro método HTTP soportado por el servidor remoto. | GET
header | Cabeceras adicionales a ser enviadas durante la petición. Los valores en esta opción sobrescribirán otros valores (tales como User-agent:, Host:, y Authentication:). |
user_agent | Valor a enviar con la cabecera User-Agent:. Este valor solo será usado si user-agent no es especificado en la opción de contexto header anterior. | Parámetro php.ini: user_agent
content | Datos adicionales a ser enviados después de las cabeceras. Típicamente usados con peticiones POST o PUT. |
proxy | URI que especifica la dirección del servidor proxy. (p.ej. tcp://proxy.example.com:5100 ). El uso de proxys HTTPS (a través de proxys HTTP) solo funciona en PHP 5.1.0 o superior. |
request_fulluri | Cuando es definido como TRUE, la URI completa será usada a la hora de construir la petición. (Es decir, GET http://www.example.com/ruta/hacia/archivo.html HTTP/1.0). Aunque éste es un formato de petición no-estándar, algunos servidores proxy lo requieren. | FALSE
max_redirects | El número máximo de redirecciones a seguir. El valor 1 o menor quiere decir que no se permiten las redirecciones. Agregada en PHP 5.1.0. | 20
protocol_version | Versión del protocolo HTTP. Agregada en PHP 5.1.0. | 1.0
timeout | Tiempo de espera de lectura en segundos, especificado por un valor float (p.ej. 10.5). Agregada en PHP 5.2.1. | default_socket_timeout

Opciones de contexto de las secuencias de socket interno: Puede que se soporten opciones de contexto adicionales por el transporte implícito. Para secuencias http://, refiérase a las opciones de contexto para el transporte tcp://. Para secuencias https://, refiérase a las opciones de contexto del transporte ssl://.

Es posible enviar cabaceras personalizadas con una petición HTTP antes de la versión 5 aprovechando un efecto lateral en el manejo del parámetro INI user_agent. Defina user_agent con cualquier cadena válida (tal como el valor PHP/version predeterminado) seguido de una pareja retorno-de-carro/salto-de-línea y cualquier conjunto de cabeceras adicionales. Este método funciona en PHP 4 y todas las versiones posteriores.

Ejemplo M-3. Envío de cabeceras personalizadas con una petición HTTP

<?php
ini_set('user_agent', "PHP\r\nX-MiCabeceraPersonalizada: Foo");

$fp = fopen('http://www.example.com/index.php', 'r');
?>

Resulta en el envío de la siguiente petición:

GET /index.php HTTP/1.0
Host: www.example.com
User-Agent: PHP
X-MiCabeceraPersonalizada: Foo

Anterior | Inicio | Siguiente
Socket | Subir | FTP y FTPS


FTP y FTPS

PHP 3, PHP 4, PHP 5. ftps:// a partir de PHP 4.3.0

  • ftp://example.com/pub/archivo.txt

  • ftp://usuario:contrasenya@example.com/pub/archivo.txt

  • ftps://example.com/pub/archivo.txt

  • ftps://usuario:contrasenya@example.com/pub/archivo.txt

Permite acceso de lectura a archivos exsistentes y la creación de nuevos archivos mediante FTP. Si el servidor no soporta el modo pasivo de ftp, la conexión fallará.

Puede abrir archivos para lectura o para escritura, pero no en los dos modos simultáneamente. Si el archivo remoto existe previamente en el servidor ftp e intenta abrirlo para escritura, pero no tiene especificada la opción de contexto overwrite, la conexión fallará. Si necesita sobrescribir archivos existentes sobre ftp, especifique la opción overwrite en el contexto y abra el archivo para escritura. Alternativamente, puede usar la extensión FTP.

Adición: A partir de PHP 5.0.0, los archivos pueden ser extendidos, agregando nuevos datos al final, mediante la envoltura de URL ftp://. En versiones anteriores, al intentar adicionar datos a un archivo mediante ftp:// se producirá un fallo.

ftps:// se ha introducido en PHP 4.3.0. Es igual a ftp://, pero intenta negociar una conexión segura con el servidor ftp. Si el servidor no soporta SSL, entonces la conexión recae sobre el ftp corriente, sin encripción.

Nota: FTPS es soportado desde PHP 4.3.0, si ha compilado el soporte para OpenSSL.

Tabla M-4. Resumen de Envoltura

Atributo | PHP 4 | PHP 5
Restricción por allow_url_fopen | Si | Si
Permite Lectura | Si | Si
Permite Escritura | Si (archivos nuevos únicamente) | Si (archivos nuevos/archivos existentes con overwrite)
Permite Adición | No | Si
Permite Lectura y Escritura Simultánea | No | No
Soporte stat() | No | A partir de PHP 5.0.0: Sólo los elementos filesize(), filetype(), file_exists(), is_file(), e is_dir(). A partir de PHP 5.1.0: filemtime().
Soporte unlink() | No | Si
Soporte rename() | No | Si
Soporte mkdir() | No | Si
Soporte rmdir() | No | Si

Tabla M-5. Opciones de contexto (a la altura de PHP 5.0.0)

Nombre | Uso | Predeterminado
overwrite | Permite la sobrescritura de archivos previamente existentes en el servidor remoto. Se aplica al modo de escritura (carga de archivos) solamente. | FALSE (Deshabilitada)
resume_pos | Desplazamiento de archivo para iniciar la transferencia. Se aplica únicamente al modo de lectura (descarga de archivos). | 0 (Comienzo del Archivo)
proxy (PHP 5.1.0 o superior) | Petición proxy FTP mediante un servidor proxy http. Se aplica únicamente a las operaciones de lectura de archivos. Ej: tcp://squid.example.com:8000 |

Opciones de contexto de las secuencias de socket interno: Puede que se soporten opciones de contexto adicionales por el transporte implícito. Para secuencias ftp://, refiérase a las opciones de contexto para el transporte tcp://. Para secuencias ftps://, refiérase a las opciones de contexto del transporte ssl://.

Anterior | Inicio | Siguiente
HTTP y HTTPS | Subir | Secuencias de entrada/salida PHP


Secuencias de entrada/salida PHP

  • php://stdin

  • php://stdout

  • php://stderr

  • php://output

  • php://input

  • php://filter (disponible desde PHP 5.0.0)

  • php://memory (disponible desde PHP 5.1.0)

  • php://temp (disponible desde PHP 5.1.0)

php://stdin, php://stdout y php://stderr le ofrecen acceso a las secuencias de entrada o salida correspondientes del proceso PHP. La secuencia hace referencia a un descriptor de archivo duplicado, de modo que si abre php://stdin y luego lo cierra, estará cerrando únicamente su copia del descriptor--la secuencia realmente referenciada por STDIN no es afectada. Note que PHP exhibía un comportamiento incorrecto en este sentido hasta PHP 5.2.1. Es recomendable que simplemente use las constantes STDIN, STDOUT y STDERR en lugar de abrir manualmente las secuencias usando estas envolturas.

php://output le permite escribir sobre el mecanismo de búfer de salida en la misma manera que lo hacen print() y echo().

php://input le permite leer datos POST en su forma primitiva. Es una alternativa que consume menos memoria que $HTTP_RAW_POST_DATA y no requiere de directivas php.ini especiales. php://input no se encuentra disponible con enctype="multipart/form-data".

php://stdin y php://input son de sólo-lectura, mientras que php://stdout, php://stderr y php://output son de sólo-escritura.

php://filter es una especie de meta-envoltura diseñada para permitir el uso de filtros sobre una secuencia al momento de su apertura. Resulta útil con aquellas funciones de archivos todo-en-uno, como readfile(), file(), y file_get_contents() en donde de otro modo no habría forma de aplicar filtros a la secuencia antes de que los contenidos fueran leídos.

El destino php://filter recibe los siguientes 'parámetros' como partes de su 'ruta'.

  • /resource=<secuencia a ser filtrada> (requerido) Este parámetro debe estar ubicado el final de su especificación php://filter y debe apuntar a la secuencia que desea filtrar.

    <?php
    /* Esto es equivalente a simplemente:
       readfile("http://www.example.com");
       ya que no se aplica filtro alguno */

    readfile("php://filter/resource=http://www.example.com");
    ?>

  • /read=<lista de filtros a aplicar a la cadena de lectura> (opcional) Este parámetro toma uno o más nombres de filtros separados por el caracter |.

    <?php
    /* Esto produce como salida el contenido de
       www.example.com enteramente en mayúsculas */
    readfile("php://filter/read=string.toupper/resource=http://www.example.com");

    /* Esto hace lo mismo pero también codifica la salida con ROT13 */
    readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
    ?>

  • /write=<lista de filtros a aplicar a la cadena de escritura> (opcional) Este parámetro toma uno o más nombres de filtro separados por el caracter |.

    <?php
    /* Esto filtra la cadena "Hola Mundo" a través del filtro rot13,
       luego escribe al archivo ejemplo.txt en el directorio actual */
    file_put_contents("php://filter/write=string.rot13/resource=ejemplo.txt","Hola Mundo");
    ?>

  • /<lista de filtros a aplicar a ambas cadenas> (opcional) Cualquier lista de filtros que no esté precedida por read= o write= será aplicada tanto a la cadena de lectura como a la de escritura (según sea el caso).

La envoltura php://memory almacena los datos en memoria. php://temp se comporta de forma similar, pero usa un archivo temporal para almacenar los datos cuando se alcanza cierto límite de memoria (el valor predeterminado es 2 MB).

La envoltura php://temp toma los siguientes 'parámetros' como partes de su 'ruta':

  • /maxmemory:<número de bytes> (opcional). Este parámetro permite modificar el valor predeterminado para el límite de memoria (cuando los datos son movido a un archivo temporal).

    <?php
    $cincoMBs     = 5 * 1024 * 1024;
    $da = fopen("php://temp/maxmemory:$cincoMBs", 'r+');

    fputs($da, "hola\n");

    // leer lo que hemos escrito
    rewind($da);
    echo     stream_get_contents($da);
    ?>

Tabla M-6. Resumen de Envoltura (Para php://filter, refiérase al resumen de la envoltura siendo filtrada.)

Atributo | Soporte
Restricción por allow_url_fopen | No
Restricción por allow_url_include | php://input, php://stdin, php://memory y php://temp únicamente.
Permite Lectura | php://stdin, php://input, php://memory y php://temp únicamente.
Permite Escritura | php://stdout, php://stderr, php://output, php://memory y php://temp únicamente.
Permite Adición | php://stdout, php://stderr, php://output, php://memory y php://temp únicamente. (Equivalente a la escritura)
Permite Lectura y Escritura Simultánea | php://memory y php://temp únicamente.
Soporte stat() | php://memory y php://temp únicamente.
Soporte unlink() | No
Soporte rename() | No
Soporte mkdir() | No
Soporte rmdir() | No

Anterior | Inicio | Siguiente
FTP y FTPS | Subir | Secuencias de Compresión


Secuencias de Compresión

zlib: PHP 4.0.4 - PHP 4.2.3 (sólo sistemas con fopencookie)

compress.zlib:// y compress.bzip2:// PHP 4.3.0 y superior

  • zlib:

  • compress.zlib://

  • compress.bzip2://

zlib: funciona como gzopen(), con la excepción de que la secuencia puede ser usada con fread() y otras funciones del sistema de archivos. Esto se ha hecho obsoleto en PHP 4.3.0 debido a las ambigüedades presentes con nombres de archivos que contienen caracteres ':'; use compress.zlib:// en su lugar.

compress.zlib:// y compress.bzip2:// son equivalentes a gzopen() y bzopen() respectivamente, y operan incluso sobre sistemas que no tienen soporte para fopencookie.

Tabla M-7. Resumen de Envoltura

Atributo | Soporte
Restricción por allow_url_fopen | No
Permite Lectura | Si
Permite Escritura | Si
Permite Adición | Si
Permite Lectura y Escritura Simultánea | No
Soporte stat() | No, use la envoltura file:// normal para realizar stat sobre archivos comprimidos.
Soporte unlink() | No, use la envoltura file:// normal para eliminar archivos comprimidos.
Soporte rename() | No
Soporte mkdir() | No
Soporte rmdir() | No

Anterior | Inicio | Siguiente
Secuencias de entrada/salida PHP | Subir | Datos (RFC 2397)


Secuencias de Audio

ogg:// PHP 4.3.0 y superior (PECL)

  • ogg://archivo_sonido.ogg

  • ogg:///ruta/hacia/archivo_sonido.ogg

  • ogg://http://www.example.com/ruta/hacia/secuencia_sonido.ogg

Esta envoltura no está habilitada de manera predeterminada: Para poder usar la envoltura ogg://, necesita instalar la extensión OGG/Vorbis, disponible desde PECL.

Los archivos abiertos para lectura mediante la envoltura ogg:// son tratados como audio codificado abierto usando el codec OGG/Vorbis. De forma semejante, los archivos abiertos para escritura o adición a través de la envoltura ogg:// son escritos como datos de audio comprimido. Cuando se usa stream_get_meta_data() sobre un archivo OGG/Vorbis abierto para lectura, devolverá varios detalles sobre la secuencia, incluyendo la etiqueta vendor, cualquier comentario incluido en comments, el número de canales en channels, la tasa de muestra en rate, y el rango de codificación descrito por: bitrate_lower, bitrate_upper, bitrate_nominal, y bitrate_window.

Tabla M-11. Resumen de Envoltura

Atributo | Soporte
Restricción por allow_url_fopen | No
Permite Lectura | Si
Permite Escritura | Si
Permite Adición | Si
Permite Lectura y Escritura Simultánea | No
Soporte stat() | No
Soporte unlink() | No
Soporte rename() | No
Soporte mkdir() | No
Soporte rmdir() | No

Tabla M-12. Opciones de contexto

Nombre | Uso | Predeterminado | Modo
pcm_mode | Codificación PCM a aplicar durante la lectura, un valor entre: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, y OGGVORBIS_PCM_S16_LE. (8 vs 16 bit, con signo o sin signo, big-endian o little-endian) | OGGVORBIS_PCM_S16_LE | Lectura
rate | Tasa de muestra de datos de entrada, expresada en Hz | 44100 | Escritura/Adición
bitrate | Cuando es un valor entero, la tasa de bits fija para codificar. (16000 a 131072) Cuando se define como flotante, la calidad de tasa de bits variable a usar. (-1.0 a 1.0) | 128000 | Escritura/Adición
channels | El número de canales de audio a codificar, normalmente 1 (Mono), o 2 (Stero). Su rango puede llegar hasta 16. | 2 | Escritura/Adición
comments | Una matriz de valores de cadena para codificar en la cabecera del material. |  | Escritura/Adición

Anterior | Inicio | Siguiente
Shell Seguro 2 | Subir | Secuencias de Interacción de Procesos


Lista de Filtros Disponibles

Manual de PHP
Anterior Siguiente

Apéndice N. Lista de Filtros Disponibles

Tabla de contenidos
Filtros de Cadena
Filtros de Conversión
Filtros de Compresión
Filtros de Encripción

La siguiente es una lista de unos cuantos filtros de secuencia integrados que puede usar con stream_filter_append(). Su versión de PHP puede tener más (o menos) filtros de los que son listados aquí.

Vale la pena anotar una ligera asimetría entre stream_filter_append() y stream_filter_prepend(). Cada secuencia en PHP contiene un pequeño búfer de lectura en donde almacena los bloques de datos recibidos desde el sistema de archivos u otro recurso para procesar los datos de la forma más eficiente. Tan pronto como los datos son tomados del recurso y colocados en el búfer interno de la secuencia, éstos son procesados inmediatamente a través de cualquier filtro adjunto sin importar que la aplicación PHP esté lista para los datos o no. Si los datos están en el búfer de lectura cuando un filtro es añadido al final, los datos serán procesados inmediatamente a través del filtro haciendo parecer que el proceso fuera transparente. Sin embargo, si los datos están en el búfer de lectura cuando un filtro es adjuntado al comienzo, los datos NO serán procesados a través del filtro. En su lugar esperará a que el siguiente bloque de datos sea recuperado del recurso.

Para una lista de filtros instalados en su versión de PHP, use stream_get_filters().

Filtros de Cadena

Cada uno de estos filtros hace precisamente lo que sus nombres implican y corresponden al comportamiento de una función de manipulación de cadenas que hace parte de php. Para más información sobre un filtro dado, refiérase a la página del manual de la función correspondiente.

string.rot13 (a partir de PHP 4.3.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función str_rot13().

Ejemplo N-1. string.rot13

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.rot13');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  Rfgb rf han cehron. */
?>

string.toupper (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strtoupper().

Ejemplo N-2. string.toupper

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.toupper');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  ESTO ES UNA PRUEBA.   */
?>

string.tolower (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strtolower().

Ejemplo N-3. string.tolower

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.tolower');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  esto es una prueba.   */
?>

string.strip_tags (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strip_tags(). Acepta parámetros en una de dos formas: Ya sea como una cadena que contiene una lista de etiquetas, similar al segundo parámetro de la función strip_tags(), o como una matriz de nombres de etiqueta.

Ejemplo N-4. string.strip_tags

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($da, "<b>texto en negrilla</b> llevado a <h1>nivel de cabecera 1</h1>\n");
fclose($da);
/* Imprime:  <b>texto en negrilla</b> llevado a nivel de cabecera 1   */

$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($da, "<b>texto en negrilla</b> llevado a <h1>nivel de cabecera 1</h1>\n");
fclose($da);
/* Imprime:  <b>texto en negrilla</b> llevado a nivel de cabecera 1   */
?>

Anterior | Inicio | Siguiente
Secuencias de Interacción de Procesos | Subir | Filtros de Conversión


Filtros de Conversión

De forma similar a los filtros string.*, los filtros convert.* realizan acciones semejantes a sus nombres. Los filtros de conversión fueron agregados en PHP 5.0.0. Para más información sobre un filtro dado, refiérase a la página del manual sobre la función correspondiente.

convert.base64-encode y convert.base64-decode El uso de estos filtros es equivalente a procesar todos los datos de la secuencia a través de las funciones base64_encode() y base64_decode() respectivamente. convert.base64-encode soporta el uso de parámetros entregados como una matriz asociativa. Si se usa longitud-linea, la salida base64 será separada en paquetes de longitud-linea caracteres cada uno. Si se usa caracteres-final-de-linea, cada paquete será delimitado por los caracteres dados. Estos parámetros ofrecen el mismo efecto que usar base64_encode() con chunk_split().

Ejemplo N-5. convert.base64-encode y convert.base64-decode

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.base64-encode');
fwrite($da, "Esto es una prueba.\n");
fclose($da);
/* Imprime:  RXN0byBlcyB1bmEgcHJ1ZWJhLgo=  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($da, "Esto es una prueba.\n");
fclose($da);
/* Imprime:  RXN0byBl
          :  cyB1bmEg
          :  cHJ1ZWJh
          :  Lgo=  */

$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.base64-decode');
fwrite($da, "RXN0byBlcyB1bmEgcHJ1ZWJhLgo=");
fclose($da);
/* Imprime:  Esto es una prueba.  */
?>

convert.quoted-printable-encode y convert.quoted-printable-decode El uso de la versión de docedificación de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función quoted_printable_decode(). No existe una función equivalente a convert.quoted-printable-encode. convert.quoted-printable-encode soporta el uso de parámetros dados como una matriz asociativa. Adicionalmente a los parámetros soportados por convert.base64-encode, convert.quoted-printable-encode soporta también los argumentos booleanos binary y force-encode-first. convert.base64-decode soporta únicamente el parámetro line-break-chars como una sugerencia del tipo para eliminar del material codificado.

Ejemplo N-6. convert.quoted-printable-encode y convert.quoted-printable-decode

<?php
$da = fopen('php://output', 'w');
stream_filter_append($da, 'convert.quoted-printable-encode');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  =Esto es una prueba.=0A  */
?>

Anterior | Inicio | Siguiente
Lista de Filtros Disponibles | Subir | Filtros de Compresión


Filtros de Compresión

Aunque las Envolturas de Compresión ofrecen una forma de crear archivos compatibles con gzip y bz2 en el sistema de archivos local, no ofrecen un método de compresión generalizado sobre secuencias de red, ni ofrecen la forma de comenzar con una secuencia no-comprimida y trasladarse a una comprimida. Para esto, un filtro de compresión puede ser aplicado sobre cualquier recurso de secuencia en cualquier momento.

Nota: Los filtros de compresión no generan cabeceras ni caracteres finales usados por utilidades de la línea de comandos como gzip. Sólo comprimen y descomprimen las porciones significativas de las secuencias de datos comprimidas.

zlib.deflate (compresión) y zlib.inflate (descompresión) son implementaciones de los métodos de compresión descritos en RFC 1951. El filtro deflate recibe hasta tres parámetros pasados como una matriz asociativa. level describe la intensidad de compresión (1-9). Números más grandes producen, por lo general, resultados más pequeños, al costo de tiempo de procesamiento adicional. Dos niveles de compresión especiales existen también: 0 (para no-compresión), y -1 (el valor predeterminado de zlib -- actualmente 6). window es el registro en base-2 del tamaño de ventana del circuito cerrado de compresión. Valores más altos (de hasta 15 -- 32768 bytes) producen mejor compresión al costo de más memoria, mientras valores más bajos (alrededor de 9 -- 512 bytes) producen una compresión inferior en un espacio de memoria más pequeño. El tamaño de window es actualmente 15. memory es una escala que indica cuánta memoria debería ser reservada. Los valores válidos están en el rango de 1 (reserva mínima) a 9 (reserva máxima). Esta reserva de memoria afecta únicamente la repidez y no tiene impacto en el tamaño del resultado generado.

Nota: Dado que el nivel de compresión es el parámetro usado con mayor frecuencia, puede indicarse alternativamente como un valor entero simple (en lugar de un elemento tipo matriz).

Los filtros de compresión zlib.* están disponibles con PHP desde la versión 5.1.0 si el soporte de zlib se encuentra habilitado. También están disponibles como una característica portada de vuelta en la versión 5.0.x, instalando el paquete zlib_filter desde PECL. Estos filtros no están disponibles para PHP 4.

Ejemplo N-7. zlib.deflate y zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$texto_original = "Esto es una prueba.\nEsto es solo una prueba.\nEsta no es una cadena importante.\n";
echo "El texto original tiene " . strlen($texto_original) . " caracteres.\n";

$da = fopen('test.deflated', 'w');
stream_filter_append($da, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($da, $texto_original);
fclose($da);

echo "El archivo comprimido tiene " . filesize('test.deflated') . " bytes.\n";
echo "El texto original era:\n";
/* Use readfile y zlib.inflate para descomprimir al vuelo */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Genera la salida:

El texto original tiene 79 caracteres.
El archivo comprimido tiene 59 bytes.
El texto original era:
Esto es una prueba.
Esto es solo una prueba.
Esta no es una cadena importante.

 */
?>

Ejemplo N-8. zlib.deflate simple

<?php
$texto_original = "Esto es una prueba.\nEsto es solo una prueba.\nEsta no es una cadena importante.\n";
echo "El texto original tiene " . strlen($texto_original) . " caracteres.\n";

$da = fopen('test.deflated', 'w');
/* Aqui "6" indica el nivel 6 de compresion */
stream_filter_append($da, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($da, $texto_original);
fclose($da);

echo "El archivo comprimido tiene " . filesize('test.deflated') . " bytes.\n";

/* Genera la salida:

El texto original tiene 79 caracteres.
El archivo comprimido tiene 53 bytes.

 */
?>

bzip2.compress y bzip2.decompress funcionan de la misma forma que los filtros zlib descritos anteriormente. El filtro bzip2.compress acepta hasta dos parámetros dados como elementos de una matriz asociativa: blocks es un valor entero desde 1 hasta 9 que indica el número de bloques de 100kbytes de memoria a reservar para el espacio de trabajo. work es también un valor entero que va desde 0 a 250, e indica cuánto esfuerzo debe invertirse para expandir usando el método de compresión normal antes de caer en un método más lento pero más confiable. Modificar este parámetro afecta únicamente la rapidez de compresién. Ni el tamaño de la salida comprimida ni el uso de memoria se modifican por este valor. Un factor de trabajo de 0 le indica a la biblioteca bzip que debe usar el valor interno predeterminado. El filtro bzip2.decompress sólo acepta un parámetro, el cual puede ser pasado como un valor booleano ordinario, o como el elemento small de una matriz asociativa. small, cuando se define a un valor TRUE, le indica a la biblioteca bzip de realice una descompresión con una cantidad de memoria mínima, al costo de la rapidez.

Las filtros de compresión bzip2.* se encuentran disponibles con PHP desde la versión 5.1.0 si el soporte de bz2 se encuentra habilitado. También se encuentran disponibles como una característica portada hacia atrás en la versión 5.0.x, instalando el paquete bz2_filter desde PECL. Estos filtros no se encuentran disponibles para PHP 4.

Ejemplo N-9. bzip2.compress y bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "El archivo original tiene " . filesize('LICENSE') . " bytes.\n";

$da = fopen('LICENSE.compressed', 'w');
stream_filter_append($da, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($da, file_get_contents('LICENSE'));
fclose($da);

echo "El archivo comprimido tiene " . filesize('LICENSE.compressed') . " bytes.\n";

/* Genera la salida:

El archivo original tiene 3288 bytes.
El archivo comprimido tiene 1488 bytes.

 */
?>

Anterior | Inicio | Siguiente
Filtros de Conversión | Subir | Filtros de Encripción


Lista de Transportes de Sockets Soportados

Manual de PHP
Anterior Siguiente

Apéndice O. Lista de Transportes de Sockets Soportados

Tabla de contenidos
Dominio de Internet: TCP, UDP, SSL, y TLS
Dominio Unix: Unix y UDG

La siguiente es una lista de los varios transportes de socket estilo URL que PHP tiene integrados para su uso con funciones de sockets basados en secuencias, tales como fsockopen(), y stream_socket_client(). Estos transportes no se aplican a la Extensión de Sockets.

Para una lista de transportes instalados con su versión de PHP use stream_get_transports().

Dominio de Internet: TCP, UDP, SSL, y TLS

PHP 3, PHP 4, PHP 5. ssl:// y tls:// a partir de PHP 4.3.0, sslv2:// y sslv3:// a partir de PHP 5.0.2

Nota: Si no se especifica un transporte, se asumirá tcp://

  • 127.0.0.1

  • fe80::1

  • www.example.com

  • tcp://127.0.0.1

  • tcp://fe80::1

  • tcp://www.example.com

  • udp://www.example.com

  • ssl://www.example.com

  • sslv2://www.example.com

  • sslv3://www.example.com

  • tls://www.example.com

Los sockets del Dominio de Internet esperan un número de puerto junto con una dirección de destino. En el caso de fsockopen(), éste es especificado en un segundo parámetro y por lo tanto no tiene impacto sobre el formato de la URL de transporte. Sin embargo, en el caso de stream_socket_client() y funciones relacionadas, así como ocurre con URLs tradicionales, el número de puerto se especifica como un sufijo del URL de transporte delimitado con el signo dos puntos.

  • tcp://127.0.0.1:80

  • tcp://[fe80::1]:80

  • tcp://www.example.com:80

Direcciones IPv6 numéricas con números de puerto: En el segundo ejemplo anterior, mientras que los ejemplos IPv4 y con nombre de dominio fueron modificados solo ligeramente con la adición de sus dos puntos y número de puerto, la dirección IPv6 es rodeada por corchetes cuadrados: [fe80::1]. Esto es para poder distinguir entre los dos puntos usados en una dirección IPv6 y aquellos usados para delimitar el número de puerto.

Los transportes ssl:// y tls:// (disponibles únicamente cuando se compila el soporte para openssl con PHP) son extensiones del transporte tcp:// el cual incluye encripción SSL. A partir de PHP 4.3.0 el soporte OpenSSL debe ser compilado estáticamente con PHP, a partir de PHP 5.0.0 puede ser compilado como módulo o estáticamente.

ssl:// intentará negociar una conexión SSL V2 o SSL V3 dependiendo de las capacidades y preferencias del host remoto. sslv2:// y sslv3:// seleccionarán el protocolo SSL V2 o SSL V3 explícitamente.

Tabla O-1. Opciones de contexto para los transportes ssl:// y tls:// (a partir de PHP 4.3.2)

Nombre | Uso | Predeterminado
verify_peer | TRUE o FALSE. Requerir verificación del certificado SSL usado. | FALSE
allow_self_signed | TRUE o FALSE. Permitir certificados firmados por uno mismo. | FALSE
cafile | Ubicación del archivo de Autoridad de Certificado en un sistema de archivos local, el cual debe ser usado con la opción de contexto verify_peer para verificar la identidad del conector remoto. |
capath | Si no se especifica cafile o el certificado no se encuentra allí, el directorio apuntado por capath es usado para buscar un certificado apropiado. capath debe ser un directorio de certificados correctamente habilitado mediante resumen criptográfico. |
local_cert | Ruta al archivo de certificado local en el sistema de archivos. Debe ser un archivo codificado mediante PEM, el cual contenga su certificado y llave privada. Opcionalmente, puede contener la cadena de expendedores del certificado. |
passphrase | La contraseña con la que el archivo local_cert fue codificado. |
CN_match | El nombre común (Common Name) que estamos esperando. PHP realizará comparaciones limitadas de comodines. Si el nombre común no produce coincidencias, el intento de conexión fallará. |

Nota: Debido a que ssl:// es el transporte base para las envolturas https:// y ftps://, cualquier opción de contexto que se aplique a ssl:// también se aplica a https:// y ftps://.

Anterior | Inicio | Siguiente
Filtros de Encripción | Subir | Dominio Unix: Unix y UDG


Dominio Unix: Unix y UDG

unix:// a partir de PHP 3, udg:// a partir de PHP 5

  • unix:///tmp/misock

  • udg:///tmp/misock

unix:// provee acceso a una conexión secuencial de sockets en el dominio Unix. udg:// provee un transporte alternativo a un socket del dominio Unix, usando el protocolo de datagramas de usuario.

Los sockets de dominio Unix, a diferencia de los sockets del dominio de Internet, no esperan un número de puerto. En el caso de fsockopen(), el parámetro num_puerto debe ser definido como 0.

Anterior | Inicio | Siguiente
Lista de Transportes de Sockets Soportados | Subir | Tablas de comparación de tipos PHP


Tablas de comparación de tipos PHP

Manual de PHP
Anterior Siguiente

Apéndice P. Tablas de comparación de tipos PHP

Las siguientes tablas demuestran los comportamientos de los tipos en PHP y los operadores de comparación, tanto para comparaciones flexibles como estrictas. Este suplemento se encuentra relacionado también con la sección del manual sobre manipulación de tipos. La inspiración ha provenido de varios comentarios de usuarios, y del trabajo realizado en BlueShoes.

Antes de usar estas tablas, es importante entender los tipos y sus significados. Por ejemplo, "42" es string mientras que 42 es un integer. FALSE es un boolean mientras "false" es string.

Nota: Los Formularios HTML no pasan enteros, reales, o valores booleanos; ellos pasan cadenas. Para saber si una cadena es numérica, usted puede usar is_numeric().

Nota: Hacer un simple if ($x) cuando $x no esté definido, generará un error de nivel E_NOTICE. En lugar de esto, considere el uso de empty() o isset(), o inicializar sus variables.

Tabla P-1. Comparaciones de $x con funciones PHP

Expresión | gettype() | empty() | is_null() | isset() | boolean : if($x)
$x = ""; | string | TRUE | FALSE | TRUE | FALSE
$x = NULL | NULL | TRUE | TRUE | FALSE | FALSE
var $x; | NULL | TRUE | TRUE | FALSE | FALSE
$x no se encuentra definida | NULL | TRUE | TRUE | FALSE | FALSE
$x = array(); | array | TRUE | FALSE | TRUE | FALSE
$x = false; | boolean | TRUE | FALSE | TRUE | FALSE
$x = true; | boolean | FALSE | FALSE | TRUE | TRUE
$x = 1; | integer | FALSE | FALSE | TRUE | TRUE
$x = 42; | integer | FALSE | FALSE | TRUE | TRUE
$x = 0; | integer | TRUE | FALSE | TRUE | FALSE
$x = -1; | integer | FALSE | FALSE | TRUE | TRUE
$x = "1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "0"; | string | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "php"; | string | FALSE | FALSE | TRUE | TRUE
$x = "true"; | string | FALSE | FALSE | TRUE | TRUE
$x = "false"; | string | FALSE | FALSE | TRUE | TRUE

Tabla P-2. Comparaciones flexibles con ==

 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE
FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE

Tabla P-3. Comparaciones estrictas con ===

 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

Nota de PHP 3.0: El valor de cadena "0" fue considerado como no-vacío en PHP 3, este comportamiento cambió en PHP 4 en donde es visto ahora como vacío.

Anterior | Inicio | Siguiente
Dominio Unix: Unix y UDG | Subir | Lista de Identificadores (tokens) del Analizador


Lista de Identificadores (tokens) del Analizador

Manual de PHP
Anterior Siguiente

Apéndice Q. Lista de Identificadores (tokens) del Analizador

Varias partes del lenguaje PHP están representadas internamente por cosas tales como T_SR. El PHP muestra identificadores como éste en los errores durante el análisis gramatical, como por ejemplo: "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." ("Error de análisis: T_SR inesperado, se esperaba ',' o ';' en la línea 10 de script.php.").

Suponemos que sabeis que significa T_SR. Para quienes no lo conocen, aquí hay una tabla con esos identificadores, la sintaxis de PHP, y referencias a lugares apropiados del manual.

Tabla Q-1. Identificadores (Tokens)

Identificador | Sintaxis | Referencia
T_AND_EQUAL | &= | Operadores de Asignación
T_ARRAY | array() | array(), Sintaxis de array
T_ARRAY_CAST | (array) | Forzado de Tipos
T_AS | as | foreach
T_BAD_CHARACTER |  | cualquier caracter debajo del ASCII 32, excepto \t (0x09), \n (0x0a) y \r (0x0d)
T_BOOLEAN_AND | && | Operadores Lógicos
T_BOOLEAN_OR | || | Operadores Lógicos
T_BOOL_CAST | (bool) o (boolean) | Forzado de Tipos
T_BREAK | break | break
T_CASE | case | switch
T_CHARACTER |  |
T_CLASS | class | Clases y Objetos
T_CLOSE_TAG | ?> o %> |
T_COMMENT | // o # | Comentarios
T_CONCAT_EQUAL | .= | Operadores de Asignación
T_CONST | const |
T_CONSTANT_ENCAPSED_STRING | "foo" o 'bar' | Sintasis de Cadenas
T_CONTINUE | continue |
T_CURLY_OPEN |  |
T_DEC | -- | Operadores de Incremento/decremento
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIV_EQUAL | /= | Operadores de Asignación
T_DNUMBER | 0.12, etc. | Números en Punto Flotante
T_DO | do | do..while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | Sintaxis de Variables Complejas Analizadas
T_DOUBLE_ARROW | => | Sintaxis de Matrices
T_DOUBLE_CAST | (real), (double) or (float) | Forzado de Tipos
T_ECHO | echo | echo()
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE |  |
T_ENDDECLARE | enddeclare | declare, Sintaxis Alternativa
T_ENDFOR | endfor | for, Sintaxis Alternativa
T_ENDFOREACH | endforeach | foreach, Sintaxis Alternativa
T_ENDIF | endif | if, Sintaxis Alternativa
T_ENDSWITCH | endswitch | switch, Sintaxis Alternativa
T_ENDWHILE | endwhile | while, Sintaxis Alternativa
T_END_HEREDOC |  | heredoc
T_EVAL | eval() | eval()
T_EXIT | exit o die | exit(), die()
T_EXTENDS | extends | extends, Clases y Objetos
T_FILE | __FILE__ | Constantes
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function o cfunction | Funciones
T_GLOBAL | global | Ambito de Variables
T_IF | if | if
T_INC | ++ | Operadores de Incremento/decremento
T_INCLUDE | include() | include()
T_INCLUDE_ONCE | include_once() | include_once()
T_INLINE_HTML |  |
T_INT_CAST | (int) o (integer) | Forzado de Tipos
T_ISSET | isset() | isset()
T_IS_EQUAL | == | Operadores de Comparación
T_IS_GREATER_OR_EQUAL | >= | Operadores de Comparación
T_IS_IDENTICAL | === | Operadores de Comparación
T_IS_NOT_EQUAL | != o <> | Operadores de Comparación
T_IS_NOT_IDENTICAL | !== | Operadores de Comparación
T_SMALLER_OR_EQUAL | <= | Operadores de Comparación
T_LINE | __LINE__ | Constantes
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc. | Enteros
T_LOGICAL_AND | and | Operadores Lógicos
T_LOGICAL_OR | or | Operadores Lógicos
T_LOGICAL_XOR | xor | Operadores Lógicos
T_MINUS_EQUAL | -= | Operadores de Asignación
T_ML_COMMENT | /* y */ | Comentarios
T_MOD_EQUAL | %= | Operadores de Asignación
T_MUL_EQUAL | *= | Operadores de Asignación
T_NEW | new | Clases y Objetos
T_NUM_STRING |  |
T_OBJECT_CAST | (object) | Forzado de Tipos
T_OBJECT_OPERATOR | -> | Clases y Objetos
T_OLD_FUNCTION | old_function | old_function
T_OPEN_TAG | <?php, <? o <% | Saliendo de HTML
T_OPEN_TAG_WITH_ECHO | <?= o <%= | Saliendo de HTML
T_OR_EQUAL | |= | Operadores de Asignación
T_PAAMAYIM_NEKUDOTAYIM | :: | ::
T_PLUS_EQUAL | += | Operadores de Asignación
T_PRINT | print() | print()
T_REQUIRE | require() | require()
T_REQUIRE_ONCE | require_once() | require_once()
T_RETURN | return | Retorno de Valores
T_SL | << | Operadores a Nivel de Bits
T_SL_EQUAL | <<= | Operadores de Asignación
T_SR | >> | Operadores a Nivel de Bits
T_SR_EQUAL | >>= | Operadores de Asignación
T_START_HEREDOC | <<< | heredoc
T_STATIC | static | Ambito de las Variables
T_STRING |  |
T_STRING_CAST | (string) | Forzado de Variables
T_STRING_VARNAME |  |
T_SWITCH | switch | switch
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | (no documentado; arroja a NULL)
T_USE | use | (no implementado)
T_VAR | var | Clases y Objetos
T_VARIABLE | $foo | Variables
T_WHILE | while | while, do..while
T_WHITESPACE |  |
T_XOR_EQUAL | ^= | Operadores de Asignación
T_FUNC_C | __FUNCTION__ | constants, desde PHP 4.3.0
T_CLASS_C | __CLASS__ | constants, desde PHP 4.3.0

Anterior | Inicio | Siguiente
Tablas de comparación de tipos PHP | Subir | Userland Naming Guide


Sobre el manual

Manual de PHP
Anterior Siguiente

Apéndice S. Sobre el manual

Tabla de contenidos
Formatos
Sobre las notas de usuarios
Como interpretar la definición de una función (prototipo)
Versiones de PHP documentadas en este manual
Como encontrar más información sobre PHP
Como ayudar a mejorar la documentación
Como generamos los formatos
Traducciones
Sobre la traducción al español

Formatos

El manual de PHP se encuentra disponible en diferentes formatos. Estos formatos se pueden dividir en dos grupos: formatos accesible en línea (online) y ficheros que se pueden bajar a tu ordenador.

Nota: Algunos editores han publicado versiones impresas de este manual. No podemos recomendar ninguna de ellas, ya que suelen quedarse obsoletas rápidamente.

Podeis leer el manual en linea (online) en http://www.php.net/ y en numerosos servidores espejo. Para mejorar la respuesta, deberiais utilizar el servidor espejo más cercano a vosotros. Podeis consultar el manual en formato HTML -impresión amigable- ó en formato HTML que integra el manual en el diseno de la página web del proyecto PHP.

Una ventaja del manual en línea sobre la mayoria de formatos fuera de línea es la integración de los comentarios/notas de usuarios. Una desventaja es que teneis que estar conectados para ver consultar las versiones en línea.

Existen varios formatos fuera de línea y el más apropiado para cada usuario depende del sistema operativo que se use y de tus preferencias a la hora de leer. Informacion sobre como el manual es generado en tantos formatos diferentes se puede obtener en la seccion de este apendice titulada 'Como generamos los dierentes formatos'.

Los formatos más accesibles desde diferentes plataformas son HTML y texto plano. el manual en HTML se proporciona como un unico fichero en HTML ó como un paquete con un fichero HTML por sección. Los formatos HTML y texto plano se distribuyen como ficheros tar y con compresión bz2.

Otro formato muy popular y el más adecuado para imprimir, es PDF (Adobe Acrobat). Tenemos que advertir antes que empeceis a imprimir que el manual contiene casi 2000 páginas y se revisa constantemente.

Nota: Si no teneis un programa capaz de presentar ficheros PDF, podeis bajaros Adobe Acrobat Reader.

Los usuarios de ordenadores de mano compatibles con Palm, tienen los formatos Palm doc y iSilo. Podreis utlizar un lector de documentos DOC ó iSilo para consultar la documentación de PHP o como referencia rápida.

Para plataformas Windows, la versión Windows HTML Ayuda proporciona el formato HTML usado con la aplicacion de ayuda Windows HTML. Esta versión proporciona busqueda completa de texto, indice completo y marcas (bookmarks). Muchos entornos de desarrollo para PHP en Windows integran esta versión.

Anterior | Inicio | Siguiente
Tips | Subir | Sobre las notas de usuarios


Sobre las notas de usuarios

Las notas de usuarios juegan un importante papael en el desarrollo de este manual. Permitiendo a los lectores del manual contribuir con ejemplos y aclaraciones desde su navegador, podemos incorporar estas aclaraciones en el manual. Hasta que las notas son incorporadas en el manual, pueden ser accedidas desde el manual en línea y algunos formatos fuera de línea.

Nota: Las notas de usuario no son moderadas antes de estar disponibles en línea, asi que la calidad de lo escrito asi como los ejemplos ó incluso la veracidad de lo expuesto en la nota no puede ser garantizada.

Nota: Las notas contribuidas por los usuarios son consideradas parte del manual de PHP. Por lo tanto estan cubiertas por la misma licencia que se aplica a esta documentacion (Por el momento GPL). Para mas detalles, podeis consultar el Copyright del manual.

Anterior | Inicio | Siguiente
Sobre el manual | Subir | Como interpretar la definición de una función (prototipo)


Como interpretar la definición de una función (prototipo)

Cada función está documentada para una obtener una referencia rápida, si sabemos como interpretar y entender el manual podremos usar PHP de una manera más sencilla. En vez de confiar en ejemplos ó cortar y pegar, podeis aprender como interpretar las definiciones de funciones. Empecemos:

Prerequisitos: Comprensión básica de los diferentes tipos: Aunque PHP es un lenguaje de programación relajado en lo referente a los tipos de variables/valores, es importante entender básicamente los diferentes tipos, ya que son importantes.

Las definiciones de funciones nos dicen que tipo de valores es retornado. Usemos la definición de la función strlen() en nuestro primer ejemplo:

strlen

(PHP 3, PHP 4 >= 4.0.0)
strlen -- Obtiene la longitud de una cadena.

Descripción
int strlen ( string str )

Retorna la longitud de una cadena.

Tabla S-1. Explicación de la definición de una función

Parte | Descripción
strlen | El nombre de la función.
(PHP 3, PHP 4 >= 4.0.0) | strlen() está disponible tanto en PHP 3 como en PHP 4
int | Tipo de valor devuelto por esta función, en este caso un entero (La longitud de una cadena es medida en numeros)
( string str ) | El primer (y en este caso el único) parámetro/argumento de la función strlen() se llama str y es una cadena.

Podriamos escribir la definicion de esta función de un modo genérico:

Tipo de valor retornado - nombre de función (tipo de parametro - nombre del parametro)

Muchas funciones tiene multiples parametros, por ejemplo in_array(). Su definición seria:

bool in_array ( mixed needle, array haystack [, bool strict])

Esto significa lo siguiente, in_array() retorna un valor boolean, TRUE si termina con exito (el parametro needle fue encontrado en la matriz haystack) ó FALSE si falla (el parametro needle no fue encontrado en la matriz haystack). El primer parametro se llama needle y puede tener valores de diferente tipo, asi que lo llamamos de tipo "mixed". Este parametro needle (lo que estamos buscando) puede ser un valor escalar (cadena (string), entero (integer) o flotante(float)), ó una matriz. haystack, (la matriz en la que estamos buscando) es el segundo parámetro. El tercer parametro opcional se llama strict. Todos los parámetros opcionales se encuentran entre [ corchetes ]. El manual define que el parametro strict por defecto retorna FALSE. Consultar el manual para obtener detalles de como las diferentes funciones funcionan.

Anterior | Inicio | Siguiente
Sobre las notas de usuarios | Subir | Versiones de PHP documentadas en este manual


Versiones de PHP documentadas en este manual

Esta documentación contiene informacion sobre PHP 4, con algunas notas adicionales sobre migración y compatibilidad con PHP 3. Comportamientos, parámetros, valores retornados y otros cambios entre diferentes versiones de PHP se encuentran documentados en notas en este manual.

Podeis encontrar trozos de documentación para la versión CVS de PHP, esto significa la última versión de desarrollo disponible por el momento. Si no eres un desarrollador de PHP ó no utilizas la última versión de PHP en el CVS, no tendras disponibles las características marcadas con "disponible en el CVS". De todas maneras, estas características estarán probablemente disponibles en la proxima versión estable de PHP. Si deseais bajaros la versión del CVS, consultar la página sobre acceso anónimo al CVS.

También podeis encontrar documentación sobre una versión de PHP que no esté publicada todavia (p.ej PHP 5.0.0 cuando la última versión estable es 4.3.0). La mayoria de las veces no es un fallo. La explicación es añadida para características que se sabe estarán disponibles en una versión futura de PHP.

Anterior | Inicio | Siguiente
Como interpretar la definición de una función (prototipo) | Subir | Como encontrar más información sobre PHP


Como encontrar más información sobre PHP

Este manual no pretende explicar practicas generales de programación. Si vas a empezar a programar ó eres un programador principiante, seguramente tendras dificultades para aprender a programar en PHP usando solamente este manual. Te será de gran ayuda utilizar otros textos más orientados a principiantes. Una lista con libros sobre PHP puede encontrarse en http://www.php.net/books.php.

Existen una serie de listas de correo en donde se puede discutir sobre diferentes aspectos relacionados con la programación en PHP. Si tienes un problema, el cual no puedes solucionar, puedes usar estas listas para preguntar y obtener ayuda. Una lista con las listas de correo disponibles puede encontrarse en http://www.php.net/support.php, asi como enlaces a los archivos historicos de estas listas y otros recursos de ayuda en línea. Además en http://www.php.net/links.php puedes encontrar información sobre servidores web dedicados a PHP, artículos, foros y galerias de código.

Anterior | Inicio | Siguiente
Versiones de PHP documentadas en este manual | Subir | Como ayudar a mejorar la documentación


Como ayudar a mejorar la documentación

Se pueden ayudar de tres maneras a mejorar esta documentción.

Si encontrais errores en este manual, en cualquier lenguaje, podeis informar sobre el mismo, usando el sistema de informes de errores en http://bugs.php.net/. Clasificar el error como "Documentation Problem". Problemas encontrados con los diferentes formatos tambien se pueden mandar usando este sistema.

Nota: Por favor, no abusar del sistema de informes de errores mandando peticiones de ayuda. Utilizar las listas de correos y recursos mencionados anteriormente.

Contribuyendo con notas/comentarios, podeis dar ejemplos adicionales y aclaraciones a otros lectores. Pero no mandar informes de errores mediante el sistema de notas/comentarios. Podeis leer más sobre notas/comentarios en la sección 'Sobre las notas de usuarios' de este apendice.

Si sabes ingles y otro idioma, podeis ayudar en las traducciones. Si te interesa comenzar una nueva traducción o ayudar una existente, pasate por http://doc.php.net/php/dochowto/.

Anterior | Inicio | Siguiente
Como encontrar más información sobre PHP | Subir | Como generamos los formatos


Como generamos los formatos

This manual is written in XML using the DocBook XML DTD, using DSSSL (Document Style and Semantics Specification Language) for formatting, and experimentally the XSLT (Extensible Stylesheet Language Transformations) for maintenance and formatting.

Usando XML como código fuente, podemos generar diferentes formatos, manteniendo solamente un solo código fuente para todos los formatos. Las herramientas utilizadas para crear las versiones HTML y TeX son Jade, escrito por James Clark y The Modular DocBook Stylesheets, escrito por Norman Walsh. Usamos Microsoft HTML Help Workshop para generar el formato de ayuda Windows HTML y por supuesto PHP para algunas conversiones y preprocesado.

Puedes bajarte el manual en diferentes idiomas y formatos, incluyendo texto plano, HTML,PDF, PalmPilot DOC, PalmPilot iSilo y Windows HTML Help, de http://www.php.net/docs.php. Los manuales son generados automaticamente a medida que el código fuente se va actualizando.

Más información sobre como bajarse el código fuente en XML en http://cvs.php.net/. La documentación se encuentra en el módulo phpdoc

Anterior | Inicio | Siguiente
Como ayudar a mejorar la documentación | Subir | Traducciones


Traducciones

El manual de PHP no está disponible solamente en diferentes formatos, tambien se encuentra en diferentes idiomas. El manual es escrito primero en ingles y luego grupos de traductores de todo el mundo se encargan de mantener la traducción a su idioma sincronizada con la versión inglesa. Si la traducción de algún apartado del manual no ha sido realizada todavia por el equipo de traductores, este aparecerá en ingles hasta que sea traducido.

Las personas involucradas en las traducciones, utilizan el código fuente en XML disponible en http://cvs.php.net/ y lo traducen a su idioma. No utilizan la versión en HTML, texto plano ó PDF. Es el sistema de generación de formatos el que se encarga de producirlos a partir de XML.

Nota: Si te interesa ayudar ó participar en la traducción de la documentación a tu idioma, ponte en contacto con el equipo de traducción/documentación apuntandote la la lista de correo phpdoc. Manda un mensaje vacio a phpdoc-subscribe@lists.php.net. La dirección de la esta lista de correo es phpdoc@lists.php.net. Explica que estás interesado en traducir el manual a un idioma y nos pondremos en contacto contigo, te mandaremos información para que puedas empezar una nueva traducción o para que pases a formar parte del equipo de traducción de tu idioma, si este ya existe.

Por el momento existen traducciones, completas o parciales, en los siguientes idiomas: Brasileño, Portugues, Chino (simplificado), Chino (Hong Kong Cantonese),Chino (Tradicional), Checo, Holandés, Finlandés, Frances, Alemán, Hebreo, Hungaro, Italiano, Japones, Koreano, Polaco, Rumano, Ruso, Eslovaco, Español, Sueco y Turco.

Todas ellas se pueden bajar de: http://www.php.net/docs.php.

Anterior | Inicio | Siguiente
Como generamos los formatos | Subir | Sobre la traducción al español


Sobre la traducción al español

El proyecto de traducción de la documantación de PHP al español tiene una página web en la que podrás encontrar información sobre el mismo, historia, que se necesita para colaborar, guia para los colaboradores, reglas y convenciones de traducción, listas de correos, acceso a la documentación y a los colaboradores de la traducción, etc. La dirección es http://www.linux-es.com/PHP/

La traducción del manual de PHP al español ha sido posible gracias a la colaboración de un gran número de traductores, que desinteresadamente han usado su tiempo para que todos podamos tener una versión en nuestra lengua de esta documentación.

El coordinador de la traducción es Rafael Martinez podeis contactar con el, para cualquier duda relacionada con el proyecto de traducción. Los colaboradores los podeis encontrar en esta lista:

Anterior | Inicio | Siguiente
Traducciones | Subir | Open Publication License


Open Publication License

Manual de PHP
Anterior Siguiente

Apéndice T. Open Publication License

Tabla de contenidos
I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
II. COPYRIGHT
III. SCOPE OF LICENSE
IV. REQUIREMENTS ON MODIFIED WORKS
V. GOOD-PRACTICE RECOMMENDATIONS
VI. LICENSE OPTIONS

v1.0, 8 June 1999

I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS

The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction.

Proper form for an incorporation by reference is as follows:

Copyright (c) <year> by <author's name or designee>. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, vX.Y or later (the latest version is presently available at http://www.opencontent.org/openpub/

The reference must be immediately followed with any options elected by the author(s) and/or publisher of the document (see section VI). Commercial redistribution of Open Publication-licensed material is permitted. Any publication in standard (paper) book form shall require the citation of the original publisher and author. The publisher and author's names shall appear on all outer surfaces of the book. On all outer surfaces of the book the original publisher's name shall be as large as the title of the work and cited as possessive with respect to the title.

Anterior | Inicio | Siguiente
Sobre la traducción al español | Subir | II. COPYRIGHT


II. COPYRIGHT

The copyright to each Open Publication is owned by its author(s) or designee.

Anterior | Inicio | Siguiente
Open Publication License | Subir | III. SCOPE OF LICENSE


III. SCOPE OF LICENSE

The following license terms apply to all Open Publication works, unless otherwise explicitly stated in the document.

Mere aggregation of Open Publication works or a portion of an Open Publication work with other works or programs on the same media shall not cause this license to apply to those other works. The aggregate work shall contain a notice specifying the inclusion of the Open Publication material and appropriate copyright notice.

SEVERABILITY. If any part of this license is found to be unenforceable in any jurisdiction, the remaining portions of the license remain in force.

NO WARRANTY. Open Publication works are licensed and provided "as is" without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose or a warranty of non-infringement.

Anterior | Inicio | Siguiente
II. COPYRIGHT | Subir | IV. REQUIREMENTS ON MODIFIED WORKS


IV. REQUIREMENTS ON MODIFIED WORKS

All modified versions of documents covered by this license, including translations, anthologies, compilations and partial documents, must meet the following requirements:

  1. The modified version must be labeled as such.

  2. The person making the modifications must be identified and the modifications dated.

  3. Acknowledgement of the original author and publisher if applicable must be retained according to normal academic citation practices.

  4. The location of the original unmodified document must be identified.

  5. The original author's (or authors') name(s) may not be used to assert or imply endorsement of the resulting document without the original author's (or authors') permission.

Anterior | Inicio | Siguiente
III. SCOPE OF LICENSE | Subir | V. GOOD-PRACTICE RECOMMENDATIONS


V. GOOD-PRACTICE RECOMMENDATIONS

In addition to the requirements of this license, it is requested from and strongly recommended of redistributors that:

  1. If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the authors time to provide updated documents. This notification should describe modifications, if any, made to the document.

  2. All substantive modifications (including deletions) be either clearly marked up in the document or else described in an attachment to the document.

  3. Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any hardcopy and CD-ROM expression of an Open Publication-licensed work to its author(s).

Anterior | Inicio | Siguiente
IV. REQUIREMENTS ON MODIFIED WORKS | Subir | VI. LICENSE OPTIONS


VI. LICENSE OPTIONS

The author(s) and/or publisher of an Open Publication-licensed document may elect certain options by appending language to the reference to or copy of the license. These options are considered part of the license instance and must be included with the license (or its incorporation by reference) in derived works.

A. To prohibit distribution of substantively modified versions without the explicit permission of the author(s). "Substantive modification" is defined as a change to the semantic content of the document, and excludes mere changes in format or typographical corrections.

To accomplish this, add the phrase `Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.' to the license reference or copy.

B. To prohibit any publication of this work or derivative works in whole or in part in standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.

To accomplish this, add the phrase 'Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.' to the license reference or copy.

Anterior | Inicio | Siguiente
V. GOOD-PRACTICE RECOMMENDATIONS | Subir | Índice de funciones


Índice de funciones

Manual de PHP
Anterior Siguiente

Apéndice U. Índice de funciones

Tabla de contenidos
Índice de funciones

Anterior | Inicio | Siguiente
VI. LICENSE OPTIONS | Subir | Índice de funciones


Índice de funciones

A

abs()
acos()
acosh()
addcslashes()
addslashes()
aggregate()
aggregate_info()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
aggregation_info()
apache_child_terminate()
apache_get_modules()
apache_get_version()
apache_getenv()
apache_lookup_uri()
apache_note()
apache_request_headers()
apache_reset_timeout()
apache_response_headers()
apache_setenv()
apd_breakpoint()
apd_callstack()
apd_clunk()
apd_continue()
apd_croak()
apd_dump_function_table()
apd_dump_persistent_resources()
apd_dump_regular_resources()
apd_echo()
apd_get_active_symbols()
apd_set_pprof_trace()
apd_set_session()
apd_set_session_trace()
apd_set_socket_session_trace()
array()
array_change_key_case()
array_chunk()
array_combine()
array_count_values()
array_diff()
array_diff_assoc()
array_diff_key()
array_diff_uassoc()
array_diff_ukey()
array_fill()
array_filter()
array_flip()
array_intersect()
array_intersect_assoc()
array_intersect_key()
array_intersect_uassoc()
array_intersect_ukey()
array_key_exists()
array_keys()
array_map()
array_merge()
array_merge_recursive()
array_multisort()
array_pad()
array_pop()
array_push()
array_rand()
array_reduce()
array_reverse()
array_search()
array_shift()
array_slice()
array_splice()
array_sum()
array_udiff()
array_udiff_assoc()
array_udiff_uassoc()
array_uintersect()
array_uintersect_assoc()
array_uintersect_uassoc()
array_unique()
array_unshift()
array_values()
array_walk()
array_walk_recursive()
ArrayIterator::current()
ArrayIterator::key()
ArrayIterator::next()
ArrayIterator::rewind()
ArrayIterator::seek()
ArrayIterator::valid()
ArrayObject::__construct()
ArrayObject::append()
ArrayObject::count()
ArrayObject::getIterator()
ArrayObject::offsetExists()
ArrayObject::offsetGet()
ArrayObject::offsetSet()
ArrayObject::offsetUnset()
arsort()
ascii2ebcdic()
asin()
asinh()
asort()
aspell_check()
aspell_check_raw()
aspell_new()
aspell_suggest()
assert()
assert_options()
atan()
atan2()
atanh()

B

base64_decode()
base64_encode()
base_convert()
basename()
bcadd()
bccomp()
bcdiv()
bcmod()
bcmul()
bcompile_write_file()
bcompiler_load()
bcompiler_load_exe()
bcompiler_parse_class()
bcompiler_read()
bcompiler_write_class()
bcompiler_write_constant()
bcompiler_write_exe_footer()
bcompiler_write_footer()
bcompiler_write_function()
bcompiler_write_functions_from_file()
bcompiler_write_header()
bcpow()
bcpowmod()
bcscale()
bcsqrt()
bcsub()
bin2hex()
bind_textdomain_codeset()
bindec()
bindtextdomain()
bzclose()
bzcompress()
bzdecompress()
bzerrno()
bzerror()
bzerrstr()
bzflush()
bzopen()
bzread()
bzwrite()

C

CachingIterator::__toString()
CachingIterator::hasNext()
CachingIterator::next()
CachingIterator::rewind()
CachingIterator::valid()
CachingRecursiveIterator::getChildren()
CachingRecursiveIterator::hasChildren()
cal_days_in_month()
cal_from_jd()
cal_info()
cal_to_jd()
call_user_func()
call_user_func_array()
call_user_method()
call_user_method_array()
ccvs_add()
ccvs_auth()
ccvs_command()
ccvs_count()
ccvs_delete()
ccvs_done()
ccvs_init()
ccvs_lookup()
ccvs_new()
ccvs_report()
ccvs_return()
ccvs_reverse()
ccvs_sale()
ccvs_status()
ccvs_textvalue()
ccvs_void()
ceil()
chdir()
checkdate()
checkdnsrr()
chgrp()
chmod()
chop()
chown()
chr()
chroot()
chunk_split()
class_exists()
class_implements()
class_parents()
classkit_import()
classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()
clearstatcache()
closedir()
closelog()
com()
com_addref()
com_create_guid()
com_event_sink()
com_get()
com_get_active_object()
com_invoke()
com_isenum()
com_load()
com_load_typelib()
com_message_pump()
com_print_typeinfo()
com_propget()
com_propput()
com_propset()
com_release()
com_set()
compact()
connection_aborted()
connection_status()
connection_timeout()
constant()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
copy()
cos()
cosh()
count()
count_chars()
cpdf_add_annotation()
cpdf_add_outline()
cpdf_arc()
cpdf_begin_text()
cpdf_circle()
cpdf_clip()
cpdf_close()
cpdf_closepath()
cpdf_closepath_fill_stroke()
cpdf_closepath_stroke()
cpdf_continue_text()
cpdf_curveto()
cpdf_end_text()
cpdf_fill()
cpdf_fill_stroke()
cpdf_finalize()
cpdf_finalize_page()
cpdf_global_set_document_limits()
cpdf_import_jpeg()
cpdf_lineto()
cpdf_moveto()
cpdf_newpath()
cpdf_open()
cpdf_output_buffer()
cpdf_page_init()
cpdf_place_inline_image()
cpdf_rect()
cpdf_restore()
cpdf_rlineto()
cpdf_rmoveto()
cpdf_rotate()
cpdf_rotate_text()
cpdf_save()
cpdf_save_to_file()
cpdf_scale()
cpdf_set_action_url()
cpdf_set_char_spacing()
cpdf_set_creator()
cpdf_set_current_page()
cpdf_set_font()
cpdf_set_font_directories()
cpdf_set_font_map_file()
cpdf_set_horiz_scaling()
cpdf_set_keywords()
cpdf_set_leading()
cpdf_set_page_animation()
cpdf_set_subject()
cpdf_set_text_matrix()
cpdf_set_text_pos()
cpdf_set_text_rendering()
cpdf_set_text_rise()
cpdf_set_title()
cpdf_set_viewer_preferences()
cpdf_set_word_spacing()
cpdf_setdash()
cpdf_setflat()
cpdf_setgray()
cpdf_setgray_fill()
cpdf_setgray_stroke()
cpdf_setlinecap()
cpdf_setlinejoin()
cpdf_setlinewidth()
cpdf_setmiterlimit()
cpdf_setrgbcolor()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor_stroke()
cpdf_show()
cpdf_show_xy()
cpdf_stringwidth()
cpdf_stroke()
cpdf_text()
cpdf_translate()
crack_check()
crack_closedict()
crack_getlastmessage()
crack_opendict()
crc32()
create_function()
crypt()
ctype_alnum()
ctype_alpha()
ctype_cntrl()
ctype_digit()
ctype_graph()
ctype_lower()
ctype_print()
ctype_punct()
ctype_space()
ctype_upper()
ctype_xdigit()
curl_close()
curl_copy_handle()
curl_errno()
curl_error()
curl_exec()
curl_getinfo()
curl_init()
curl_multi_add_handle()
curl_multi_close()
curl_multi_exec()
curl_multi_getcontent()
curl_multi_info_read()
curl_multi_init()
curl_multi_remove_handle()
curl_multi_select()
curl_setopt()
curl_version()
current()
cybercash_base64_decode()
cybercash_base64_encode()
cybercash_decr()
cybercash_encr()
cyrus_authenticate()
cyrus_bind()
cyrus_close()
cyrus_connect()
cyrus_query()
cyrus_unbind()

D

date()
date_sunrise()
date_sunset()
dba_close()
dba_delete()
dba_exists()
dba_fetch()
dba_firstkey()
dba_handlers()
dba_insert()
dba_key_split()
dba_list()
dba_nextkey()
dba_open()
dba_optimize()
dba_popen()
dba_replace()
dba_sync()
dbase_add_record()
dbase_close()
dbase_create()
dbase_delete_record()
dbase_get_header_info()
dbase_get_record()
dbase_get_record_with_names()
dbase_numfields()
dbase_numrecords()
dbase_open()
dbase_pack()
dbase_replace_record()
dblist()
dbmclose()
dbmdelete()
dbmexists()
dbmfetch()
dbmfirstkey()
dbminsert()
dbmnextkey()
dbmopen()
dbmreplace()
dbplus_add()
dbplus_aql()
dbplus_chdir()
dbplus_close()
dbplus_curr()
dbplus_errcode()
dbplus_errno()
dbplus_find()
dbplus_first()
dbplus_flush()
dbplus_freealllocks()
dbplus_freelock()
dbplus_freerlocks()
dbplus_getlock()
dbplus_getunique()
dbplus_info()
dbplus_last()
dbplus_lockrel()
dbplus_next()
dbplus_open()
dbplus_prev()
dbplus_rchperm()
dbplus_rcreate()
dbplus_rcrtexact()
dbplus_rcrtlike()
dbplus_resolve()
dbplus_restorepos()
dbplus_rkeys()
dbplus_ropen()
dbplus_rquery()
dbplus_rrename()
dbplus_rsecindex()
dbplus_runlink()
dbplus_rzap()
dbplus_savepos()
dbplus_setindex()
dbplus_setindexbynumber()
dbplus_sql()
dbplus_tcl()
dbplus_tremove()
dbplus_undo()
dbplus_undoprepare()
dbplus_unlockrel()
dbplus_unselect()
dbplus_update()
dbplus_xlockrel()
dbplus_xunlockrel()
dbx_close()
dbx_compare()
dbx_connect()
dbx_error()
dbx_escape_string()
dbx_fetch_row()
dbx_query()
dbx_sort()
dcgettext()
dcngettext()
deaggregate()
debug_backtrace()
debug_print_backtrace()
debug_zval_dump()
debugger_off()
debugger_on()
decbin()
dechex()
decoct()
define()
define_syslog_variables()
defined()
deg2rad()
delete()
descriptor->free()
dgettext()
die()
dio_close()
dio_fcntl()
dio_open()
dio_read()
dio_seek()
dio_stat()
dio_tcsetattr()
dio_truncate()
dio_write()
dir()
DirectoryIterator::__construct()
DirectoryIterator::current()
DirectoryIterator::getATime()
DirectoryIterator::getChildren()
DirectoryIterator::getCTime()
DirectoryIterator::getFilename()
DirectoryIterator::getGroup()
DirectoryIterator::getInode()
DirectoryIterator::getMTime()
DirectoryIterator::getOwner()
DirectoryIterator::getPath()
DirectoryIterator::getPathname()
DirectoryIterator::getPerms()
DirectoryIterator::getSize()
DirectoryIterator::getType()
DirectoryIterator::isDir()
DirectoryIterator::isDot()
DirectoryIterator::isExecutable()
DirectoryIterator::isFile()
DirectoryIterator::isLink()
DirectoryIterator::isReadable()
DirectoryIterator::isWritable()
DirectoryIterator::key()
DirectoryIterator::next()
DirectoryIterator::rewind()
DirectoryIterator::valid()
dirname()
disk_free_space()
disk_total_space()
diskfreespace()
dl()
dngettext()
dns_check_record()
dns_get_mx()
dns_get_record()
dom_import_simplexml()
DOMAttr->isId()
DomAttribute->name()
DomAttribute->specified()
DomAttribute->value()
DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()
DOMDocument->__construct()
DomDocument->add_root()
DomDocument->create_attribute()
DomDocument->create_cdata_section()
DomDocument->create_comment()
DomDocument->create_element()
DomDocument->create_element_ns()
DomDocument->create_entity_reference()
DomDocument->create_processing_instruction()
DomDocument->create_text_node()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()
DomDocument->doctype()
DomDocument->document_element()
DomDocument->dump_file()
DomDocument->dump_mem()
DomDocument->get_element_by_id()
DomDocument->get_elements_by_tagname()
DOMDocument->getElementById()
DOMDocument->getElementsByTagName()
DOMDocument->getElementsByTagNameNS()()
DomDocument->html_dump_mem()
DOMDocument->importNode()
DOMDocument->load()
DOMDocument->loadHTML()
DOMDocument->loadHTMLFile()
DOMDocument->loadXML()
DOMDocument->normalize()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()
DOMDocument->save()
DOMDocument->saveHTML()()
DOMDocument->saveHTMLFile()()
DOMDocument->saveXML()()
DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->validate()
DOMDocument->xinclude()
DomDocument->xinclude()
DomDocumentType->entities()
DomDocumentType->internal_subset()
DomDocumentType->name()
DomDocumentType->notations()
DomDocumentType->public_id()
DomDocumentType->system_id()
DomElement->get_attribute()
DomElement->get_attribute_node()
DomElement->get_elements_by_tagname()
DOMElement->getAttribute()
DOMElement->getAttributeNode()
DOMElement->getAttributeNodeNS()
DOMElement->getAttributeNS()
DOMElement->getElementsByTagName()
DOMElement->getElementsByTagNameNS()
DomElement->has_attribute()
DOMElement->hasAttribute()
DOMElement->hasAttributeNS()
DomElement->remove_attribute()
DOMElement->removeAttribute()
DOMElement->removeAttributeNode()
DOMElement->removeAttributeNS()
DomElement->set_attribute()
DOMElement->setAttribute()
DOMElement->setAttributeNode()
DOMElement->setAttributeNodeNS()
DOMElement->setAttributeNS()
DomElement->tagname()
DOMImplementation->createDocument()
DOMImplementation->createDocumentType()
DOMImplementation->hasFeature()()
DOMNamedNodeMap->getNamedItem()
DOMNamedNodeMap->getNamedItemNS()
DOMNamedNodeMap->item()
DomNode->add_namespace()
DomNode->append_child()
DomNode->append_sibling()
DOMNode->appendChild()
DomNode->attributes()
DomNode->child_nodes()
DomNode->clone_node()
DOMNode->cloneNode()
DomNode->dump_node()
DomNode->first_child()
DomNode->get_content()
DomNode->has_attributes()
DomNode->has_child_nodes()
DOMNode->hasAttributes()
DOMNode->hasChildNodes()
DomNode->insert_before()
DOMNode->insertBefore()
DomNode->is_blank_node()
DOMNode->isSameNode()
DOMNode->isSupported()
DomNode->last_child()
DOMNode->lookupNamespaceURI()
DOMNode->lookupPrefix()
DomNode->next_sibling()
DomNode->node_name()
DomNode->node_type()
DomNode->node_value()
DOMNode->normalize()
DomNode->owner_document()
DomNode->parent_node()
DomNode->prefix()
DomNode->previous_sibling()
DomNode->remove_child()
DOMNode->removeChild()
DomNode->replace_child()
DomNode->replace_node()
DOMNode->replaceChild()
DomNode->set_content()
DomNode->set_name()
DomNode->set_namespace()
DomNode->unlink_node()
DOMNodelist->item()
DomProcessingInstruction->data()
DomProcessingInstruction->target()
DOMStringList->item()
DOMText->isWhitespaceInElementContent()
DOMText->splitText()
domxml_new_doc()
domxml_open_file()
domxml_open_mem()
domxml_version()
domxml_xmltree()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_doc()
domxml_xslt_stylesheet_file()
DOMXPath->__construct()
DOMXPath->evaluate()()
DOMXPath->query()
DOMXPath->registerNamespace()
DomXsltStylesheet->process()
DomXsltStylesheet->result_dump_file()
DomXsltStylesheet->result_dump_mem()
dotnet()
dotnet_load()
doubleval()

E

each()
easter_date()
easter_days()
ebcdic2ascii()
echo()
empty()
end()
ereg()
ereg_replace()
eregi()
eregi_replace()
error_log()
error_reporting()
escapeshellarg()
escapeshellcmd()
eval()
exec()
exif_imagetype()
exif_read_data()
exif_tagname()
exif_thumbnail()
exit()
exp()
explode()
expm1()
extension_loaded()
extract()
ezmlm_hash()

F

fam_cancel_monitor()
fam_close()
fam_monitor_collection()
fam_monitor_directory()
fam_monitor_file()
fam_next_event()
fam_open()
fam_pending()
fam_resume_monitor()
fam_suspend_monitor()
fbsql_affected_rows()
fbsql_autocommit()
fbsql_blob_size()
fbsql_change_user()
fbsql_clob_size()
fbsql_close()
fbsql_commit()
fbsql_connect()
fbsql_create_blob()
fbsql_create_clob()
fbsql_create_db()
fbsql_data_seek()
fbsql_database()
fbsql_database_password()
fbsql_db_query()
fbsql_db_status()
fbsql_drop_db()
fbsql_errno()
fbsql_error()
fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_field()
fbsql_fetch_lengths()
fbsql_fetch_object()
fbsql_fetch_row()
fbsql_field_flags()
fbsql_field_len()
fbsql_field_name()
fbsql_field_seek()
fbsql_field_table()
fbsql_field_type()
fbsql_free_result()
fbsql_get_autostart_info()
fbsql_hostname()
fbsql_insert_id()
fbsql_list_dbs()
fbsql_list_fields()
fbsql_list_tables()
fbsql_next_result()
fbsql_num_fields()
fbsql_num_rows()
fbsql_password()
fbsql_pconnect()
fbsql_query()
fbsql_read_blob()
fbsql_read_clob()
fbsql_result()
fbsql_rollback()
fbsql_select_db()
fbsql_set_lob_mode()
fbsql_set_password()
fbsql_set_transaction()
fbsql_start_db()
fbsql_stop_db()
fbsql_tablename()
fbsql_username()
fbsql_warnings()
fclose()
fdf_add_doc_javascript()
fdf_add_template()
fdf_close()
fdf_create()
fdf_enum_values()
fdf_errno()
fdf_error()
fdf_get_ap()
fdf_get_attachment()
fdf_get_encoding()
fdf_get_file()
fdf_get_flags()
fdf_get_opt()
fdf_get_status()
fdf_get_value()
fdf_get_version()
fdf_header()
fdf_next_field_name()
fdf_open()
fdf_open_string()
fdf_remove_item()
fdf_save()
fdf_save_string()
fdf_set_ap()
fdf_set_encoding()
fdf_set_file()
fdf_set_flags()
fdf_set_javascript_action()
fdf_set_on_import_javascript()
fdf_set_opt()
fdf_set_status()
fdf_set_submit_form_action()
fdf_set_target_frame()
fdf_set_value()
fdf_set_version()
feof()
fflush()
fgetc()
fgetcsv()
fgets()
fgetss()
file()
file_exists()
file_get_contents()
file_put_contents()
fileatime()
filectime()
filegroup()
fileinode()
filemtime()
fileowner()
fileperms()
filepro()
filepro_fieldcount()
filepro_fieldname()
filepro_fieldtype()
filepro_fieldwidth()
filepro_retrieve()
filepro_rowcount()
filesize()
filetype()
FilterIterator::current()
FilterIterator::getInnerIterator()
FilterIterator::key()
FilterIterator::next()
FilterIterator::rewind()
FilterIterator::valid()
floatval()
flock()
floor()
flush()
fmod()
fnmatch()
fopen()
fpassthru()
fprintf()
fputcsv()
fputs()
fread()
frenchtojd()
fribidi_log2vis()
fscanf()
fseek()
fsockopen()
fstat()
ftell()
ftok()
ftp_alloc()
ftp_cdup()
ftp_chdir()
ftp_chmod()
ftp_close()
ftp_connect()
ftp_delete()
ftp_exec()
ftp_fget()
ftp_fput()
ftp_get()
ftp_get_option()
ftp_login()
ftp_mdtm()
ftp_mkdir()
ftp_nb_continue()
ftp_nb_fget()
ftp_nb_fput()
ftp_nb_get()
ftp_nb_put()
ftp_nlist()
ftp_pasv()
ftp_put()
ftp_pwd()
ftp_quit()
ftp_raw()
ftp_rawlist()
ftp_rename()
ftp_rmdir()
ftp_set_option()
ftp_site()
ftp_size()
ftp_ssl_connect()
ftp_systype()
ftruncate()
func_get_arg()
func_get_args()
func_num_args()
function_exists()
fwrite()

G

gd_info()
get_browser()
get_cfg_var()
get_class()
get_class_methods()
get_class_vars()
get_current_user()
get_declared_classes()
get_declared_interfaces()
get_defined_constants()
get_defined_functions()
get_defined_vars()
get_extension_funcs()
get_headers()
get_html_translation_table()
get_include_path()
get_included_files()
get_loaded_extensions()
get_magic_quotes_gpc()
get_magic_quotes_runtime()
get_meta_tags()
get_object_vars()
get_parent_class()
get_required_files()
get_resource_type()
getallheaders()
getcwd()
getdate()
getenv()
gethostbyaddr()
gethostbyname()
gethostbynamel()
getimagesize()
getlastmod()
getmxrr()
getmygid()
getmyinode()
getmypid()
getmyuid()
getopt()
getprotobyname()
getprotobynumber()
getrandmax()
getrusage()
getservbyname()
getservbyport()
gettext()
gettimeofday()
gettype()
glob()
gmdate()
gmmktime()
gmp_abs()
gmp_add()
gmp_and()
gmp_clrbit()
gmp_cmp()
gmp_com()
gmp_div()
gmp_div_q()
gmp_div_qr()
gmp_div_r()
gmp_divexact()
gmp_fact()
gmp_gcd()
gmp_gcdext()
gmp_hamdist()
gmp_init()
gmp_intval()
gmp_invert()
gmp_jacobi()
gmp_legendre()
gmp_mod()
gmp_mul()
gmp_neg()
gmp_or()
gmp_perfect_square()
gmp_popcount()
gmp_pow()
gmp_powm()
gmp_prob_prime()
gmp_random()
gmp_scan0()
gmp_scan1()
gmp_setbit()
gmp_sign()
gmp_sqrt()
gmp_sqrtrem()
gmp_strval()
gmp_sub()
gmp_xor()
gmstrftime()
gregoriantojd()
gzclose()
gzcompress()
gzdeflate()
gzencode()
gzeof()
gzfile()
gzgetc()
gzgets()
gzgetss()
gzinflate()
gzopen()
gzpassthru()
gzputs()
gzread()
gzrewind()
gzseek()
gztell()
gzuncompress()
gzwrite()

H

header()
headers_list()
headers_sent()
hebrev()
hebrevc()
hexdec()
highlight_file()
highlight_string()
html_entity_decode()
htmlentities()
htmlspecialchars()
http_build_query()
hw_api->checkin()
hw_api->checkout()
hw_api->children()
hw_api->content()
hw_api->copy()
hw_api->dbstat()
hw_api->dcstat()
hw_api->dstanchors()
hw_api->dstofsrcanchor()
hw_api->find()
hw_api->ftstat()
hw_api->hwstat()
hw_api->identify()
hw_api->info()
hw_api->insert()
hw_api->insertanchor()
hw_api->insertcollection()
hw_api->insertdocument()
hw_api->link()
hw_api->lock()
hw_api->move()
hw_api->object()
hw_api->objectbyanchor()
hw_api->parents()
hw_api->remove()
hw_api->replace()
hw_api->setcommittedversion()
hw_api->srcanchors()
hw_api->srcsofdst()
hw_api->unlock()
hw_api->user()
hw_api->userlist()
hw_api_attribute()
hw_api_attribute->key()
hw_api_attribute->langdepvalue()
hw_api_attribute->value()
hw_api_attribute->values()
hw_api_content()
hw_api_content->mimetype()
hw_api_content->read()
hw_api_error->count()
hw_api_error->reason()
hw_api_object()
hw_api_object->assign()
hw_api_object->attreditable()
hw_api_object->count()
hw_api_object->insert()
hw_api_object->remove()
hw_api_object->title()
hw_api_object->value()
hw_api_reason->description()
hw_api_reason->type()
hw_array2objrec()
hw_changeobject()
hw_children()
hw_childrenobj()
hw_close()
hw_connect()
hw_connection_info()
hw_cp()
hw_deleteobject()
hw_docbyanchor()
hw_docbyanchorobj()
hw_document_attributes()
hw_document_bodytag()
hw_document_content()
hw_document_setcontent()
hw_document_size()
hw_dummy()
hw_edittext()
hw_error()
hw_errormsg()
hw_free_document()
hw_getanchors()
hw_getanchorsobj()
hw_getandlock()
hw_getchildcoll()
hw_getchildcollobj()
hw_getchilddoccoll()
hw_getchilddoccollobj()
hw_getobject()
hw_getobjectbyquery()
hw_getobjectbyquerycoll()
hw_getobjectbyquerycollobj()
hw_getobjectbyqueryobj()
hw_getparents()
hw_getparentsobj()
hw_getrellink()
hw_getremote()
hw_getremotechildren()
hw_getsrcbydestobj()
hw_gettext()
hw_getusername()
hw_identify()
hw_incollections()
hw_info()
hw_inscoll()
hw_insdoc()
hw_insertanchors()
hw_insertdocument()
hw_insertobject()
hw_mapid()
hw_modifyobject()
hw_mv()
hw_new_document()
hw_objrec2array()
hw_output_document()
hw_pconnect()
hw_pipedocument()
hw_root()
hw_setlinkroot()
hw_stat()
hw_unlock()
hw_who()
hwapi_hgcsp()
hypot()

I

ibase_add_user()
ibase_affected_rows()
ibase_backup()
ibase_blob_add()
ibase_blob_cancel()
ibase_blob_close()
ibase_blob_create()
ibase_blob_echo()
ibase_blob_get()
ibase_blob_import()
ibase_blob_info()
ibase_blob_open()
ibase_close()
ibase_commit()
ibase_commit_ret()
ibase_connect()
ibase_db_info()
ibase_delete_user()
ibase_drop_db()
ibase_errcode()
ibase_errmsg()
ibase_execute()
ibase_fetch_assoc()
ibase_fetch_object()
ibase_fetch_row()
ibase_field_info()
ibase_free_event_handler()
ibase_free_query()
ibase_free_result()
ibase_gen_id()
ibase_maintain_db()
ibase_modify_user()
ibase_name_result()
ibase_num_fields()
ibase_num_params()
ibase_param_info()
ibase_pconnect()
ibase_prepare()
ibase_query()
ibase_restore()
ibase_rollback()
ibase_rollback_ret()
ibase_server_info()
ibase_service_attach()
ibase_service_detach()
ibase_set_event_handler()
ibase_timefmt()
ibase_trans()
ibase_wait_event()
iconv()
iconv_get_encoding()
iconv_mime_decode()
iconv_mime_decode_headers()
iconv_mime_encode()
iconv_set_encoding()
iconv_strlen()
iconv_strpos()
iconv_strrpos()
iconv_substr()
id3_get_frame_long_name()
id3_get_frame_short_name()
id3_get_genre_id()
id3_get_genre_list()
id3_get_genre_name()
id3_get_tag()
id3_get_version()
id3_remove_tag()
id3_set_tag()
idate()
ifx_affected_rows()
ifx_blobinfile_mode()
ifx_byteasvarchar()
ifx_close()
ifx_connect()
ifx_copy_blob()
ifx_create_blob()
ifx_create_char()
ifx_do()
ifx_error()
ifx_errormsg()
ifx_fetch_row()
ifx_fieldproperties()
ifx_fieldtypes()
ifx_free_blob()
ifx_free_char()
ifx_free_result()
ifx_get_blob()
ifx_get_char()
ifx_getsqlca()
ifx_htmltbl_result()
ifx_nullformat()
ifx_num_fields()
ifx_num_rows()
ifx_pconnect()
ifx_prepare()
ifx_query()
ifx_textasvarchar()
ifx_update_blob()
ifx_update_char()
ifxus_close_slob()
ifxus_create_slob()
ifxus_free_slob()
ifxus_open_slob()
ifxus_read_slob()
ifxus_seek_slob()
ifxus_tell_slob()
ifxus_write_slob()
ignore_user_abort()
image2wbmp()
image_type_to_extension()
image_type_to_mime_type()
imagealphablending()
imageantialias()
imagearc()
imagechar()
imagecharup()
imagecolorallocate()
imagecolorallocatealpha()
imagecolorat()
imagecolorclosest()
imagecolorclosestalpha()
imagecolorclosesthwb()
imagecolordeallocate()
imagecolorexact()
imagecolorexactalpha()
imagecolormatch()
imagecolorresolve()
imagecolorresolvealpha()
imagecolorset()
imagecolorsforindex()
imagecolorstotal()
imagecolortransparent()
imagecopy()
imagecopymerge()
imagecopymergegray()
imagecopyresampled()
imagecopyresized()
imagecreate()
imagecreatefromgd()
imagecreatefromgd2()
imagecreatefromgd2part()
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromstring()
imagecreatefromwbmp()
imagecreatefromxbm()
imagecreatefromxpm()
imagecreatetruecolor()
imagedashedline()
imagedestroy()
imageellipse()
imagefill()
imagefilledarc()
imagefilledellipse()
imagefilledpolygon()
imagefilledrectangle()
imagefilltoborder()
imagefilter()
imagefontheight()
imagefontwidth()
imageftbbox()
imagefttext()
imagegammacorrect()
imagegd()
imagegd2()
imagegif()
imageinterlace()
imageistruecolor()
imagejpeg()
imagelayereffect()
imageline()
imageloadfont()
imagepalettecopy()
imagepng()
imagepolygon()
imagepsbbox()
imagepscopyfont()
imagepsencodefont()
imagepsextendfont()
imagepsfreefont()
imagepsloadfont()
imagepsslantfont()
imagepstext()
imagerectangle()
imagerotate()
imagesavealpha()
imagesetbrush()
imagesetpixel()
imagesetstyle()
imagesetthickness()
imagesettile()
imagestring()
imagestringup()
imagesx()
imagesy()
imagetruecolortopalette()
imagettfbbox()
imagettftext()
imagetypes()
imagewbmp()
imagexbm()
imap_8bit()
imap_alerts()
imap_append()
imap_base64()
imap_binary()
imap_body()
imap_bodystruct()
imap_check()
imap_clearflag_full()
imap_close()
imap_createmailbox()
imap_delete()
imap_deletemailbox()
imap_errors()
imap_expunge()
imap_fetch_overview()
imap_fetchbody()
imap_fetchheader()
imap_fetchstructure()
imap_get_quota()
imap_get_quotaroot()
imap_getacl()
imap_getmailboxes()
imap_getsubscribed()
imap_header()
imap_headerinfo()
imap_headers()
imap_last_error()
imap_list()
imap_listmailbox()
imap_listscan()
imap_listsubscribed()
imap_lsub()
imap_mail()
imap_mail_compose()
imap_mail_copy()
imap_mail_move()
imap_mailboxmsginfo()
imap_mime_header_decode()
imap_msgno()
imap_num_msg()
imap_num_recent()
imap_open()
imap_ping()
imap_qprint()
imap_renamemailbox()
imap_reopen()
imap_rfc822_parse_adrlist()
imap_rfc822_parse_headers()
imap_rfc822_write_address()
imap_scanmailbox()
imap_search()
imap_set_quota()
imap_setacl()
imap_setflag_full()
imap_sort()
imap_status()
imap_subscribe()
imap_thread()
imap_timeout()
imap_uid()
imap_undelete()
imap_unsubscribe()
imap_utf7_decode()
imap_utf7_encode()
imap_utf8()
implode()
import_request_variables()
in_array()
inet_ntop()
inet_pton()
ingres_autocommit()
ingres_close()
ingres_commit()
ingres_connect()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()
ingres_field_length()
ingres_field_name()
ingres_field_nullable()
ingres_field_precision()
ingres_field_scale()
ingres_field_type()
ingres_num_fields()
ingres_num_rows()
ingres_pconnect()
ingres_query()
ingres_rollback()
ini_alter()
ini_get()
ini_get_all()
ini_restore()
ini_set()
interface_exists()
intval()
ip2long()
iptcembed()
iptcparse()
ircg_channel_mode()
ircg_disconnect()
ircg_eval_ecmascript_params()
ircg_fetch_error_msg()
ircg_get_username()
ircg_html_encode()
ircg_ignore_add()
ircg_ignore_del()
ircg_invite()
ircg_is_conn_alive()
ircg_join()
ircg_kick()
ircg_list()
ircg_lookup_format_messages()
ircg_lusers()
ircg_msg()
ircg_names()
ircg_nick()
ircg_nickname_escape()
ircg_nickname_unescape()
ircg_notice()
ircg_oper()
ircg_part()
ircg_pconnect()
ircg_register_format_messages()
ircg_set_current()
ircg_set_file()
ircg_set_on_die()
ircg_topic()
ircg_who()
ircg_whois()
is_a()
is_array()
is_bool()
is_callable()
is_dir()
is_double()
is_executable()
is_file()
is_finite()
is_float()
is_infinite()
is_int()
is_integer()
is_link()
is_long()
is_nan()
is_null()
is_numeric()
is_object()
is_readable()
is_real()
is_resource()
is_scalar()
is_soap_fault()
is_string()
is_subclass_of()
is_uploaded_file()
is_writable()
is_writeable()
isset()
iterator-to-array()
iterator_count()

J

java_last_exception_clear()
java_last_exception_get()
jddayofweek()
jdmonthname()
jdtofrench()
jdtogregorian()
jdtojewish()
jdtojulian()
jdtounix()
jewishtojd()
join()
jpeg2wbmp()
juliantojd()

K

key()
krsort()
ksort()

L

lcg_value()
ldap_8859_to_t61()
ldap_add()
ldap_bind()
ldap_close()
ldap_compare()
ldap_connect()
ldap_count_entries()
ldap_delete()
ldap_dn2ufn()
ldap_err2str()
ldap_errno()
ldap_error()
ldap_explode_dn()
ldap_first_attribute()
ldap_first_entry()
ldap_first_reference()
ldap_free_result()
ldap_get_attributes()
ldap_get_dn()
ldap_get_entries()
ldap_get_option()
ldap_get_values()
ldap_get_values_len()
ldap_list()
ldap_mod_add()
ldap_mod_del()
ldap_mod_replace()
ldap_modify()
ldap_next_attribute()
ldap_next_entry()
ldap_next_reference()
ldap_parse_reference()
ldap_parse_result()
ldap_read()
ldap_rename()
ldap_sasl_bind()
ldap_search()
ldap_set_option()
ldap_set_rebind_proc()
ldap_sort()
ldap_start_tls()
ldap_t61_to_8859()
ldap_unbind()
levenshtein()
LimitIterator::getPosition()
LimitIterator::next()
LimitIterator::rewind()
LimitIterator::seek()
LimitIterator::valid()
link()
linkinfo()
list()
lob->append()
lob->close()
lob->eof()
lob->erase()
lob->export()
lob->flush()
lob->getBuffering()
lob->import()
lob->load()
lob->read()
lob->rewind()
lob->save()
lob->seek()
lob->setBuffering()
lob->size()
lob->tell()
lob->truncate()
lob->write()
lob->writeTemporary()
localeconv()
localtime()
log()
log10()
log1p()
long2ip()
lstat()
ltrim()
lzf_compress()
lzf_decompress()
lzf_optimized_for()

M

mail()
mailparse_determine_best_xfer_encoding()
mailparse_msg_create()
mailparse_msg_extract_part()
mailparse_msg_extract_part_file()
mailparse_msg_free()
mailparse_msg_get_part()
mailparse_msg_get_part_data()
mailparse_msg_get_structure()
mailparse_msg_parse()
mailparse_msg_parse_file()
mailparse_rfc822_parse_addresses()
mailparse_stream_encode()
mailparse_uudecode_all()
main()
max()
mb_convert_case()
mb_convert_encoding()
mb_convert_kana()
mb_convert_variables()
mb_decode_mimeheader()
mb_decode_numericentity()
mb_detect_encoding()
mb_detect_order()
mb_encode_mimeheader()
mb_encode_numericentity()
mb_ereg()
mb_ereg_match()
mb_ereg_replace()
mb_ereg_search()
mb_ereg_search_getpos()
mb_ereg_search_getregs()
mb_ereg_search_init()
mb_ereg_search_pos()
mb_ereg_search_regs()
mb_ereg_search_setpos()
mb_eregi()
mb_eregi_replace()
mb_get_info()
mb_http_input()
mb_http_output()
mb_internal_encoding()
mb_language()
mb_list_encodings()
mb_output_handler()
mb_parse_str()
mb_preferred_mime_name()
mb_regex_encoding()
mb_regex_set_options()
mb_send_mail()
mb_split()
mb_strcut()
mb_strimwidth()
mb_strlen()
mb_strpos()
mb_strrpos()
mb_strtolower()
mb_strtoupper()
mb_strwidth()
mb_substitute_character()
mb_substr()
mb_substr_count()
mcal_append_event()
mcal_close()
mcal_create_calendar()
mcal_date_compare()
mcal_date_valid()
mcal_day_of_week()
mcal_day_of_year()
mcal_days_in_month()
mcal_delete_calendar()
mcal_delete_event()
mcal_event_add_attribute()
mcal_event_init()
mcal_event_set_alarm()
mcal_event_set_category()
mcal_event_set_class()
mcal_event_set_description()
mcal_event_set_end()
mcal_event_set_recur_daily()
mcal_event_set_recur_monthly_mday()
mcal_event_set_recur_monthly_wday()
mcal_event_set_recur_none()
mcal_event_set_recur_weekly()
mcal_event_set_recur_yearly()
mcal_event_set_start()
mcal_event_set_title()
mcal_expunge()
mcal_fetch_current_stream_event()
mcal_fetch_event()
mcal_is_leap_year()
mcal_list_alarms()
mcal_list_events()
mcal_next_recurrence()
mcal_open()
mcal_popen()
mcal_rename_calendar()
mcal_reopen()
mcal_snooze()
mcal_store_event()
mcal_time_valid()
mcal_week_of_year()
mcrypt_cbc()
mcrypt_cfb()
mcrypt_create_iv()
mcrypt_decrypt()
mcrypt_ecb()
mcrypt_enc_get_algorithms_name()
mcrypt_enc_get_block_size()
mcrypt_enc_get_iv_size()
mcrypt_enc_get_key_size()
mcrypt_enc_get_modes_name()
mcrypt_enc_get_supported_key_sizes()
mcrypt_enc_is_block_algorithm()
mcrypt_enc_is_block_algorithm_mode()
mcrypt_enc_is_block_mode()
mcrypt_enc_self_test()
mcrypt_encrypt()
mcrypt_generic()
mcrypt_generic_deinit()
mcrypt_generic_end()
mcrypt_generic_init()
mcrypt_get_block_size()
mcrypt_get_cipher_name()
mcrypt_get_iv_size()
mcrypt_get_key_size()
mcrypt_list_algorithms()
mcrypt_list_modes()
mcrypt_module_close()
mcrypt_module_get_algo_block_size()
mcrypt_module_get_algo_key_size()
mcrypt_module_get_supported_key_sizes()
mcrypt_module_is_block_algorithm()
mcrypt_module_is_block_algorithm_mode()
mcrypt_module_is_block_mode()
mcrypt_module_open()
mcrypt_module_self_test()
mcrypt_ofb()
mcve_adduser()
mcve_adduserarg()
mcve_bt()
mcve_checkstatus()
mcve_chkpwd()
mcve_chngpwd()
mcve_completeauthorizations()
mcve_connect()
mcve_connectionerror()
mcve_deleteresponse()
mcve_deletetrans()
mcve_deleteusersetup()
mcve_deluser()
mcve_destroyconn()
mcve_destroyengine()
mcve_disableuser()
mcve_edituser()
mcve_enableuser()
mcve_force()
mcve_getcell()
mcve_getcellbynum()
mcve_getcommadelimited()
mcve_getheader()
mcve_getuserarg()
mcve_getuserparam()
mcve_gft()
mcve_gl()
mcve_gut()
mcve_initconn()
mcve_initengine()
mcve_initusersetup()
mcve_iscommadelimited()
mcve_liststats()
mcve_listusers()
mcve_maxconntimeout()
mcve_monitor()
mcve_numcolumns()
mcve_numrows()
mcve_override()
mcve_parsecommadelimited()
mcve_ping()
mcve_preauth()
mcve_preauthcompletion()
mcve_qc()
mcve_responseparam()
mcve_return()
mcve_returncode()
mcve_returnstatus()
mcve_sale()
mcve_setblocking()
mcve_setdropfile()
mcve_setip()
mcve_setssl()
mcve_setssl_files()
mcve_settimeout()
mcve_settle()
mcve_text_avs()
mcve_text_code()
mcve_text_cv()
mcve_transactionauth()
mcve_transactionavs()
mcve_transactionbatch()
mcve_transactioncv()
mcve_transactionid()
mcve_transactionitem()
mcve_transactionssent()
mcve_transactiontext()
mcve_transinqueue()
mcve_transnew()
mcve_transparam()
mcve_transsend()
mcve_ub()
mcve_uwait()
mcve_verifyconnection()
mcve_verifysslcert()
mcve_void()
md5()
md5_file()
mdecrypt_generic()
Memcache::add()
Memcache::close()
Memcache::connect()
Memcache::decrement()
Memcache::delete()
Memcache::flush()
Memcache::get()
Memcache::getStats()
Memcache::getVersion()
Memcache::increment()
Memcache::pconnect()
Memcache::replace()
Memcache::set()
memcache_debug()
memory_get_usage()
metaphone()
method_exists()
mhash()
mhash_count()
mhash_get_block_size()
mhash_get_hash_name()
mhash_keygen_s2k()
microtime()
mime_content_type()
min()
ming_setcubicthreshold()
ming_setscale()
ming_useswfversion()
mkdir()
mktime()
money_format()
move_uploaded_file()
msession_connect()
msession_count()
msession_create()
msession_destroy()
msession_disconnect()
msession_find()
msession_get()
msession_get_array()
msession_get_data()
msession_inc()
msession_list()
msession_listvar()
msession_lock()
msession_plugin()
msession_randstr()
msession_set()
msession_set_array()
msession_set_data()
msession_timeout()
msession_uniq()
msession_unlock()
msg_get_queue()
msg_receive()
msg_remove_queue()
msg_send()
msg_set_queue()
msg_stat_queue()
msql()
msql_affected_rows()
msql_close()
msql_connect()
msql_create_db()
msql_createdb()
msql_data_seek()
msql_db_query()
msql_dbname()
msql_drop_db()
msql_error()
msql_fetch_array()
msql_fetch_field()
msql_fetch_object()
msql_fetch_row()
msql_field_flags()
msql_field_len()
msql_field_name()
msql_field_seek()
msql_field_table()
msql_field_type()
msql_fieldflags()
msql_fieldlen()
msql_fieldname()
msql_fieldtable()
msql_fieldtype()
msql_free_result()
msql_list_dbs()
msql_list_fields()
msql_list_tables()
msql_num_fields()
msql_num_rows()
msql_numfields()
msql_numrows()
msql_pconnect()
msql_query()
msql_regcase()
msql_result()
msql_select_db()
msql_tablename()
mssql_bind()
mssql_close()
mssql_connect()
mssql_data_seek()
mssql_execute()
mssql_fetch_array()
mssql_fetch_assoc()
mssql_fetch_batch()
mssql_fetch_field()
mssql_fetch_object()
mssql_fetch_row()
mssql_field_length()
mssql_field_name()
mssql_field_seek()
mssql_field_type()
mssql_free_result()
mssql_free_statement()
mssql_get_last_message()
mssql_guid_string()
mssql_init()
mssql_min_error_severity()
mssql_min_message_severity()
mssql_next_result()
mssql_num_fields()
mssql_num_rows()
mssql_pconnect()
mssql_query()
mssql_result()
mssql_rows_affected()
mssql_select_db()
mt_getrandmax()
mt_rand()
mt_srand()
muscat_close()
muscat_get()
muscat_give()
muscat_setup()
muscat_setup_net()
mysql_affected_rows()
mysql_change_user()
mysql_client_encoding()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_db_name()
mysql_db_query()
mysql_drop_db()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_field()
mysql_fetch_lengths()
mysql_fetch_object()
mysql_fetch_row()
mysql_field_flags()
mysql_field_len()
mysql_field_name()
mysql_field_seek()
mysql_field_table()
mysql_field_type()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_insert_id()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_pconnect()
mysql_ping()
mysql_query()
mysql_real_escape_string()
mysql_result()
mysql_select_db()
mysql_stat()
mysql_tablename()
mysql_thread_id()
mysql_unbuffered_query()
mysqli()()
mysqli->affected_rows()
mysqli->autocommit()
mysqli->change_user()
mysqli->character_set_name()
mysqli->close()
mysqli->commit()
mysqli->disable_reads_from_master()
mysqli->dump_debug_info()
mysqli->errno()
mysqli->fetch_assoc()
mysqli->field_count()
mysqli->get_host_info()
mysqli->info()
mysqli->insert_id()
mysqli->kill()
mysqli->more_results()
mysqli->multi_query()
mysqli->next_result()
mysqli->options()
mysqli->ping()
mysqli->prepare()
mysqli->protocol_version()
mysqli->query()
mysqli->real_connect()
mysqli->real_escape_string()
mysqli->real_query()
mysqli->rollback()
mysqli->rpl_query_type()
mysqli->select_db()
mysqli->send_query()
mysqli->server_info()
mysqli->sqlstate()
mysqli->ssl_set()
mysqli->stat()
mysqli->stmt_init()
mysqli->store_result()
mysqli->thread_id()
mysqli->use_result()
mysqli->warning_count()
mysqli_affected_rows()
mysqli_autocommit()
mysqli_bind_param()
mysqli_bind_result()
mysqli_change_user()
mysqli_character_set_name()
mysqli_client_encoding()
mysqli_close()
mysqli_commit()
mysqli_connect()
mysqli_connect_errno()
mysqli_connect_error()
mysqli_data_seek()
mysqli_debug()
mysqli_disable_reads_from_master()
mysqli_disable_rpl_parse()
mysqli_dump_debug_info()
mysqli_embedded_connect()
mysqli_enable_reads_from_master()
mysqli_enable_rpl_parse()
mysqli_errno()
mysqli_error()
mysqli_escape_string()
mysqli_execute()
mysqli_fetch()
mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_field()
mysqli_fetch_field_direct()
mysqli_fetch_fields()
mysqli_fetch_lengths()
mysqli_fetch_object()
mysqli_fetch_row()
mysqli_field_count()
mysqli_field_seek()
mysqli_field_tell()
mysqli_free_result()
mysqli_get_client_info()
mysqli_get_client_version()
mysqli_get_host_info()
mysqli_get_metadata()
mysqli_get_proto_info()
mysqli_get_server_info()
mysqli_get_server_version()
mysqli_info()
mysqli_init()
mysqli_insert_id()
mysqli_kill()
mysqli_master_query()
mysqli_more_results()
mysqli_multi_query()
mysqli_next_result()
mysqli_num_fields()
mysqli_num_rows()
mysqli_options()
mysqli_param_count()
mysqli_ping()
mysqli_prepare()
mysqli_query()
mysqli_real_connect()
mysqli_real_escape_string()
mysqli_real_query()
mysqli_report()
mysqli_rollback()
mysqli_rpl_parse_enabled()
mysqli_rpl_probe()
mysqli_rpl_query_type()
mysqli_select_db()
mysqli_send_long_data()
mysqli_send_query()
mysqli_server_end()
mysqli_server_init()
mysqli_set_opt()
mysqli_sqlstate()
mysqli_ssl_set()
mysqli_stat()
mysqli_stmt->affected_rows()
mysqli_stmt->close()
mysqli_stmt->errno()
mysqli_stmt->error()
mysqli_stmt->store_result()
mysqli_stmt_affected_rows()
mysqli_stmt_bind_param()
mysqli_stmt_bind_result()
mysqli_stmt_close()
mysqli_stmt_data_seek()
mysqli_stmt_errno()
mysqli_stmt_error()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_stmt_free_result()
mysqli_stmt_init()
mysqli_stmt_num_rows()
mysqli_stmt_param_count()
mysqli_stmt_prepare()
mysqli_stmt_reset()
mysqli_stmt_result_metadata()
mysqli_stmt_send_long_data()
mysqli_stmt_sqlstate()
mysqli_stmt_store_result()
mysqli_store_result()
mysqli_thread_id()
mysqli_thread_safe()
mysqli_use_result()
mysqli_warning_count()

N

natcasesort()
natsort()
ncurses_addch()
ncurses_addchnstr()
ncurses_addchstr()
ncurses_addnstr()
ncurses_addstr()
ncurses_assume_default_colors()
ncurses_attroff()
ncurses_attron()
ncurses_attrset()
ncurses_baudrate()
ncurses_beep()
ncurses_bkgd()
ncurses_bkgdset()
ncurses_border()
ncurses_bottom_panel()
ncurses_can_change_color()
ncurses_cbreak()
ncurses_clear()
ncurses_clrtobot()
ncurses_clrtoeol()
ncurses_color_content()
ncurses_color_set()
ncurses_curs_set()
ncurses_def_prog_mode()
ncurses_def_shell_mode()
ncurses_define_key()
ncurses_del_panel()
ncurses_delay_output()
ncurses_delch()
ncurses_deleteln()
ncurses_delwin()
ncurses_doupdate()
ncurses_echo()
ncurses_echochar()
ncurses_end()
ncurses_erase()
ncurses_erasechar()
ncurses_filter()
ncurses_flash()
ncurses_flushinp()
ncurses_getch()
ncurses_getmaxyx()
ncurses_getmouse()
ncurses_getyx()
ncurses_halfdelay()
ncurses_has_colors()
ncurses_has_ic()
ncurses_has_il()
ncurses_has_key()
ncurses_hide_panel()
ncurses_hline()
ncurses_inch()
ncurses_init()
ncurses_init_color()
ncurses_init_pair()
ncurses_insch()
ncurses_insdelln()
ncurses_insertln()
ncurses_insstr()
ncurses_instr()
ncurses_isendwin()
ncurses_keyok()
ncurses_keypad()
ncurses_killchar()
ncurses_longname()
ncurses_meta()
ncurses_mouse_trafo()
ncurses_mouseinterval()
ncurses_mousemask()
ncurses_move()
ncurses_move_panel()
ncurses_mvaddch()
ncurses_mvaddchnstr()
ncurses_mvaddchstr()
ncurses_mvaddnstr()
ncurses_mvaddstr()
ncurses_mvcur()
ncurses_mvdelch()
ncurses_mvgetch()
ncurses_mvhline()
ncurses_mvinch()
ncurses_mvvline()
ncurses_mvwaddstr()
ncurses_napms()
ncurses_new_panel()
ncurses_newpad()
ncurses_newwin()
ncurses_nl()
ncurses_nocbreak()
ncurses_noecho()
ncurses_nonl()
ncurses_noqiflush()
ncurses_noraw()
ncurses_pair_content()
ncurses_panel_above()
ncurses_panel_below()
ncurses_panel_window()
ncurses_pnoutrefresh()
ncurses_prefresh()
ncurses_putp()
ncurses_qiflush()
ncurses_raw()
ncurses_refresh()
ncurses_replace_panel()
ncurses_reset_prog_mode()
ncurses_reset_shell_mode()
ncurses_resetty()
ncurses_savetty()
ncurses_scr_dump()
ncurses_scr_init()
ncurses_scr_restore()
ncurses_scr_set()
ncurses_scrl()
ncurses_show_panel()
ncurses_slk_attr()
ncurses_slk_attroff()
ncurses_slk_attron()
ncurses_slk_attrset()
ncurses_slk_clear()
ncurses_slk_color()
ncurses_slk_init()
ncurses_slk_noutrefresh()
ncurses_slk_refresh()
ncurses_slk_restore()
ncurses_slk_set()
ncurses_slk_touch()
ncurses_standend()
ncurses_standout()
ncurses_start_color()
ncurses_termattrs()
ncurses_termname()
ncurses_timeout()
ncurses_top_panel()
ncurses_typeahead()
ncurses_ungetch()
ncurses_ungetmouse()
ncurses_update_panels()
ncurses_use_default_colors()
ncurses_use_env()
ncurses_use_extended_names()
ncurses_vidattr()
ncurses_vline()
ncurses_waddch()
ncurses_waddstr()
ncurses_wattroff()
ncurses_wattron()
ncurses_wattrset()
ncurses_wborder()
ncurses_wclear()
ncurses_wcolor_set()
ncurses_werase()
ncurses_wgetch()
ncurses_whline()
ncurses_wmouse_trafo()
ncurses_wmove()
ncurses_wnoutrefresh()
ncurses_wrefresh()
ncurses_wstandend()
ncurses_wstandout()
ncurses_wvline()
next()
ngettext()
nl2br()
nl_langinfo()
notes_body()
notes_copy_db()
notes_create_db()
notes_create_note()
notes_drop_db()
notes_find_note()
notes_header_info()
notes_list_msgs()
notes_mark_read()
notes_mark_unread()
notes_nav_create()
notes_search()
notes_unread()
notes_version()
nsapi_request_headers()
nsapi_response_headers()
nsapi_virtual()
number_format()

O

ob_clean()
ob_end_clean()
ob_end_flush()
ob_flush()
ob_get_clean()
ob_get_contents()
ob_get_flush()
ob_get_length()
ob_get_level()
ob_get_status()
ob_gzhandler()
ob_iconv_handler()
ob_implicit_flush()
ob_list_handlers()
ob_start()
ob_tidyhandler()
OCI-Collection->append()
OCI-Collection->assign()
OCI-Collection->assignElem()
OCI-Collection->free()
OCI-Collection->getElem()
OCI-Collection->max()
OCI-Collection->size()
OCI-Collection->trim()
oci_bind_by_name()
oci_cancel()
oci_close()
oci_commit()
oci_connect()
oci_define_by_name()
oci_error()
oci_execute()
oci_fetch()
oci_fetch_all()
oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_field_is_null()
oci_field_name()
oci_field_precision()
oci_field_scale()
oci_field_size()
oci_field_type()
oci_field_type_raw()
oci_free_statement()
oci_internal_debug()
oci_lob_copy()
oci_lob_is_equal()
oci_new_collection()
oci_new_connect()
oci_new_cursor()
oci_new_descriptor()
oci_num_fields()
oci_num_rows()
oci_parse()
oci_password_change()
oci_pconnect()
oci_result()
oci_rollback()
oci_server_version()
oci_set_prefetch()
oci_statement_type()
ocibindbyname()
ocicancel()
ocicloselob()
ocicollappend()
ocicollassign()
ocicollassignelem()
ocicollgetelem()
ocicollmax()
ocicollsize()
ocicolltrim()
ocicolumnisnull()
ocicolumnname()
ocicolumnprecision()
ocicolumnscale()
ocicolumnsize()
ocicolumntype()
ocicolumntyperaw()
ocicommit()
ocidefinebyname()
ocierror()
ociexecute()
ocifetch()
ocifetchinto()
ocifetchstatement()
ocifreecollection()
ocifreecursor()
ocifreedesc()
ocifreestatement()
ociinternaldebug()
ociloadlob()
ocilogoff()
ocilogon()
ocinewcollection()
ocinewcursor()
ocinewdescriptor()
ocinlogon()
ocinumcols()
ociparse()
ociplogon()
ociresult()
ocirollback()
ocirowcount()
ocisavelob()
ocisavelobfile()
ociserverversion()
ocisetprefetch()
ocistatementtype()
ociwritelobtofile()
ociwritetemporarylob()
octdec()
odbc_autocommit()
odbc_binmode()
odbc_close()
odbc_close_all()
odbc_columnprivileges()
odbc_columns()
odbc_commit()
odbc_connect()
odbc_cursor()
odbc_data_source()
odbc_do()
odbc_error()
odbc_errormsg()
odbc_exec()
odbc_execute()
odbc_fetch_array()
odbc_fetch_into()
odbc_fetch_object()
odbc_fetch_row()
odbc_field_len()
odbc_field_name()
odbc_field_num()
odbc_field_precision()
odbc_field_scale()
odbc_field_type()
odbc_foreignkeys()
odbc_free_result()
odbc_gettypeinfo()
odbc_longreadlen()
odbc_next_result()
odbc_num_fields()
odbc_num_rows()
odbc_pconnect()
odbc_prepare()
odbc_primarykeys()
odbc_procedurecolumns()
odbc_procedures()
odbc_result()
odbc_result_all()
odbc_rollback()
odbc_setoption()
odbc_specialcolumns()
odbc_statistics()
odbc_tableprivileges()
odbc_tables()
openal_buffer_create()
openal_buffer_data()
openal_buffer_destroy()
openal_buffer_get()
openal_buffer_loadwav()
openal_context_create()
openal_context_current()
openal_context_destroy()
openal_context_process()
openal_context_suspend()
openal_device_close()
openal_device_open()
openal_listener_get()
openal_listener_set()
openal_source_create()
openal_source_destroy()
openal_source_get()
openal_source_pause()
openal_source_play()
openal_source_rewind()
openal_source_set()
openal_source_stop()
openal_stream()
opendir()
openlog()
openssl_csr_export()
openssl_csr_export_to_file()
openssl_csr_new()
openssl_csr_sign()
openssl_error_string()
openssl_free_key()
openssl_get_privatekey()
openssl_get_publickey()
openssl_open()
openssl_pkcs7_decrypt()
openssl_pkcs7_encrypt()
openssl_pkcs7_sign()
openssl_pkcs7_verify()
openssl_pkey_export()
openssl_pkey_export_to_file()
openssl_pkey_get_private()
openssl_pkey_get_public()
openssl_pkey_new()
openssl_private_decrypt()
openssl_private_encrypt()
openssl_public_decrypt()
openssl_public_encrypt()
openssl_seal()
openssl_sign()
openssl_verify()
openssl_x509_check_private_key()
openssl_x509_checkpurpose()
openssl_x509_export()
openssl_x509_export_to_file()
openssl_x509_free()
openssl_x509_parse()
openssl_x509_read()
ora_bind()
ora_close()
ora_columnname()
ora_columnsize()
ora_columntype()
ora_commit()
ora_commitoff()
ora_commiton()
ora_do()
ora_error()
ora_errorcode()
ora_exec()
ora_fetch()
ora_fetch_into()
ora_getcolumn()
ora_logoff()
ora_logon()
ora_numcols()
ora_numrows()
ora_open()
ora_parse()
ora_plogon()
ora_rollback()
ord()
output_add_rewrite_var()
output_reset_rewrite_vars()
overload()
override_function()
ovrimos_close()
ovrimos_commit()
ovrimos_connect()
ovrimos_cursor()
ovrimos_exec()
ovrimos_execute()
ovrimos_fetch_into()
ovrimos_fetch_row()
ovrimos_field_len()
ovrimos_field_name()
ovrimos_field_num()
ovrimos_field_type()
ovrimos_free_result()
ovrimos_longreadlen()
ovrimos_num_fields()
ovrimos_num_rows()
ovrimos_prepare()
ovrimos_result()
ovrimos_result_all()
ovrimos_rollback()

P

pack()
ParentIterator::getChildren()
ParentIterator::hasChildren()
ParentIterator::next()
ParentIterator::rewind()
parse_ini_file()
parse_str()
parse_url()
parsekit_compile_file()
parsekit_compile_string()
parsekit_func_arginfo()
passthru()
pathinfo()
pclose()
pcntl_alarm()
pcntl_exec()
pcntl_fork()
pcntl_getpriority()
pcntl_setpriority()
pcntl_signal()
pcntl_wait()
pcntl_waitpid()
pcntl_wexitstatus()
pcntl_wifexited()
pcntl_wifsignaled()
pcntl_wifstopped()
pcntl_wstopsig()
pcntl_wtermsig()
pdf_add_annotation()
pdf_add_bookmark()
pdf_add_launchlink()
pdf_add_locallink()
pdf_add_note()
pdf_add_outline()
pdf_add_pdflink()
pdf_add_thumbnail()
pdf_add_weblink()
pdf_arc()
pdf_arcn()
pdf_attach_file()
pdf_begin_page()
pdf_begin_pattern()
pdf_begin_template()
pdf_circle()
pdf_clip()
pdf_close()
pdf_close_image()
pdf_close_pdi()
pdf_close_pdi_page()
pdf_closepath()
pdf_closepath_fill_stroke()
pdf_closepath_stroke()
pdf_concat()
pdf_continue_text()
pdf_curveto()
pdf_delete()
pdf_end_page()
pdf_end_pattern()
pdf_end_template()
pdf_endpath()
pdf_fill()
pdf_fill_stroke()
pdf_findfont()
pdf_get_buffer()
pdf_get_font()
pdf_get_fontname()
pdf_get_fontsize()
pdf_get_image_height()
pdf_get_image_width()
pdf_get_majorversion()
pdf_get_minorversion()
pdf_get_parameter()
pdf_get_pdi_parameter()
pdf_get_pdi_value()
pdf_get_value()
pdf_initgraphics()
pdf_lineto()
pdf_makespotcolor()
pdf_moveto()
pdf_new()
pdf_open()
pdf_open_ccitt()
pdf_open_file()
pdf_open_gif()
pdf_open_image()
pdf_open_image_file()
pdf_open_jpeg()
pdf_open_memory_image()
pdf_open_pdi()
pdf_open_pdi_page()
pdf_open_png()
pdf_open_tiff()
pdf_place_image()
pdf_place_pdi_page()
pdf_rect()
pdf_restore()
pdf_rotate()
pdf_save()
pdf_scale()
pdf_set_border_color()
pdf_set_border_dash()
pdf_set_border_style()
pdf_set_char_spacing()
pdf_set_duration()
pdf_set_font()
pdf_set_horiz_scaling()
pdf_set_info()
pdf_set_info_author()
pdf_set_info_creator()
pdf_set_info_keywords()
pdf_set_info_subject()
pdf_set_info_title()
pdf_set_leading()
pdf_set_parameter()
pdf_set_text_matrix()
pdf_set_text_pos()
pdf_set_text_rendering()
pdf_set_text_rise()
pdf_set_value()
pdf_set_word_spacing()
pdf_setcolor()
pdf_setdash()
pdf_setflat()
pdf_setfont()
pdf_setgray()
pdf_setgray_fill()
pdf_setgray_stroke()
pdf_setlinecap()
pdf_setlinejoin()
pdf_setlinewidth()
pdf_setmatrix()
pdf_setmiterlimit()
pdf_setpolydash()
pdf_setrgbcolor()
pdf_setrgbcolor_fill()
pdf_setrgbcolor_stroke()
pdf_show()
pdf_show_boxed()
pdf_show_xy()
pdf_skew()
pdf_stringwidth()
pdf_stroke()
pdf_translate()
PDO::__construct()
PDO::beginTransaction()
PDO::commit()
PDO::errorCode()
PDO::errorInfo()
PDO::exec()
PDO::lastInsertId()
PDO::prepare()
PDO::rollBack()
PDO::setAttribute()
PDOStatement::bindColumn()
PDOStatement::bindParam()
PDOStatement::errorCode()
PDOStatement::errorInfo()
PDOStatement::execute()
PDOStatement::fetch()
PDOStatement::fetchAll()
PDOStatement::fetchSingle()
PDOStatement::rowCount()
pfpro_cleanup()
pfpro_init()
pfpro_process()
pfpro_process_raw()
pfpro_version()
pfsockopen()
pg_affected_rows()
pg_cancel_query()
pg_client_encoding()
pg_close()
pg_connect()
pg_connection_busy()
pg_connection_reset()
pg_connection_status()
pg_convert()
pg_copy_from()
pg_copy_to()
pg_dbname()
pg_delete()
pg_end_copy()
pg_escape_bytea()
pg_escape_string()
pg_fetch_all()
pg_fetch_array()
pg_fetch_assoc()
pg_fetch_object()
pg_fetch_result()
pg_fetch_row()
pg_field_is_null()
pg_field_name()
pg_field_num()
pg_field_prtlen()
pg_field_size()
pg_field_type()
pg_free_result()
pg_get_notify()
pg_get_pid()
pg_get_result()
pg_host()
pg_insert()
pg_last_error()
pg_last_notice()
pg_last_oid()
pg_lo_close()
pg_lo_create()
pg_lo_export()
pg_lo_import()
pg_lo_open()
pg_lo_read()
pg_lo_read_all()
pg_lo_seek()
pg_lo_tell()
pg_lo_unlink()
pg_lo_write()
pg_meta_data()
pg_num_fields()
pg_num_rows()
pg_options()
pg_parameter_status()
pg_pconnect()
pg_ping()
pg_port()
pg_put_line()
pg_query()
pg_result_error()
pg_result_seek()
pg_result_status()
pg_select()
pg_send_query()
pg_set_client_encoding()
pg_trace()
pg_tty()
pg_unescape_bytea()
pg_untrace()
pg_update()
pg_version()
php_check_syntax()
php_ini_scanned_files()
php_logo_guid()
php_register_url_stream_wrapper()
php_sapi_name()
php_stream_can_cast()
php_stream_cast()
php_stream_close()
php_stream_closedir()
php_stream_copy_to_mem()
php_stream_copy_to_stream()
php_stream_eof()
php_stream_filter_register_factory()
php_stream_filter_unregister_factory()
php_stream_flush()
php_stream_fopen_from_file()
php_stream_fopen_temporary_file()
php_stream_fopen_tmpfile()
php_stream_getc()
php_stream_gets()
php_stream_is()
php_stream_is_persistent()
php_stream_make_seekable()
php_stream_open_wrapper()
php_stream_open_wrapper_as_file()
php_stream_open_wrapper_ex()
php_stream_opendir()
php_stream_passthru()
php_stream_read()
php_stream_readdir()
php_stream_rewinddir()
php_stream_seek()
php_stream_sock_open_from_socket()
php_stream_sock_open_host()
php_stream_sock_open_unix()
php_stream_stat()
php_stream_stat_path()
php_stream_tell()
php_stream_write()
php_strip_whitespace()
php_uname()
php_unregister_url_stream_wrapper()
phpcredits()
phpinfo()
phpversion()
pi()
png2wbmp()
popen()
pos()
posix_ctermid()
posix_get_last_error()
posix_getcwd()
posix_getegid()
posix_geteuid()
posix_getgid()
posix_getgrgid()
posix_getgrnam()
posix_getgroups()
posix_getlogin()
posix_getpgid()
posix_getpgrp()
posix_getpid()
posix_getppid()
posix_getpwnam()
posix_getpwuid()
posix_getrlimit()
posix_getsid()
posix_getuid()
posix_isatty()
posix_kill()
posix_mkfifo()
posix_setegid()
posix_seteuid()
posix_setgid()
posix_setpgid()
posix_setsid()
posix_setuid()
posix_strerror()
posix_times()
posix_ttyname()
posix_uname()
pow()
preg_grep()
preg_match()
preg_match_all()
preg_quote()
preg_replace()
preg_replace_callback()
preg_split()
prev()
print()
print_r()
printer_abort()
printer_close()
printer_create_brush()
printer_create_dc()
printer_create_font()
printer_create_pen()
printer_delete_brush()
printer_delete_dc()
printer_delete_font()
printer_delete_pen()
printer_draw_bmp()
printer_draw_chord()
printer_draw_elipse()
printer_draw_line()
printer_draw_pie()
printer_draw_rectangle()
printer_draw_roundrect()
printer_draw_text()
printer_end_doc()
printer_end_page()
printer_get_option()
printer_list()
printer_logical_fontheight()
printer_open()
printer_select_brush()
printer_select_font()
printer_select_pen()
printer_set_option()
printer_start_doc()
printer_start_page()
printer_write()
printf()
proc_close()
proc_get_status()
proc_nice()
proc_open()
proc_terminate()
pspell_add_to_personal()
pspell_add_to_session()
pspell_check()
pspell_clear_session()
pspell_config_create()
pspell_config_data_dir()
pspell_config_dict_dir()
pspell_config_ignore()
pspell_config_mode()
pspell_config_personal()
pspell_config_repl()
pspell_config_runtogether()
pspell_config_save_repl()
pspell_new()
pspell_new_config()
pspell_new_personal()
pspell_save_wordlist()
pspell_store_replacement()
pspell_suggest()
putenv()

Q

qdom_error()
qdom_tree()
quoted_printable_decode()
quotemeta()

R

rad2deg()
rand()
range()
Rar::extract()
Rar::getAttr()
Rar::getCrc()
Rar::getFileTime()
Rar::getHostOs()
Rar::getMethod()
Rar::getName()
Rar::getPackedSize()
Rar::getUnpackedSize()
Rar::getVersion()
rar_close()
rar_entry_get()
rar_list()
rar_open()
rawurldecode()
rawurlencode()
read_exif_data()
readdir()
readfile()
readgzfile()
readline()
readline_add_history()
readline_callback_handler_install()
readline_callback_handler_remove()
readline_callback_read_char()
readline_clear_history()
readline_completion_function()
readline_info()
readline_list_history()
readline_on_new_line()
readline_read_history()
readline_redisplay()
readline_write_history()
readlink()
realpath()
recode()
recode_file()
recode_string()
RecursiveDirectoryIterator::getChildren()
RecursiveDirectoryIterator::hasChildren()
RecursiveDirectoryIterator::key()
RecursiveDirectoryIterator::next()
RecursiveDirectoryIterator::rewind()
RecursiveIteratorIterator::current()
RecursiveIteratorIterator::getDepth()
RecursiveIteratorIterator::getSubIterator()
RecursiveIteratorIterator::key()
RecursiveIteratorIterator::next()
RecursiveIteratorIterator::rewind()
RecursiveIteratorIterator::valid()
register_shutdown_function()
register_tick_function()
rename()
rename_function()
reset()
restore_error_handler()
restore_exception_handler()
restore_include_path()
result->current_field()
result->data_seek()
result->fetch_array()
result->fetch_field()
result->fetch_field_direct()
result->fetch_fields()
result->fetch_object()
result->fetch_row()
result->field_count()
result->field_seek()
result->free()
result->lengths()
rewind()
rewinddir()
rmdir()
round()
rsort()
rtrim()

S

scandir()
sem_acquire()
sem_get()
sem_release()
sem_remove()
serialize()
sesam_affected_rows()
sesam_commit()
sesam_connect()
sesam_diagnostic()
sesam_disconnect()
sesam_errormsg()
sesam_execimm()
sesam_fetch_array()
sesam_fetch_result()
sesam_fetch_row()
sesam_field_array()
sesam_field_name()
sesam_free_result()
sesam_num_fields()
sesam_query()
sesam_rollback()
sesam_seek_row()
sesam_settransaction()
session_cache_expire()
session_cache_limiter()
session_commit()
session_decode()
session_destroy()
session_encode()
session_get_cookie_params()
session_id()
session_is_registered()
session_module_name()
session_name()
session_regenerate_id()
session_register()
session_save_path()
session_set_cookie_params()
session_set_save_handler()
session_start()
session_unregister()
session_unset()
session_write_close()
set_error_handler()
set_exception_handler()
set_file_buffer()
set_include_path()
set_magic_quotes_runtime()
set_time_limit()
setcookie()
setlocale()
setrawcookie()
settype()
sha1()
sha1_file()
shell_exec()
shm_attach()
shm_detach()
shm_get_var()
shm_put_var()
shm_remove()
shm_remove_var()
shmop_close()
shmop_delete()
shmop_open()
shmop_read()
shmop_size()
shmop_write()
show_source()
shuffle()
similar_text()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
SimpleXMLElement->asXML()
SimpleXMLElement->attributes()
SimpleXMLElement->children()
SimpleXMLElement->xpath()
SimpleXMLIterator::current()
SimpleXMLIterator::getChildren()
SimpleXMLIterator::hasChildren()
SimpleXMLIterator::key()
SimpleXMLIterator::next()
SimpleXMLIterator::rewind()
SimpleXMLIterator::valid()
sin()
sinh()
sizeof()
sleep()
snmp_get_quick_print()
snmp_get_valueretrieval()
snmp_read_mib()
snmp_set_enum_print()
snmp_set_oid_numeric_print()
snmp_set_quick_print()
snmp_set_valueretrieval()
snmpget()
snmpgetnext()
snmprealwalk()
snmpset()
snmpwalk()
snmpwalkoid()
SoapClient::__call()
SoapClient::__getFunctions()
SoapClient::__getLastRequest()
SoapClient::__getLastResponse()
SoapClient::__getTypes()
SoapClient::SoapClient()
SoapFault::SoapFault()
SoapHeader::SoapHeader()
SoapParam::SoapParam()
SoapServer::addFunction()
SoapServer::getFunctions()
SoapServer::handle()
SoapServer::setClass()
SoapServer::setPersistence()
SoapServer::SoapServer()
SoapVar::SoapVar()
socket_accept()
socket_bind()
socket_clear_error()
socket_close()
socket_connect()
socket_create()
socket_create_listen()
socket_create_pair()
socket_get_option()
socket_get_status()
socket_getpeername()
socket_getsockname()
socket_last_error()
socket_listen()
socket_read()
socket_recv()
socket_recvfrom()
socket_select()
socket_send()
socket_sendto()
socket_set_block()
socket_set_blocking()
socket_set_nonblock()
socket_set_option()
socket_set_timeout()
socket_shutdown()
socket_strerror()
socket_write()
sort()
soundex()
spl_classes()
split()
spliti()
sprintf()
sql_regcase()
sqlite_array_query()
sqlite_busy_timeout()
sqlite_changes()
sqlite_close()
sqlite_column()
sqlite_create_aggregate()
sqlite_create_function()
sqlite_current()
sqlite_error_string()
sqlite_escape_string()
sqlite_exec()
sqlite_factory()
sqlite_fetch_all()
sqlite_fetch_array()
sqlite_fetch_column_types()
sqlite_fetch_object()
sqlite_fetch_single()
sqlite_fetch_string()
sqlite_field_name()
sqlite_has_more()
sqlite_has_prev()
sqlite_last_error()
sqlite_last_insert_rowid()
sqlite_libencoding()
sqlite_libversion()
sqlite_next()
sqlite_num_fields()
sqlite_num_rows()
sqlite_open()
sqlite_popen()
sqlite_prev()
sqlite_query()
sqlite_rewind()
sqlite_seek()
sqlite_single_query()
sqlite_udf_decode_binary()
sqlite_udf_encode_binary()
sqlite_unbuffered_query()
sqrt()
srand()
sscanf()
ssh2_auth_none()
ssh2_auth_password()
ssh2_auth_pubkey_file()
ssh2_connect()
ssh2_exec()
ssh2_fetch_stream()
ssh2_fingerprint()
ssh2_methods_negotiated()
ssh2_scp_recv()
ssh2_scp_send()
ssh2_sftp()
ssh2_sftp_lstat()
ssh2_sftp_mkdir()
ssh2_sftp_readlink()
ssh2_sftp_realpath()
ssh2_sftp_rename()
ssh2_sftp_rmdir()
ssh2_sftp_stat()
ssh2_sftp_symlink()
ssh2_sftp_unlink()
ssh2_shell()
ssh2_tunnel()
stat()
stmt->bind_param()
stmt->bind_result()
stmt->data_seek()
stmt->execute()
stmt->fetch()
stmt->free_result()
stmt->num_rows()
stmt->param_count()
stmt->prepare()
stmt->reset()
stmt->send_long_data()
str_ireplace()
str_pad()
str_repeat()
str_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcasecmp()
strchr()
strcmp()
strcoll()
strcspn()
stream_context_create()
stream_context_get_default()
stream_context_get_options()
stream_context_set_option()
stream_context_set_params()
stream_copy_to_stream()
stream_filter_append()
stream_filter_prepend()
stream_filter_register()
stream_filter_remove()
stream_get_contents()
stream_get_filters()
stream_get_line()
stream_get_meta_data()
stream_get_transports()
stream_get_wrappers()
stream_register_wrapper()
stream_select()
stream_set_blocking()
stream_set_timeout()
stream_set_write_buffer()
stream_socket_accept()
stream_socket_client()
stream_socket_enable_crypto()
stream_socket_get_name()
stream_socket_pair()
stream_socket_recvfrom()
stream_socket_sendto()
stream_socket_server()
stream_wrapper_register()
stream_wrapper_restore()
stream_wrapper_unregister()
strftime()
strip_tags()
stripcslashes()
stripos()
stripslashes()
stristr()
strlen()
strnatcasecmp()
strnatcmp()
strncasecmp()
strncmp()
strpbrk()
strpos()
strptime()
strrchr()
strrev()
strripos()
strrpos()
strspn()
strstr()
strtok()
strtolower()
strtotime()
strtoupper()
strtr()
strval()
substr()
substr_compare()
substr_count()
substr_replace()
swf_actiongeturl()
swf_actiongotoframe()
swf_actiongotolabel()
swf_actionnextframe()
swf_actionplay()
swf_actionprevframe()
swf_actionsettarget()
swf_actionstop()
swf_actiontogglequality()
swf_actionwaitforframe()
swf_addbuttonrecord()
swf_addcolor()
swf_closefile()
swf_definebitmap()
swf_definefont()
swf_defineline()
swf_definepoly()
swf_definerect()
swf_definetext()
swf_endbutton()
swf_enddoaction()
swf_endshape()
swf_endsymbol()
swf_fontsize()
swf_fontslant()
swf_fonttracking()
swf_getbitmapinfo()
swf_getfontinfo()
swf_getframe()
swf_labelframe()
swf_lookat()
swf_modifyobject()
swf_mulcolor()
swf_nextid()
swf_oncondition()
swf_openfile()
swf_ortho()
swf_ortho2()
swf_perspective()
swf_placeobject()
swf_polarview()
swf_popmatrix()
swf_posround()
swf_pushmatrix()
swf_removeobject()
swf_rotate()
swf_scale()
swf_setfont()
swf_setframe()
swf_shapearc()
swf_shapecurveto()
swf_shapecurveto3()
swf_shapefillbitmapclip()
swf_shapefillbitmaptile()
swf_shapefilloff()
swf_shapefillsolid()
swf_shapelinesolid()
swf_shapelineto()
swf_shapemoveto()
swf_showframe()
swf_startbutton()
swf_startdoaction()
swf_startshape()
swf_startsymbol()
swf_textwidth()
swf_translate()
swf_viewport()
swfaction()
swfbitmap()
SWFBitmap->getHeight()
SWFBitmap->getWidth()
swfbutton()
SWFbutton->addAction()
SWFbutton->addShape()
SWFbutton->setAction()
SWFbutton->setdown()
SWFbutton->setHit()
SWFbutton->setOver()
SWFbutton->setUp()
swfbutton_keypress()
swfdisplayitem()
SWFDisplayItem->addColor()
SWFDisplayItem->move()
SWFDisplayItem->moveTo()
SWFDisplayItem->multColor()
SWFDisplayItem->remove()
SWFDisplayItem->Rotate()
SWFDisplayItem->rotateTo()
SWFDisplayItem->scale()
SWFDisplayItem->scaleTo()
SWFDisplayItem->setDepth()
SWFDisplayItem->setName()
SWFDisplayItem->setRatio()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()
swffill()
SWFFill->moveTo()
SWFFill->rotateTo()
SWFFill->scaleTo()
SWFFill->skewXTo()
SWFFill->skewYTo()
swffont()
swffont->getwidth()
swfgradient()
SWFGradient->addEntry()
swfmorph()
SWFMorph->getshape1()
SWFMorph->getshape2()
swfmovie()
SWFMovie->add()
SWFMovie->nextframe()
SWFMovie->output()
swfmovie->remove()
SWFMovie->save()
SWFMovie->setbackground()
SWFMovie->setdimension()
SWFMovie->setframes()
SWFMovie->setrate()
SWFMovie->streammp3()
swfshape()
SWFShape->addFill()
SWFShape->drawCurve()
SWFShape->drawCurveTo()
SWFShape->drawLine()
SWFShape->drawLineTo()
SWFShape->movePen()
SWFShape->movePenTo()
SWFShape->setLeftFill()
SWFShape->setLine()
SWFShape->setRightFill()
swfsprite()
swfsprite->add()
SWFSprite->nextframe()
SWFSprite->remove()
SWFSprite->setframes()
swftext()
SWFText->addString()
SWFText->getWidth()
SWFText->moveTo()
SWFText->setColor()
SWFText->setFont()
SWFText->setHeight()
SWFText->setSpacing()
swftextfield()
SWFTextField->addstring()
SWFTextField->align()
SWFTextField->setbounds()
SWFTextField->setcolor()
SWFTextField->setFont()
SWFTextField->setHeight()
SWFTextField->setindentation()
SWFTextField->setLeftMargin()
SWFTextField->setLineSpacing()
SWFTextField->setMargins()
SWFTextField->setname()
SWFTextField->setrightMargin()
sybase_affected_rows()
sybase_close()
sybase_connect()
sybase_data_seek()
sybase_deadlock_retry_count()
sybase_fetch_array()
sybase_fetch_assoc()
sybase_fetch_field()
sybase_fetch_object()
sybase_fetch_row()
sybase_field_seek()
sybase_free_result()
sybase_get_last_message()
sybase_min_client_severity()
sybase_min_error_severity()
sybase_min_message_severity()
sybase_min_server_severity()
sybase_num_fields()
sybase_num_rows()
sybase_pconnect()
sybase_query()
sybase_result()
sybase_select_db()
sybase_set_message_handler()
sybase_unbuffered_query()
symlink()
syslog()
system()

T

tan()
tanh()
tcpwrap_check()
tempnam()
textdomain()
tidy::__construct()
tidy_access_count()
tidy_clean_repair()
tidy_config_count()
tidy_diagnose()
tidy_error_count()
tidy_get_body()
tidy_get_config()
tidy_get_error_buffer()
tidy_get_head()
tidy_get_html()
tidy_get_html_ver()
tidy_get_output()
tidy_get_release()
tidy_get_root()
tidy_get_status()
tidy_getopt()
tidy_is_xhtml()
tidy_is_xml()
tidy_load_config()
tidy_node->children()
tidy_node->get_attr()
tidy_node->get_nodes()
tidy_node->hasChildren()
tidy_node->hasSiblings()
tidy_node->isComment()
tidy_node->isHtml()
tidy_node->isJste()
tidy_node->isText()
tidy_node->isXhtml()
tidy_node->isXml()
tidy_node->next()
tidy_node->prev()
tidy_parse_file()
tidy_parse_string()
tidy_repair_file()
tidy_repair_string()
tidy_reset_config()
tidy_save_config()
tidy_set_encoding()
tidy_setopt()
tidy_warning_count()
tidyNode->isAsp()
tidyNode->isPhp()
time()
time_nanosleep()
tmpfile()
token_get_all()
token_name()
touch()
trigger_error()
trim()

U

uasort()
ucfirst()
ucwords()
udm_add_search_limit()
udm_alloc_agent()
udm_alloc_agent_array()
udm_api_version()
udm_cat_list()
udm_cat_path()
udm_check_charset()
udm_check_stored()
udm_clear_search_limits()
udm_close_stored()
udm_crc32()
udm_errno()
udm_error()
udm_find()
udm_free_agent()
udm_free_ispell_data()
udm_free_res()
udm_get_doc_count()
udm_get_res_field()
udm_get_res_param()
udm_hash32()
udm_load_ispell_data()
udm_open_stored()
udm_set_agent_param()
uksort()
umask()
uniqid()
unixtojd()
unlink()
unpack()
unregister_tick_function()
unserialize()
unset()
urldecode()
urlencode()
user_error()
usleep()
usort()
utf8_decode()
utf8_encode()

V

var_dump()
var_export()
variant()
variant_abs()
variant_add()
variant_and()
variant_cast()
variant_cat()
variant_cmp()
variant_date_from_timestamp()
variant_date_to_timestamp()
variant_div()
variant_eqv()
variant_fix()
variant_get_type()
variant_idiv()
variant_imp()
variant_int()
variant_mod()
variant_mul()
variant_neg()
variant_not()
variant_or()
variant_pow()
variant_round()
variant_set()
variant_set_type()
variant_sub()
variant_xor()
version_compare()
vfprintf()
virtual()
vpopmail_add_alias_domain()
vpopmail_add_alias_domain_ex()
vpopmail_add_domain()
vpopmail_add_domain_ex()
vpopmail_add_user()
vpopmail_alias_add()
vpopmail_alias_del()
vpopmail_alias_del_domain()
vpopmail_alias_get()
vpopmail_alias_get_all()
vpopmail_auth_user()
vpopmail_del_domain()
vpopmail_del_domain_ex()
vpopmail_del_user()
vpopmail_error()
vpopmail_passwd()
vpopmail_set_user_quota()
vprintf()
vsprintf()

W

w32api_deftype()
w32api_init_dtype()
w32api_invoke_function()
w32api_register_function()
w32api_set_call_method()
wddx_add_vars()
wddx_deserialize()
wddx_packet_end()
wddx_packet_start()
wddx_serialize_value()
wddx_serialize_vars()
wordwrap()

X

xattr_get()
xattr_list()
xattr_remove()
xattr_set()
xattr_supported()
xdiff_file_diff()
xdiff_file_diff_binary()
xdiff_file_merge3()
xdiff_file_patch()
xdiff_file_patch_binary()
xdiff_string_diff()
xdiff_string_diff_binary()
xdiff_string_merge3()
xdiff_string_patch()
xdiff_string_patch_binary()
xml_error_string()
xml_get_current_byte_index()
xml_get_current_column_number()
xml_get_current_line_number()
xml_get_error_code()
xml_parse()
xml_parse_into_struct()
xml_parser_create()
xml_parser_create_ns()
xml_parser_free()
xml_parser_get_option()
xml_parser_set_option()
xml_set_character_data_handler()
xml_set_default_handler()
xml_set_element_handler()
xml_set_end_namespace_decl_handler()
xml_set_external_entity_ref_handler()
xml_set_notation_decl_handler()
xml_set_object()
xml_set_processing_instruction_handler()
xml_set_start_namespace_decl_handler()
xml_set_unparsed_entity_decl_handler()
xmlrpc_decode()
xmlrpc_decode_request()
xmlrpc_encode()
xmlrpc_encode_request()
xmlrpc_get_type()
xmlrpc_is_fault()
xmlrpc_parse_method_descriptions()
xmlrpc_server_add_introspection_data()
xmlrpc_server_call_method()
xmlrpc_server_create()
xmlrpc_server_destroy()
xmlrpc_server_register_introspection_callback()
xmlrpc_server_register_method()
xmlrpc_set_type()
xpath_eval()
xpath_eval_expression()
xpath_new_context()
xptr_eval()
xptr_new_context()
xsl_xsltprocessor_get_parameter()
xsl_xsltprocessor_has_exslt_support()
xsl_xsltprocessor_import_stylesheet()
xsl_xsltprocessor_register_php_functions()
xsl_xsltprocessor_remove_parameter()
xsl_xsltprocessor_set_parameter()
xsl_xsltprocessor_transform_to_doc()
xsl_xsltprocessor_transform_to_uri()
xsl_xsltprocessor_transform_to_xml()
xslt_backend_info()
xslt_backend_name()
xslt_backend_version()
xslt_create()
xslt_errno()
xslt_error()
xslt_free()
xslt_getopt()
xslt_process()
xslt_set_base()
xslt_set_encoding()
xslt_set_error_handler()
xslt_set_log()
xslt_set_object()
xslt_set_sax_handler()
xslt_set_sax_handlers()
xslt_set_scheme_handler()
xslt_set_scheme_handlers()
xslt_setopt()

Y

yaz_addinfo()
yaz_ccl_conf()
yaz_ccl_parse()
yaz_close()
yaz_connect()
yaz_database()
yaz_element()
yaz_errno()
yaz_error()
yaz_es_result()
yaz_get_option()
yaz_hits()
yaz_itemorder()
yaz_present()
yaz_range()
yaz_record()
yaz_scan()
yaz_scan_result()
yaz_schema()
yaz_search()
yaz_set_option()
yaz_sort()
yaz_syntax()
yaz_wait()
yp_all()
yp_cat()
yp_err_string()
yp_errno()
yp_first()
yp_get_default_domain()
yp_master()
yp_match()
yp_next()
yp_order()

Z

zend_logo_guid()
zend_version()
zip_close()
zip_entry_close()
zip_entry_compressedsize()
zip_entry_compressionmethod()
zip_entry_filesize()
zip_entry_name()
zip_entry_open()
zip_entry_read()
zip_open()
zip_read()
zlib_get_coding_type()

Anterior | Inicio | Siguiente
Índice de funciones | Subir | Material que falta


Material que falta

Manual de PHP
Anterior Siguiente

Apéndice V. Material que falta

Anterior | Inicio | Siguiente
Índice de funciones | Subir | Edición HTML Help


Manual de PHP

Copyright

© Copyright 1997 - 2004 por el Grupo de documentación de PHP. Este manual puede ser distribuido solamente bajo los términos y condiciones definidos en la "Licencia de Publicación Abierta" (Open Publication License) version 1.0 ó posterior. Una copia de la Licencia de Publicación Abierta es distribuida con este manual, la última versión se encuentra disponible en http://www.opencontent.org/openpub/.

La distribución de versiones modificadas de este documento está prohibida sin el permiso explícito del titular de este copyright.

La distribución de la documentación ó cualquier derivado de la misma, en cualquier tipo de formato escrito, está prohibido a menos que se obtenga permiso del titular de este copyright.

Si estais interesados en redistribuir o publicar este documento en parte o completo, y teneis preguntas sobre ello, ponerse en contacto con los titulares de los derechos en doc-license@lists.php.net. Esta direccion pertenece a una lista de correo y se archiva, siendo el acceso publico.

La sección 'Extendiendo PHP 4.0' de este manual es copyright © 2000 por Zend Technologies, Ltd. Esta sección puede ser distribuida solamente bajo los términos y condiciones de la "Licencia de Publicación Abierta", versión 1.0 ó posterior (la última versión se encuentra disponible en http://www.opencontent.org/openpub/).

Inicio


Sobre Esta Edición

Manual de PHP
Anterior Siguiente

Capítulo 63. Sobre Esta Edición

La Edición de Ayuda HTML Windows del Manual de PHP está dirigida a desarrolladores, quienes desean tener el manual a mano todo el tiempo, y desean leer páginas del manual y notas de usuarios sin tener que esperar a que descargue una página web remota. Esta edición le ofrece el contenido completo del manual más las anotaciones de usuarios, con algunas excelentes características adicionales ofrecidas por la aplicación visora, por los scripts que usamos para generar éste formato y por otros contribuyentes en forma de skins.

Esta distribución del Manual de PHP contiene varios archivos, incluyendo el archivo principal del manual, php_manual_en.chm. Puede ver el manual haciendo doble clic sobre éste archivo (tal y como ya lo habrá adivinado). Las notas de usuario se encuentran en php_manual_notes.chm. Solo necesita tener una copia de éste archivo en su equipo, independientemente de cuántos lenguajes usa para leer el Manual de PHP. El único requerimiento es que necesita tener todos los archivos php_manual_LANG.chm en un directorio junto con php_manual_notes.chm. También puede ver un archivo php_manual_en.chw en el directorio, éste es generado la primera vez que usa la pestaña del índice, y contiene un índice con las páginas del manual.

Para aquellos interesados en los detalles técnicos del formato Microsoft HTML Help, http://www.helpware.net/ constituye un excelente recurso. Para más información, y saber del lugar de Windows HTML Help entre los formatos de ayuda de Microsoft y su historia de servicios, consulte este artículo de WinWriters.

Anterior | Inicio | Siguiente
Edición HTML Help | Subir | Uso de la Edición CHM del Manual de PHP


Créditos de la Edición CHM

Manual de PHP
Anterior

Capítulo 69. Créditos de la Edición CHM

Esta versión mejorada del Manual de PHP nunca hubiese existido sin la ayuda de las siguientes personas quienes hicieron contribuciones al proyecto (sin orden alguno en particular):

  • Holger Eggert, quien creó los dos diseños predeterminados, y ofreción varios consejos sobre usabilidad.

  • Gonzalo De la Pena Andreu, quién ofreció varios comentarios sobre cuál sería la forma ideal de proveer la interfaz susceptible a skins.

  • Olexandr Vynnychenko contribuyó un sinnúmero de comentarios y pruebas en todo momento.

  • Brendan Ferguson, quién contribuyó varias optimizaciones, mejoras a los códigos HTML y JS detrás de las páginas del manual

  • Sandor Hojtsy, quién programó la aplicación de preferencias de escritorio del manual

  • Y por último pero no menos importante, todos aquellos que ofrecieron su retroalimentación a través de nuestra lista de correo, y en la encuesta de usuarios

Anterior | Inicio
Clases CSS | Subir


Integración del Manual de PHP

Manual de PHP
Anterior Siguiente

Capítulo 67. Integración del Manual de PHP

Nota: La información ofrecida aquí está dirigida principalmente a autores de IDEs, o usuarios avanzados que quisieran integrar éste archivo CHM con sus IDEs favoritos u otros componentes de entornos de producción.

Existen varios editores en la actualidad que ofrecen integración con CHM, pero puede que necesite saber algunas cosas sobre los contenidos CHM para integrar satisfactoriamente el manual a su entorno.

El documento CHM es construido usando tablas de estilos XSL a partir de fuentes XML. Este hecho es único actualmente en la familia del Manual de PHP, ya que todas las otras versiones son generadas usando tablas de estilo DSSSL. Esto también quiere decir que pueden surgir algunas diferencias de visualización no intencionales. Un script especial de conversión es ejecutado sobre la salida XSLT, agregando varias características interesantes, y empaquetando el manual con los archivos de preferencias y muestras de skins.

Si nunca ha trabajado con CHMs, puede pensar en ellos como archivos comprimidos con soporte integrado del SO para el acceso a archivos y soporte adicional para búsquedas e índices. Aunque los archivos CHM sólo pueden consultarse usando el Visor de Ayuda HTML, usted puede acceder directamente a archivos al interior de documentos CHM usando un prefijo de URL especial, el nombre del archivo CHM y el archivo que desea en el interior. Ya que todo el contenido de la ayuda es almacenado en archivos HTML, puede desplegar páginas del CHM en Internet Explorer.

Asumiendo que usted colocó su archivo php_manual_en.chm en c:\phpmanual, el archivo índice del manual (aquel que ve la primera vez) puede ser consultado con la siguiente URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Aquí, mk:@MSITStore: es el "protocolo" especial, C:\phpmanual\php_manual_en.chm es el documento CHM con su ruta completa. La parte /_index.html es la ruta al archivo índice dentro del CHM y :: es simplemente lo que necesita colocar entre la ruta CHM y ésta ruta de archivo.

Nota: Todos los archivos se encuentran en el directorio raíz del CHM, a diferencia de versiones previas de CHM que incluían un directorio de lenguaje. Las imágenes, tables de estilos y otros archivos suplementarios tienen nombres que inician con un caracter de subrayado (como ocurre con el índice principal mostrado anteriormente), para evitar colisiones de nombres.

Los nombres de los archivos generados siguen las mismas reglas que el manual en línea, excepto que la extensión es .html y no .php. La más importante es que los archivos de documentación de funciones reciben nombres de la forma function.NOMBRE_FUNCION.html, en donde NOMBRE_FUNCION es el nombre de la función, con todos los signos de subrayado convertidos en guiones. Algunos ejemplos son function.echo.html, function.mysql-close.html, function.imagecopy.html.

Usando toda esta información, usted puede mostrar una página del manual para una función solicitada por un usuario. Un ejemplo simple es incluido en la distribución, llamado php_quickref.hta. Ésta es una Aplicación HTML para demostrar el simple proceso de mostrar una página del manual que hace referencia a una función. La función quickRef() definida allí cumple con esta tarea.

Si quisiera integrar el manual en un IDE sin soporte directo para el manual de PHP (en realidad, la conversión de signos de subrayado en guiones), puede usar el archivo _function.html incluido para acceder a una página de función, Este archivo es simplemente un enrutador, y puede ser parametrizado a través de la URL, como _function.html#mysql_close. Esta página le redireccionará a la página de la función mysql_close (function.mysql-close.html) automáticamente. Puede proveer la ruta completa de este archivo si su IDE soporta la ayuda sensible a contexto, y proveer la cadena especificada por el IDE como el parámetro. Un ejemplo de esto es la integración de UltraEdit 9 (vea la página web de edición).

El índice del manual (asequible a través de la pestaña de índice en el panel de navegación) puede ser usado también para propósitos de integración. Todas las páginas HTML son incluidas en el índice con sus títulos como términos de indexación (incluyendo páginas de descripción de funciones).

Si usted es un desarrollador de aplicaciones de escritorio y quiesiera integrar profundamente el CHM con su programa (como por ejemplo desplegando el árbol de la tabla de contenidos en el cuadro de ayuda de su IDE), puede encontrar más información en http://www.helpware.net/, así como en otros recursos útiles. El sitio oficial del formato HTML Help se encuentra en http://msdn.microsoft.com/library/en-us/htmlhelp/html/vsconhh1start.asp.

Anterior | Inicio | Siguiente
Particularidades de Presentación | Subir | Desarrollo de skins


La Búsqueda de Texto Completo

Manual de PHP
Anterior Siguiente

Capítulo 65. La Búsqueda de Texto Completo

Tabla de contenidos
Reglas generales de búsqueda
Búsquedas sobre palabras o frases
Definición de términos de búsqueda
Uso de expresiones anidadas en búsquedas
Separación del Contenido del Manual y Notas de Usuario

Esta edición del Manual de PHP incluye una característica avanzada de búsqueda de texto completo ofrecida por la aplicación visora. Esto le permite a los usuarios buscar por cada palabra en el archivo de ayuda para encontrar una coincidencia. Por ejemplo, si un usuario realiza una búsqueda de texto completo sobre la palabra "Apache", cada tópico que contega la palabra "Apache" será listado. La búsqueda de texto completo le permite a un usuario efectuar búsquedas usando expresiones anidadas, booleanas y comodines. Un usuario también puede limitar la búsqueda a resultados previos, coincidencias con palabras similares, o buscar únicamente en títulos de temas.

El uso de la característica de búsqueda es bastante directo. Pulse sobre la solapa de búsqueda, escriba las palabras deseadas y presione ENTER (o pulse sobre "Listar Tópicos"). Entonces recibirá una lista de coincidencias del Manual de PHP (y las notas). Puede usar el botón con una flecha derecha y agregar operadores booleanos a su búsqueda (o puede escribirlos). Como puede ver en los resultados, puede usar las cabeceras de columna (Título, Ubicación y Rango) para ordenar la lista de tópicos. El orden predeterminado es por Rank. También puede ordenar algunos parámetros al final de la ésta solapa.

Las palabras encontradas son resaltadas en la página actual del panel de Tópico por defecto. Puede deshabilitar ésta característica seleccionando el item "Search Highlight Off" en el menú de Opciones. Si está observando un tópico largo, sólo las primeras 500 instancias de una palabra o frase de búsqueda serán resaltadas, debido a una limitación del visor.

Reglas generales de búsqueda

Una búsqueda básica consiste de la palabra o frase que desea encontrar. Puede usar expresiones con comodines, expresiones anidadas, operadores booleanos, coincidencias de palabras similares, una lista de resultados previos, o títulos de temas para refinar su búsqueda.

Las reglas básicas para formular consultas son las siguientes:

  • Las búsquedas no son sensibles a mayúsculas y minúsculas, de modo que puede escribir su búsqueda usando cualquier estilo.

  • Puede realizar búsquedas sobre cualquier combinación de letras (a-z) y números (0-9). No puede realizar búsquedas sobre letras sencillas (a, b, c, etc.) y palabras comunes, como: un, y, como, en, pero, por, para, tener, el, en, eso, no, de, sobre, ella, alla, esto, nosotros, cual, con, usted.

  • Los signos de puntuación como el punto (.), los dos-puntos (:), el punto-y-coma (;), la coma (,), y el guión (-) son ignorados durante una búsqueda.

  • Agrupe los elementos de su búsqueda usando comillas dobles o paréntesis para separar cada elemento. No puede hacer búsquedas sobre signos de comillas.

Nota: Si está buscando por un nombre de archivo con una extensión, debe agrupar la cadena completa en comillas dobles, ("nombre_archivo.ext"). De otra forma, el punto separará el nombre de archivo en dos términos diferentes. La operación predeterminada entre términos es AND, de modo que creará el equivalente lógico de "nombre_archivo AND ext".

Anterior | Inicio | Siguiente
Combinaciones de Teclado | Subir | Búsquedas sobre palabras o frases


Uso de expresiones anidadas en búsquedas

Las expresiones anidadas le permiten crear búsquedas de información complejas. Por ejemplo "html AND ((smtp OR pop3) NEAR mail)" encuentra tópicos que contienen la palabra "html" junto con las palabras "smtp" y "mail" cercanas una de la otra, o que contengan "html" junto con las palabras "pop3" y "mail" cercanas entre sí.

Las reglas básicas para buscar tópicos de ayuda usando expresiones anidadas son las siguientes:

  • Puede usar paréntesis para anidar expresiones al interior de una consulta. Las expresiones entre paréntesis son evaluadas antes del resto de la consulta.

  • Si una consulta no contiene una expresión anidada, ésta es evaluada de izquierda a derecha. Por ejemplo: "mail NOT pop3 OR smtp" encuentra los tópicos que contienen la palabra "mail" sin la palabra "pop3", o tópicos que contienen la palabra "smtp". Por otra parte, "mail NOT (pop3 OR smtp)" encuentra los tópicos que contienen la palabra "mail" sin ninguna de las palabras "pop3" ni "smtp".

  • No puede anidar expresiones con más de cinco niveles de profundidad.

Anterior | Inicio | Siguiente
Definición de términos de búsqueda | Subir | Separación del Contenido del Manual y Notas de Usuario


Separación del Contenido del Manual y Notas de Usuario

El contenido del manual y las notas de usuario son separados en php_manual_LANG.chm y php_manual_notes.chm. Hubo varias razones para hacer esto, incluyendo:

  • De esta manera, puede actualizar las notas de usuario y el manual independientemente, como lo necesite.

  • Puede tener más de un lenguaje del manual, mientras que sólo necesita contar con un archivo de notas. Todos los archivos CHM necesitan ubicarse en el mismo directorio, y todas las traducciones necesitan compartir las mismas preferencias si no desea tener más de un archivo de notas.

  • Puede agregar entre sus marcadores páginas del manual con notas, o solo la parte de notas de una página por separado.

  • Puede "deshabilitar" el despliegue de notas de usuario y de resultados de búsqueda sobre notas de usuario, simplemente al eliminar php_manual_notes.chm, moverlo por fuera del directorio, o renombrándolo.

Todos estos beneficios nos llevan a ofrecer el manual en la forma en que puede apreciar ahora. Esta distribución tuvo el efecto sobre la búsqueda de texto completo de que los resultados de búsquedas del contenido del manual y de las notas del usuario son diferentes. La columna "Location" le indica la fuente del resultado, y también le permite usar "add precedence" sobre los resultados del contenido del manual, y ordenarlos por "Location". Los títulos de páginas de las notas de usuario también tienen el prefijo "N:" para hacerlas distinguibles fácilmente en la lista de favoritos (no hay información de ubicación en la lista de favoritos).

Anterior | Inicio | Siguiente
Uso de expresiones anidadas en búsquedas | Subir | Particularidades de esta Edición


Definición de términos de búsqueda

Los operadores AND, OR, NOT y NEAR le permiten definir con precisión su búsqueda, creando una relación entre términos de búsqueda. La siguiente tabla le muestra cómo puede mostrar cada uno de estos operadores. Si no se especifica un operador, se usa AND. Por ejemplo, la consulta "servidor cgi seguridad" es equivalente a "servidor AND cgi AND seguridad".

Tabla 65-2. Operadores de búsqueda

Buscar por | Ejemplo | Resultados
Ambos términos en el mismo tópico | http AND apache | Tópicos que contienen las palabras "http" y "apache".
Cualquier término en un tópico | ming OR swflib | Tópicos que contienen ya sea la palabra "ming" o la palabra "swflib", o ambas.
El primer término sin el segundo | xml NOT expat | Tópicos que contienen la palabra "xml", pero no la palabra "expat".
Ambos términos en el mismo tópico, cerca uno del otro | database NEAR security | Tópicos que contienen la palabra "database" a ocho palabras de distancia de la palabra "security".

Nota: Los caracteres |, &, y ! pueden ser usados también en lugar de OR, AND y NOT respectivamente. Puede que esto no funcione si usa una versión antigua del visor.

Anterior | Inicio | Siguiente
Búsquedas sobre palabras o frases | Subir | Uso de expresiones anidadas en búsquedas


Búsquedas sobre palabras o frases

Puede realizar búsquedas sobre palabras o frases y usar expresiones con comodines. Las expresiones con comodines le permiten buscar por uno o más caracteres usando un signo de interrogación o un asterisco. La siguiente tabla describe los resultados de éstos tipos distintos de búsqueda.

Tabla 65-1. Búsquedas por palabra y frase

Buscar por | Ejemplo | Resultados
Una palabra sencilla | seleccionar | Tópicos que contienen la palabra "seleccionar". (También encontrará sus variaciones gramaticales, como "seleccionador" y "selección".)
Una frase "nuevo operador" o nuevo operador

Tópicos que contienen la frase literal "nuevo operador" y todas sus variaciones gramaticales.

Sin las comillas, la consulta es equivalente a especificar "nuevo AND operador,", lo que encontrará los tópicos que contienen ambas palabras individuales, en lugar de la frase.

Expresiones comodín esc* o HT??

Los resultados del primer ejemplo incluyen los tópicos que contengan los términos "ESC", "escapar", "escalabilidad", y demás. El asterisco no puede ser el único caracter en el término.

Los resultados para el segundo ejemplo incluyen los tópicos que contengan los términos "HTTP", "HTML" y demás. El signo de interrogación no puede ser el único caracter en el término.

Nota: Seleccione el campo "Match similar words" para incluir variaciones gramaticales menores de la frase que busca. Esta característica solo ubica variacones de la palabra con sufijos comunes. Por ejemplo, una búsqueda sobre la palabra "add", encontrará "added," pero no encontrará "additive". Esta opción es independiente de otras opciones o sintaxis. Si realiza una búsqueda sólo sobre títulos, las variaciones del títulos serán consideradas. Si usa comillas (o cualquier otro operador de consulta), puede aparecer cualquier variación de la palabra; por ejemplo "stemmed search" también coincidirá con "stemming search".

Anterior | Inicio | Siguiente
La Búsqueda de Texto Completo | Subir | Definición de términos de búsqueda


Desarrollo de skins

Manual de PHP
Anterior Siguiente

Capítulo 68. Desarrollo de skins

Tabla de contenidos
Proceso de Visualización de Página
Elementos de Página
Clases CSS

Esta edición del Manual de PHP le permite a los usuarios elegir entre varios skins para desplegar los contenidos, así como desarrollar skins personalizados para suplir ciertas necesidades especiales. Hemos decidido ofrecer soporte de skins por que sentimos que un solo skin no puede satisfacer las necesidades de todos en una edición tan usada.

Incluimos dos skins por defecto al interior del CHM. Éstos no pueden ser modificados o eliminados, de modo que si tiene el CHM, ya tiene estos dos skins en su interior. El skin Low es optimizado para su uso en una ventana pequeña, el skin High es una variación de Low, con la adición de algunas gráficas para darle vida.

Un skin debe tener por lo menos dos archivos, un archivo JavaScript de carga del skin y un archivo CSS. Ambos skins incorporados tienen éstos archivos al interior del CHM. El archivo JS de carga del skin debe, por lo menos, cargar el archivo CSS y desplegar los contenidos de la página en el visor. Teóricamente, hay dos tipos de skins: skins CSS y skins Full. Los skins CSS modifican sólo el CSS y no alteran la presentación de la página. Los skins Full modifican también la presentación de la página. Hemos incluido skins de ejemplo para ambos tipos de skins, el skin CSS y el skin Full ("greenlinks" y "headernostalgia" respectivamente).

Aviso

Note que, aunque los métodos de desarrollo de skins actuales son definitivos, puede haber cambios profundos en las clases CSS usadas o en elementos de página mientras refinamos las ideas de desarrollo de skins. Dado que esta edición se encuentra en la actualidad en fase de desarrollo, la información descrita aquí no debe ser considerada completamente estable.

Proceso de Visualización de Página

Si va a desarrollar su propio skin, debe saber cómo es cargada y desplegada al usuario una página, y cómo encaja un skin en este proceso. Para estos parágrafos, se asume que ha colocado su archivo CHM en c:\phpmanual, de modo que sea asequible como c:\phpmanual\php_manual_LANG.chm (en donde LANG es el código del lenguaje), y que desea ver la página de función de "echo", la cual es function.echo.html al interior del archivo CHM. Vea las secciones sobre integración para más información sobre los contenidos CHM.

  • Antes que nada, el contenido HTML es cargado desde function.echo.html en el interior del archivo CHM.

  • Al comienzo de éste archivo existe una etiqueta HTML <script>, la cual carga el archivo _script.js desde el archivo CHM. El archivo contiene todo el código JS requerido para continuar con el proceso. De especial importancia es que éste código JS define varias variables (como la ubicación del archivo CHM, o cuál es la página actual) y varias funciones para imprimir el menú de contexto o gestionar funciones en línea.

  • Finalmente, _script.js carga el archivo de preferencias desde el exterior, del archivo CHM (c:\phpmanual\php_manual_prefs.js en nuestro ejemplo). Este archivo JS define las variables de preferencia, y llama de vuelta a la función prefHandler(), que se encuentra definida también en _script.js.

  • Aquella función carga el archivo JS de skin del modo que dictan las preferencias. El archivo de skin JS debe cargar el archivo CSS requerido, y definir una función displayPage(), la cual despliega la página al ser llamada.

  • El archivo HTML (function.echo.html en este ejemplo) contiene también una llamada de función para cargar las notas de usuario, que simplemente coloca las notas en este archivo HTML usando DHTML para desplegarlas como si hubiesen estado aquí antes...

  • El archivo HTML contiene también un atributo onload en la etiqueta body, el cual llama a la función displayPage() definida por el skin para mostrarle la página al usuario. Ésta es la última función en ser llamada, debe presentar la página en su forma completa al usuario.

Cada acción es sincronizada al llamar de vuelta una función en el archivo previamente cargado, cuando el archivo JS está en memoria. La carga de notas y la carga de JS se sincroniza sólo con el evento onload de la página (el cual, como dice la página de documentación de Microsoft, solo se ejecuta cuando la página ha sido cargada completamente).

Esta cadena de cargas y llamadas de retorno puede parecer muy complicada, pero hasta el momento ha sido la mejor manera de lograr tantas cosas en paralelo, al mismo tiempo que se sincronizan ciertas llamadas.

Como puede ver, su archivo JavaScript de skin es cargado por _script.js y su función displayPage() es llamada por el evento onload de body.

Anterior | Inicio | Siguiente
Integración del Manual de PHP | Subir | Elementos de Página


Clases CSS

En el momento, no podemos proveer documentación precisa sobre clases CSS utilizables, dado que algunas de las clases de estilos XSL de DocBook no son usadas y algunas clases son adicionadas. Por favor refiérase al archivo CSS de muestra incluido para la referencia inicial.

Anterior | Inicio | Siguiente
Elementos de Página | Subir | Créditos de la Edición CHM


Elementos de Página

Las páginas del Manual de PHP son todas archivos HTML con varias etiquetas HTML en ellos, tanto para propósitos de presentación como de división. Las páginas HTML contienen divisiones a ser usadas para propósitos de uso de skins y divisiones varias agregadas por las tablas XSL de DocBook.

Una página HTML puede ser o una página de referencia de función o de otro tipo (como una descripción de una característica). Los skins deben prepararse para trabajar con estos dos tipos de páginas por separado la mayor parte del tiempo (dependiendo del diseño usado en la práctica).

Las páginas son estructuradas usando etiquetas <div> con IDs apropiados para facilitar el trabajo de los escritores de skins. Una página consiste de estas partes:

  • <div id="pageContent"></div> contiene todo el interior de la página. La etiqueta comienza justo después de <body> y termina justo antes de </body>. Esta división es oculta por defecto, necesita mostrarla después de estar listo con el proceso de re-escritura de la página.

  • <div id="pageHeaders"></div> contiene las partes de la cabecera de página. Esto incluye el título principal de sólo-texto (en una etiqueta <span id="pageTitle"></span>) y las propiedades de función, en caso de que se trate de una página de función (contenida en <span id="funcPurpose"></span>, <span id="funcAvail"></span> y <span id="funcUsage"></span>). En caso de que una de éstas tres etiquetas no se encuentre disponible, la página actual no es una página de función.

  • <div id="pageText"></div> contiene la mayoría de contenidos de la página, incluyendo ejemplos, notas del manual, advertencias, etc. También incluye los segmentos "Vea también" por ahora, dado que aun no podemos diferenciar entre éstas partes y el texto normal (puede que sea algo que cambie en el futuro).

  • <div id="pageNotes"></div> contiene las notas de usuario (cargadas éstas desde otro archivo HTML por JS). Contiene una cabecera, y luego una etiqueta <div> sin ID para cada nota de usuario y y spans para cada elemento de una nota de usuario (con los IDs "email", "date" y "text" respectivamente).

  • <div id="pageNav"></div> contiene la tabla de navegación, que a su vez es dividida en spans (<span id="navPrev"></span>, <span id="navPath"></span>, <span id="navNext"></span>, <span id="navOnline"></span>, <span id="navThisOnline"></span> y <span id="navReportBug"></span>), en donde navThisOnline y navReportBug se encuentran al interior de navOnline.

Si desea re-escribir la página, debe primero leer las partes que necesita desde la página en variables JS, luego limpiar los contenidos de pageContent (o sólo la parte que desea re-escribir), escribir el contenido nuevo y mostrar el div pageContent para el usuario. Si no desea hacer cambios estructurales, puede simplemente desplegar el div pageContent y tan sólo especificar una tabla de estilos especial en su archivo JS de skin (vea el skin "greenlinks" como ejemplo).

Puede encontrar un "skin Full" desarrollado para mostrarle cómo crear skins sobre esta estructura. El nombre del skin es "headernostalgia". Éste re-escribe la parte de la cabecera y remueve la tabla de navegación del pie de página.

Anterior | Inicio | Siguiente
Desarrollo de skins | Subir | Clases CSS


Particularidades de esta Edición

Manual de PHP
Anterior Siguiente

Capítulo 66. Particularidades de esta Edición

Tabla de contenidos
Preferencias de Usuario
Particularidades de Presentación

La Edición de Ayuda HTML de Windows del Manual de PHP sobrepasa las capacidades de presentación e interactividad ofrecidas por otras ediciones (incluyendo el manual en línea). Esto fue posible ya que, en la actualidad, los archivos CHM solo pueden ser vistos en Windows usando Internet explorer, así que podemos desarrollar para una familia de navegadores y un sistema operativo. Visores para otros sistemas operativos pueden ser desarrollados en el futuro por terceros.

Preferencias de Usuario

La mayoría de características interactivas de este manual son ofrecidas por la aplicación visora (incluyendo búsquedas de texto completo, índice, lista de favoritos), pero hemos extendido esta lista con herramientas específicas del Manual de PHP. Todas estas pueden ajustarse a sus necesidades usando una simple aplicación de escritorio llamada php_manual_prefs.exe. Si ejecuta este programa, puede ver tres grupos de preferencias: Funciones en Línea, Menú de Contexto, y Skin. Todas sus preferencias son almacenadas en php_manual_prefs.js.

Las funciones en línea le permiten tener elementos conectados a sitios web. Las dos que puede apreciar en todas las páginas del manual son "Esta página en línea" y "Reporte un fallo". Como puede suponer, la primera le muestra la misma página en el manual en línea, la segunda abre una página desde http://bugs.php.net/ y llena previamente algunos datos por usted. Necesita elegir un sitio mirror para usar las funciones en línea "sensibles a php.net". Se recomienda el uso de un sitio mirror cercano para obtener la mayor rapidez. Otros componentes que pueden ser afectados por este parámetro de funciones en línea incluyen los items del menú de contexto que abren nuevos sitios web (por ejemplo, "Buscar Selección en Google"). Los diseños personalizados pueden incluir también elementos restringidos por este parámetro.

Los parámetros del menú de contexto le permiten elegir el menú de contexto que prefiere. Esta aplicación le ofrece una opción para definir su propio menú de contexto, añadiendo elementos a éste desde un conjunto predefinido. Puede asociar este menú de contexto personalizado con el clic derecho de su mouse, y tener el menú original asociado con CTRL+clic derecho, o viceversa. Existen tres tipos especiales de items de menú de contexto personalizados:

Tabla 66-1. Items de menú de contexto

Tipo | Ejemplos | Comentarios
Salto de Página | Referencia de Funciones, Índice de Funciones | Éstos items saltan a una página específica en el documento CHM. Sin embargo, las opciones de Salto de Página no se encuentran restringidas a un punto al interior del mismo documento. Pueden apuntar a sitios web u otros recursos. Las opciones de salto de página con un segmento de protocolo en la URL abren una nueva ventana.
Llamada de Función | Imprimir página, Seleccionar todo, Copiar selección al portapapeles, Buscar Selección en Google | Estas son "llamadas de función" para funciones del menú de contexto definidas internamente. Los dos últimos ejemplos tienen la peculiaridad de que sólo se muestran en el menú si se aplica el clic derecho en una selección. Actualmente no hay forma de extender el menú de contexto con las funciones de skin definidas.
Visualización especial | Caja de Búsqueda Google, Caja de Búsqueda AlltheWeb | Estos son desplegados como formularios HTML, en donde puede buscar por palabras claves, presionar ENTER, y recibir una ventana nueva con la búsqueda efectuada en el motor de búsqueda apropiado. En la actualidad no hay forma de extender el conjunto de items de menú de contexto desplegados de forma especial.
Los posibles elementos del menú de contexto y sus "implementaciones abstractas" son almacenadas en context.ini. Usted dispone de la habilidad de añadir posibles opciones de salto de página allí, pero en la actualidad no hay forma de extender el sistema de menú de contexto con funciones definidas por el usuario (skin). Los posibles sitios mirror están listados en mirrors.ini. Siéntase libre de sugerirnos nuevos items del menú de contexto en php-doc-chm@lists.php.net.

El parámetro sobre skins le permite elegir entre los dos skins integrados por defecto, o cualquier skin definido por el usuario. El skin Low es optimizado para su visualización correcta en cualquier tamaño pequeño, el skin High está optimizado para su comodidad visual. Otros skins pueden ser desarrollados de acuerdo a nuestra guía de desarrollo de skins. El lugar recomendado para skins en el sistema de archivos es la sub-carpeta skins/SKINNAME del directorio del Manual de PHP. Aunque no se requiere, algunos skins pueden definir otras reglas (cosa no recomendable). Hemos incluido skins de muestra para que vea ejemplos de cómo desarrollar skins para el Manual de PHP.

Cuenta con tres botones para elegir al final. El botón Aplicar aplica sus cambios sin salir, el botón OK aplica y cierra la aplicación, el botón Cancelar no modifica sus parámetros y cierra el programa.

Anterior | Inicio | Siguiente
Separación del Contenido del Manual y Notas de Usuario | Subir | Particularidades de Presentación


Particularidades de Presentación

Esta edición del Manual de PHP está altamente optimizada para su presentación en pantalla. Los skins pueden ser desarrollados para un mejor soporte de impresión, ya que éste no era el propósito de los skins incluidos. Este enfoque nos permite hacer varias modificaciones a la presencación de diferentes partes del manual.

Lo primero que notará es que todos los ejemplos poseen el código resaltado, usando la función show_source(). Los colores usados en la práctia son definidos por clases CSS. Los ejemplos también incluyen enlaces a las funciones usadas en ellos para ofrecer acceso rápido al material de referencia. Todos los ejemplos de código tienen un enlace "copiar al portapapeles" al lado de ellos, con el cual puede copiar los contenidos del texto del ejemplo en el portapapeles.

Los enlaces externos son marcados con un signo » especial, y se abren en una nueva ventana del navegador. También incluimos la información "ruta hacia esta página" en todas las páginas, para que puede identificar fácilmente en dónde se encuentra y navegar como lo requiera.

Otras partes del manual son bastante similares a aquellas de la edición en línea por defecto, aunque skins personalizados pueden modificar muchos elementos en las páginas.

Anterior | Inicio | Siguiente
Particularidades de esta Edición | Subir | Integración del Manual de PHP


Uso de la Edición CHM del Manual de PHP

Manual de PHP
Anterior Siguiente

Capítulo 64. Uso de la Edición CHM del Manual de PHP

Tabla de contenidos
La Barra de Herramientas de la Ayuda HTML
El Panel de Navegación
Combinaciones de Teclado

Cuando realiza doble-clic sobre un archivo CHM, una ventana del Visor de Ayuda HTML es abierta con tres páneles. En el lado izquierdo de la ventana se encuentra el panel de Navegación. Éste contiene cuatro solapas de navegación: las solapas de Contenido, Índice, Búsqueda y Favoritos. En el lado derecho de la ventana se encuentra el panel de Tópico. ???ste despliega el tema de ayuda seleccionado, o el tema de ayuda predeterminado en el arranque. Las páginas de ayuda son todas archivos HTML separados, su instalación de Internet Explorer despliega las páginas en el panel de Tópico. El tercer panel es la barra de herramientas, la cual está ubicada por debajo de la barra de título de la ventana de ayuda. Puede ajustar la apariencia horizontal al arrastrar el borde vertical entre el panel de Navegación y el panel de Tópico.

Note que cuando abre el documento CHM por primera vez, puede aparecer con una posición y tamaño extraños. Desde entonces, windows recuerda la posición de la ventana, su tamaño y la solapa abierta por última vez. Toda esta información, incluyendo sus favoritos, es almacenada en un archivo llamado hh.dat. Si mueve su archivo a otro directorio, todas estas preferencias recordadas se perderán (¡incluyendo su lista de favoritos!). Aunque, si reemplaza su archivo CHM por uno nuevo, con el mismo nombre, no será un problema. Los nombres de archivo y valores de ruta son almacenados en hh.dat.

La Barra de Herramientas de la Ayuda HTML

La Barra de Herramientas de la Ayuda HTML contiene los siguientes íconos, cuando se encuentra consultando el Manual de PHP:

  • Esconder/Mostrar - Esconde/muestra el panel de navegación.

  • Ubicar - Ubica un tópico en la solapa de contenidos (en caso de que haya encontrado un tópico a través de la búsqueda, el índice o los favoritos, y quisiera ver en dónde se encuentra en la vista de árbol de la tabla de contenidos).

  • Atrás - Va hacia atrás en el historial.

  • Adelante - Va hacia adelante en el historial.

  • Refrescar - Recarga la página actual.

  • Inicio - Abre la página de inicio del documento CHM.

  • Imprimir - Abre el cuadro de diálogo de impresión.

  • Opciones - Provee una lista con más opciones.

El uso de esta barra de herramientas es realmente sencillo, muchos de los íconos de la barra de herramientas están relacionados fuertemente con sus equivalentes en Internet Explorer.

Anterior | Inicio | Siguiente
Sobre Esta Edición | Subir | El Panel de Navegación


Combinaciones de Teclado

Hay varias combinaciones de teclas que puede usar para incrementar su productividad. Muchos usuarios encuentran más cómodo usar éstas combinaciones de teclado para acceder a los temas, en lugar de hacer uso de clics.

Tabla 64-1. Combinaciones de Teclado Generales del Visor de Ayuda

Para | Presione
Cerrar el Visor de Ayuda | ALT+F4
Mostrar el menú de Opciones | ALT+O
Esconder o mostrar el panel de Navegación | ALT+O, y luego T
Imprimir un tema | ALT+O, y luego P
Moverse al tema anterior | ALT+FLECHA IZQUIERDA
Moverse al tema siguiente (provisto que lo ha visitado anteriormente) | ALT+FLECHA DERECHA
Activar o desactivar el resaltado de búsquedas. | ALT+O, y luego O
Regresar al inicio del archivo de ayuda | ALT+O, y luego H
Cambiar entre el panel de Navegación y el panel de Tópico | F6
Desplazarse a través de todos los enlaces en un tema o a través de todas las opciones en una solapa del panel de Navegación | TAB
Mostrar el menú de contexto (clic derecho) [vea la sección de Preferencias de Usuario] | SHIFT+F10

Tabla 64-2. Combinaciones de Teclado de la Solapa de Contenidos

Para | Presione
Mostrar la solapa de Contenidos | ALT+C
Abrir y cerrar un libro o carpeta | SIGNO MÁS y SIGNO MENOS, o FLECHA IZQUIERDA y FLECHA DERECHA
Seleccionar un tema | FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema seleccionado | ENTER

Tabla 64-3. Combinaciones de Teclado de la Solapa de Índice

Para | Presione
Mostrar la solapa de Índice | ALT+N
Escribir una palabra clave a buscar | ALT+W, y luego escriba la palabra
Seleccionar una palabra clave en la lista | FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema asociado | ENTER o ALT+D

Tabla 64-4. Combinaciones de Teclado de la Solapa de Búsqueda

Para | Presione
Mostrar la solapa de Búsqueda | ALT+S
Escribir una palabra clave a buscar | ALT+W, y luego escriba la palabra
Iniciar una búsqueda | ALT+L
Seleccioner un tema en la lista de resultados | ALT+T, y luego FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema seleccionado | ENTER o ALT+D
Buscar por una palabra clave en la lista de resultados de una búsqueda previa | ALT+U
Buscar por palabras similares a la palabra clave. Por ejemplo para encontrar palabras como "corriendo" y "corre" para la palabra clave "correr" | ALT+M
Buscar sólo a través de los títulos de los temas | ALT+R

Tabla 64-5. Combinaciones de Teclado de la Solapa de Favoritos

Para | Presione
Mostrar la solapa de Favoritos | ALT+I
Agregar el tema mostrado actualmente a la lista de Favoritos | ALT+A
Seleccionar un tema en la lista de Favoritos | ALT+P, y luego FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA
Mostrar el tema seleccionado | ENTER o ALT+D
Eliminar el tema seleccionado de la lista | ALT+R

Tabla 64-6. Combinaciones de Teclado del Panel de Tópico

Para | Presione
Consultar en el índice | Seleccione las palabras que quiere consultar y presione F1
Encontrar en la página | CTRL+F, y luego ajuste las opciones
Refrescar la página | F5

Anterior | Inicio | Siguiente
El Panel de Navegación | Subir | La Búsqueda de Texto Completo


El Panel de Navegación

El Panel de Navegación contiene cuatro solapas de navegación: las solapas de Contenido, Índice, Búsqueda y Favoritos. Éstas proveen métodos diferentes para acceder a un tópico en el archivo de ayuda.

  • La solapa de contenidos revela una tabla de contenidos en forma de árbol, en donde puede navegar al tópico deseado al abrir y cerrar partes del árbol. Puede incluso acceder a las secciones más profundas usando ésta tabla de contenidos. Si hace clic derecho sobre un item aquí y selecciona "Imprimir...", tendrá la opción de imprimir el tópico seleccionado o el tópico seleccionado junto con todos los sub-temas. Sin embargo, la impresión no es el objetivo inicial de esta versión del manual (la versión PDF es apropiada para su impresión).

  • La solapa de índice lista un gran número de "palabras clave" (en realidad, títulos de páginas del manual). Puede seleccionar una, o comenzar a escribir una palabra clave, ver la lista ajustarse a su entrada, y luego hacer clic sobre un tema, o presionar enter si el tema seleccionado es el que desea consultar.

  • La solapa de búsqueda muestra una de las características más poderosas del Visor de Ayuda HTML, la búsqueda de texto completo (también conocida como FTS, por sus siglas en Inglés). Aquí puede escribir su expresión de búsqueda, conectando palabras opcionalmente con AND/OR/NEAR/NOT. Antes de que haga clic sobre 'Listar temas', también puede definir algunas opciones en la parte baja. Luego de que los resultados de búsqueda son desplegados, notará que el texto del manual y los resultados de notas de usuario son separados. Para ordenar ambos tipos, pulse sobre la cabecera de la columna 'Ubicación'. Ahora, desde la lista de resultados de la búsqueda, puede seleccionar un tema, y ver su página. Las palabras que ha buscado son resaltadas en la página.

  • La solapa de favoritos le permite guardar una lista con los temas más usados, para su fácil acceso. Aquí puede ver la lista, agregar un tema a ella, eliminar un tema, o desplegar un item seleccionado. También puede especificar su propio título para el favorito, escribiéndolo en el cuadro 'Tema actual:'. Los títulos de páginas de notas de usuario son precedidos de la cadena 'N:', de modo que pueda distinguirlas de las páginas normales del manual en el listado de favoritos.

Anterior | Inicio | Siguiente
Uso de la Edición CHM del Manual de PHP | Subir | Combinaciones de Teclado


Edición HTML Help

Manual de PHP
Anterior Siguiente

X. Edición HTML Help

Tabla de contenidos
63. Sobre Esta Edición
64. Uso de la Edición CHM del Manual de PHP
65. La Búsqueda de Texto Completo
66. Particularidades de esta Edición
67. Integración del Manual de PHP
68. Desarrollo de skins
69. Créditos de la Edición CHM

Anterior | Inicio | Siguiente
Material que falta |  | Sobre Esta Edición


Configuración del comportamiento de PHP

Manual de PHP
Anterior Siguiente

Capítulo 9. Configuración del comportamiento de PHP

Tabla de contenidos
El archivo de configuración
Como cambiar los valores de la configuración

El archivo de configuración

El archivo de configuración (llamado php3.ini en PHP 3, y simplemente php.ini a partir de PHP 4) es leído cuando arranca PHP. Para las versiones de PHP como módulo de servidor esto sólo ocurre una vez al arrancar el servidor web. Para la versión CGI y CLI, esto ocurre en cada llamada.

La localización por defecto de php.ini es definida en tiempo de compilación (Consultar la FAQ), pero puede ser cambiada en la versión CGI y CLI con la opción de la linea de comandos -c, consultar el cápitulo sobre como usar PHP desde la linea de comandos. También se puede definir la variable de entorno PHPRC con un "path" adicional para la búsqueda del archivo php.ini

Si php-SAPI.ini existe es usado en vez de php.ini.

Nota: El servidor web Apache cambia al directorio raiz al arrancar, por ello PHP intentará leer el archivo php.ini en el directorio raiz, si existe.

Las directivas php.ini gestionadas por extensiones están documentadas en cada una de las páginas de las extensiones respectivamente. La lista de directivas de núcleo se encuentra disponible en el apéndice.La mayoria de directivas PHP estan listadas en ini_set() con los respectivos permisos y enlaces a la documentacion. Para obtener una lista completa de todas las directivas disponibles en su versión de PHP, por favor lea su archivo php.ini, el cual debe estar bien documentado. Alternativamente, puede encontrar útil la última versión del archivo php.ini desde CVS.

Ejemplo 9-1. Ejemplo php.ini

; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
;    true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes

; you can enclose strings in double-quotes
include_path = ".:/usr/local/lib/php"

; backslashes are treated the same as any other character
include_path = ".;c:\php\lib"

Anterior | Inicio | Siguiente
Informes sobre Bugs | Subir | Como cambiar los valores de la configuración


Como cambiar los valores de la configuración

Ejecución de PHP como un módulo de Apache

Cuando se usa PHP como un módulo de Apache, se pueden cambiar valores de la configuración usando directivas en los archivos de configuración de apache, httpd.conf y .htaccess. Necesitará de los privilegios "AllowOverride Options" o "AllowOverride All" para hacerlo.

Con PHP 4 y PHP 5, hay varias directivas Apache que permiten cambiar la configuración de PHP desde los archivos de configuración de apache. Para obtener una lista de que directivas son del tipo PHP_INI_ALL, PHP_INI_PERDIR, ó PHP_INI_SYSTEM, consultar la lista que se encuentra en la documentación de la función ini_set().

Nota: Con PHP 3, existen directivas que corresponden a cada parámetro de configuración en php3.ini, con el prefijo "php3_".

php_value nombre valor

Asigna el valor de la directiva especificada. Puede ser usado solamente con directivas del tipo PHP_INI_ALL y PHP_INI_PERDIR. Para borrar un valor previo, asignar none como valor

Nota: No use php_value para definir valores booleanos. Debería usarse php_flag en su lugar (vea más abajo).

php_flag nombre on|off

Usado para asignar una directiva de configuración booleana. Puede ser usado solamente con directivas del tipo PHP_INI_ALL y PHP_INI_PERDIR.

php_admin_value nombre valor

Asigna el valor de la directiva especificada. Esto no puede usarse en archivos .htaccess. Todo tipo de directiva asignada con php_admin_value no puede ser cambiada con .htaccess ó directivas "virtualhost". Para borrar un valor previo, asignar none como valor.

php_admin_flag nombre on|off

Usado para asignar una directiva de configuración booleana. Esto no puede usarse en archivos .htaccess. Todo tipo de directiva asignada con php_admin_flag no puede ser cambiada con .htaccess ó directivas.

Ejemplo 9-2. Ejemplo de configuración de Apache

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
  php3_include_path ".:/usr/local/lib/php"
  php3_safe_mode on
</IfModule>

Atención

Las Constantes en PHP no existen fuera de PHP. Por ejemplo, en httpd.conf no se pueden usar constantes PHP tales como E_ALL ó E_NOTICE para definir la directiva error_reporting, ya que no tendrá ningún significado y será evaluada como 0. Usar los valores asociados de "bitmask" en su lugar. Estas constantes pueden ser usadas en php.ini

Modificación de la configuración de PHP usando el registro de Windows

Cuando se usa PHP en Windows, se pueden cambiar los valores de configuración para cada directorio por medio de los registros de Windows. Los valores de configuración se guardan en la llave de registro HKLM\SOFTWARE\PHP\Per Directory Values, en las subllaves correspondientes al PATH. Por ejemplo, los valores de configuracion del directorio c:\inetpub\wwwroot se guardarán en HKLM\SOFTWARE\PHP\Valores Por Directorio\c\inetpub\wwwroot. La configuración de un directorio es válida para todos los scripts ejecutados en el mismo y sus subdirectorios. Los valores en la llave deben de definirse con el nombre de la directiva de configuración de PHP y el valor tipo cadena. Las constantes PHP en los valores no son analizadas.

Otras interfaces con PHP

Independientemente del modo en que ejecute PHP, es posible cambiar ciertos valores en tiempo de ejecución usando ini_set(). Vea la documentación en la página sobre ini_set() para más información.

Si está interesado en una lista completa de parámetros de configuración en su sistema con sus valores actuales, puede ejecutar la función phpinfo(), y revisar la página resultante. También puede acceder a los valores de directivas de configuración individuales en tiempo de ejecución usando ini_get() o get_cfg_var().

Anterior | Inicio | Siguiente
Configuración del comportamiento de PHP | Subir | Referencia del lenguaje


break

break escapa de la estructuras de control iterante (bucle) actuales for, while, o switch.

break accepta un parámetro opcional, el cual determina cuantas estructuras de control hay que escapar.

<?php
$arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
while (list (, $val) = each ($arr)) {
    if ($val == 'stop') {
        break;    /* You could also write 'break 1;' here. */
    }
    echo "$val<br>\n";
}

/* Using the optional argument. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "At 5<br>\n";
        break 1;  /* Exit only the switch. */
    case 10:
        echo "Al 10; saliendo<br>\n";
        break 2;  /* Exit the switch and the while. */
    default:
        break;
    }
}
?>

Anterior | Inicio | Siguiente
foreach | Subir | continue


continue

continue se usa dentro de la estructura del bucle para saltar el resto de la iteración actual del bucle y continuar la ejecución al comienzo de la siguiente iteración.

Nota: Tener en cuenta que en PHP la declaración switch es considerada una estructura de bucle por continue.

continue accepta un parámetro opcional, el cual determina cuantos niveles (bluces) hay que saltar antes de continuar con la ejecución.

<?php
while (list ($key, $value) = each ($arr)) {
    if (!($key % 2)) { // skip odd members
        continue;
    }
    do_something_odd ($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Outer<br>\n";
    while (1) {
        echo "&nbsp;&nbsp;Middle<br>\n";
        while (1) {
            echo "&nbsp;&nbsp;Inner<br>\n";
            continue 3;
        }
        echo "Esto nunca se imprime.<br>\n";
    }
    echo "Y esto tampoco.<br>\n";
}
?>

Anterior | Inicio | Siguiente
break | Subir | switch


declare

La construcción declare es usada para definir directivas de ejecución para un bloque de código. La sintaxis de declare es similar a la de las otras estructuras de control:

declare (directiva) sentencia

Directiva permite asignar el comportamiento del bloque declare. Actualmente una sola directiva es reconocida: la directiva ticks (Consultar más abajo la información sobre la directiva ticks)

La sentencia es lo que se ejecuta -- Como se ejecuta y que efectos secundarios tiene depende de la directiva definida en la directiva.

El constructor declare se puede usar tambien globalmente, afectando a todo el código que le sigue.

<?php
// Estos son lo mismo:

// se puede usar este:
declare(ticks=1) {
    // script completo aqui
}

// o este:
declare(ticks=1);
// script completo aqui
?>

Ticks

Un "tick" es un evento que ocurre por cada N sentencias de bajo nivel ejecutadas dentro del bloque declare. El valor de N es especificado por ticks=N como directiva dentro de declare.

El evento que ocurre en cada "tick" es especificado usando la función register_tick_function(). Ver el ejemplo más abajo para más detalles. Tener en cuenta que mas de un evento puede ocurrir por cada "tick"

Ejemplo 16-1. Perfilar una sección de código PHP

<?php
// A function that records the time when it is called
function profile ($dump = FALSE)
{
    static $profile;

    // Return the times stored in profile, then erase it
    if ($dump) {
        $temp = $profile;
        unset ($profile);
        return ($temp);
    }

    $profile[] = microtime ();
}

// Set up a tick handler
register_tick_function("profile");

// Initialize the function before the declare block
profile ();

// Run a block of code, throw a tick every 2nd statement
declare (ticks=2) {
    for ($x = 1; $x < 50; ++$x) {
        echo similar_text (md5($x), md5($x*$x)), "<br />;";
    }
}

// Display the data stored in the profiler
print_r (profile (TRUE));
?>
Este ejemplo perfila el código PHP dentro del bloque 'declare', grabando la hora, una sentencia si y otra no, cuando fue ejecutada. Esta información puede ser usada para encontrar areas en donde el codigo es lento. Este proceso se puede implementar de diferentes maneras: usando "ticks" es más conveniente y facil de implementar.

"Ticks" es una manera muy buena de eliminar errores, implementando simples trabajos en paralelo, I/O en modo desatendido y otras tareas.

Ver también register_tick_function() y unregister_tick_function().

Anterior | Inicio | Siguiente
switch | Subir | return


do..while

Los bucles do..while son muy similares a los bucles while, excepto que las condiciones se comprueban al final de cada iteración en vez de al principio. La principal diferencia frente a los bucles regulares while es que se garantiza la ejecución de la primera iteración de un bucle do..while (la condición se comprueba sólo al final de la iteración), mientras que puede no ser necesariamente ejecutada con un bucle while regular (la condición se comprueba al principio de cada iteración, si esta se evalúa como FALSE desde el principio la ejecución del bucle finalizará inmediatamente).

Hay una sola sintaxis para los bucles do..while:

<?php
 $i = 0;
 do {
     print $i;
 } while ($i>0);
?>

El bucle de arriba se ejecutaría exactamente una sola vez, después de la primera iteración, cuando la condición se comprueba, se evalúa como FALSE ($i no es más grande que 0) y la ejecución del bucle finaliza.

Los usuarios avanzados de C pueden estar familiarizados con un uso distinto del bucle do..while, para permitir parar la ejecución en medio de los bloques de código, encapsulandolos con do..while(0), y usando la sentencia break. El siguiente fragmento de código demuestra esto:

<?php
do {
     if ($i < 5) {
         print "i no es lo suficientemente grande";
         break;
     }
     $i *= $factor;
     if ($i < $minimum_limit) {
         break;
     }
     print "i es correcto";
     /* procesa i */
 } while(0);
?>

No se preocupes si no entiende esto completamente o en absoluto. Se pueden codificar archivos de comandos e incluso archivos de comandos potentes sin usar esta 'propiedad'.

Anterior | Inicio | Siguiente
while | Subir | for


else

A menudo queremos ejecutar una sentencia si se cumple una cierta condicion, y una sentencia distinta si la condición no se cumple. Esto es para lo que sirve else. else extiende una sentencia if para ejecutar una sentencia en caso de que la expresión en la sentencia if se evalúe como FALSE. Por ejemplo, el siguiente código mostraría a es mayor que b si $a fuera mayor que $b, y a NO es mayor que b en cualquier otro caso:

<?php
 if ($a > $b) {
     print "a es mayor que b";
 } else {
     print "a NO es mayor que b";
 }
?>

La sentencia else se ejecuta solamente si la expresión if se evalúa como FALSE, y si hubiera alguna expresión elseif - sólo si se evaluaron también a FALSE (Ver elseif).

Anterior | Inicio | Siguiente
Estructuras de Control | Subir | elseif


elseif

elseif, como su nombre sugiere, es una combinación de if y else. Como else, extiende una sentencia if para ejecutar una sentencia diferente en caso de que la expresión if original se evalúa como FALSE. No obstante, a diferencia de else, ejecutará esa expresión alternativa solamente si la expresión condicional elseif se evalúa como TRUE. Por ejemplo, el siguiente código mostraría a es mayor que b, a es igual a b o a es menor que b:

<?php
 if ($a > $b) {
     print "a es mayor que b";
 } elseif ($a == $b) {
     print "a es igual que b";
 } else {
     print "a es mayor que b";
 }
?>

Puede haber varios elseifs dentro de la misma sentencia if. La primera expresión elseif (si hay alguna) que se evalúe como TRUE se ejecutaría. En PHP, también se puede escribir 'else if' (con dos palabras) y el comportamiento sería idéntico al de un 'elseif' (una sola palabra). El significado sintáctico es ligeramente distinto (si estas familiarizado con C, es el mismo comportamiento) pero la línea básica es que ambos resultarían tener exactamente el mismo comportamiento.

La sentencia elseif se ejecuta sólo si la expresión if precedente y cualquier expresión elseif precedente se evalúan como FALSE, y la expresión elseif actual se evalúa como TRUE.

Anterior | Inicio | Siguiente
else | Subir | Sintaxis Alternativa de Estructuras de Control


for

Los bucles for son los bucles más complejos en PHP. Se comportan como su contrapartida en C. La sintaxis de un bucle for es:

for (expr1; expr2; expr3) sentencia

La primera expresión (expr1) se evalúa (ejecuta) incondicionalmente una vez al principio del bucle.

Al comienzo de cada iteración, se evalúa expr2 . Si se evalúa como TRUE, el bucle continúa y las sentencias anidadas se ejecutan. Si se evalúa como FALSE, la ejecución del bucle finaliza.

Al final de cada iteración, se evalúa (ejecuta) expr3.

Cada una de las expresiones puede estar vacía. Que expr2 esté vacía significa que el bucle debería correr indefinidamente (PHP implicitamente lo considera como TRUE, al igual que C). Esto puede que no sea tan inútil como se podría pensar, puesto que a menudo se quiere salir de un bucle usando una sentencia break condicional en vez de usar la condición de for.

Considera los siguientes ejemplos. Todos ellos muestran números del 1 al 10:

<?php
 /* ejemplo 1 */

 for ($i = 1; $i <= 10; $i++) {
     print $i;
 }

 /* ejemplo 2 */

 for ($i = 1; ;$i++) {
     if ($i > 10) {
         break;
     }
     print $i;
 }

 /* ejemplo 3 */

 $i = 1;
 for (;;) {
     if ($i > 10) {
         break;
     }
     print $i;
     $i++;
 }

 /* ejemplo 4 */

 for ($i = 1; $i <= 10; print $i, $i++) ;
?>

Por supuesto, el primer ejemplo parece ser el mas elegante (o quizás el cuarto), pero uno puede descubrir que ser capaz de usar expresiones vacías en bucles for resulta útil en muchas ocasiones.

PHP también soporta la "sintaxis de dos puntos" alternativa para bucles for.

for (expr1; expr2; expr3): sentencia; ...; endfor;

Otros lenguajes poseen una sentencia foreach para traducir un array o una tabla hash. PHP3 no posee tal construcción; PHP4 sí (ver foreach). En PHP3, se puede combinar while con las funciones list() y each() para conseguir el mismo efecto. Mirar la documentación de estas funciones para ver un ejemplo.

Anterior | Inicio | Siguiente
do..while | Subir | foreach


foreach

PHP 4 (PHP3 no) incluye una construcción foreach, tal como perl y algunos otros lenguajes. Esto simplemente da un modo fácil de iterar sobre matrices. foreach funciona solamente con matrices y devolverá un error si se intenta utilizar con otro tipo de datos ó variables no inicializadas. Hay dos sintaxis; la segunda es una extensión menor, pero útil de la primera:

foreach(expresion_array as $value) sentencia
foreach(expresion_array as $key => $value) sentencia

La primera forma recorre el array dado por expresion_array. En cada iteración, el valor del elemento actual se asigna a $value y el puntero interno del array se avanza en una unidad (así en el siguiente paso, se estará mirando el elemento siguiente).

La segunda manera hace lo mismo, salvo que la clave del elemento actual será asignada a la variable $key en cada iteración.

Nota: Cuando foreach comienza su primera ejecución, el puntero interno a la matriz se reinicia automáticamente al primer elemento de la matriz. Esto significa que no se necesita llamar a reset() antes de un bucle foreach.

Nota: Hay que tener en cuenta queforeach trabaja con una copia de la matriz especificada y no la lista en si, por ello el puntero de la lista no es modificado como en la función each(), y los cambios en el elemento de la matriz retornado no afectan a la matriz original. De todas maneras el puntero interno a la matriz original avanza al procesar la matriz. suponiendo que bucle foreach se ejecuta hasta el final, el puntero interno a la matriz estar/aacute; al final de la matriz.

Nota: foreach no soporta la caracteristica de suprimir mensajes de error con '@'.

Puede haber observado que las siguientes son funcionalidades idénticas:

<?php
$arr = array("one", "two", "three");
reset ($arr);
while (list(, $value) = each ($arr)) {
    echo "Value: $value<br>\n";
}

foreach ($arr as $value) {
    echo "Value: $value<br>\n";
}
?>

Las siguientes también son funcionalidades idénticas:

<?php
reset( $arr );
while( list( $key, $value ) = each( $arr ) ) {
   echo "Key: $key; Valor: $value&lt;br&gt;\n";
}

foreach( $arr as $key => $value ) {
   echo "Key: $key; Valor: $value&lt;br&gt;\n";
}
?>

Algunos ejemplos más para demostrar su uso:

<?php
/* foreach ejemplo 1: s&oacute;lo valor*/
$a = array(1, 2, 3, 17);

foreach($a as $v) {
   print "Valor actual de \$a: $v.\n";
}

/* foreach ejemplo 2: valor (con clave impresa para ilustrar) */
$a = array(1, 2, 3, 17);

$i = 0; /* s&oacute;lo para prop&oacute;sitos demostrativos */

foreach($a as $v) {
   print "\$a[$i] => $v.\n";
   $i++;
}

/* foreach ejemplo 3: clave y valor */
$a = array(
   "uno" => 1,
   "dos" => 2,
   "tres" => 3,
   "diecisiete" => 17
);

foreach($a as $k => $v) {
   print "\$a[$k] => $v.\n";
}

/* foreach ejemplo 4: matriz multi-dimensional */

$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach($a as $v1) {
    foreach ($v1 as $v2) {
        print "$v2\n";
    }
}

/* foreach ejemplo 5: matriz din&aacute;mica */

foreach(array(1, 2, 3, 4, 5) as $v) {
    print "$v\n";
}
?>

Anterior | Inicio | Siguiente
for | Subir | break


switch

La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, se quiere comparar la misma variable (o expresión) con nuchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a qué valor es igual. Para ello sirve la sentencia switch.

Nota: Tener en cuenta que al contrario que otros lenguajes de programación, continue se aplica a switch y funciona de manera similar a break. Si teneis un switch dentro de un bucle y deseais continuar con el paso siguiente en el bucle externo, usar continue 2.

Los siguientes dos ejemplos son dos modos distintos de escribir la misma cosa, uno usa una serie de sentencias if, y el otro usa la sentencia switch:

<?php
if ($i == 0) {
    print "i equals 0";
} elseif ($i == 1) {
    print "i equals 1";
} elseif ($i == 2) {
    print "i equals 2";
}

switch ($i) {
    case 0:
        print "i equals 0";
        break;
    case 1:
        print "i equals 1";
        break;
    case 2:
        print "i equals 2";
        break;
}
?>

Es importante entender cómo se ejecuta la sentencia switch para evitar errores. La sentencia switch ejecuta línea por línea (realmente, sentencia a sentencia). Al comienzo, no se ejecuta código. Sólo cuando se encuentra una sentencia case con un valor que coincide con el valor de la expresión switch PHP comienza a ejecutar las sentencias. PHP continúa ejecutando las sentencias hasta el final del bloque switch, o la primera vez que vea una sentencia break. Si no se escribe una sentencia break al final de una lista de sentencias case, PHP seguirá ejecutando las sentencias del siguiente case. Por ejemplo:

<?php
 switch ($i) {
     case 0:
         print "i es igual a 0";
     case 1:
         print "i es igual a 1";
     case 2:
         print "i es igual a 2";
 }
?>

Aquí, si $i es igual a 0, ¡PHP ejecutaría todas las sentecias print! Si $i es igual a 1, PHP ejecutaría las últimas dos sentencias print y sólo si $i es igual a 2, se obtendría la conducta 'esperada' y solamente se mostraría 'i es igual a 2'. Así, es importante no olvidar las sentencias break (incluso aunque pueda querer evitar escribirlas intencionadamente en ciertas circunstancias).

En una sentencia switch, la condición se evalúa sólo una vez y el resultado se compara a cada sentencia case. En una sentencia elseif, la condición se evalúa otra vez. Si tu condición es más complicada que una comparación simple y/o está en un bucle estrecho, un switch puede ser más rápido.

La lista de sentencias de un case puede también estar vacía, lo cual simplemente pasa el control a la lista de sentencias del siguiente case.

<?php
switch ($i) {
     case 0:
     case 1:
     case 2:
         print "i es menor que 3, pero no negativo";
         break;
     case 3:
         print "i es 3";
 }
?>

Un caso especial es el default case". Este "case" coincide con todo lo que no coincidan los otros case. Por ejemplo:

<?php
 switch ($i) {
     case 0:
         print "i es igual a 0";
         break;
     case 1:
         print "i es igual a 1";
         break;
     case 2:
         print "i es igual a 2";
         break;
     default:
         print "i no es igual a 0, 1 o 2";
 }
?>

La expresión case puede ser cualquier expresión que se evalúe a un tipo simple, es decir, números enteros o de punto flotante y cadenas de texto. No se pueden usar aquí ni arrays ni objetos a menos que se conviertan a un tipo simple.

La sintaxis alternativa para las estructuras de control está también soportada con switch. Para más información, ver Sintaxis alternativa para estructuras de control.

<?php
switch ($i):
     case 0:
         print "i es igual 0";
         break;
     case 1:
         print "i es igual a 1";
         break;
     case 2:
         print "i es igual a 2";
         break;
     default:
         print "i no es igual a 0, 1 o 2";
 endswitch;
?>

Anterior | Inicio | Siguiente
continue | Subir | declare


while

Los bucles while son los tipos de bucle más simples en PHP. Se comportan como su contrapartida en C. La forma básica de una sentencia while es:

while (expr) sentencia

El significado de una sentencia while es simple. Le dice a PHP que ejecute la(s) sentencia(s) anidada(s) repetidamente, mientras la expresión while se evalúe como TRUE. El valor de la expresión es comprobado cada vez al principio del bucle, así que incluso si este valor cambia durante la ejecución de la(s) sentencia(s) anidada(s), la ejecución no parará hasta el fin de la iteración (cada vez que PHP ejecuta las sentencias en el bucle es una iteración). A veces, si la expresión while se evalúa como FALSE desde el principio de todo, la(s) sentencia(s) anidada(s) no se ejecutarán ni siquiera una vez.

Como con la sentencia if, se pueden agrupar multiples sentencias dentro del mismo bucle while encerrando un grupo de sentencias con llaves, o usando la sintaxis alternativa:

while (expr): sentencia ... endwhile;

Los siguientes ejemplos son idénticos, y ambos imprimen números del 1 al 10:

<?php
/* ejemplo 1 */

 $i = 1;
 while ($i <= 10) {
     print $i++;  /* el valor impreso ser&iacute;a
                     $i antes del incremento
                     (post-incremento) */
 }

 /* ejemplo 2 */

 $i = 1;
 while ($i <= 10):
     print $i;
     $i++;
 endwhile;
?>

Anterior | Inicio | Siguiente
Sintaxis Alternativa de Estructuras de Control | Subir | do..while


Categorización de Extensiones

Manual de PHP
Anterior Siguiente

Apéndice I. Categorización de Extensiones

Tabla de contenidos
Propósito
Membrecía
Estado

Este apéndice categoriza más de 150 extensiones documentadas en el manual de PHP, de acuerdo a varios criterios.

Propósito

Extensiones PHP Básicas

Extensiones Relacionadas con Variables y Tipos

  • Referencia V, Funciones de matrices

  • Referencia XIII, Classkit Functions

  • Referencia XII, Funciones de Clases/Objetos

  • Referencia XVII, Funciones de Tipo de Caracter

  • Referencia XLI, Filter Functions

  • Referencia XLVII, Funciones de Gestión de Funciones

  • Referencia CIII, Object Aggregation/Composition Functions

  • Referencia CLXVIII, Funciones de Manejo de Variables

Procesamiento de Texto

  • Referencia CXVIII, Funciones de Expresiones Regulares (Compatibles con Perl)

  • Referencia CXXIV, Funciones de Expresiones Regulares (POSIX Extendido)

  • Referencia CLIX, Funciones de Cadenas

  • Referencia CLXXVI, xdiff Functions

Afectan el Comportamiento de PHP

  • Referencia III, Alternative PHP Cache

  • Referencia IV, Depurador Avanzado de PHP

  • Referencia VIII, Compilador Bytecode de PHP

  • Referencia XXXIII, Funciones de Gestión de Errores y Registros

  • Referencia LIV, HTTP

  • Referencia CXXII, Opciones e Información de PHP

  • Referencia CXIII, Funciones de Control de Salida

  • Referencia CXXXVII, runkit Functions

Extensiones de Sesión

  • Referencia XCII, Mohawk Software Session Handler Functions

  • Referencia XCV, muscat Functions

  • Referencia CXLVII, Funciones para el manejo de sesiones

  • Referencia CXLVI, PostgreSQL Session Save Handler

Otras Extensiones Básicas

  • Referencia XLVIII, GeoIP Functions

  • Referencia LXXI, JSON Functions

  • Referencia LXXXVIII, Funciones de Miscelánea

  • Referencia CXVI, Parsekit Functions

  • Referencia CLIII, Funciones SPL (Standard PHP Library)

  • Referencia CLXIV, Tidy Functions

  • Referencia CLXV, Tokenizer Functions

  • Referencia CLXVII, Funciones de URL

Extensiones de Bases de Datos

Capas de Abstracción

  • Referencia XXIV, Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)

  • Referencia XXVII, dbx Functions

  • Referencia CXX, PDO Functions

  • Referencia CXLI, SDO Functions

  • Referencia CXLIII, SDO Relational Data Access Service Functions

  • ref.uodbc

Extensiones de Bases de Datos de Proveedores Específicos

  • Referencia XXV, Funciones para dBase

  • Referencia XXIII, DB++ Functions

  • Referencia XLV, FrontBase Functions

  • Referencia XXXIX, Funciones filePro

  • Referencia XLII, Funciones InterBase

  • Referencia LVIII, IBM DB2, Cloudscape and Apache Derby Functions

  • Referencia LXVI, Funciones de Informix

  • Referencia LXVIII, Ingres II functions

  • Referencia LXXX, MaxDB PHP Extension

  • Referencia XCIII, Funciones mSQL

  • Referencia XC, Funciones de Microsoft SQL Server

  • Referencia XCVI, Funciones MySQL

  • Referencia XCVIII, Extensión mejorada de MySQL

  • Referencia CV, Funciones de Oracle

  • Referencia CXI, Funciones Oracle

  • Referencia CXIV, Ovrimos SQL functions

  • Referencia CXV, Paradox File Access

  • Referencia XCI, Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

  • Referencia XLIII, Firebird/Interbase Functions (PDO_FIREBIRD)

  • Referencia LXVII, Informix Functions (PDO_INFORMIX)

  • Referencia XCVII, MySQL Functions (PDO_MYSQL)

  • Referencia CXII, Oracle Functions (PDO_OCI)

  • Referencia CVII, ODBC and DB2 Functions (PDO_ODBC)

  • Referencia CXXVI, PostgreSQL Functions (PDO_PGSQL)

  • Referencia CLV, SQLite Functions (PDO_SQLITE)

  • Referencia CXXV, Funciones PostgreSQL

  • Referencia CLIV, Funciones SQLite

  • Referencia CLXII, Funciones de Sybase

Manipulación de XML

  • Referencia XXX, DOM Functions

  • Referencia XXXI, Funciones DOM XML

  • Referencia LXXIV, libxml Functions

  • Referencia CXXXI, qtdom Functions

  • Referencia CXLII, SDO XML Data Access Service Functions

  • Referencia CXLIX, Funciones SimpleXML

  • Referencia CLXXVII, Funciones de intérprete XML

  • Referencia CLXXIX, XMLReader functions

  • Referencia CLXXX, XMLWriter Functions

  • Referencia CLXXXI, XSL functions

  • Referencia CLXXXII, XSLT functions

Servicios Web

  • Referencia CLI, Funciones SOAP

  • Referencia CLXXII, Funciones WDDX

  • Referencia CLXXVIII, XML-RPC Functions

Procesamiento de Tarjetas de Crédito

  • Referencia XIX, Funciones de pago electrónico

  • Referencia XX, Credit Mutuel CyberMUT functions

  • Referencia LXXXIII, MCVE (Monetra) Payment Functions

  • Referencia CLXIX, Verisign Payflow Pro functions

Matemáticas y Criptografía

Extensiones Matemáticas

  • Referencia VII, Funciones matemáticas de precisión arbitraria BCMath

  • Referencia L, Funciones GMP

  • Referencia LXXIX, Funciones matemáticas

  • Referencia CLVII, Statistics Functions

Extensiones de Criptografía

  • Referencia XVI, Funciones para Crackear

  • Referencia LIII, hash Functions

  • Referencia LXXXII, Funciones de Cifrado Mcrypt

  • Referencia LXXXV, Funciones Mhash

  • Referencia CX, OpenSSL Functions

Soporte de Idioma Humano y Codificación de Caracteres

  • Referencia XXXII, enchant Functions

  • Referencia XLIV, FriBiDi Functions

  • Referencia XLIX, Gettext

  • Referencia LX, Funciones iconv

  • Referencia XCIV, Multibyte String Functions

  • Referencia CXXX, Pspell Functions

  • Referencia CXXXV, Funciones GNU Recode

  • Referencia CLXVI, Unicode Functions

Sistema de Archivos y Control de Procesos

Extensiones Relacionadas con Sistemas de Archivos

  • Referencia XXVIII, Funciones de acceso directo a E/S

  • Referencia XXIX, Funciones de Directorio

  • Referencia XXXVI, File Alteration Monitor Functions

  • Referencia XXXVIII, Fileinfo Functions

  • Referencia XL, Funciones del Sistema de Archivos

  • Referencia LXXXVI, Funciones Mimetype

  • Referencia CLXXV, Funciones xattr

Extensiones de Control de Procesos

  • Referencia CXXVIII, Funciones de Ejecución de Programas

  • Referencia XXXV, Expect Functions

  • Referencia CXVII, Funciones de Control de Procesos

  • Referencia CXXIII, Funciones POSIX

  • Referencia CXLIV, Funciones Semáforo y de memoria compartida

  • Referencia CXLVIII, Funciones de Memoria Compartida

Acceso a Servicios

Extensiones Relacionadas con Correo

  • Referencia XXI, Cyrus IMAP administration Functions

  • Referencia LXV, Funciones IMAP, POP3 y NNTP

  • Referencia LXXVII, Funciones de Correo

  • Referencia LXXVIII, Funciones Mailparse

  • Referencia CLXX, vpopmail Functions

Servicios de Autenticación

  • Referencia LXXII, KADM5

  • Referencia CXXXII, Radius

Otros Servicios

  • Referencia XVIII, Funciones CURL (Client URL Library)

  • Referencia XLVI, Funciones FTP

  • Referencia LV, Funciones para Hyperwave

  • Referencia LVI, Hyperwave API Functions

  • Referencia LXIX, IRC Gateway Functions

  • Referencia LXX, Integración de Java y PHP

  • Referencia LXXIII, Funciones LDAP

  • Referencia LXXXIV, Memcache Functions

  • Referencia LXXXIX, mnoGoSearch Functions

  • Referencia LII, Net_Gopher

  • Referencia C, Funciones de Red

  • Referencia CLXXXIV, NIS funciona

  • Referencia LXXV, Lotus Notes Functions

  • Referencia CL, Funciones SNMP

  • Referencia CLII, Funciones de Socket

  • Referencia CLVI, Secure Shell2 Functions

  • Referencia CLVIII, Funciones de Secuencias

  • Referencia CLXIII, TCP Wrappers Functions

  • Referencia CLXXXIII, YAZ

Extensiones de Compresión

  • Referencia IX, Funciones de compresión Bzip2

  • Referencia LXXVI, LZF Functions

  • Referencia CXXXIII, Rar Functions

  • Referencia CLXXXV, Funciones de manejo de archivos Zip (sólo lectura)

  • Referencia CLXXXVI, Funciones de Compresión Zlib

Extensiones Relacionadas con Calendario y Eventos

  • Referencia X, Funciones de calendario

  • Referencia XXII, Funciones de Fecha y Hora

  • Referencia LXXXI, MCAL functions

Extensiones de Uso en Áreas Específicas

Salida MIME Diferente a Texto

  • Referencia XIV, Funciones ClibPDF

  • Referencia XXXVII, Funciones del Formato de Datos de Formulario

  • Referencia LI, gnupg Functions

  • Referencia LXXXVII, Ming functions for Flash

  • Referencia CXIX, Funciones PDF

  • Referencia CXXIX, PostScript document creation

  • Referencia CXXXVI, RPM Header Reading Functions

  • Referencia CLX, Shockwave Flash functions

Procesamiento y Generación de Imágenes

  • Referencia XXXIV, Exif Functions

  • Referencia LXIII, Funciones para imágenes

Manipulación de Formatos de Audio

  • Referencia LXI, Funciones de tratamiento de etiquetas ID3

  • Referencia CVIII, oggvorbis

  • Referencia CIX, OpenAL Audio Bindings

Extensiones Específicas de Línea de Comandos

  • Referencia XCIX, Funciones de Control de Pantalla con Terminal Ncurses

  • Referencia CI, Newt Functions

  • Referencia CXXXIV, GNU Readline

Extensiones Solo Para Windows

  • Referencia XV, Funciones COM y .Net (Windows)

  • Referencia I, .NET Functions

  • Referencia CXXVII, Printer Functions

  • Referencia CLXXI, W32api Functions

  • Referencia CLXXIII, win32ps Functions

  • Referencia CLXXIV, win32service Functions

Extensiones Específicas de Servidor

  • Referencia II, Funciones específicas de Apache

  • Referencia LXII, IIS Administration Functions

  • Referencia CII, NSAPI-specific Functions

Anterior | Inicio | Siguiente
List of timezones in the group Others | Subir | Membrecía


Membrecía

Extensiones de Núcleo

Estas no son extensiones realmente. Son parte del núcleo de PHP y no pueden omitirse en un binario de PHP con opciones de compilación.

  • Referencia V, Funciones de matrices

  • Referencia XII, Funciones de Clases/Objetos

  • Referencia XXII, Funciones de Fecha y Hora

  • Referencia XXIX, Funciones de Directorio

  • Referencia XXXIII, Funciones de Gestión de Errores y Registros

  • Referencia CXXVIII, Funciones de Ejecución de Programas

  • Referencia XL, Funciones del Sistema de Archivos

  • Referencia XLVII, Funciones de Gestión de Funciones

  • Referencia CXXII, Opciones e Información de PHP

  • Referencia LXXVII, Funciones de Correo

  • Referencia LXXIX, Funciones matemáticas

  • Referencia LXXXVIII, Funciones de Miscelánea

  • Referencia C, Funciones de Red

  • Referencia CXIII, Funciones de Control de Salida

  • Referencia CXXIV, Funciones de Expresiones Regulares (POSIX Extendido)

  • Referencia CXLVII, Funciones para el manejo de sesiones

  • Referencia CLVIII, Funciones de Secuencias

  • Referencia CLIX, Funciones de Cadenas

  • Referencia CLXV, Tokenizer Functions

  • Referencia CLXVI, Unicode Functions

  • Referencia CLXVII, Funciones de URL

  • Referencia CLXVIII, Funciones de Manejo de Variables

Extensiones Incorporadas

Estas extensiones son distribuidas con PHP.

  • Referencia II, Funciones específicas de Apache

  • Referencia VII, Funciones matemáticas de precisión arbitraria BCMath

  • Referencia IX, Funciones de compresión Bzip2

  • Referencia X, Funciones de calendario

  • Referencia XV, Funciones COM y .Net (Windows)

  • Referencia XVII, Funciones de Tipo de Caracter

  • Referencia XVIII, Funciones CURL (Client URL Library)

  • Referencia XXIV, Funciones de la Capa de Abstracción de Bases de Datos (tipo-dbm)

  • Referencia XXV, Funciones para dBase

  • Referencia XXX, DOM Functions

  • Referencia I, .NET Functions

  • Referencia XXXIV, Exif Functions

  • Referencia XLV, FrontBase Functions

  • Referencia XXXVII, Funciones del Formato de Datos de Formulario

  • Referencia XLVI, Funciones FTP

  • Referencia XLIX, Gettext

  • Referencia L, Funciones GMP

  • Referencia LIII, hash Functions

  • Referencia XLII, Funciones InterBase

  • Referencia LX, Funciones iconv

  • Referencia LXVI, Funciones de Informix

  • Referencia LXIII, Funciones para imágenes

  • Referencia LXV, Funciones IMAP, POP3 y NNTP

  • Referencia LXXI, JSON Functions

  • Referencia LXXIII, Funciones LDAP

  • Referencia LXXIV, libxml Functions

  • Referencia XCIV, Multibyte String Functions

  • Referencia LXXXII, Funciones de Cifrado Mcrypt

  • Referencia LXXXV, Funciones Mhash

  • Referencia LXXXVI, Funciones Mimetype

  • Referencia LXXXVII, Ming functions for Flash

  • Referencia XCIII, Funciones mSQL

  • Referencia XC, Funciones de Microsoft SQL Server

  • Referencia XCVI, Funciones MySQL

  • Referencia XCVIII, Extensión mejorada de MySQL

  • Referencia XCIX, Funciones de Control de Pantalla con Terminal Ncurses

  • Referencia CII, NSAPI-specific Functions

  • Referencia CIII, Object Aggregation/Composition Functions

  • Referencia CV, Funciones de Oracle

  • Referencia CX, OpenSSL Functions

  • Referencia CXVII, Funciones de Control de Procesos

  • Referencia CXVIII, Funciones de Expresiones Regulares (Compatibles con Perl)

  • Referencia CXX, PDO Functions

  • Referencia XCI, Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

  • Referencia XLIII, Firebird/Interbase Functions (PDO_FIREBIRD)

  • Referencia XCVII, MySQL Functions (PDO_MYSQL)

  • Referencia CXII, Oracle Functions (PDO_OCI)

  • Referencia CVII, ODBC and DB2 Functions (PDO_ODBC)

  • Referencia CXXVI, PostgreSQL Functions (PDO_PGSQL)

  • Referencia CLV, SQLite Functions (PDO_SQLITE)

  • Referencia CXXV, Funciones PostgreSQL

  • Referencia CXXIII, Funciones POSIX

  • Referencia CXXX, Pspell Functions

  • Referencia CXXXIV, GNU Readline

  • Referencia CXXXV, Funciones GNU Recode

  • Referencia CXLIV, Funciones Semáforo y de memoria compartida

  • Referencia CXLVIII, Funciones de Memoria Compartida

  • Referencia CXLIX, Funciones SimpleXML

  • Referencia CL, Funciones SNMP

  • Referencia CLI, Funciones SOAP

  • Referencia CLII, Funciones de Socket

  • Referencia CLIII, Funciones SPL (Standard PHP Library)

  • Referencia CLIV, Funciones SQLite

  • Referencia CLXII, Funciones de Sybase

  • Referencia CLXIV, Tidy Functions

  • ref.uodbc

  • Referencia CLXXII, Funciones WDDX

  • Referencia CLXXVII, Funciones de intérprete XML

  • Referencia CLXXIX, XMLReader functions

  • Referencia CLXXVIII, XML-RPC Functions

  • Referencia CLXXXI, XSL functions

  • Referencia CLXXXII, XSLT functions

  • Referencia CLXXXV, Funciones de manejo de archivos Zip (sólo lectura)

  • Referencia CLXXXVI, Funciones de Compresión Zlib

Extensiones Externas

Para compilar estas extensiones se requieren bibliotecas externas.

  • Referencia IX, Funciones de compresión Bzip2

  • Referencia XIV, Funciones ClibPDF

  • Referencia XVI, Funciones para Crackear

  • Referencia XVIII, Funciones CURL (Client URL Library)

  • Referencia XXV, Funciones para dBase

  • Referencia XXIII, DB++ Functions

  • Referencia XXVII, dbx Functions

  • Referencia XXX, DOM Functions

  • Referencia XXXI, Funciones DOM XML

  • Referencia XXXII, enchant Functions

  • Referencia XXXVI, File Alteration Monitor Functions

  • Referencia XLV, FrontBase Functions

  • Referencia XXXVII, Funciones del Formato de Datos de Formulario

  • Referencia XXXVIII, Fileinfo Functions

  • Referencia XLIV, FriBiDi Functions

  • Referencia XLVIII, GeoIP Functions

  • Referencia XLIX, Gettext

  • Referencia L, Funciones GMP

  • Referencia LV, Funciones para Hyperwave

  • Referencia LVI, Hyperwave API Functions

  • Referencia XLII, Funciones InterBase

  • Referencia LVIII, IBM DB2, Cloudscape and Apache Derby Functions

  • Referencia LXVI, Funciones de Informix

  • Referencia LXV, Funciones IMAP, POP3 y NNTP

  • Referencia LXVIII, Ingres II functions

  • Referencia LXIX, IRC Gateway Functions

  • Referencia LXX, Integración de Java y PHP

  • Referencia LXXIII, Funciones LDAP

  • Referencia LXXIV, libxml Functions

  • Referencia LXXX, MaxDB PHP Extension

  • Referencia LXXXI, MCAL functions

  • Referencia LXXXII, Funciones de Cifrado Mcrypt

  • Referencia LXXXIV, Memcache Functions

  • Referencia LXXXV, Funciones Mhash

  • Referencia LXXXVII, Ming functions for Flash

  • Referencia LXXXIX, mnoGoSearch Functions

  • Referencia XCII, Mohawk Software Session Handler Functions

  • Referencia XCIII, Funciones mSQL

  • Referencia XC, Funciones de Microsoft SQL Server

  • Referencia XCV, muscat Functions

  • Referencia XCVI, Funciones MySQL

  • Referencia XCVIII, Extensión mejorada de MySQL

  • Referencia XCIX, Funciones de Control de Pantalla con Terminal Ncurses

  • Referencia CI, Newt Functions

  • Referencia CV, Funciones de Oracle

  • Referencia CVIII, oggvorbis

  • Referencia CIX, OpenAL Audio Bindings

  • Referencia CX, OpenSSL Functions

  • Referencia CXI, Funciones Oracle

  • Referencia CXIV, Ovrimos SQL functions

  • Referencia CXV, Paradox File Access

  • Referencia CXIX, Funciones PDF

  • Referencia XCI, Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

  • Referencia XLIII, Firebird/Interbase Functions (PDO_FIREBIRD)

  • Referencia LXVII, Informix Functions (PDO_INFORMIX)

  • Referencia XCVII, MySQL Functions (PDO_MYSQL)

  • Referencia CXII, Oracle Functions (PDO_OCI)

  • Referencia CVII, ODBC and DB2 Functions (PDO_ODBC)

  • Referencia CXXVI, PostgreSQL Functions (PDO_PGSQL)

  • Referencia CLXIX, Verisign Payflow Pro functions

  • Referencia CXXV, Funciones PostgreSQL

  • Referencia CXXIX, PostScript document creation

  • Referencia CXXX, Pspell Functions

  • Referencia CXXXI, qtdom Functions

  • Referencia CXXXII, Radius

  • Referencia CXXXIII, Rar Functions

  • Referencia CXXXIV, GNU Readline

  • Referencia CXXXV, Funciones GNU Recode

  • Referencia CXLVI, PostgreSQL Session Save Handler

  • Referencia CXLIX, Funciones SimpleXML

  • Referencia CL, Funciones SNMP

  • Referencia CLI, Funciones SOAP

  • Referencia CLVI, Secure Shell2 Functions

  • Referencia CLX, Shockwave Flash functions

  • Referencia CLXII, Funciones de Sybase

  • Referencia CLXIV, Tidy Functions

  • Referencia CLXVI, Unicode Functions

  • ref.uodbc

  • Referencia CLXX, vpopmail Functions

  • Referencia CLXXII, Funciones WDDX

  • Referencia CLXXV, Funciones xattr

  • Referencia CLXXVI, xdiff Functions

  • Referencia CLXXVII, Funciones de intérprete XML

  • Referencia CLXXIX, XMLReader functions

  • Referencia CLXXXI, XSL functions

  • Referencia CLXXXII, XSLT functions

  • Referencia CLXXXIII, YAZ

Extensiones PECL

Estas extensiones están disponibles desde PECL. Existen más extensiones PECL, pero no están documentadas aun en el manual de PHP.

  • Referencia III, Alternative PHP Cache

  • Referencia IV, Depurador Avanzado de PHP

  • Referencia VIII, Compilador Bytecode de PHP

  • Referencia XIII, Classkit Functions

  • Referencia XIV, Funciones ClibPDF

  • Referencia XVI, Funciones para Crackear

  • Referencia XIX, Funciones de pago electrónico

  • Referencia XX, Credit Mutuel CyberMUT functions

  • Referencia XXI, Cyrus IMAP administration Functions

  • Referencia XXIII, DB++ Functions

  • Referencia XXVII, dbx Functions

  • Referencia XXVIII, Funciones de acceso directo a E/S

  • Referencia XXXI, Funciones DOM XML

  • Referencia XXXII, enchant Functions

  • Referencia XXXV, Expect Functions

  • Referencia XXXVI, File Alteration Monitor Functions

  • Referencia XXXVIII, Fileinfo Functions

  • Referencia XXXIX, Funciones filePro

  • Referencia XLI, Filter Functions

  • Referencia XLIV, FriBiDi Functions

  • Referencia XLVIII, GeoIP Functions

  • Referencia LI, gnupg Functions

  • Referencia LIII, hash Functions

  • Referencia LIV, HTTP

  • Referencia LV, Funciones para Hyperwave

  • Referencia LVI, Hyperwave API Functions

  • Referencia LVIII, IBM DB2, Cloudscape and Apache Derby Functions

  • Referencia LXI, Funciones de tratamiento de etiquetas ID3

  • Referencia LXII, IIS Administration Functions

  • Referencia LXVIII, Ingres II functions

  • Referencia LXIX, IRC Gateway Functions

  • Referencia LXX, Integración de Java y PHP

  • Referencia LXXI, JSON Functions

  • Referencia LXXII, KADM5

  • Referencia LXXVI, LZF Functions

  • Referencia LXXVIII, Funciones Mailparse

  • Referencia LXXX, MaxDB PHP Extension

  • Referencia LXXXI, MCAL functions

  • Referencia LXXXIII, MCVE (Monetra) Payment Functions

  • Referencia LXXXIV, Memcache Functions

  • Referencia LXXXIX, mnoGoSearch Functions

  • Referencia XCII, Mohawk Software Session Handler Functions

  • Referencia XCV, muscat Functions

  • Referencia XCIX, Funciones de Control de Pantalla con Terminal Ncurses

  • Referencia LII, Net_Gopher

  • Referencia CI, Newt Functions

  • Referencia CLXXXIV, NIS funciona

  • Referencia LXXV, Lotus Notes Functions

  • Referencia CVIII, oggvorbis

  • Referencia CIX, OpenAL Audio Bindings

  • Referencia CXI, Funciones Oracle

  • Referencia CXIV, Ovrimos SQL functions

  • Referencia CXV, Paradox File Access

  • Referencia CXVI, Parsekit Functions

  • Referencia CXIX, Funciones PDF

  • Referencia CXX, PDO Functions

  • Referencia XCI, Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

  • Referencia XLIII, Firebird/Interbase Functions (PDO_FIREBIRD)

  • Referencia LXVII, Informix Functions (PDO_INFORMIX)

  • Referencia XCVII, MySQL Functions (PDO_MYSQL)

  • Referencia CXII, Oracle Functions (PDO_OCI)

  • Referencia CVII, ODBC and DB2 Functions (PDO_ODBC)

  • Referencia CXXVI, PostgreSQL Functions (PDO_PGSQL)

  • Referencia CLV, SQLite Functions (PDO_SQLITE)

  • Referencia CLXIX, Verisign Payflow Pro functions

  • Referencia CXXVII, Printer Functions

  • Referencia CXXIX, PostScript document creation

  • Referencia CXXXI, qtdom Functions

  • Referencia CXXXII, Radius

  • Referencia CXXXIII, Rar Functions

  • Referencia CXXXVI, RPM Header Reading Functions

  • Referencia CXXXVII, runkit Functions

  • Referencia CXLI, SDO Functions

  • Referencia CXLII, SDO XML Data Access Service Functions

  • Referencia CXLIII, SDO Relational Data Access Service Functions

  • Referencia CXLVI, PostgreSQL Session Save Handler

  • Referencia CLVI, Secure Shell2 Functions

  • Referencia CLVII, Statistics Functions

  • Referencia CLX, Shockwave Flash functions

  • Referencia CLXIII, TCP Wrappers Functions

  • Referencia CLXIV, Tidy Functions

  • Referencia CLXX, vpopmail Functions

  • Referencia CLXXI, W32api Functions

  • Referencia CLXXIII, win32ps Functions

  • Referencia CLXXIV, win32service Functions

  • Referencia CLXXV, Funciones xattr

  • Referencia CLXXVI, xdiff Functions

  • Referencia CLXXIX, XMLReader functions

  • Referencia CLXXX, XMLWriter Functions

  • Referencia CLXXXIII, YAZ

  • Referencia CLXXXV, Funciones de manejo de archivos Zip (sólo lectura)

Anterior | Inicio | Siguiente
Categorización de Extensiones | Subir | Estado


Estado

Esta sección lista las extensiones que no son recomendables para su uso en producción - son demasiado "viejas" (obsoletas) o "nuevas" (experimentales).

Extensiones Obsoletas

Estas extensiones han sido marcadas como obsoletas, por lo general han sido reemplazadas por otras extensiones.

  • Referencia VI, Funciones Aspell [deprecated]

  • Referencia XI, Funciones del API de CCVS

  • Referencia XXVI, Funciones DBM Functions [obsoletas]

  • Referencia LIX, Funciones ICAP [eliminadas]

  • Referencia LXXXVI, Funciones Mimetype

  • Referencia CXI, Funciones Oracle

  • Referencia CIV, Object property and method call overloading

  • Referencia CXXXIX, Satellite CORBA client extension [deprecated]

  • Referencia CXLV, SESAM database functions

Extensiones Experimentales

El comportamiento de estas extensiones - incluyendo los nombres de sus funciones y cualquier otra cosa documentada sobre estas extensiones - puede cambiar sin previo aviso en una futura versión de PHP. Use estas extensiones bajo su propio riesgo.

  • Referencia I, .NET Functions

  • Referencia XLI, Filter Functions

  • Referencia LIII, hash Functions

  • Referencia LXX, Integración de Java y PHP

  • Referencia LXXVIII, Funciones Mailparse

  • Referencia XCV, muscat Functions

  • Referencia CI, Newt Functions

  • Referencia CIII, Object Aggregation/Composition Functions

  • Referencia CXLI, SDO Functions

  • Referencia CXLII, SDO XML Data Access Service Functions

  • Referencia CXLIII, SDO Relational Data Access Service Functions

  • Referencia CLXX, vpopmail Functions

Anterior | Inicio | Siguiente
Membrecía | Subir | Lista de alias de funciones


Filtros de Encripción

mcrypt.* y mdecrypt.* ofrecen encripción y desencripción simétrica usando libmcrypt. Ambos conjuntos de filtros soportan los mismos algoritmos disponibles a la extensión mcrypt en la forma de mcrypt.ciphername, en donde ciphername es el nombre del cifrado que debe ser pasado a mcrypt_module_open(). Los siguientes cinco parámetros se encuentran disponibles también:

Tabla N-1. parámetros del filtro mcrypt

Parámetro | ¿Requerido? | Predeterminado | Ejemplos
mode | Opcional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Opcional | ini_get('mcrypt.algorithms_dir') | Ubicación de los módulos de los algoritmos
modes_dir | Opcional | ini_get('mcrypt.modes_dir') | Ubicación de los módulos de los modos
iv | Requerido | N/A | Usualmente 8, 16, o 32 bytes de datos binarios. Depende del cifrado
key | Requerido | N/A | Usualmente 8, 16, o 32 bytes de datos binarios. Depende del cifrado

Ejemplo N-10. Encripción de la salida usando 3DES

<?php
$frase_secreta = 'Mi secreto';

/* Convertir una frase legible en una pareja iv/llave reproducible
 */
$iv = substr(md5('iv'.$frase_secreta, true), 0, 8);
$llave = substr(md5('contrasenya1'.$frase_secreta, true) .
               md5('contrasenya2'.$frase_secreta, true), 0, 24);
$opciones = array('iv'=>$iv, 'key'=>$key);

$da = fopen('archivo-secreto.enc', 'wb');
stream_filter_append($da, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opciones);
fwrite($da, 'Datos muy muy muy secretos');
fclose($da);
?>

Ejemplo N-11. Lectura de un archivo encriptado

<?php
$frase_secreta = 'Mi secreto';

/* Convertir una frase legible en una pareja iv/llave reproducible
 */
$iv = substr(md5('iv'.$frase_secreta, true), 0, 8);
$llave = substr(md5('contrasenya1'.$frase_secreta, true) .
               md5('contrasenya2'.$frase_secreta, true), 0, 24);
$opciones = array('iv'=>$iv, 'key'=>$llave);

$da = fopen('archivo-secreto.enc', 'rb');
stream_filter_append($da, 'mdecrypt.tripledes', STREAM_FILTER_WRITE, $opciones);
$datos = rtrim(stream_get_contents($da));
fclose($da);

echo $datos;
?>

Anterior | Inicio | Siguiente
Filtros de Compresión | Subir | Lista de Transportes de Sockets Soportados


apache_reset_timeout

(no version information, might be only in CVS)

apache_reset_timeout -- Restaurar el temporizador de Apache

Descripción

bool apache_reset_timeout ( void )

apache_reset_timeout() restaura el temporizador de Apache, el cual tiene por defecto 300 segundos. Con set_time_limit(0); ignore_user_abort(true) y periódicas llamadas a apache_reset_timeout(), Apache puede trabajar por siempre teóricamente.

Esta función requiere de Apache 1.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: Esta función no está habilitada en safe-mode (modo-seguro)

Anterior | Inicio | Siguiente
apache_request_headers | Subir | apache_response_headers


apc_cache_info

(PECL)

apc_cache_info -- Retrieves cached information (and meta-data) from APC's data store

Descripción

array apc_cache_info ( [string cache_type [, bool limited]] )

Valores retornados

Array of cached data (and meta-data), or FALSE on failure

Nota: apc_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

Lista de parámetros

cache_type

If cache_type is "user", information about the user cache will be returned; otherwise, information about the system cache (cached files) will be returned.

limited

If limited is TRUE, the return value will exclude the individual list of cache entries. This is usefull when trying to optimize calls for statistics gathering.

Registro de cambios

Versión | Descripción
3.0.11 | The limited parameter was introduced.

Ejemplos

Ejemplo 1. A apc_cache_info() example

<?php
print_r(apc_cache_info());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apc_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

Ver también

APC configuration directives

Anterior | Inicio | Siguiente
Alternative PHP Cache | Subir | apc_clear_cache


apc_clear_cache

(PECL)

apc_clear_cache -- Clears the APC cache

Descripción

bool apc_clear_cache ( [string cache_type] )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Lista de parámetros

cache_type

If cache_type is "user", the user cache will be cleared; otherwise, the system cache (cached files) will be cleared.

Anterior | Inicio | Siguiente
apc_cache_info | Subir | apc_define_constants


apc_define_constants

(PECL)

apc_define_constants -- Defines a set of constants for later retrieval and mass-definition

Descripción

bool apc_define_constants ( string key, array constants [, bool case_sensitive] )

define() is notoriously slow. Since the main benefit of APC is to increase the performance of scripts/applications, this mechanism is provided to streamline the process of mass constant definition.

Nota: To remove a set of stored constants (without clearing the entire cache), an empty array may be passed as the constants parameter, effectively clearing the stored value(s).

Lista de parámetros

key

The key serves as the name of the constant set being stored. This key is used to retrieve the stored constants in apc_load_constants().

constants

An associative array of constant_name => value pairs. The constant_name must follow the normal constant naming rules. value must evaluate to a scalar value.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. apc_define_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
apc_load_constants('numbers');
echo ONE, TWO, THREE;
?>

El resultado del ejemplo seria:

123

Ver también

apc_load_constants()
define()
constant()
Or the PHP constants reference

Anterior | Inicio | Siguiente
apc_clear_cache | Subir | apc_delete


apc_delete

(PECL)

apc_delete -- Removes a stored variable from the cache

Descripción

bool apc_delete ( string key )

Lista de parámetros

key

The key used to store the value (with apc_store()).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A apc_delete() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
apc_delete('foo');
// this is obviously useless in this form
?>

Ver también

apc_store()
apc_fetch()

Anterior | Inicio | Siguiente
apc_define_constants | Subir | apc_fetch


apc_fetch

(PECL)

apc_fetch -- Fetch a stored variable from the cache

Descripción

mixed apc_fetch ( string key )

Lista de parámetros

key

The key used to store the value (with apc_store()).

Valores retornados

The stored variable on success; FALSE on failure

Ejemplos

Ejemplo 1. A apc_fetch() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

El resultado del ejemplo seria:

string(3) "BAR"

Ver también

apc_store()
apc_delete()

Anterior | Inicio | Siguiente
apc_delete | Subir | apc_load_constants


apc_load_constants

(PECL)

apc_load_constants -- Loads a set of constants from the cache

Descripción

bool apc_load_constants ( string key [, bool case_sensitive] )

Lista de parámetros

key

The name of the constant set (that was stored with apc_define_constants()) to be retrieved.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. apc_load_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
apc_load_constants('numbers');
echo ONE, TWO, THREE;
?>

El resultado del ejemplo seria:

123

Ver también

apc_define_constants()
define()
constant()
Or the PHP constants reference

Anterior | Inicio | Siguiente
apc_fetch | Subir | apc_sma_info


apc_sma_info

(PECL)

apc_sma_info -- Retrieves APC's Shared Memory Allocation information

Descripción

array apc_sma_info ( void )

Valores retornados

Array of Shared Memory Allocation data; FALSE on failure.

Ejemplos

Ejemplo 1. A apc_sma_info() example

<?php
print_r(apc_sma_info());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Ver también

APC configuration directives

Anterior | Inicio | Siguiente
apc_load_constants | Subir | apc_store


apc_store

(PECL)

apc_store -- Cache a variable in the data store

Descripción

bool apc_store ( string key, mixed var [, int ttl] )

Nota: Unlike many other mechanisms in PHP, variables stored using apc_store() will persist between requests (until the value is removed from the cache).

Lista de parámetros

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A apc_store() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

El resultado del ejemplo seria:

string(3) "BAR"

Ver también

apc_fetch()
apc_delete()

Anterior | Inicio | Siguiente
apc_sma_info | Subir | Depurador Avanzado de PHP


array_fill_keys

(no version information, might be only in CVS)

array_fill_keys -- Fill an array with values, specifying keys

Description

array array_fill_keys ( array keys, mixed value )

array_fill_keys() fills an array with the value of the value parameter, using the values of the keys array as keys.

Ejemplo 1. array_fill_keys() example

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

$a now is:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

See also array_fill() and array_combine().

Anterior | Inicio | Siguiente
array_diff | Subir | array_fill


array_product

(PHP 5 >= 5.1.0RC1)

array_product -- Calcula el producto de valores en una matriz

Descripción

number array_product ( array matriz )

array_product() devuelve el producto de valores en una matriz como un entero o flotante.

Ejemplo 1. Ejemplos de array_product()

<?php

$a = array(2, 4, 6, 8);
echo "producto(a) = " . array_product($a) . "\n";

?>

El resultado del ejemplo seria:

producto(a) = 384

Anterior | Inicio | Siguiente
array_pop | Subir | array_push


bcompiler_load

(PECL)

bcompiler_load -- Lee y crea clases desde un archivo comprimido bz

Descripción

bool bcompiler_load ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Nota: Por favor use la sentencias include o require para amalizar bytecodes. Es más portátil y conveniente que usar esta función.

Lee información desde un archivo bz descomprimido y crea clases desde los bytecodes. Por favor, tenga en cuenta que esta función no ejecutará el código del script contenido en el archivo bytecode.

Ejemplo 1. Ejemplo de bcompiler_load()

<?php

bcompiler_load("/tmp/example");

print_r(get_defined_classes());

?>

Anterior | Inicio | Siguiente
bcompiler_load_exe | Subir | bcompiler_parse_class


bcompiler_load_exe

(PECL)

bcompiler_load_exe -- Lee y crea clases desde un archivo exe de bcompiler

Descripción

bool bcompiler_load_exe ( string nombre_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lee información desde un archivo exe de bcompiler y crea clases desde los bytecodes

Ejemplo 1. Ejemplo de bcompiler_load()

<?php

bcompiler_load_exe("/tmp/example.exe");
print_r(get_defined_classes());

?>

Anterior | Inicio | Siguiente
Compilador Bytecode de PHP | Subir | bcompiler_load


bcompiler_parse_class

(PECL)

bcompiler_parse_class -- Lee los bytecodes de una clase y genera una llamada a una función definida por el usuario

Descripción

bool bcompiler_parse_class ( string clase, string nombre_funcion )

Nota: Esta función ha sido quitada de bcompiler y ya no se encuentra disponible desde bcompiler 0.5.

Lee los bytecodes de una clase y genera una llamada a una función definida por el usuario.

Ejemplo 1. Ejemplo de bcompiler_parse_class()

<?php

function readByteCodes($data) {
  print_r($data);
}

bcompiler_parse_class("DB","readByteCodes");

?>

Anterior | Inicio | Siguiente
bcompiler_load | Subir | bcompiler_read


bcompiler_read

(PECL)

bcompiler_read -- Lee y crea clases desde un gestor de archivo

Descripción

bool bcompiler_read ( resource gestor_archivo )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Nota: Por favor, use las sentencias include o require para analizar bytecodes, es más portátil y conveniente que usar esta función.

Lee información desde un gestor de archivo abierto y crea clases desde los bytecodes. Por favor, tenga en cuenta que esta función no ejecutará el código del script contenido en el archivo bytecode.

Ejemplo 1. Ejemplo de bcompiler_read()

<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());

?>

Anterior | Inicio | Siguiente
bcompiler_parse_class | Subir | bcompiler_write_class


bcompiler_write_class

(PECL)

bcompiler_write_class -- Escribe una clase determinada como bytecodes

Descripción

bool bcompiler_write_class ( resource gestor_archivo, string nombre_clase [, string extiende] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Esta lee los bytecodes desde PHP para una clase existente, y los escribe al gestor de archivo abierto. No lleva a cabo una verificación de dependencias, por lo que debe asegurarse de que escribe las clases en un orden en el que no resultará como una 'clase indefinida' cuando la cargue.

Ejemplo 1. Ejemplo de bcompiler_write_class()

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// you must write DB_common before DB_mysql, as DB_mysql extends DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);

?>

Véase también bcompiler_write_header(), y bcompiler_write_footer().

Anterior | Inicio | Siguiente
bcompiler_read | Subir | bcompiler_write_constant


bcompiler_write_constant

(PECL)

bcompiler_write_constant -- Lee una constante definida como bytecodes

Descripción

bool bcompiler_write_constant ( resource gestor_archivo, string nombre_constante )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Esta función lee los bytecodes desde PHP para una constante existente y los escribe al gestor de archivo abierto.

Ejemplo 1. Ejemplo de bcompiler_write_constant()

<?php
define("MODULE_MAX", 30);

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);

?>

Véase también bcompiler_write_header(), y bcompiler_write_footer().

Anterior | Inicio | Siguiente
bcompiler_write_class | Subir | bcompiler_write_exe_footer


bcompiler_write_exe_footer

(PECL)

bcompiler_write_exe_footer -- Writes the start pos, and sig to the end of a exe type file

Descripción

bool bcompiler_write_exe_footer ( resource filehandle, int startpos )

An EXE (or self executable) file consists of 3 parts:

The stub (executable code, e.g. a compiled C program) that loads PHP interpreter, bcompiler extension, stored Bytecodes and initiates a call for the specified function (e.g. main) or class method (e.g. main::main)
The Bytecodes (uncompressed only for the moment)
The bcompiler EXE footer

To obtain a suitable stub you can compile php_embed-based stub phpe.c located in the examples/embed directory on bcompiler's CVS.

Lista de parámetros

filehandle

A file handle as returned by fopen().

startpos

The file position at which the Bytecodes start, and can be obtained using ftell().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. bcompiler_write_footer() example

<?php

/* creating the output file (example.exe) */
$fh = fopen("example.exe", "w");

/* 1) writing a stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);

/* 2) writing bytecodes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);

/* 3) writing EXE footer */
bcompiler_write_exe_footer($fh, $startpos);

/* closing the output file */
fclose($fh);
?>

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

bcompiler_write_header()
bcompiler_write_class()
bcompiler_write_footer()

Anterior | Inicio | Siguiente
bcompiler_write_constant | Subir | bcompiler_write_file


bcompiler_write_file

(PECL)

bcompiler_write_file -- Writes a php source file as bytecodes

Descripción

bool bcompiler_write_file ( resource filehandle, string filename )

This function complies specified source file into bytecodes, and writes them to the open file handle.

Lista de parámetros

filehandle

A file handle as returned by fopen().

filename

The source file path, as a string.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. bcompiler_write_file() example

<?php
$fh = fopen("example.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "example.php");
bcompiler_write_footer($fh);
fclose($fh);
/* the following should be equivalent:
include "example.php";
   and
include "example.phb";
*/
?>

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

bcompiler_write_header()
bcompiler_write_footer()

Anterior | Inicio | Siguiente
bcompiler_write_exe_footer | Subir | bcompiler_write_footer


bcompiler_write_footer

(PECL)

bcompiler_write_footer -- Writes the single character \x00 to indicate End of compiled data

Descripción

bool bcompiler_write_footer ( resource filehandle )

Writes the single character \x00 to indicate End of compiled data.

Lista de parámetros

filehandle

A file handle as returned by fopen().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. bcompiler_write_footer() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

bcompiler_write_header()

Anterior | Inicio | Siguiente
bcompiler_write_file | Subir | bcompiler_write_function


bcompiler_write_function

(PECL)

bcompiler_write_function -- Writes an defined function as bytecodes

Descripción

bool bcompiler_write_function ( resource filehandle, string functionName )

Reads the bytecodes from PHP for an existing function, and writes them to the open file handle. Order is not important, (eg. if function b uses function a, and you compile it like the example below, it will work perfectly OK).

Lista de parámetros

filehandle

A file handle as returned by fopen().

functionName

The function name, as a string.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. bcompiler_write_function() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"my_function_a");
bcompiler_write_function($fh,"my_function_b");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

bcompiler_write_header()
bcompiler_write_footer()

Anterior | Inicio | Siguiente
bcompiler_write_footer | Subir | bcompiler_write_functions_from_file


bcompiler_write_functions_from_file

(PECL)

bcompiler_write_functions_from_file -- Writes all functions defined in a file as bytecodes

Descripción

bool bcompiler_write_functions_from_file ( resource filehandle, string fileName )

Searches for all functions declared in the given file, and writes their correspondent bytecodes to the open file handle.

Lista de parámetros

filehandle

A file handle as returned by fopen().

fileName

The file to be compiled. You must always include or require the file you intend to compile.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. bcompiler_write_functions_from_file() example

<?php
require('module.php');

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

bcompiler_write_header()
bcompiler_write_footer()

Anterior | Inicio | Siguiente
bcompiler_write_function | Subir | bcompiler_write_header


bcompiler_write_header

(PECL)

bcompiler_write_header -- Writes the bcompiler header

Descripción

bool bcompiler_write_header ( resource filehandle [, string write_ver] )

Writes the header part of a bcompiler file.

Lista de parámetros

filehandle

A file handle as returned by fopen().

write_ver

Can be used to write bytecode in a previously used format, so that you can use it with older versions of bcompiler.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. bcompiler_write_header() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ver también

bcompiler_write_footer()

Anterior | Inicio | Siguiente
bcompiler_write_functions_from_file | Subir | bcompiler_write_included_filename


bcompiler_write_included_filename

(PECL)

bcompiler_write_included_filename -- Writes an included file as bytecodes

Descripción

bool bcompiler_write_included_filename ( resource filehandle, string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Anterior | Inicio | Siguiente
bcompiler_write_header | Subir | Funciones de compresión Bzip2


curl_setopt_array

(PHP 5 CVS only)

curl_setopt_array -- Set multiple options for a cURL transfer

Descripción

bool curl_setopt_array ( resource ch, array options )

Sets multiple options for a cURL session. This function is useful for setting a large amount of cURL options without repetitively calling curl_setopt().

Lista de parámetros

ch

A cURL handle returned by curl_init().

options

An array specifying which options to set and their values. The keys should be valid curl_setopt() constants or their integer equivalents.

Valores retornados

Returns TRUE if all options were successfully set. If an option could not be successfully set, FALSE is immediately returned, ignoring any future options in the options array.

Ejemplos

Ejemplo 1. Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Prior to PHP 5.1.4 you can simulate this function with:

Ejemplo 2. Our own implementation of curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

Ver también

curl_setopt()

Anterior | Inicio | Siguiente
curl_multi_select | Subir | curl_setopt


cybermut_creerformulairecm

(4.0.5 - 4.2.3 only, PECL)

cybermut_creerformulairecm -- Generate HTML form of request for payment

Descripción

string cybermut_creerformulairecm ( string url_cm, string version, string tpe, string price, string ref_command, string text_free, string url_return, string url_return_ok, string url_return_err, string language, string code_company, string text_button )

cybermut_creerformulairecm() is used to generate the HTML form of request for payment.

Ver también

cybermut_testmac()
cybermut_creerreponsecm()

Anterior | Inicio | Siguiente
Credit Mutuel CyberMUT functions | Subir | cybermut_creerreponsecm


cybermut_creerreponsecm

(4.0.5 - 4.2.3 only, PECL)

cybermut_creerreponsecm -- Generate the delivery's acknowledgement of the payment's confirmation

Descripción

string cybermut_creerreponsecm ( string sentence )

The parameter is "OK" if the message of confirmation of the payment were correctly authenticated by cybermut_testmac(). Any other chain is regarded as an error message.

Valores retornados

Returns a string containing the message of acknowledgement of delivery.

Ver también

cybermut_creerformulairecm()
cybermut_testmac()

Anterior | Inicio | Siguiente
cybermut_creerformulairecm | Subir | cybermut_testmac


cybermut_testmac

(4.0.5 - 4.2.3 only, PECL)

cybermut_testmac -- Make sure that there was no data diddling contained in the received message of confirmation

Descripción

bool cybermut_testmac ( string code_mac, string version, string tpe, string cdate, string price, string ref_command, string text_free, string code_return )

cybermut_testmac() is used to make sure that there was no data diddling contained in the received message of confirmation. Pay attention to parameters code_return and text_free, which cannot be evaluated as is, because of the dash.

Ver también

cybermut_creerformulairecm()
cybermut_creerreponsecm()

Anterior | Inicio | Siguiente
cybermut_creerreponsecm | Subir | Cyrus IMAP administration Functions


date_create

(PHP 5 >= 5.1.0RC1)

date_create -- Returns new DateTime object

Descripción

DateTime date_create ( [string time [, DateTimeZone timezone]] )

DateTime DateTime::__construct ( [string time [, DateTimeZone timezone]] )

Lista de parámetros

time

String in a format accepted by strtotime(), defaults to "now".

timezone

Time zone of the time.

Valores retornados

Returns DateTime object on success or FALSE on failure.

Anterior | Inicio | Siguiente
checkdate | Subir | date_date_set


date_date_set

(no version information, might be only in CVS)

date_date_set -- Sets the date

Descripción

void date_date_set ( DateTime object, int year, int month, int day )

void DateTime::setDate ( int year, int month, int day )

Lista de parámetros

object

DateTime object.

year

Year of the date.

month

Month of the date.

day

Day of the date.

Valores retornados

Returns NULL on success or FALSE on failure.

Ver también

date_isodate_set()
date_time_set()

Anterior | Inicio | Siguiente
date_create | Subir | date_default_timezone_get


date_default_timezone_get

(PHP 5 >= 5.1.0RC1)

date_default_timezone_get -- Gets the default timezone used by all date/time functions in a script

Descripción

string date_default_timezone_get ( void )

This functions returns the default timezone, using the following "guess" order:

  • The timezone set using the date_default_timezone_set() function (if any)

  • The TZ environment variable (if non empty)

  • The date.timezone ini option (if set)

  • "magical" guess (if the operating system supports it)

  • If none of the above options succeeds, return UTC

Valores retornados

Returns a string.

Ver también

date_default_timezone_set()

Anterior | Inicio | Siguiente
date_date_set | Subir | date_default_timezone_set


date_default_timezone_set

(PHP 5 >= 5.1.0RC1)

date_default_timezone_set -- Sets the default timezone used by all date/time functions in a script

Descripción

bool date_default_timezone_set ( string timezone_identifier )

date_default_timezone_set() sets the default timezone used by all date/time functions.

Nota: Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_STRICT message if using the system settings or the TZ environment variable.

Instead of using this function to set the default timezone in your script, you can also use the INI setting date.timezone to set the default timezone.

Lista de parámetros

timezone_identifier

The timezone identifier, like UTC or Europe/Lisbon. The list of valid identifiers is available in the Apéndice H.

Valores retornados

This function returns FALSE if the timezone_identifier isn't valid, or TRUE otherwise.

Registro de cambios

Versión | Descripción
5.1.2 | The function started to validate the timezone_identifier parameter.

Ver también

date_default_timezone_get()

Anterior | Inicio | Siguiente
date_default_timezone_get | Subir | date_format


date_format

(PHP 5 >= 5.1.0RC1)

date_format -- Returns date formatted according to given format

Descripción

string date_format ( DateTime object, string format )

string DateTime::format ( string format )

Lista de parámetros

object

DateTime object.

format

Format accepted by date().

Valores retornados

Returns formatted date on success or FALSE on failure.

Ver también

date()

Anterior | Inicio | Siguiente
date_default_timezone_set | Subir | date_isodate_set


date_isodate_set

(no version information, might be only in CVS)

date_isodate_set -- Sets the ISO date

Descripción

void date_isodate_set ( DateTime object, int year, int week [, int day] )

void DateTime::setISODate ( int year, int week [, int day] )

Lista de parámetros

object

DateTime object.

year

Year of the date.

month

Month of the date.

day

Day of the date.

Valores retornados

Returns NULL on success or FALSE on failure.

Ver también

date_date_set()

Anterior | Inicio | Siguiente
date_format | Subir | date_modify


date_modify

(PHP 5 >= 5.1.0RC1)

date_modify -- Alters the timestamp

Descripción

void date_modify ( DateTime object, string modify )

void DateTime::modify ( string modify )

Lista de parámetros

object

DateTime object.

modify

String in a relative format accepted by strtotime().

Valores retornados

Returns NULL on success or FALSE on failure.

Ejemplos

Ejemplo 1. A date_modify() example

<?php
$date = new DateTime("2006-12-12");
$date->modify("+1 day");
echo $date->format("Y-m-d");
?>

El resultado del ejemplo seria:

2006-12-13

Ver también

strtotime()

Anterior | Inicio | Siguiente
date_isodate_set | Subir | date_offset_get


date_offset_get

(PHP 5 >= 5.1.0RC1)

date_offset_get -- Returns the daylight saving time offset

Descripción

int date_offset_get ( DateTime object )

int DateTime::getOffset ( void )

Lista de parámetros

object

DateTime object.

Valores retornados

Returns DST offset in seconds on success or FALSE on failure.

Anterior | Inicio | Siguiente
date_modify | Subir | date_parse


date_parse

(no version information, might be only in CVS)

date_parse -- Returns associative array with detailed info about given date

Descripción

array date_parse ( string date )

Lista de parámetros

date

Date in format accepted by strtotime().

Valores retornados

Returns array on success or FALSE on failure.

Ejemplos

Ejemplo 1. A date_parse() example

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

El resultado del ejemplo seria:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Ver también

getdate()

Anterior | Inicio | Siguiente
date_offset_get | Subir | date_sun_info


date_sun_info

(no version information, might be only in CVS)

date_sun_info -- Returns an array with information about sunset/sunrise and twilight begin/end

Descripción

array date_sun_info ( int time, float latitude, float longitude )

Lista de parámetros

time

Timestamp.

latitude

Latitude in degrees.

longitude

Longitude in degrees.

Valores retornados

Returns array on success or FALSE on failure.

Ejemplos

Ejemplo 1. A date_sun_info() example

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

El resultado del ejemplo seria:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Ver también

date_sunrise()
date_sunset()

Anterior | Inicio | Siguiente
date_parse | Subir | date_sunrise


date_time_set

(no version information, might be only in CVS)

date_time_set -- Sets the time

Descripción

void date_time_set ( DateTime object, int hour, int minute [, int second] )

void DateTime::setTime ( int hour, int minute [, int second] )

Lista de parámetros

object

DateTime object.

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

Valores retornados

Returns NULL on success or FALSE on failure.

Ver también

date_date_set()

Anterior | Inicio | Siguiente
date_sunset | Subir | date_timezone_get


date_timezone_get

(PHP 5 >= 5.1.0RC1)

date_timezone_get -- Return time zone relative to given DateTime

Descripción

DateTimeZone date_timezone_get ( DateTime object )

DateTimeZone DateTime::getTimezone ( void )

Lista de parámetros

object

DateTime object.

Valores retornados

Returns DateTimeZone object on success or FALSE on failure.

Ver también

date_timezone_set()

Anterior | Inicio | Siguiente
date_time_set | Subir | date_timezone_set


date_timezone_set

(PHP 5 >= 5.1.0RC1)

date_timezone_set -- Sets the time zone for the DateTime object

Descripción

void date_timezone_set ( DateTime object, DateTimeZone timezone )

void DateTime::setTimezone ( DateTimeZone timezone )

Lista de parámetros

object

DateTime object.

timezone

Desired time zone.

Valores retornados

Returns NULL on success or FALSE on failure.

Ver también

date_timezone_get()

Anterior | Inicio | Siguiente
date_timezone_get | Subir | date


db2_autocommit

(PECL)

db2_autocommit -- Returns or sets the AUTOCOMMIT state for a database connection

Descripción

mixed db2_autocommit ( resource connection [, bool value] )

Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

Lista de parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

value

One of the following constants:

DB2_AUTOCOMMIT_OFF

Turns AUTOCOMMIT off.

DB2_AUTOCOMMIT_ON

Turns AUTOCOMMIT on.

Valores retornados

When db2_autocommit() receives only the connection parameter, it returns the current state of AUTOCOMMIT for the requested connection as an integer value. A value of 0 indicates that AUTOCOMMIT is off, while a value of 1 indicates that AUTOCOMMIT is on.

When db2_autocommit() receives both the connection parameter and autocommit parameter, it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding state. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Retrieving the AUTOCOMMIT value for a connection

In the following example, a connection which has been created with AUTOCOMMIT turned off is tested with the db2_autocommit() function.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

El resultado del ejemplo seria:

0 -- AUTOCOMMIT is off.

Ejemplo 2. Setting the AUTOCOMMIT value for a connection

In the following example, a connection which was initially created with AUTOCOMMIT turned off has its behavior changed to turn AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Turn AUTOCOMMIT on
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Turning AUTOCOMMIT on succeeded.\n";
}

// Check AUTOCOMMIT state
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

El resultado del ejemplo seria:

Turning AUTOCOMMIT on succeeded.
1 -- AUTOCOMMIT is on.

Ver también

db2_connect()
db2_pconnect()

Anterior | Inicio | Siguiente
IBM DB2, Cloudscape and Apache Derby Functions | Subir | db2_bind_param


db2_bind_param

(PECL)

db2_bind_param -- Binds a PHP variable to an SQL statement parameter

Descripción

bool db2_bind_param ( resource stmt, int parameter-number, string variable-name [, int parameter-type [, int data-type [, int precision [, int scale]]]] )

Binds a PHP variable to an SQL statement parameter in a statement resource returned by db2_prepare(). This function gives you more control over the parameter type, data type, precision, and scale for the parameter than simply passing the variable as part of the optional input array to db2_execute().

Lista de parámetros

stmt

A prepared statement returned from db2_prepare().

parameter-number

Specifies the 1-indexed position of the parameter in the prepared statement.

variable-name

A string specifying the name of the PHP variable to bind to the parameter specified by parameter-number.

parameter-type

A constant specifying whether the PHP variable should be bound to the SQL parameter as an input parameter (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a parameter that accepts input and returns output (DB2_PARAM_INOUT). To avoid memory overhead, you can also specify DB2_PARAM_FILE to bind the PHP variable to the name of a file that contains large object (BLOB, CLOB, or DBCLOB) data.

data-type

A constant specifying the SQL data type that the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG .

precision

Specifies the precision with which the variable should be bound to the database.

scale

Specifies the scale with which the variable should be bound to the database.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Binding PHP variables to a prepared statement

The SQL statement in the following example uses two input parameters in the WHERE clause. We call db2_bind_param() to bind two PHP variables to the corresponding SQL parameters. Notice that the PHP variables do not have to be declared or assigned before the call to db2_bind_param(); in the example, $lower_limit is assigned a value before the call to db2_bind_param(), but $upper_limit is assigned a value after the call to db2_bind_param(). The variables must be bound and, for parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
    WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

El resultado del ejemplo seria:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Ejemplo 2. Calling stored procedures with IN and OUT parameters

The stored procedure match_animal in the following example accepts three different parameters:

  1. an input (IN) parameter that accepts the name of the first animal as input

  2. an input-output (INOUT) parameter that accepts the name of the second animal as input and returns the string TRUE if an animal in the database matches that name

  3. an output (OUT) parameter that returns the sum of the weight of the two identified animals

In addition, the stored procedure returns a result set consisting of the animals listed in alphabetic order starting at the animal corresponding to the input value of the first parameter and ending at the animal corresponding to the input value of the second parameter.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Values of bound parameters _before_ CALL:\n";
print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
    print "Values of bound parameters _after_ CALL:\n";
    print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

    print "Results:\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

El resultado del ejemplo seria:

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

Ejemplo 3. Inserting a binary large object (BLOB) directly from a file

The data for large objects are typically stored in files, such as XML documents or audio files. Rather than reading an entire file into a PHP variable, and then binding that PHP variable into an SQL statement, you can avoid some memory overhead by binding the file directly to the input parameter of your SQL statement. The following example demonstrates how to bind a file directly into a BLOB column.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Ver también

db2_execute()
db2_prepare()

Anterior | Inicio | Siguiente
db2_autocommit | Subir | db2_client_info


db2_client_info

(no version information, might be only in CVS)

db2_client_info -- Returns an object with properties that describe the DB2 database client

Descripción

object db2_client_info ( resource connection )

This function returns an object with read-only properties that return information about the DB2 database client. The following table lists the DB2 client properties:

Tabla 1. DB2 client properties

Property name | Return type | Description
APPL_CODEPAGE | int | The application code page.
CONN_CODEPAGE | int | The code page for the current connection.
DATA_SOURCE_NAME | string | The data source name (DSN) used to create the current connection to the database.
DRIVER_NAME | string | The name of the library that implements the DB2 Call Level Interface (CLI) specification.
DRIVER_ODBC_VER | string | The version of ODBC that the DB2 client supports. This returns a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always returns "03.51".
DRIVER_VER | string | The version of the client, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
ODBC_SQL_CONFORMANCE string The level of ODBC SQL grammar supported by the client:

MINIMUM

Supports the minimum ODBC SQL grammar.

CORE

Supports the core ODBC SQL grammar.

EXTENDED

Supports extended ODBC SQL grammar.

ODBC_VER | string | The version of ODBC that the ODBC driver manager supports. This returns a string "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The DB2 client always returns "03.01.0000".

Lista de parámetros

connection

Specifies an active DB2 client connection.

Valores retornados

Returns an object on a successful call. Returns FALSE on failure.

Ejemplos

Ejemplo 1. A db2_client_info() example

To retrieve information about the client, you must pass a valid database connection resource to db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";         var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";         var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";         var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";         var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";             var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";     var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";         var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";         var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Error retrieving client information.
     Perhaps your database connection was invalid.";
}
db2_close($conn);

?>

El resultado del ejemplo seria:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Ver también

db2_server_info()

Anterior | Inicio | Siguiente
db2_bind_param | Subir | db2_close


db2_close

(PECL)

db2_close -- Closes a database connection

Descripción

bool db2_close ( resource connection )

This function closes a DB2 client connection created with db2_connect() and returns the corresponding resources to the database server.

If you attempt to close a persistent DB2 client connection created with db2_pconnect(), the close request is ignored and the persistent DB2 client connection remains available for the next caller.

Lista de parámetros

connection

Specifies an active DB2 client connection.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Closing a connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2, Cloudscape, or Apache Derby database.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

El resultado del ejemplo seria:

Connection was successfully closed.

Ver también

db2_connect()
db2_pconnect()

Anterior | Inicio | Siguiente
db2_client_info | Subir | db2_column_privileges


db2_column_privileges

(PECL)

db2_column_privileges -- Returns a result set listing the columns and associated privileges for a table

Descripción

resource db2_column_privileges ( resource connection [, string qualifier [, string schema [, string table-name [, string column-name]]]] )

Returns a result set listing the columns and associated privileges for a table.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass NULL or an empty string.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

Valores retornados

Returns a statement resource with a result set containing rows describing the column privileges for columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege for the column.
IS_GRANTABLE | Whether the GRANTEE is permitted to grant this privilege to other users.

Ver también

db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_close | Subir | db2_columns


db2_columns

(PECL)

db2_columns -- Returns a result set listing the columns and associated metadata for a table

Descripción

resource db2_columns ( resource connection [, string qualifier [, string schema [, string table-name [, string column-name]]]] )

Returns a result set listing the columns and associated metadata for a table.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass '%'.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

Valores retornados

Returns a statement resource with a result set containing rows describing the columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
DATA_TYPE | The SQL data type for the column represented as an integer value.
TYPE_NAME | A string representing the data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the column is nullable or not.
REMARKS | Description of the column.
COLUMN_DEF | Default value for the column.
SQL_DATA_TYPE | An integer value representing the size of the column.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type column, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the column in the table.
IS_NULLABLE | A string value where 'YES' means that the column is nullable and 'NO' means that the column is not nullable.

Ver también

db2_column_privileges()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_column_privileges | Subir | db2_commit


db2_commit

(PECL)

db2_commit -- Commits a transaction

Descripción

bool db2_commit ( resource connection )

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

Nota: If the specified connection resource is a persistent connection, all transactions in progress for all applications using that persistent connection will be committed. For this reason, persistent connections are not recommended for use in applications that require transactions.

Lista de parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

db2_autocommit()
db2_rollback()

Anterior | Inicio | Siguiente
db2_columns | Subir | db2_conn_error


db2_conn_error

(PECL)

db2_conn_error -- Returns a string containing the SQLSTATE returned by the last connection attempt

Descripción

string db2_conn_error ( [resource connection] )

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns FALSE in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Lista de parámetros

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Valores retornados

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

Ejemplos

Ejemplo 1. Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print "SQLSTATE value: " . db2_conn_error();
}
?>

El resultado del ejemplo seria:

SQLSTATE value: 08001

Ver también

db2_conn_errormsg()
db2_connect()
db2_stmt_error()
db2_stmt_errormsg()

Anterior | Inicio | Siguiente
db2_commit | Subir | db2_conn_errormsg


db2_conn_errormsg

(PECL)

db2_conn_errormsg -- Returns the last connection error message and SQLCODE value

Descripción

string db2_conn_errormsg ( [resource connection] )

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns FALSE in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

Lista de parámetros

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Valores retornados

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

Ejemplos

Ejemplo 1. Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

El resultado del ejemplo seria:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Ver también

db2_conn_error()
db2_connect()
db2_stmt_error()
db2_stmt_errormsg()

Anterior | Inicio | Siguiente
db2_conn_error | Subir | db2_connect


db2_connect

(PECL)

db2_connect -- Returns a connection to a database

Descripción

resource db2_connect ( string database, string username, string password [, array options] )

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

Lista de parámetros

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; where the parameters represent the following values:

database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new i5/OS options are available as of ibm_db2 version 1.5.1. Note: prior versions of ibm_db2 do not support these new i5 options.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Note: php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

SQL_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

Valores retornados

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns FALSE.

Ejemplos

Ejemplo 1. Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo seria:

Connection succeeded.

Ejemplo 2. Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo seria:

Connection succeeded.

Ejemplo 3. Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connection succeeded.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit is on.\n";
    }
    else {
         echo "Autocommit is off.\n";
    }
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

El resultado del ejemplo seria:

Connection succeeded.
Autocommit is off.

Ejemplo 4. i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

El resultado del ejemplo seria:

ANIMALS
NAMES
PICTURES

Ver también

db2_close()
db2_pconnect()

Anterior | Inicio | Siguiente
db2_conn_errormsg | Subir | db2_cursor_type


db2_cursor_type

(PECL)

db2_cursor_type -- Returns the cursor type used by a statement resource

Descripción

int db2_cursor_type ( resource stmt )

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

Lista de parámetros

stmt

A valid statement resource.

Valores retornados

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

Ver también

db2_prepare()

Anterior | Inicio | Siguiente
db2_connect | Subir | db2_exec


db2_exec

(PECL)

db2_exec -- Executes an SQL statement directly

Descripción

resource db2_exec ( resource connection, string statement [, array options] )

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

Lista de parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

cursor

Passing the DB2_FORWARD_ONLY value requests a forward-only cursor for this SQL statement. This is the default type of cursor, and it is supported by all database servers. It is also much faster than a scrollable cursor.

Passing the DB2_SCROLLABLE value requests a scrollable cursor for this SQL statement. This type of cursor enables you to fetch rows non-sequentially from the database server. However, it is only supported by DB2 servers, and is much slower than forward-only cursors.

Valores retornados

Returns a statement resource if the SQL statement was issued successfully, or FALSE if the database failed to execute the SQL statement.

Ejemplos

Ejemplo 1. Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
    name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
    array(3, 'gold fish', 'Bubbles', 0.1),
    array(4, 'budgerigar', 'Gizmo', 0.2),
    array(5, 'goat', 'Rickety Ride', 9.7),
    array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insert... ";
    }
}
?>

El resultado del ejemplo seria:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

Ejemplo 2. Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
    WHERE weight < 10.0
    ORDER BY name";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

El resultado del ejemplo seria:

Bubbles
Gizmo
Pook
Rickety Ride

Ejemplo 3. Returning XML data as a SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in a SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

El resultado del ejemplo seria:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Ejemplo 4. Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns a SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

El resultado del ejemplo seria:

1001     Kathy Smith     905-555-7258     5002     Shipped

Ejemplo 5. Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
        } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
}
db2_close($conn);

?>

El resultado del ejemplo seria:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Ver también

db2_execute()
db2_prepare()

Anterior | Inicio | Siguiente
db2_cursor_type | Subir | db2_execute


db2_execute

(PECL)

db2_execute -- Executes a prepared SQL statement

Descripción

bool db2_execute ( resource stmt [, array parameters] )

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

Lista de parámetros

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Successfully added new pet.";
    }
}
?>

El resultado del ejemplo seria:

Successfully added new pet.

Ejemplo 2. Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

El resultado del ejemplo seria:

I have 7 pets!

Ejemplo 3. Returning XML data as a SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in a SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

El resultado del ejemplo seria:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Ejemplo 4. Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns a SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

El resultado del ejemplo seria:

1001     Kathy Smith     905-555-7258     5002     Shipped

Ejemplo 5. Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
         <promoprice> {$promo} </promoprice>
            } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
    }
}

db2_close($conn);

?>

El resultado del ejemplo seria:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Ver también

db2_exec()
db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_row()
db2_prepare()
db2_result()

Anterior | Inicio | Siguiente
db2_exec | Subir | db2_fetch_array


db2_fetch_array

(PECL)

db2_fetch_array -- Returns an array, indexed by column position, representing a row in a result set

Descripción

array db2_fetch_array ( resource stmt [, int row_number] )

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

Lista de parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores retornados

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Ejemplos

Ejemplo 1. Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

El resultado del ejemplo seria:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ejemplo 2. Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

El resultado del ejemplo seria:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ver también

db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_result()

Anterior | Inicio | Siguiente
db2_execute | Subir | db2_fetch_assoc


db2_fetch_assoc

(PECL)

db2_fetch_assoc -- Returns an array, indexed by column name, representing a row in a result set

Descripción

array db2_fetch_assoc ( resource stmt [, int row_number] )

Returns an array, indexed by column name, representing a row in a result set.

Lista de parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores retornados

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Ejemplos

Ejemplo 1. Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

El resultado del ejemplo seria:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ejemplo 2. Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
    $i = $i + 2;
}
?>

El resultado del ejemplo seria:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ver también

db2_fetch_array()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_result()

Anterior | Inicio | Siguiente
db2_fetch_array | Subir | db2_fetch_both


db2_fetch_both

(PECL)

db2_fetch_both -- Returns an array, indexed by both column name and position, representing a row in a result set

Descripción

array db2_fetch_both ( resource stmt [, int row_number] )

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().

Lista de parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores retornados

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Ejemplos

Ejemplo 1. Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

El resultado del ejemplo seria:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ejemplo 2. Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
    $i = $i + 2;
}
?>

El resultado del ejemplo seria:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ver también

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_object()
db2_fetch_row()
db2_result()

Anterior | Inicio | Siguiente
db2_fetch_assoc | Subir | db2_fetch_object


db2_fetch_object

(PECL)

db2_fetch_object -- Returns an object with properties representing columns in the fetched row

Descripción

object db2_fetch_object ( resource stmt [, int row_number] )

Returns an object in which each property represents a column returned in the row fetched from a result set.

Lista de parámetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valores retornados

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns FALSE if no row was retrieved.

Ejemplos

Ejemplo 1. A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
    FROM animals
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
    }
    db2_close($conn);
}
?>

El resultado del ejemplo seria:

Come here, Pook, my little cat!

Ver también

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_row()
db2_result()

Anterior | Inicio | Siguiente
db2_fetch_both | Subir | db2_fetch_row


db2_fetch_row

(PECL)

db2_fetch_row -- Sets the result set pointer to the next row or requested row

Descripción

bool db2_fetch_row ( resource stmt [, int row_number] )

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

Lista de parámetros

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

Valores retornados

Returns TRUE if the requested row exists in the result set. Returns FALSE if the requested row does not exist in the result set.

Ejemplos

Ejemplo 1. Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 1);
    print "$name $breed";
}
?>

El resultado del ejemplo seria:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Ejemplo 2. i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

El resultado del ejemplo seria:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Ver también

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_result()

Anterior | Inicio | Siguiente
db2_fetch_object | Subir | db2_field_display_size


db2_field_display_size

(PECL)

db2_field_display_size -- Returns the maximum number of bytes required to display a column

Descripción

int db2_field_display_size ( resource stmt, mixed column )

Returns the maximum number of bytes required to display a column in a result set.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns FALSE.

Ver también

db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

Anterior | Inicio | Siguiente
db2_fetch_row | Subir | db2_field_name


db2_field_name

(PECL)

db2_field_name -- Returns the name of the column in the result set

Descripción

string db2_field_name ( resource stmt, mixed column )

Returns the name of the specified column in the result set.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns FALSE.

Ver también

db2_field_display_size()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

Anterior | Inicio | Siguiente
db2_field_display_size | Subir | db2_field_num


db2_field_num

(PECL)

db2_field_num -- Returns the position of the named column in a result set

Descripción

int db2_field_num ( resource stmt, mixed column )

Returns the position of the named column in a result set.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns FALSE.

Ver también

db2_field_display_size()
db2_field_name()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

Anterior | Inicio | Siguiente
db2_field_name | Subir | db2_field_precision


db2_field_precision

(PECL)

db2_field_precision -- Returns the precision of the indicated column in a result set

Descripción

int db2_field_precision ( resource stmt, mixed column )

Returns the precision of the indicated column in a result set.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns FALSE.

Ver también

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_scale()
db2_field_type()
db2_field_width()

Anterior | Inicio | Siguiente
db2_field_num | Subir | db2_field_scale


db2_field_scale

(PECL)

db2_field_scale -- Returns the scale of the indicated column in a result set

Descripción

int db2_field_scale ( resource stmt, mixed column )

Returns the scale of the indicated column in a result set.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns FALSE.

Ver también

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_type()
db2_field_width()

Anterior | Inicio | Siguiente
db2_field_precision | Subir | db2_field_type


db2_field_type

(PECL)

db2_field_type -- Returns the data type of the indicated column in a result set

Descripción

string db2_field_type ( resource stmt, mixed column )

Returns the data type of the indicated column in a result set.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns FALSE.

Ver también

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_width()

Anterior | Inicio | Siguiente
db2_field_scale | Subir | db2_field_width


db2_field_width

(PECL)

db2_field_width -- Returns the width of the current value of the indicated column in a result set

Descripción

int db2_field_width ( resource stmt, mixed column )

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

Lista de parámetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valores retornados

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns FALSE.

Ver también

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()

Anterior | Inicio | Siguiente
db2_field_type | Subir | db2_foreign_keys


db2_foreign_keys

(PECL)

db2_foreign_keys -- Returns a result set listing the foreign keys for a table

Descripción

resource db2_foreign_keys ( resource connection, string qualifier, string schema, string table-name )

Returns a result set listing the foreign keys for a table.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_foreign_keys() matches the schema for the current connection.

table-name

The name of the table.

Valores retornados

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

Ver también

db2_column_privileges()
db2_columns()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_field_width | Subir | db2_free_result


db2_free_result

(PECL)

db2_free_result -- Frees resources associated with a result set

Descripción

bool db2_free_result ( resource stmt )

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

Lista de parámetros

stmt

A valid statement resource.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

db2_free_stmt()

Anterior | Inicio | Siguiente
db2_foreign_keys | Subir | db2_free_stmt


db2_free_stmt

(PECL)

db2_free_stmt -- Frees resources associated with the indicated statement resource

Descripción

bool db2_free_stmt ( resource stmt )

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

Lista de parámetros

stmt

A valid statement resource.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

db2_free_result()

Anterior | Inicio | Siguiente
db2_free_result | Subir | db2_next_result


db2_next_result

(PECL)

db2_next_result -- Requests the next result set from a stored procedure

Descripción

resource db2_next_result ( resource stmt )

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

Lista de parámetros

stmt

A prepared statement returned from db2_exec() or db2_execute().

Valores retornados

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns FALSE if the stored procedure did not return another result set.

Ejemplos

Ejemplo 1. Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Fetching first result set\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nFetching second result set\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nFetching third result set\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

El resultado del ejemplo seria:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

Anterior | Inicio | Siguiente
db2_free_stmt | Subir | db2_num_fields


db2_num_fields

(PECL)

db2_num_fields -- Returns the number of fields contained in a result set

Descripción

int db2_num_fields ( resource stmt )

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

Lista de parámetros

stmt

A valid statement resource containing a result set.

Valores retornados

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns FALSE if the statement resource is not a valid input value.

Ejemplos

Ejemplo 1. Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

El resultado del ejemplo seria:

There are 4 columns in the result set.

Ver también

db2_execute()
db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

Anterior | Inicio | Siguiente
db2_next_result | Subir | db2_num_rows


db2_num_rows

(PECL)

db2_num_rows -- Returns the number of rows affected by an SQL statement

Descripción

int db2_num_rows ( resource stmt )

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns FALSE.

Nota: If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the boolean return value of the fetch functions to achieve the equivalent functionality with much better performance.

Lista de parámetros

stmt

A valid stmt resource containing a result set.

Valores retornados

Returns the number of rows affected by the last SQL statement issued by the specified statement handle.

Anterior | Inicio | Siguiente
db2_num_fields | Subir | db2_pconnect


db2_pconnect

(PECL)

db2_pconnect -- Returns a persistent connection to a database

Descripción

resource db2_pconnect ( string database, string username, string password [, array options] )

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database. For more information on persistent connections, refer to Capítulo 41.

Calling db2_close() on a persistent connection always returns TRUE, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Lista de parámetros

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

Valores retornados

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns FALSE.

Ejemplos

Ejemplo 1. A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Persistent connection succeeded.";
}
else {
    echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Second persistent connection succeeded.";
}
else {
    echo "Second persistent connection failed.";
}
?>

El resultado del ejemplo seria:

Persistent connection succeeded.
Second persistent connection succeeded.

Ver también

db2_connect()

Anterior | Inicio | Siguiente
db2_num_rows | Subir | db2_prepare


db2_prepare

(PECL)

db2_prepare -- Prepares an SQL statement to be executed

Descripción

resource db2_prepare ( resource connection, string statement [, array options] )

db2_prepare() creates a prepared SQL statement which can include 0 or more parameter markers (? characters) representing parameters for input, output, or input/output. You can pass parameters to the prepared statement using db2_bind_param(), or for input values only, as an array passed to db2_execute().

There are three main advantages to using prepared statements in your application:

  • Performance: when you prepare a statement, the database server creates an optimized access plan for retrieving data with that statement. Subsequently issuing the prepared statement with db2_execute() enables the statements to reuse that access plan and avoids the overhead of dynamically creating a new access plan for every statement you issue.

  • Security: when you prepare a statement, you can include parameter markers for input values. When you execute a prepared statement with input values for placeholders, the database server checks each input value to ensure that the type matches the column definition or parameter definition.

  • Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using db2_bind_param().

Lista de parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement, optionally containing one or more parameter markers..

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

cursor

Passing the DB2_FORWARD_ONLY value requests a forward-only cursor for this SQL statement. This is the default type of cursor, and it is supported by all database servers. It is also much faster than a scrollable cursor.

Passing the DB2_SCROLLABLE value requests a scrollable cursor for this SQL statement. This type of cursor enables you to fetch rows non-sequentially from the database server. However, it is only supported by DB2 servers, and is much slower than forward-only cursors.

Valores retornados

Returns a statement resource if the SQL statement was successfully parsed and prepared by the database server. Returns FALSE if the database server returned an error. You can determine which error was returned by calling db2_stmt_error() or db2_stmt_errormsg().

Ejemplos

Ejemplo 1. Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

Ver también

db2_bind_param()
db2_execute()
db2_stmt_error()
db2_stmt_errormsg()

Anterior | Inicio | Siguiente
db2_pconnect | Subir | db2_primary_keys


db2_primary_keys

(PECL)

db2_primary_keys -- Returns a result set listing primary keys for a table

Descripción

resource db2_primary_keys ( resource connection, string qualifier, string schema, string table-name )

Returns a result set listing the primary keys for a table.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_primary_keys() matches the schema for the current connection.

table-name

The name of the table.

Valores retornados

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_prepare | Subir | db2_procedure_columns


db2_procedure_columns

(PECL)

db2_procedure_columns -- Returns a result set listing stored procedure parameters

Descripción

resource db2_procedure_columns ( resource connection, string qualifier, string schema, string procedure, string parameter )

Returns a result set listing the parameters for one or more stored procedures.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is NULL, all parameters for the specified stored procedures are returned.

Valores retornados

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.

DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns NULL values and 'NO' means that the parameter does not accept or return NULL values.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_primary_keys | Subir | db2_procedures


db2_procedures

(PECL)

db2_procedures -- Returns a result set listing the stored procedures registered in a database

Descripción

resource db2_procedures ( resource connection, string qualifier, string schema, string procedure )

Returns a result set listing the stored procedures registered in a database.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

Valores retornados

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_procedure_columns | Subir | db2_result


db2_result

(PECL)

db2_result -- Returns a single column from a row in the result set

Descripción

mixed db2_result ( resource stmt, mixed column )

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

Lista de parámetros

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

Valores retornados

Returns the value of the requested field if the field exists in the result set. Returns NULL if the field does not exist, and issues a warning.

Ejemplos

Ejemplo 1. A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 'BREED');
    print "$name $breed";
}
?>

El resultado del ejemplo seria:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Ver también

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()

Anterior | Inicio | Siguiente
db2_procedures | Subir | db2_rollback


db2_rollback

(PECL)

db2_rollback -- Rolls back a transaction

Descripción

bool db2_rollback ( resource connection )

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Nota: If the specified connection resource is a persistent connection, all transactions in progress for all applications using that persistent connection will be rolled back. For this reason, persistent connections are not recommended for use in applications that require transactions.

Lista de parámetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Turn AUTOCOMMIT off
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Delete all rows from ANIMALS
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Roll back the DELETE statement
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

El resultado del ejemplo seria:

7
0
7

Ver también

db2_autocommit()
db2_commit()

Anterior | Inicio | Siguiente
db2_result | Subir | db2_server_info


db2_server_info

(no version information, might be only in CVS)

db2_server_info -- Returns an object with properties that describe the DB2 database server

Descripción

object db2_server_info ( resource connection )

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

Tabla 1. Database server properties

Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | TRUE if the database server supports the use of % and _ wildcard characters. FALSE if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | TRUE if the database server supports columns that can be defined as NOT NULL, FALSE if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | TRUE if the database server supports the use of the CALL statement to call stored procedures, FALSE if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

Lista de parámetros

connection

Specifies an active DB2 client connection.

Valores retornados

Returns an object on a successful call. Returns FALSE on failure.

Ejemplos

Ejemplo 1. A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

El resultado del ejemplo seria:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Ver también

db2_client_info()

Anterior | Inicio | Siguiente
db2_rollback | Subir | db2_set_option


db2_set_option

(PECL)

db2_set_option -- Set options for connection or statement resources

Descripción

bool db2_set_option ( resource resource, array options [, int type] )

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

Lista de parámetros

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to NULL. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

The following new i5/OS options are available as of ibm_db2 version 1.5.1. Note: prior versions of ibm_db2 do not support these new i5 options.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

Tabla 1. Resource-Parameter Matrix

Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | X | X | -
cursor | DB2_FORWARD_ONLY | X | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo seria:

Options Set Successfully

Ejemplo 2. Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                       'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo seria:

Options Set Successfully

Ejemplo 3. Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
             'MY_INVALID_KEY' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo seria:

Could Not Set Options

Ejemplo 4. Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                     'binmode' => 'INVALID_VALUE',
              'db2_attr_case' => DB2_CASE_UPPER,
                       'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo seria:

Could Not Set Options

Ejemplo 5. Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                     'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                       'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo seria:

Could Not Set Options

Ejemplo 6. Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                     'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

El resultado del ejemplo seria:

Could Not Set Options

Ejemplo 7. Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
                        'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

El resultado del ejemplo seria:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Ejemplo 8. i5/OS cursors are read-only

<?php
  $conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
  $stmt = db2_prepare($conn, 'select * from names where first = ?');
  $name = "first2";
  db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
  $options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
  db2_set_option($stmt,$options,0);
  if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
    }
  }
?>

El resultado del ejemplo seria:

first2 last2

Ver también

db2_connect()
db2_pconnect()
db2_exec()
db2_prepare()
db2_cursor_type()

Anterior | Inicio | Siguiente
db2_server_info | Subir | db2_special_columns


db2_special_columns

(PECL)

db2_special_columns -- Returns a result set listing the unique row identifier columns for a table

Descripción

resource db2_special_columns ( resource connection, string qualifier, string schema, string table_name, int scope )

Returns a result set listing the unique row identifier columns for a table.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

Valores retornados

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_statistics()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_set_option | Subir | db2_statistics


db2_statistics

(PECL)

db2_statistics -- Returns a result set listing the index and statistics for a table

Descripción

resource db2_statistics ( resource connection, string qualifier, string schema, string table-name, bool unique )

Returns a result set listing the index and statistics for a table.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema that contains the targeted table. If this parameter is NULL, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

An integer value representing the type of index information to return.

0

Return only the information for unique indexes on the table.

1

Return the information for all indexes on the table.

Valores retornados

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
NULL | This row is statistics information for the table itself.

INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.

ORDINAL_POSITION | The 1-indexed position of the column in the index. NULL if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. NULL if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, NULL if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns NULL.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_table_privileges()
db2_tables()

Anterior | Inicio | Siguiente
db2_special_columns | Subir | db2_stmt_error


db2_stmt_error

(PECL)

db2_stmt_error -- Returns a string containing the SQLSTATE returned by an SQL statement

Descripción

string db2_stmt_error ( [resource stmt] )

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Lista de parámetros

stmt

A valid statement resource.

Valores retornados

Returns a string containing an SQLSTATE value.

Ver también

db2_conn_error()
db2_conn_errormsg()
db2_stmt_errormsg()

Anterior | Inicio | Siguiente
db2_statistics | Subir | db2_stmt_errormsg


db2_stmt_errormsg

(PECL)

db2_stmt_errormsg -- Returns a string containing the last SQL statement error message

Descripción

string db2_stmt_errormsg ( [resource stmt] )

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

Lista de parámetros

stmt

A valid statement resource.

Valores retornados

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

Ver también

db2_conn_error()
db2_conn_errormsg()
db2_stmt_error()

Anterior | Inicio | Siguiente
db2_stmt_error | Subir | db2_table_privileges


db2_table_privileges

(PECL)

db2_table_privileges -- Returns a result set listing the tables and associated privileges in a database

Descripción

resource db2_table_privileges ( resource connection [, string qualifier [, string schema [, string table_name]]] )

Returns a result set listing the tables and associated privileges in a database.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

Valores retornados

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_tables()

Anterior | Inicio | Siguiente
db2_stmt_errormsg | Subir | db2_tables


db2_tables

(PECL)

db2_tables -- Returns a result set listing the tables and associated metadata in a database

Descripción

resource db2_tables ( resource connection [, string qualifier [, string schema [, string table-name [, string table-type]]]] )

Returns a result set listing the tables and associated metadata in a database.

Lista de parámetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table-name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table-type

A list of comma-delimited table type identifiers. To match all table types, pass NULL or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

Valores retornados

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

Ver también

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()

Anterior | Inicio | Siguiente
db2_table_privileges | Subir | Funciones ICAP [eliminadas]


DOMAttr->__construct()

(no version information, might be only in CVS)

DOMAttr->__construct() -- Creates a new DOMAttr object

Descripción

class DOMAttr {

__construct ( string name [, string value] )

}

Creates a new DOMAttr object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createAttribute().

Lista de parámetros

name

The tag name of the attribute.

value

The value of the attribute.

Ejemplos

Ejemplo 1. Creating a new DOMAttr

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root attr="attrvalue" /> */

?>

Ver también

DOMDocument->createAttribute()

Anterior | Inicio | Siguiente
DOM Functions | Subir | DOMAttr->isId()


DOMComment->__construct()

(no version information, might be only in CVS)

DOMComment->__construct() -- Creates a new DOMComment object

Descripción

class DOMComment {

__construct ( [string value] )

}

Creates a new DOMComment object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createComment().

Lista de parámetros

value

The value of the comment.

Ejemplos

Ejemplo 1. Creating a new DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

Ver también

DOMDocument->createComment()

Anterior | Inicio | Siguiente
DOMCharacterData->substringData() | Subir | DOMDocument->__construct()


DOMDocument->__construct()

(no version information, might be only in CVS)

DOMDocument->__construct() -- Creates a new DOMDocument object

Descripción

class DOMDocument {

__construct ( [string version [, string encoding]] )

}

Creates a new DOMDocument object.

Lista de parámetros

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

Ejemplos

Ejemplo 1. Creating a new DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Ver también

DOMImplementation->createDocument()

Anterior | Inicio | Siguiente
DOMComment->__construct() | Subir | DOMDocument->createAttribute()


DOMDocument->normalizeDocument()

(no version information, might be only in CVS)

DOMDocument->normalizeDocument() -- Normalizes the document

Descripción

class DOMDocument {

void normalizeDocument ( void )

}

This method acts as if you saved and then loaded the document, putting the document in a "normal" form.

Valores retornados

No value is returned.

Ver también

The DOM Specification
DOMNode->normalize()

Anterior | Inicio | Siguiente
DOMDocument->loadXML() | Subir | DOMDocument->registerNodeClass()


DOMDocument->registerNodeClass()

(no version information, might be only in CVS)

DOMDocument->registerNodeClass() -- Register extended class used to create base node type

Descripción

class DOMDocument {

bool registerNodeClass ( string baseclass, string extendedclass )

}

This method allows you to register your own extended DOM class to be used afterward by the PHP DOM extension.

This method is not part of the DOM standard.

Lista de parámetros

baseclass

The DOM class that you want to extend. You can find a list of these classes in the chapter introduction.

Of course, you won't be able to register a class extending DOMDocument but you can always start your document by instanciating your own extending class.

extendedclass

Your extended class name. If NULL is provided, any previously registered class extending baseclass will be removed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Adding a new method to DOMElement to ease our code

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// From now on, adding an element to another costs only one method call !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

El resultado del ejemplo seria:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Anterior | Inicio | Siguiente
DOMDocument->normalizeDocument() | Subir | DOMDocument->relaxNGValidate()


DOMDocumentFragment->appendXML()

(no version information, might be only in CVS)

DOMDocumentFragment->appendXML() -- Append raw XML data

Descripción

class DOMDocumentFragment {

bool appendXML ( string data )

}

Appends raw XML data to a DOMDocumentFragment.

This method is not part of the DOM standard. It was created as a simplier approach for appending an XML DocumentFragment in a DOMDocument.

If you want to stick to the standards, you will have to create a temporary DOMDocument with a dummy root and then loop through the child nodes of the root of your XML data to append them.

Lista de parámetros

data

XML to append.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Appending XML data to your document

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

El resultado del ejemplo seria:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

Anterior | Inicio | Siguiente
DOMDocument->xinclude() | Subir | DOMElement->__construct()


DOMElement->__construct()

(no version information, might be only in CVS)

DOMElement->__construct() -- Creates a new DOMElement object

Descripción

class DOMElement {

__construct ( string name [, string value [, string namespaceURI]] )

}

Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createElement() or DOMDocument->createElementNS().

Lista de parámetros

name

The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.

value

The value of the element.

namespaceURI

A namespace URI to create the element within a specific namespace.

Ejemplos

Ejemplo 1. Creating a new DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Ver también

DOMDocument->createElement()
DOMDocument->createElementNS()

Anterior | Inicio | Siguiente
DOMDocumentFragment->appendXML() | Subir | DOMElement->getAttribute()


DOMElement->setIdAttribute()

(no version information, might be only in CVS)

DOMElement->setIdAttribute() -- Declares the attribute specified by name to be of type ID

Descripción

class DOMElement {

void setIdAttribute ( string name, bool isId )

}

Declares the attribute name to be of type ID.

Lista de parámetros

name

The name of the attribute.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Ver también

DOMDocument->getElementById()
DOMElement->setIdAttributeNode()
DOMElement->setIdAttributeNS()

Anterior | Inicio | Siguiente
DOMElement->setAttributeNS() | Subir | DOMElement->setIdAttributeNode()


DOMElement->setIdAttributeNode()

(no version information, might be only in CVS)

DOMElement->setIdAttributeNode() -- Declares the attribute specified by node to be of type ID

Descripción

class DOMElement {

void setIdAttributeNode ( DOMAttr attr, bool isId )

}

Declares the attribute specified by attr to be of type ID.

Lista de parámetros

attr

The attribute node.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Ver también

DOMDocument->getElementById()
DOMElement->setIdAttribute()
DOMElement->setIdAttributeNS()

Anterior | Inicio | Siguiente
DOMElement->setIdAttribute() | Subir | DOMElement->setIdAttributeNS()


DOMElement->setIdAttributeNS()

(no version information, might be only in CVS)

DOMElement->setIdAttributeNS() -- Declares the attribute specified by local name and namespace URI to be of type ID

Descripción

class DOMElement {

void setIdAttributeNS ( string namespaceURI, string localName, bool isId )

}

Declares the attribute specified by localName and namespaceURI to be of type ID.

Lista de parámetros

namespaceURI

The namespace URI of the attribute.

localName

The local name of the attribute, as prefix:tagname.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Valores retornados

No value is returned.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Ver también

DOMDocument->getElementById()
DOMElement->setIdAttribute()
DOMElement->setIdAttributeNode()

Anterior | Inicio | Siguiente
DOMElement->setIdAttributeNode() | Subir | DOMEntityReference->__construct()


DOMEntityReference->__construct()

(no version information, might be only in CVS)

DOMEntityReference->__construct() -- Creates a new DOMEntityReference object

Descripción

class DOMEntityReference {

__construct ( string name )

}

Creates a new DOMEntityReference object.

Lista de parámetros

name

The name of the entity reference.

Ejemplos

Ejemplo 1. Creating a new DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>&nbsp;</root> */

?>

Ver también

DOMDocument->createEntityReference()

Anterior | Inicio | Siguiente
DOMElement->setIdAttributeNS() | Subir | DOMImplementation->__construct()


DOMImplementation->__construct()

(no version information, might be only in CVS)

DOMImplementation->__construct() -- Creates a new DOMImplementation object

Descripción

class DOMImplementation {

__construct ( (void); )

}

Creates a new DOMImplementation object.

Anterior | Inicio | Siguiente
DOMEntityReference->__construct() | Subir | DOMImplementation->createDocument()


DOMNode->isDefaultNamespace()

(no version information, might be only in CVS)

DOMNode->isDefaultNamespace() -- Checks if the specified namespaceURI is the default namespace or not

Descripción

class DOMNode {

bool isDefaultNamespace ( string namespaceURI )

}

Tells whether namespaceURI is the default namespace.

Lista de parámetros

namespaceURI

The namespace URI to look for.

Valores retornados

Return TRUE if namespaceURI is the default namespace, FALSE otherwise.

Anterior | Inicio | Siguiente
DOMNode->insertBefore() | Subir | DOMNode->isSameNode()


DOMProcessingInstruction->__construct()

(no version information, might be only in CVS)

DOMProcessingInstruction->__construct() -- Creates a new DOMProcessingInstruction object

Descripción

class DOMProcessingInstruction {

__construct ( string name [, string value] )

}

Creates a new DOMProcessingInstruction object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createProcessingInstruction().

Lista de parámetros

name

The tag name of the processing instruction.

value

The value of the processing instruction.

Ejemplos

Ejemplo 1. Creating a new DOMProcessingInstruction

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Hello World"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

El resultado del ejemplo seria:

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Hello World"; ?></body></html>

Ver también

DOMDocument->createProcessingInstruction()

Anterior | Inicio | Siguiente
DOMNodelist->item() | Subir | DOMText->__construct()


DOMText->__construct()

(no version information, might be only in CVS)

DOMText->__construct() -- Creates a new DOMText object

Descripción

class DOMText {

__construct ( [string value] )

}

Creates a new DOMText object.

Lista de parámetros

value

The value of the text node. If not supplied an empty text node is created.

Ejemplos

Ejemplo 1. Creating a new DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>root value</root> */

?>

Ver también

DOMDocument->createTextNode()

Anterior | Inicio | Siguiente
DOMProcessingInstruction->__construct() | Subir | DOMText->isWhitespaceInElementContent()


DOMXPath->__construct()

(no version information, might be only in CVS)

DOMXPath->__construct() -- Creates a new DOMXPath object

Descripción

class DOMXPath {

__construct ( DOMDocument doc )

}

Creates a new DOMXPath object.

Lista de parámetros

doc

The DOMDocument associated with the DOMXPath.

Anterior | Inicio | Siguiente
DOMText->splitText() | Subir | DOMXPath->evaluate()


DOMXPath->evaluate()

(no version information, might be only in CVS)

DOMXPath->evaluate() -- Evaluates the given XPath expression and returns a typed result if possible.

Descripción

class DOMXPath {

mixed evaluate ( string expression [, DOMNode contextnode] )

}

Executes the given XPath expression and returns a typed result if possible.

Lista de parámetros

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

Valores retornados

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression.

Ejemplos

Ejemplo 1. Getting the count of all the english books

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";

?>

El resultado del ejemplo seria:

There are 2 english books

Ver también

DOMXPath->query()

Anterior | Inicio | Siguiente
DOMXPath->__construct() | Subir | DOMXPath->query()


DomAttribute->set_value

(no version information, might be only in CVS)

DomAttribute->set_value -- Establece el valor de un atributo

Descripción

class DomAttribute {

bool set_value ( string contenido )

}

Esta función establece el valor de un atributo.

Lista de parámetros

contenido

El nuevo valor.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Migración a PHP 5

Defina la propiedad value de DOMAttr.

Ver también

DomAttribute->value

Anterior | Inicio | Siguiente
DomAttribute->name | Subir | DomAttribute->specified


DomElement->set_attribute_node()

(no version information, might be only in CVS)

DomElement->set_attribute_node() -- Agrega un nuevo atributo

Descripción

class DomElement {

DomNode set_attribute_node ( DomNode atr )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
DomElement->remove_attribute() | Subir | DomElement->set_attribute()


domxml_xslt_version

(PHP 4 >= 4.2.0, PECL)

domxml_xslt_version -- Obtiene la versión de la biblioteca XSLT

Descripción

int domxml_xslt_version ( void )

Obtiene la versión de la biblioteca XSLT.

Valores retornados

Devuelve el número de la versión de la biblioteca XSLT, como un entero.

Ejemplos

Ejemplo 1. Ejemplo de domxml_xslt_version()

<?php

echo domxml_xslt_version();

?>

El resultado del ejemplo seria algo similar a:

10112

Ver también

domxml_version()

Anterior | Inicio | Siguiente
domxml_xslt_stylesheet | Subir | xpath_eval_expression


enchant_broker_describe

(PECL)

enchant_broker_describe -- Enumerates the Enchant providers

Descripción

array enchant_broker_describe ( resource broker )

Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo().

Lista de parámetros

broker

Broker resource

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. List the backends provided by the given broker

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

?>

El resultado del ejemplo seria algo similar a:

Current broker provides the following backend(s):
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Anterior | Inicio | Siguiente
enchant Functions | Subir | enchant_broker_dict_exists


enchant_broker_dict_exists

(PECL)

enchant_broker_dict_exists -- Wether a dictionary exists or not. Using non-empty tag

Descripción

bool enchant_broker_dict_exists ( resource broker, string tag )

Tells if a dictionary exists or not, using a non-empty tags

Lista de parámetros

broker

Broker resource

tag

non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

Valores retornados

Returns TRUE when the tag exist or FALSE when not.

Ejemplos

Ejemplo 1. A enchant_broker_dict_exists() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    echo $tag . " dictionary found.\n";
}
?>

Ver también

enchant_broker_describe()

Anterior | Inicio | Siguiente
enchant_broker_describe | Subir | enchant_broker_free_dict


enchant_broker_free

(PECL)

enchant_broker_free -- Free the broker resource and its dictionnaries

Descripción

bool enchant_broker_free ( resource broker )

Free a broker resource with all its dictionaries.

Lista de parámetros

broker

Broker resource

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

enchant_broker_init()

Anterior | Inicio | Siguiente
enchant_broker_free_dict | Subir | enchant_broker_get_error


enchant_broker_free_dict

(PECL)

enchant_broker_free_dict -- Free a dictionary resource

Descripción

bool enchant_broker_free_dict ( resource dict )

Free a dictionary resource.

Lista de parámetros

dict

Dictionary resource.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

enchant_broker_request_dict()
enchant_broker_request_pwl_dict()

Anterior | Inicio | Siguiente
enchant_broker_dict_exists | Subir | enchant_broker_free


enchant_broker_get_error

(PECL)

enchant_broker_get_error -- Returns the last error of the broker

Descripción

string enchant_broker_get_error ( resource broker )

Returns the last error which occurred in this broker.

Lista de parámetros

broker

Broker resource.

Valores retornados

Return the msg string if an error was found or FALSE

Anterior | Inicio | Siguiente
enchant_broker_free | Subir | enchant_broker_init


enchant_broker_init

(PECL)

enchant_broker_init -- create a new broker object capable of requesting

Descripción

resource enchant_broker_init ( void )

Lista de parámetros

Valores retornados

Returns a broker resource on success or FALSE.

Ver también

enchant_broker_free()

Anterior | Inicio | Siguiente
enchant_broker_get_error | Subir | enchant_broker_list_dicts


enchant_broker_list_dicts

(no version information, might be only in CVS)

enchant_broker_list_dicts -- Returns a list of available dictionaries

Descripción

mixed enchant_broker_list_dicts ( resource broker )

Returns a list of available dictionaries with their details.

Lista de parámetros

broker

Broker resource

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. List all available dictionaries for one broker

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Ver también

enchant_broker_describe ()

Anterior | Inicio | Siguiente
enchant_broker_init | Subir | enchant_broker_request_dict


enchant_broker_request_dict

(PECL)

enchant_broker_request_dict -- create a new dictionary using a tag

Descripción

resource enchant_broker_request_dict ( resource broker, string tag )

create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)

Lista de parámetros

broker

Broker resource

tag

A tag describing the locale, for example en_US, de_DE

Valores retornados

Returns a dictionary resource on success or FALSE on failure.

Ejemplos

Ejemplo 1. A enchant_broker_request_dict() example

Check if a dictionary exists using enchant_broker_dict_exists() and request it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
}
?>

Ver también

enchant_dict_describe()
enchant_broker_dict_exists()
enchant_broker_dict_free()

Anterior | Inicio | Siguiente
enchant_broker_list_dicts | Subir | enchant_broker_request_pwl_dict


enchant_broker_request_pwl_dict

(PECL)

enchant_broker_request_pwl_dict -- creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

Descripción

resource enchant_broker_request_pwl_dict ( resource broker, string filename )

creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

Lista de parámetros

broker

Broker resource

filename

Path to the PWL file.

Valores retornados

Returns a dictionary resource on success or FALSE on failure.

Ver también

enchant_dict_describe()
enchant_broker_dict_exists()
enchant_broker_dict_free()

Anterior | Inicio | Siguiente
enchant_broker_request_dict | Subir | enchant_broker_set_ordering


enchant_broker_set_ordering

(PECL)

enchant_broker_set_ordering -- Declares a preference of dictionaries to use for the language

Descripción

bool enchant_broker_set_ordering ( resource broker, string tag, string ordering )

Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

Lista de parámetros

broker

Broker resource

tag

Language tag. The special "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

ordering

Comma delimited list of provider names

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
enchant_broker_request_pwl_dict | Subir | enchant_dict_add_to_personal


enchant_dict_add_to_personal

(PECL)

enchant_dict_add_to_personal -- add a word to personal word list

Descripción

void enchant_dict_add_to_personal ( resource dict, string word )

Add a word to personal word list of the given dictionary.

Lista de parámetros

dict

Dictionary resource

word

The word to add

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

enchant_broker_request_pwl_dict()
enchant_broker_request_dict()

Anterior | Inicio | Siguiente
enchant_broker_set_ordering | Subir | enchant_dict_add_to_session


enchant_dict_add_to_session

(PECL)

enchant_dict_add_to_session -- add 'word' to this spell-checking session

Descripción

void enchant_dict_add_to_session ( resource dict, string word )

Add a word to the given dictionary. It will be added only for the active spell-checking session.

Lista de parámetros

dict

Dictionary resource

word

The word to add

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

enchant_broker_request_dict()

Anterior | Inicio | Siguiente
enchant_dict_add_to_personal | Subir | enchant_dict_check


enchant_dict_check

(PECL)

enchant_dict_check -- Check whether a word is correctly spelled or not.

Descripción

bool enchant_dict_check ( resource dict, string word )

If the word is correctly spelled return TRUE, otherwise return FALSE

Lista de parámetros

dict

Dictionary resource

word

The word to check

Valores retornados

Returns TRUE if the word is spelled correctly, FALSE if not.

Anterior | Inicio | Siguiente
enchant_dict_add_to_session | Subir | enchant_dict_describe


enchant_dict_describe

(PECL)

enchant_dict_describe -- Describes an individual dictionary

Descripción

mixed enchant_dict_describe ( resource dict )

Returns the details of the dictionary.

Lista de parámetros

dict

Dictinaray resource

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A enchant_dict_describe() example

Check if a dictionary exists using enchant_broker_dict_exists() and show the detail of it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
    $dict_details = enchant_dict_describe($dict);
    print_r($dict_details);
}
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)

Anterior | Inicio | Siguiente
enchant_dict_check | Subir | enchant_dict_get_error


enchant_dict_get_error

(PECL)

enchant_dict_get_error -- Returns the last error of the current spelling-session

Descripción

string enchant_dict_get_error ( resource dict )

Returns the last error of the current spelling-session

Lista de parámetros

dict

Dictinaray resource

Valores retornados

Returns the error message as string or FALSE if no error occurred.

Anterior | Inicio | Siguiente
enchant_dict_describe | Subir | enchant_dict_is_in_session


enchant_dict_is_in_session

(PECL)

enchant_dict_is_in_session -- whether or not 'word' exists in this spelling-session

Descripción

bool enchant_dict_is_in_session ( resource dict, string word )

Tells whether or not a word already exists in the current session.

Lista de parámetros

dict

Dictionary resource

word

The word to lookup

Valores retornados

Returns TRUE if the word exists or FALSE

Ver también

enchant_dict_add_to_session()

Anterior | Inicio | Siguiente
enchant_dict_get_error | Subir | enchant_dict_quick_check


enchant_dict_quick_check

(PECL)

enchant_dict_quick_check -- Check the word is correctly spelled and provide suggestions

Descripción

bool enchant_dict_quick_check ( resource dict, string word [, array &suggestions] )

If the word is correctly spelled return TRUE, otherwise return FALSE, if suggestions variable is provided, fill it with spelling alternatives.

Lista de parámetros

dict

Dictionary resource

word

The word to check

suggestions

If the word is not correctly spelled, this variable will contain an array of suggestions.

Valores retornados

Returns TRUE if the word is correctly spelled or FALSE

Ejemplos

Ejemplo 1. A enchant_dict_quick_check() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    enchant_dict_quick_check($d, 'soong', $suggs);
    print_r($suggs);
}
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Ver también

enchant_dict_check()
enchant_dict_suggest()

Anterior | Inicio | Siguiente
enchant_dict_is_in_session | Subir | enchant_dict_store_replacement


enchant_dict_store_replacement

(PECL)

enchant_dict_store_replacement -- add a correction for a word.

Descripción

void enchant_dict_store_replacement ( resource dict, string mis, string cor )

Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list.

Lista de parámetros

dict

Dictionary resource

mis

The work to fix

cor

The correct word

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
enchant_dict_quick_check | Subir | enchant_dict_suggest


enchant_dict_suggest

(PECL)

enchant_dict_suggest -- Will return a list of values if any of those pre-conditions are not met.

Descripción

array enchant_dict_suggest ( resource dict, string word )

Lista de parámetros

dict

Dictionary resource

word

Word to use for the suggestions.

Valores retornados

Will returns an array of suggestions if the word is bad spelled.

Ejemplos

Ejemplo 1. A enchant_dict_suggest() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);

    $spellerrors = enchant_dict_check($d, "soong");
    echo "found $spellerrors spell errors\n";
    if ($spellerrors) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Ver también

enchant_dict_check()
enchant_dict_quick_check()

Anterior | Inicio | Siguiente
enchant_dict_store_replacement | Subir | Funciones de Gestión de Errores y Registros


error_get_last

(no version information, might be only in CVS)

error_get_last -- Get the last occurred error

Descripción

array error_get_last ( void )

Gets information about the last error that occured.

Valores retornados

Returns an associative array describing the last error with keys "type", "message", "file" and "line". Returns NULL if there hasn't been an error yet.

Ejemplos

Ejemplo 1. An error_get_last() example

<?php
echo $a;
print_r(error_get_last());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Ver también

Error constants
Variable $php_errormsg
Directive display_errors

Anterior | Inicio | Siguiente
debug_print_backtrace | Subir | error_log


expect_expectl

(no version information, might be only in CVS)

expect_expectl -- Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Descripción

mixed expect_expectl ( resource expect, array cases, array &match )

Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen.

If match is provided, then it is filled with the result of search. The matched string can be found in match[0]. The match substrings (according to the parentheses) in the original pattern can be found in match[1], match[2], and so on, up to match[9] (the limitation of libexpect).

Lista de parámetros

expect

An Expect stream, previously opened with expect_popen().

cases

An array of expect cases. Each expect case is an indexed array, as described in the following table:

Tabla 1. Expect Case Array

Index Key | Value Type | Description | Is Mandatory | Default Value
0 | string | pattern, that will be matched against the output from the stream | yes
1 | mixed | value, that will be returned by this function, if the pattern matches | yes
2 | integer | pattern type, one of: EXP_GLOB, EXP_EXACT or EXP_REGEXP | no | EXP_GLOB

Valores retornados

Returns value associated with the pattern that was matched.

On failure this function returns: EXP_EOF, EXP_TIMEOUT or EXP_FULLBUFFER

Registro de cambios

Versión | Descripción
0.2.1 | Prior to version 0.2.1, in match parameter a match string was returned, not an array of match substrings.

Ejemplos

Ejemplo 1. expect_expectl() example

<?php
// Copies file from remote host:
ini_set ("expect.timeout", 30);

$stream = fopen ("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array (
  array (0 => "password:", 1 => PASSWORD),
  array (0 => "yes/no)?", 1 => YESNO)
);

while (true) {
 switch (expect_expectl ($stream, $cases))
 {
  case PASSWORD:
   fwrite ($stream, "password\n");
   break;

  case YESNO:
   fwrite ($stream, "yes\n");
   break;

  case EXP_TIMEOUT:
  case EXP_EOF:
   break 2;

  default:
   die ("Error has occurred!\n");
 }
}

fclose ($stream);
?>

Ver también

expect_popen()

Anterior | Inicio | Siguiente
Expect Functions | Subir | expect_popen


expect_popen

(no version information, might be only in CVS)

expect_popen -- Execute command via Bourne shell, and open the PTY stream to the process

Descripción

resource expect_popen ( string command )

Execute command via Bourne shell, and open the PTY stream to the process.

Lista de parámetros

command

Command to execute.

Valores retornados

Returns an open PTY stream to the process'es stdio, stdout and stderr.

On failure this function returns FALSE.

Ejemplos

Ejemplo 1. expect_popen() example

<?php
// Login to the PHP.net CVS repository:
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Ver también

popen()

Anterior | Inicio | Siguiente
expect_expectl | Subir | File Alteration Monitor Functions


fbsql_rows_fetched

(PHP 5 >= 5.1.0RC1)

fbsql_rows_fetched --

Descripción

int fbsql_rows_fetched ( [resource result] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
fbsql_rollback | Subir | fbsql_select_db


fbsql_set_characterset

(PHP 5 >= 5.1.0RC1)

fbsql_set_characterset -- Change input/output character set

Descripción

void fbsql_set_characterset ( resource link_identifier, int characterset [, int in_out_both] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
fbsql_select_db | Subir | fbsql_set_lob_mode


fbsql_table_name

(PHP 4 >= 4.2.0, PHP 5)

fbsql_table_name -- Get table name of field

Descripción

string fbsql_table_name ( resource result, int index )

fbsql_table_name() gets the name of the current table in the given result set.

The fbsql_num_rows() function may be used to determine the number of tables in the result pointer.

Lista de parámetros

result

A result pointer returned by fbsql_list_tables().

index

Integer index for the current table.

Valores retornados

Returns the name of the table, as a string.

Ejemplos

Ejemplo 1. fbsql_table_name() example

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_table_name($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>

Anterior | Inicio | Siguiente
fbsql_stop_db | Subir | fbsql_tablename


filter_has_var

(no version information, might be only in CVS)

filter_has_var -- Checks if variable of specified type exists

Descripción

bool filter_has_var ( int type, string variable_name )

Lista de parámetros

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV.

variable_name

Name of a variable to check.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
Filter Functions | Subir | filter_id


filter_id

(no version information, might be only in CVS)

filter_id -- Returns the filter ID belonging to a named filter

Descripción

int filter_id ( string filtername )

Lista de parámetros

filtername

Name of a filter to get.

Valores retornados

ID of a filter on success or NULL if filter doesn't exist.

Ver también

filter_list()

Anterior | Inicio | Siguiente
filter_has_var | Subir | filter_input_array


filter_input

(no version information, might be only in CVS)

filter_input -- Gets variable from outside PHP and optionally filters it

Descripción

mixed filter_input ( int type, string variable_name [, int filter [, mixed options]] )

Lista de parámetros

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION (not implemented yet) and INPUT_REQUEST (not implemented yet).

variable_name

Name of a variable to get.

filter

Filter to apply. Defaults to FILTER_DEFAULT.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array.

Valores retornados

Value of the requested variable on success, FALSE if the filter fails, or NULL if the variable_name variable is not set. If the flag FILTER_NULL_ON_FAILURE is used, it returns FALSE if the variable is not set and NULL if the filter fails.

Ejemplos

Ejemplo 1. A filter_input() example

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>

El resultado del ejemplo seria algo similar a:

You have searched for Me &#38; son.
<a href='?search=Me%20%26%20son'>Search again.</a>

Ver también

filter_var()
filter_input_array()
filter_var_array()

Anterior | Inicio | Siguiente
filter_input_array | Subir | filter_list


filter_input_array

(no version information, might be only in CVS)

filter_input_array -- Gets multiple variables from outside PHP and optionally filters them

Descripción

mixed filter_input_array ( int type [, mixed definition] )

This function is useful for retrieving many values without repetitively calling filter_input().

Lista de parámetros

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, or INPUT_REQUEST.

definition

An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which specifies any options that apply to the filter. See the example below for a better understanding.

This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.

Valores retornados

An array containing the values of the requested variables on success, or FALSE on failure. An array value will be FALSE if the filter fails, or NULL if the variable is not set. Or if the flag FILTER_NULL_ON_FAILURE is used, it returns FALSE if the variable is not set and NULL if the filter fails.

Ejemplos

Ejemplo 1. A filter_input_array() example

<?php
error_reporting(E_ALL | E_STRICT);
/* data actually came from POST
$_POST = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
*/

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FLAG_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FLAG_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FLAG_ARRAY,
                           )

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

El resultado del ejemplo seria:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Ver también

filter_input()
filter_var_array()

Anterior | Inicio | Siguiente
filter_id | Subir | filter_input


filter_list

(no version information, might be only in CVS)

filter_list -- Returns a list of all supported filters

Descripción

array filter_list ( void )

Valores retornados

Returns an array of names of all supported filters, empty array if there are no such filters. Indexes of this array are not filter IDs, they can be obtained with filter_id() from a name instead.

Ejemplos

Ejemplo 1. A filter_list() example

<?php
print_r(filter_list());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

Anterior | Inicio | Siguiente
filter_input | Subir | filter_var_array


filter_var

(no version information, might be only in CVS)

filter_var -- Filters a variable with a specified filter

Descripción

mixed filter_var ( mixed variable [, int filter [, mixed options]] )

Lista de parámetros

variable

Value to filter, arrays are filtered recursively.

filter

ID of a filter to use. Defaults to FILTER_SANITIZE_STRING.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array. For the "callback" filter, callback type should be passed.

Valores retornados

Returns the filtered data, or FALSE if the filter fails.

Ejemplos

Ejemplo 1. A filter_var() example

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>

El resultado del ejemplo seria:

string(15) "bob@example.com"
bool(false)

Ver también

filter_var_array()
filter_input()
filter_input_array()
information about the callback type

Anterior | Inicio | Siguiente
filter_var_array | Subir | Funciones InterBase


filter_var_array

(no version information, might be only in CVS)

filter_var_array -- Gets multiple variables and optionally filters them

Descripción

mixed filter_var_array ( array data [, mixed definition] )

This function is useful for retrieving many values without repetitively calling filter_var().

Lista de parámetros

data

An array with string keys containing the data to filter.

definition

An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which specifies any options that apply to the filter. See the example below for a better understanding.

This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.

Valores retornados

An array containing the values of the requested variables on success, or FALSE on failure. An array value will be FALSE if the filter fails, or NULL if the variable is not set.

Ejemplos

Ejemplo 1. A filter_var_array() example

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

El resultado del ejemplo seria:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Ver también

filter_input_array()
filter_var()
filter_input()

Anterior | Inicio | Siguiente
filter_list | Subir | filter_var


finfo_buffer

(PECL)

finfo_buffer -- Return information about a string buffer

Descripción

string finfo_buffer ( resource finfo, string string [, int options] )

class finfo {

string buffer ( string string [, int options] )

}

This function is used to get information about binary data in a string.

Lista de parámetros

finfo

Fileinfo resource returned by finfo_open().

string

Content of a file to be checked.

options

One or disjunction of more Fileinfo constants.

Valores retornados

Returns a textual description of the string argument, or FALSE if an error occurred.

Ejemplos

Ejemplo 1. A finfo_buffer() example

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

El resultado del ejemplo seria algo similar a:

application/x-sh

Ver también

finfo_file()

Anterior | Inicio | Siguiente
Fileinfo Functions | Subir | finfo_close


finfo_close

(PECL)

finfo_close -- Close fileinfo resource

Descripción

bool finfo_close ( resource finfo )

class finfo {

__destruct(); }

This function closes the resource opened by finfo_open().

Lista de parámetros

finfo

Fileinfo resource returned by finfo_open().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
finfo_buffer | Subir | finfo_file


finfo_file

(PECL)

finfo_file -- Return information about a file

Descripción

string finfo_file ( resource finfo, string file_name [, int options [, resource context]] )

class finfo {

string file ( string file_name [, int options [, resource context]] )

}

This function is used to get information about a file.

Lista de parámetros

finfo

Fileinfo resource returned by finfo_open().

file_name

Name of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

For a description of contexts, refer to Referencia CLVIII, Funciones de Secuencias.

Valores retornados

Returns a textual description of the contents of the filename argument, or FALSE if an error occurred.

Ejemplos

Ejemplo 1. A finfo_file() example

<?php
$finfo = finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

El resultado del ejemplo seria algo similar a:

text/html
image/gif
application/vnd.ms-excel

Ver también

finfo_buffer()

Anterior | Inicio | Siguiente
finfo_close | Subir | finfo_open


finfo_open

(PECL)

finfo_open -- Create a new fileinfo resource

Descripción

resource finfo_open ( [int options [, string arg]] )

class finfo {

__construct ( [int options [, string magic_file]] )

}

This function opens a magic database and returns its resource.

Lista de parámetros

options

One or disjunction of more Fileinfo constants.

magic_file

Name of a magic database file, usually something like /path/to/magic.mime. If not specified, MAGIC environment variable is used. If this variable is not set neither, /usr/share/misc/magic is used. .mime and/or .mgc is added if appropriate.

Valores retornados

Returns a magic database resource on success or FALSE on failure.

Ver también

finfo_close()

Anterior | Inicio | Siguiente
finfo_file | Subir | finfo_set_flags


finfo_set_flags

(PECL)

finfo_set_flags -- Set libmagic configuration options

Descripción

bool finfo_set_flags ( resource finfo, int options )

class finfo {

bool set_flags ( int options )

}

This function sets various Fileinfo options. Options can be set also directly in finfo_open() or other Fileinfo functions.

Lista de parámetros

finfo

Fileinfo resource returned by finfo_open().

options

One or disjunction of more Fileinfo constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
finfo_open | Subir | Funciones filePro


geoip_country_code3_by_name

(no version information, might be only in CVS)

geoip_country_code3_by_name -- Get the three letter country code

Descripción

string geoip_country_code3_by_name ( string hostname )

The geoip_country_code3_by_name() function will return the three letter country code corresponding to a hostname or an IP address.

Lista de parámetros

hostname

The hostname or IP address whose location is to be looked-up.

Valores retornados

Returns the three letter country code on success, or FALSE if the address cannot be found in the database.

Ejemplos

Ejemplo 1. A geoip_country_code3_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

El resultado del ejemplo seria:

This host is located in: USA

Ver también

geoip_country_code_by_name()
geoip_country_name_by_name()

Anterior | Inicio | Siguiente
geoip_country_code_by_name | Subir | geoip_country_name_by_name


geoip_country_code_by_name

(no version information, might be only in CVS)

geoip_country_code_by_name -- Get the two letter country code

Descripción

string geoip_country_code_by_name ( string hostname )

The geoip_country_code_by_name() function will return the two letter country code corresponding to a hostname or an IP address.

Lista de parámetros

hostname

The hostname or IP address whose location is to be looked-up.

Valores retornados

Returns the two letter ISO country code on success, or FALSE if the address cannot be found in the database.

Ejemplos

Ejemplo 1. A geoip_country_code_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

El resultado del ejemplo seria:

This host is located in: US

Ver también

geoip_country_code3_by_name()
geoip_country_name_by_name()

Anterior | Inicio | Siguiente
GeoIP Functions | Subir | geoip_country_code3_by_name


geoip_country_name_by_name

(no version information, might be only in CVS)

geoip_country_name_by_name -- Get the full country name

Descripción

string geoip_country_name_by_name ( string hostname )

The geoip_country_name_by_name() function will return the full country name corresponding to a hostname or an IP address.

Lista de parámetros

hostname

The hostname or IP address whose location is to be looked-up.

Valores retornados

Returns the country name on success, or FALSE if the address cannot be found in the database.

Ejemplos

Ejemplo 1. A geoip_country_name_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

El resultado del ejemplo seria:

This host is located in: United States

Ver también

geoip_country_code_by_name()
geoip_country_code3_by_name()

Anterior | Inicio | Siguiente
geoip_country_code3_by_name | Subir | geoip_database_info


geoip_database_info

(no version information, might be only in CVS)

geoip_database_info -- Get GeoIP Database information

Descripción

string geoip_database_info ( [int database] )

The geoip_database_info() function returns the corresponding GeoIP Database version as it is defined inside the binary file.

If this function is called without arguments, it returns the version of the GeoIP Free Country Edition.

Lista de parámetros

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Valores retornados

Returns the corresponding database version, or NULL on error.

Ejemplos

Ejemplo 1. A geoip_region_by_name() example

This will output the current database version string.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

El resultado del ejemplo seria:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

Anterior | Inicio | Siguiente
geoip_country_name_by_name | Subir | geoip_id_by_name


geoip_id_by_name

(no version information, might be only in CVS)

geoip_id_by_name -- Get the Internet connection speed

Descripción

int geoip_id_by_name ( string hostname )

The geoip_id_by_name() function will return the country and region corresponding to a hostname or an IP address.

The return value is numeric and can be compared to the following constants:

  • GEOIP_UNKNOWN_SPEED

  • GEOIP_DIALUP_SPEED

  • GEOIP_CABLEDSL_SPEED

  • GEOIP_CORPORATE_SPEED

Lista de parámetros

hostname

The hostname or IP address whose net speed is to be looked-up.

Valores retornados

Returns the net speed.

Ejemplos

Ejemplo 1. A geoip_id_by_name() example

This will output the net speed of the host example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'The connection type is ';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'dial-up';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable or DSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporate';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'unknown';
}
?>

El resultado del ejemplo seria:

The connection type is corporate

Anterior | Inicio | Siguiente
geoip_database_info | Subir | geoip_org_by_name


geoip_org_by_name

(no version information, might be only in CVS)

geoip_org_by_name -- Get the organization name

Descripción

string geoip_org_by_name ( string hostname )

The geoip_org_by_name() function will return the name of the organization that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP Organization, ISP or AS Edition. A warning will be issued if the proper database cannot be located.

Lista de parámetros

hostname

The hostname or IP address.

Valores retornados

Returns the organization name on success, or FALSE if the address cannot be found in the database.

Ejemplos

Ejemplo 1. A geoip_org_by_name() example

This will print to whom the host example.com IP is allocated.

<?php
$org = geoip_country_code_by_name('www.example.com');
if ($org) {
    echo 'This host IP is allocated to: ' . $org;
}
?>

El resultado del ejemplo seria:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority

Anterior | Inicio | Siguiente
geoip_id_by_name | Subir | geoip_record_by_name


geoip_record_by_name

(no version information, might be only in CVS)

geoip_record_by_name -- Returns the detailed City information found in the GeoIP Database

Descripción

array geoip_record_by_name ( string hostname )

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())

  • "region" -- The region code (ex: CA for California)

  • "city" -- The city.

  • "postal_code" -- The Postal Code, FSA or Zip Code.

  • "latitude" -- The Latitude as signed double.

  • "longitude" -- The Longitude as signed double.

  • "dma_code"

  • "area_code" -- The PSTN area code (ex: 212)

Lista de parámetros

hostname

The hostname or IP address whose record is to be looked-up.

Valores retornados

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Ejemplos

Ejemplo 1. A geoip_record_by_name() example

This will print the array containing the record of host example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

El resultado del ejemplo seria:

Array
(
    [country_code] => US
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)

Anterior | Inicio | Siguiente
geoip_org_by_name | Subir | geoip_region_by_name


geoip_region_by_name

(no version information, might be only in CVS)

geoip_region_by_name -- Get the country code and region

Descripción

array geoip_region_by_name ( string hostname )

The geoip_region_by_name() function will return the country and region corresponding to a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Region Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())

  • "region" -- The region code (ex: CA for California)

Lista de parámetros

hostname

The hostname or IP address whose region is to be looked-up.

Valores retornados

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Ejemplos

Ejemplo 1. A geoip_region_by_name() example

This will print the array containing the country code and region of the host example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

El resultado del ejemplo seria:

Array
(
    [country_code] => US
    [region] => CA
)

Anterior | Inicio | Siguiente
geoip_record_by_name | Subir | Gettext


gmp_nextprime

(no version information, might be only in CVS)

gmp_nextprime -- Find next prime number

Description

resource gmp_nextprime ( int a )

Return next prime number greater than a.

This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.

Ejemplo 1. gmp_nextprime() example

<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

The printout of the above program is:

11
-997

Anterior | Inicio | Siguiente
gmp_neg | Subir | gmp_or


gnupg_adddecryptkey

(no version information, might be only in CVS)

gnupg_adddecryptkey -- Add a key for decryption

Descripción

bool gnupg_adddecryptkey ( resource identifier, string fingerprint, string passphrase )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_adddecryptkey() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Ejemplo 2. OO gnupg_adddecryptkey() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Anterior | Inicio | Siguiente
gnupg Functions | Subir | gnupg_addencryptkey


gnupg_addencryptkey

(no version information, might be only in CVS)

gnupg_addencryptkey -- Add a key for encryption

Descripción

bool gnupg_addencryptkey ( resource identifier, string fingerprint )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_addencryptkey() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Ejemplo 2. OO gnupg_addencryptkey() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

Anterior | Inicio | Siguiente
gnupg_adddecryptkey | Subir | gnupg_addsignkey


gnupg_addsignkey

(no version information, might be only in CVS)

gnupg_addsignkey -- Add a key for signing

Descripción

bool gnupg_addsignkey ( resource identifier, string fingerprint [, string passphrase] )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_addsignkey() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Ejemplo 2. OO gnupg_addsignkey() example

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Anterior | Inicio | Siguiente
gnupg_addencryptkey | Subir | gnupg_cleardecryptkeys


gnupg_cleardecryptkeys

(no version information, might be only in CVS)

gnupg_cleardecryptkeys -- Removes all keys which were set for decryption before

Descripción

bool gnupg_cleardecryptkeys ( resource identifier )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_cleardecryptkeys() example

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Ejemplo 2. OO gnupg_cleardecryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

Anterior | Inicio | Siguiente
gnupg_addsignkey | Subir | gnupg_clearencryptkeys


gnupg_clearencryptkeys

(no version information, might be only in CVS)

gnupg_clearencryptkeys -- Removes all keys which were set for encryption before

Descripción

bool gnupg_clearencryptkeys ( resource identifier )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_clearencryptkeys() example

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Ejemplo 2. OO gnupg_clearencryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

Anterior | Inicio | Siguiente
gnupg_cleardecryptkeys | Subir | gnupg_clearsignkeys


gnupg_clearsignkeys

(no version information, might be only in CVS)

gnupg_clearsignkeys -- Removes all keys which were set for signing before

Descripción

bool gnupg_clearsignkeys ( resource identifier )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_clearsignkeys() example

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Ejemplo 2. OO gnupg_clearsignkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

Anterior | Inicio | Siguiente
gnupg_clearencryptkeys | Subir | gnupg_decrypt


gnupg_decrypt

(no version information, might be only in CVS)

gnupg_decrypt -- Decrypts a given text

Descripción

string gnupg_decrypt ( resource identifier, string text )

Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.

Valores retornados

On success, this function returns the decrypted text. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_decrypt() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Ejemplo 2. OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

Anterior | Inicio | Siguiente
gnupg_clearsignkeys | Subir | gnupg_decryptverify


gnupg_decryptverify

(no version information, might be only in CVS)

gnupg_decryptverify -- Decrypts and verifies a given text

Descripción

array gnupg_decryptverify ( resource identifier, string text, string plaintext )

Decrypts and verifies a given text and returns information about the signature. The parameter plaintext gets filled with the decrypted text.

Valores retornados

On success, this function returns information about the signature and fills the plaintext parameter with the decrypted text. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_decryptverify() example

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Ejemplo 2. OO gnupg_decryptverify() example

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg -> decryptverify($text,$plaintext);
print_r($info);
?>

Anterior | Inicio | Siguiente
gnupg_decrypt | Subir | gnupg_encrypt


gnupg_encrypt

(no version information, might be only in CVS)

gnupg_encrypt -- Encrypts a given text

Descripción

string gnupg_encrypt ( resource identifier, string plaintext )

Encrypts the given plaintext with the keys, which were set with gnupg_addencryptkey before and returns the encrypted text.

Valores retornados

On success, this function returns the encrypted text. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_encrypt() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

Ejemplo 2. OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>

Anterior | Inicio | Siguiente
gnupg_decryptverify | Subir | gnupg_encryptsign


gnupg_encryptsign

(no version information, might be only in CVS)

gnupg_encryptsign -- Encrypts and signs a given text

Descripción

string gnupg_encryptsign ( resource identifier, string plaintext )

Encrypts and signs the given plaintext with the keys, which were set with gnupg_addsignkey and gnupg_addencryptkey before and returns the encrypted and signed text.

Valores retornados

On success, this function returns the encrypted and signed text. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_encryptsign() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

Ejemplo 2. OO gnupg_encryptsign() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("just a test");
echo $enc;
?>

Anterior | Inicio | Siguiente
gnupg_encrypt | Subir | gnupg_export


gnupg_export

(no version information, might be only in CVS)

gnupg_export -- Exports a key

Descripción

string gnupg_export ( resource identifier, string fingerprint )

Exports the key fingerprint.

Valores retornados

On success, this function returns the keydata. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_export() example

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Ejemplo 2. OO gnupg_export() example

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

Anterior | Inicio | Siguiente
gnupg_encryptsign | Subir | gnupg_geterror


gnupg_geterror

(no version information, might be only in CVS)

gnupg_geterror -- Returns the errortext, if a function fails

Descripción

string gnupg_geterror ( resource identifier )

Valores retornados

Returns an errortext, if an error has occurred, otherwise FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_geterror() example

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Ejemplo 2. OO gnupg_geterror() example

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

Anterior | Inicio | Siguiente
gnupg_export | Subir | gnupg_getprotocol


gnupg_getprotocol

(no version information, might be only in CVS)

gnupg_getprotocol -- Returns the currently active protocol for all operations

Descripción

int gnupg_getprotocol ( resource identifier )

Valores retornados

Returns the currently active protocol, which can be one of GNUPG_PROTOCOL_OpenPGP or GNUPG_PROTOCOL_CMS.

Ejemplos

Ejemplo 1. Procedural gnupg_getprotocol() example

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Ejemplo 2. OO gnupg_getprotocol() example

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>

Anterior | Inicio | Siguiente
gnupg_geterror | Subir | gnupg_import


gnupg_import

(no version information, might be only in CVS)

gnupg_import -- Imports a key

Descripción

array gnupg_import ( resource identifier, string keydata )

Imports the key keydata and returns an array with information about the importprocess.

Valores retornados

On success, this function returns and info-array about the importprocess. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_import() example

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Ejemplo 2. OO gnupg_import() example

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>

Anterior | Inicio | Siguiente
gnupg_getprotocol | Subir | gnupg_keyinfo


gnupg_keyinfo

(no version information, might be only in CVS)

gnupg_keyinfo -- Returns an array with information about all keys that matches the given pattern

Descripción

array gnupg_keyinfo ( resource identifier, string pattern )

Valores retornados

Returns an array with information about all keys that matches the given pattern or FALSE, if an error has occurred.

Ejemplos

Ejemplo 1. Procedural gnupg_keyinfo() example

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Ejemplo 2. OO gnupg_keyinfo() example

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

Anterior | Inicio | Siguiente
gnupg_import | Subir | gnupg_setarmor


gnupg_setarmor

(no version information, might be only in CVS)

gnupg_setarmor -- Toggle armored output

Descripción

bool gnupg_setarmor ( resource identifier, int armor )

Pass a non-zero integer-value to this function to enable armored-output (default). Pass 0 to disable armored output.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_setarmor() example

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // enable armored output;
gnupg_setarmor($res,0); // disable armored output;
?>

Ejemplo 2. OO gnupg_setarmor() example

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // enable armored output;
$gpg -> setarmor(0); // disable armored output;
?>

Anterior | Inicio | Siguiente
gnupg_keyinfo | Subir | gnupg_seterrormode


gnupg_seterrormode

(no version information, might be only in CVS)

gnupg_seterrormode -- Sets the mode for error_reporting

Descripción

void gnupg_seterrormode ( resource identifier, int errormode )

errormode takes a constant indicating what type of error_reporting should be used. The possible values are GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION and GNUPG_ERROR_SILENT. By default GNUPG_ERROR_SILENT is used.

Ejemplos

Ejemplo 1. Procedural gnupg_seterrormode() example

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // raise a PHP-Warning in case of an error
?>

Ejemplo 2. OO gnupg_seterrormode() example

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // throw an exception in case of an error
?>

Anterior | Inicio | Siguiente
gnupg_setarmor | Subir | gnupg_setsignmode


gnupg_setsignmode

(no version information, might be only in CVS)

gnupg_setsignmode -- Sets the mode for signing

Descripción

bool gnupg_setsignmode ( resource identifier, int signmode )

signmode takes a constant indicating what type of signature should be produced. The possible values are GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH and GNUPG_SIG_MODE_CLEAR. By default GNUPG_SIG_MODE_CLEAR is used.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Procedural gnupg_setsignmode() example

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produce a detached signature
?>

Ejemplo 2. OO gnupg_setsignmode() example

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // produce a detached signature
?>

Anterior | Inicio | Siguiente
gnupg_seterrormode | Subir | gnupg_sign


gnupg_sign

(no version information, might be only in CVS)

gnupg_sign -- Signs a given text

Descripción

string gnupg_sign ( resource identifier, string plaintext )

Signs the given plaintext with the keys, which were set with gnupg_addsignkey before and returns the signed text or the signature, depending on what was set with gnupg_setsignmode.

Valores retornados

On success, this function returns the signed text or the signature. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_sign() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

Ejemplo 2. OO gnupg_sign() example

<?php
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("just a test");
echo $signed;
?>

Anterior | Inicio | Siguiente
gnupg_setsignmode | Subir | gnupg_verify


gnupg_verify

(no version information, might be only in CVS)

gnupg_verify -- Verifies a signed text

Descripción

array gnupg_verify ( resource identifier, string signed_text, string signature [, string plaintext] )

Verifies the given signed_text and returns information about the signature. To verify a clearsigned text, set signature to FALSE. If the optional parameter plaintext is passed, it is filled with the plaintext.

Valores retornados

On success, this function returns informations about the signature. On failure, this function returns FALSE.

Ejemplos

Ejemplo 1. Procedural gnupg_verify() example

<?php
$plaintext = "";
$res = gnupg_init();
// clearsigned
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Ejemplo 2. OO gnupg_verify() example

<?php
$plaintext = "";
$gpg = new gnupg();
// clearsigned
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = $gpg -> verify($signed_text,$signature);
print_r($info);
?>

Anterior | Inicio | Siguiente
gnupg_sign | Subir | Net_Gopher


gopher_parsedir

(PECL)

gopher_parsedir -- Translate a gopher formatted directory entry into an associative array.

Descripción

array gopher_parsedir ( string dirent )

gopher_parsedir() parses a gopher formatted directory entry into an associative array.

While gopher returns text/plain documents for actual document requests. A request to a directory (such as /) will return specially encoded series of lines with each line being one directory entry or information line.

Lista de parámetros

dirent

The directory entry.

Valores retornados

Returns an associative array whose components are:

  • type - One of the GOPHER_XXX constants.

  • title - The name of the resource.

  • path - The path of the resource.

  • host - The domain name of the host that has this document (or directory).

  • port - The port at which to connect on host.

Upon failure, the additional data entry of the returned array will hold the parsed line.

Ejemplos

Ejemplo 1. Hypothetical output from gopher://gopher.example.com/

0All about my gopher site.	/allabout.txt	gopher.example.com	70
9A picture of my cat.	/pics/cat.png	gopher.example.com	70
1A collection of my writings.	/stories	gopher.example.com	70
hThe HTTP version of this site.	URL:http://www.example.com	gopher.example.com	70
1Mirror of this site in Spain.	/	gopher.ejemplo.co.es	70
iWelcome to my gopher site.		error.host	1
iPlease select one of the options above		error.host	1
iSend complaints to /dev/null		error.host	1
iLong live gopher!		error.host	1

In the example above, the root directory at gopher.example.com knows about one DOCUMENT identified by 0 located at gopher://gopher.example.com:70/allabout.txt. It also knows about two other directory (which have their own listing files) at gopher://gopher.exmaple.com:70/stories and at gopher://gopher.ejemplo.co.es:70/. In addition there is a binary file, a link to an HTTP url, and several informative lines.

By passing each line of the directory listing into gopher_parsedir(), an associative array is formed containing a parsed out version of the data.

Ejemplo 2. Using gopher_parsedir()

<?php
$directory = file("gopher://gopher.example.com");

foreach($directory as $dirent) {
    print_r(gopher_parsedir($dirent));
}
?>

El resultado del ejemplo seria:

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)

Anterior | Inicio | Siguiente
Net_Gopher | Subir | hash Functions


gzdecode

(no version information, might be only in CVS)

gzdecode -- Decodes a gzip compressed string

Descripción

string gzdecode ( string data [, int length] )

This function returns a decoded version of the input data.

Lista de parámetros

data

The data to decode, encoded by gzencode().

length

The maximum length of data to decode.

Valores retornados

The decoded string, or FALSE if an error occurred.

Ver también

gzencode()

Anterior | Inicio | Siguiente
gzcompress | Subir | gzdeflate


__halt_compiler

(no version information, might be only in CVS)

__halt_compiler -- Detiene la ejecución del compilador

Descripción

void __halt_compiler ( void )

Esta función detiene la ejecución del compilador. Esto puede ser útil para embeber datos en scripts PHP, como ocurre con los archivos de instalación. La posición del byte al comienzo de los datos puede ser determinada por la constante __COMPILER_HALT_OFFSET__, la cual es definida únicamente si hay una función __halt_compiler() presente en el archivo.

Nota: __halt_compiler() sólo puede ser usado desde el entorno más externo.

Ejemplos

Ejemplo 1. Un ejemplo de __halt_compiler()

<?php

// abrir este archivo
$aa = fopen(__FILE__, 'r');

// acomodar el apuntador de archivo a los datos
fseek($aa, __COMPILER_HALT_OFFSET__);

// e imprimir
var_dump(stream_get_contents($aa));

// final de ejecución del script
__halt_compiler();los datos de instalación (p.ej. tar, gz, PHP, etc.)

Anterior | Inicio | Siguiente
get_browser | Subir | highlight_file


hash

(no version information, might be only in CVS)

hash -- Generate a hash value (message digest)

Descripción

string hash ( string algo, string data [, bool raw_output] )

Lista de parámetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Valores retornados

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Ejemplos

Ejemplo 1. A hash() example

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

El resultado del ejemplo seria:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

Ver también

hash_file()
hash_hmac()
hash_init()

Anterior | Inicio | Siguiente
hash_update | Subir | HTTP


hash_algos

(no version information, might be only in CVS)

hash_algos -- Return a list of registered hashing algorithms

Descripción

array hash_algos ( void )

Valores retornados

Returns a numerically indexed array containing the list of supported hashing algorithms.

Ejemplos

Ejemplo 1. hash_algos() example

As of PHP 5.1.2, hash_algos() will return the following list of algorithm names.

<?php
print_r(hash_algos());
?>

El resultado del ejemplo seria:

Array
(
    [0] => md4
    [1] => md5
    [2] => sha1
    [3] => sha256
    [4] => sha384
    [5] => sha512
    [6] => ripemd128
    [7] => ripemd160
    [8] => whirlpool
    [9] => tiger128,3
    [10] => tiger160,3
    [11] => tiger192,3
    [12] => tiger128,4
    [13] => tiger160,4
    [14] => tiger192,4
    [15] => snefru
    [16] => gost
    [17] => adler32
    [18] => crc32
    [19] => crc32b
    [20] => haval128,3
    [21] => haval160,3
    [22] => haval192,3
    [23] => haval224,3
    [24] => haval256,3
    [25] => haval128,4
    [26] => haval160,4
    [27] => haval192,4
    [28] => haval224,4
    [29] => haval256,4
    [30] => haval128,5
    [31] => haval160,5
    [32] => haval192,5
    [33] => haval224,5
    [34] => haval256,5
)

Anterior | Inicio | Siguiente
hash Functions | Subir | hash_file


hash_file

(no version information, might be only in CVS)

hash_file -- Generate a hash value using the contents of a given file

Descripción

string hash_file ( string algo, string filename [, bool raw_output] )

Lista de parámetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Valores retornados

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Ejemplos

Ejemplo 1. Using hash_file()

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_file('md5', 'example.txt');
?>

El resultado del ejemplo seria:

5c6ffbdd40d9556b73a21e63c3e0e904

Ver también

hash()
hash_hmac_file()
hash_update_file()

Anterior | Inicio | Siguiente
hash_algos | Subir | hash_final


hash_final

(no version information, might be only in CVS)

hash_final -- Finalize an incremental hash and return resulting digest

Descripción

string hash_final ( resource context [, bool raw_output] )

Lista de parámetros

context

Hashing context returned by hash_init().

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Valores retornados

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Ejemplos

Ejemplo 1. hash_final() example

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'The quick brown fox jumped over the lazy dog.');
echo hash_final($ctx);
?>

El resultado del ejemplo seria:

c0854fb9fb03c41cce3802cb0d220529e6eef94e

Ver también

hash_init()
hash_update()
hash_update_stream()
hash_update_file()

Anterior | Inicio | Siguiente
hash_file | Subir | hash_hmac_file


hash_hmac

(no version information, might be only in CVS)

hash_hmac -- Generate a keyed hash value using the HMAC method

Descripción

string hash_hmac ( string algo, string data, string key [, bool raw_output] )

Lista de parámetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

key

Shared secret key used for generating the HMAC variant of the message digest.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Valores retornados

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Ejemplos

Ejemplo 1. hash_hmac() example

<?php
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

El resultado del ejemplo seria:

b8e7ae12510bdfb1812e463a7f086122cf37e4f7

Ver también

hash()
hash_init()
hash_hmac_file()

Anterior | Inicio | Siguiente
hash_hmac_file | Subir | hash_init


hash_hmac_file

(no version information, might be only in CVS)

hash_hmac_file -- Generate a keyed hash value using the HMAC method and the contents of a given file

Descripción

string hash_hmac_file ( string algo, string filename, string key [, bool raw_output] )

Lista de parámetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

key

Shared secret key used for generating the HMAC variant of the message digest.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Valores retornados

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Ejemplos

Ejemplo 1. hash_hmac_file() example

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_hmac_file('md5', 'example.txt', 'secret');
?>

El resultado del ejemplo seria:

7eb2b5c37443418fc77c136dd20e859c

Ver también

hash_hmac()
hash_file()

Anterior | Inicio | Siguiente
hash_final | Subir | hash_hmac


hash_init

(no version information, might be only in CVS)

hash_init -- Initialize an incremental hashing context

Descripción

resource hash_init ( string algo [, int options, string key] )

Lista de parámetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

options

Optional settings for hash generation, currently supports only one option: HASH_HMAC. When specified, the key must be specified.

key

When HASH_HMAC is specified for options, a shared secret key to be used with the HMAC hashing method must be supplied in this parameter.

Valores retornados

Returns a Hashing Context resource for use with hash_update(), hash_update_stream(), hash_update_file(), and hash_final().

Ejemplos

Ejemplo 1. Incremental hashing example

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>

El resultado del ejemplo seria:

5c6ffbdd40d9556b73a21e63c3e0e904

Ver también

hash()
hash_file()
hash_hmac()
hash_hmac_file()

Anterior | Inicio | Siguiente
hash_hmac | Subir | hash_update_file


hash_update

(no version information, might be only in CVS)

hash_update -- Pump data into an active hashing context

Descripción

bool hash_update ( resource context, string data )

Lista de parámetros

context

Hashing context returned by hash_init().

data

Message to be included in the hash digest.

Valores retornados

Returns TRUE.

Ver también

hash_init()
hash_update_file()
hash_update_stream()
hash_final()

Anterior | Inicio | Siguiente
hash_update_stream | Subir | hash


hash_update_file

(no version information, might be only in CVS)

hash_update_file -- Pump data into an active hashing context from a file

Descripción

bool hash_update_file ( resource context, string filename [, resource context] )

Lista de parámetros

context

Hashing context returned by hash_init().

filename

URL describing location of file to be hashed; Supports fopen wrappers.

context

Stream context as returned by stream_context_create().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

hash_init()
hash_update()
hash_update_stream()
hash_final()
hash()
hash_file()

Anterior | Inicio | Siguiente
hash_init | Subir | hash_update_stream


hash_update_stream

(no version information, might be only in CVS)

hash_update_stream -- Pump data into an active hashing context from an open stream

Descripción

int hash_update_stream ( resource context, resource handle [, int length] )

Lista de parámetros

context

Hashing context returned by hash_init().

handle

Open file handle as returned by any stream creation function.

length

Maximum number of characters to copy from handle into the hashing context.

Valores retornados

Actual number of bytes added to the hashing context from handle.

Ejemplos

Ejemplo 1. hash_update_stream() example

<?php
$fp = tmpfile();
fwrite($fp, 'The quick brown fox jumped over the lazy dog.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

El resultado del ejemplo seria:

5c6ffbdd40d9556b73a21e63c3e0e904

Ver también

hash_init()
hash_update()
hash_final()
hash()
hash_file()

Anterior | Inicio | Siguiente
hash_update_file | Subir | hash_update


htmlspecialchars_decode

(PHP 5 >= 5.1.0RC1)

htmlspecialchars_decode -- Convierte entidades HTML a caracteres normales

Descripción

string htmlspecialchars_decode ( string cadena [, int quote_style] )

Esta función es la complementaria de la función htmlspecialchars(). Convierte entidades HTML a caracteres normales.

Las entidades que se convierten son: &amp;, &quot; (cuando no se utiliza ENT_NOQUOTES), &#039; (cuando se utiliza ENT_QUOTES), &lt; y &gt;.

Lista de parámetros

cadena

La cadena que se descodifica.

quote_style

El estilo de escape utilizado. Puede ser uno de los siguientes valores

Tabla 1. Constantes de quote_style

Nombre de la constante | Descripción
ENT_COMPAT | Convierte las comillas dobles y deja igual las comillas simples (es el valor por defecto)
ENT_QUOTES | Convierte tanto las comillas dobles como las simples
ENT_NOQUOTES | No convierte ni las comillas dobles ni las simples

Valores retornados

Devuelve la cadena descodificada.

Ejemplos

Ejemplo 1. Ejemplo de htmlspecialchars_decode()

<?php
$cadena = '<p>esto -&gt; &quot;</p>';

echo htmlspecialchars_decode($cadena);

// en este caso, las comillas no se convierten
echo htmlspecialchars_decode($cadena, ENT_NOQUOTES);
?>

El resultado del ejemplo seria:

<p>esto -> "</p>
<p>esto -> &quot;</p>

Ver también

htmlspecialchars()
html_entity_decode()
get_html_translation_table()

Anterior | Inicio | Siguiente
htmlentities | Subir | htmlspecialchars


http_build_cookie

(no version information, might be only in CVS)

http_build_cookie -- Build cookie string

Descripción

string http_build_cookie ( array cookie )

Build a cookie string from an array/object like returned by http_parse_cookie().

Lista de parámetros

cookie

a cookie list like returned from http_parse_cookie()

Valores retornados

Returns the cookie(s) as string.

Anterior | Inicio | Siguiente
http_match_request_header | Subir | http_negotiate_charset


http_build_str

(no version information, might be only in CVS)

http_build_str -- Build query string

Descripción

string http_build_str ( array query [, string prefix [, string arg_separator]] )

Opponent to parse_str().

Lista de parámetros

query

associative array of query string parameters

prefix

top level prefix

arg_separator

argument separator to use (by default the INI setting arg_separator.output will be used, or "&" if neither is set

Valores retornados

Returns the built query as string on success or FALSE on failure.

Anterior | Inicio | Siguiente
http_throttle | Subir | http_build_url


http_build_url

(no version information, might be only in CVS)

http_build_url -- Build an URL

Descripción

string http_build_url ( [mixed url [, mixed parts [, int flags = HTTP_URL_REPLACE [, array &new_url]]]] )

Build an URL.

The parts of the second URL will be merged into the first according to the flags argument.

Lista de parámetros

url

(part(s) of) an URL in form of a string or associative array like parse_url() returns

parts

same as the first argument

flags

a bitmask of binary or'ed HTTP_URL constants; HTTP_URL_REPLACE is the default

new_url

if set, it will be filled with the parts of the composed url like parse_url() would return

Valores retornados

Returns the new URL as string on success or FALSE on failure.

Ejemplos

Ejemplo 1. A http_build_url() example

<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
    array(
        "scheme" => "ftp",
        "host" => "ftp.example.com",
        "path" => "files/current/",
        "query" => "a=c"
    ),
    HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>

El resultado del ejemplo seria:

ftp://ftp.example.com/pub/files/current/?a=b&a=c

Anterior | Inicio | Siguiente
http_build_str | Subir | Funciones para Hyperwave


http_cache_etag

(PECL)

http_cache_etag -- Caching by ETag

Descripción

bool http_cache_etag ( [string etag] )

Attempts to cache the sent entity by its ETag, either supplied or generated by the hash algorithm specified by the INI setting http.etag.mode.

If the clients If-None-Match header matches the supplied/calculated ETag, the body is considered cached on the clients side and a 304 Not Modified status code is issued.

A log entry is written to the cache log if the INI setting http.log.cache is set and the cache attempt was successful.

Lista de parámetros

etag

Custom ETag

Valores retornados

Returns FALSE on failure, or exits with 304 Not Modified if the entity is cached.

Anterior | Inicio | Siguiente
HttpResponse::setThrottleDelay | Subir | http_cache_last_modified


http_cache_last_modified

(PECL)

http_cache_last_modified -- Caching by last modification

Descripción

bool http_cache_last_modified ( [int timestamp_or_expires] )

Attempts to cache the sent entity by its last modification date.

If the supplied argument is greater than 0, it is handled as timestamp and will be sent as date of last modification. If it is 0 or omitted, the current time will be sent as Last-Modified date. If it's negative, it is handled as expiration time in seconds, which means that if the requested last modification date is not between the calculated timespan, the Last-Modified header is updated and the actual body will be sent.

A log entry will be written to the cache log if the INI setting http.log.cache is set and the cache attempt was successful.

Lista de parámetros

timestamp_or_expires

Unix timestamp

Valores retornados

Returns FALSE on failure, or exits with 304 Not Modified if the entity is cached.

Anterior | Inicio | Siguiente
http_cache_etag | Subir | http_chunked_decode


http_chunked_decode

(PECL)

http_chunked_decode -- Decode chunked-encoded data

Descripción

string http_chunked_decode ( string encoded )

Decodes a string which is HTTP-chunked encoded.

Lista de parámetros

encoded

Chunked encoded string

Valores retornados

Returns the decoded string on success or FALSE on failure.

Anterior | Inicio | Siguiente
http_cache_last_modified | Subir | http_deflate


http_date

(PECL)

http_date -- Compose HTTP RFC compliant date

Descripción

string http_date ( [int timestamp] )

Compose a valid HTTP date regarding RFC 1123 looking like: Wed, 22 Dec 2004 11:34:47 GMT.

Lista de parámetros

timestamp

Unix timestamp

Valores retornados

Returns the HTTP date as string.

Anterior | Inicio | Siguiente
http_get_request_headers | Subir | http_support


http_deflate

(no version information, might be only in CVS)

http_deflate -- Deflate data

Descripción

string http_deflate ( [string data [, int flags = 0]] )

Compress data with gzip, zlib AKA deflate or raw deflate encoding.

See the deflate constants table for possible values for the flags parameter.

Lista de parámetros

data

String containing the data that should be encoded

flags

Deflate options

Valores retornados

Returns the encoded string on success, or NULL on failure.

Anterior | Inicio | Siguiente
http_chunked_decode | Subir | http_inflate


http_get

(PECL)

http_get -- Perform GET request

Descripción

string http_get ( [string url [, array options [, array &info]]] )

Performs an HTTP GET request on the supplied url.

The second parameter, if set, is expected to be an associative array where the following options will be recognized:

Tabla 1. HTTP request options

Name | Type | Description
redirect | int | whether and how many redirects to follow
unrestrictedauth | bool | whether to continue sending credentials on redirects to a different host
proxyhost | string | proxy host in "host[:port]" format
proxyport | int | use another proxy port as specified in proxyhost
proxytype | int | HTTP_PROXY_HTTP, HTTP_PROXY_SOCKS4 or HTTP_PROXY_SOCKS5
proxyauth | string | proxy credentials in "user:pass" format
proxyauthtype | int | HTTP_AUTH_BASIC and/or HTTP_AUTH_NTLM
httpauth | string | http credentials in "user:pass" format
httpauthtype | int | HTTP_AUTH_BASIC, HTTP_AUTH_DIGEST and/or HTTP_AUTH_NTLM
compress | bool | whether to allow gzip/deflate content encoding
port | int | use another port as specified in the url
referer | string | the referer to send
useragent | string | the user agent to send (defaults to PECL::HTTP/version (PHP/version))
headers | array | list of custom headers as associative array like array("header" => "value")
cookies | array | list of cookies as associative array like array("cookie" => "value")
encodecookies | bool | whether to urlencode the cookies (default: true)
cookiestore | string | path to a file where cookies are/will be stored
cookiesession | bool | don't load session cookies from cookiestore if TRUE
resume | int | byte offset to start the download from; if the server supports ranges
range | array | array of arrays, each containing two integers, specifying the ranges to download if server support is given; only recognized if the resume option is empty
maxfilesize | int | maximum file size that should be downloaded; has no effect, if the size of the requested entity is
lastmodified | int | timestamp for If-(Un)Modified-Since header
etag | string | quoted etag for If-(None-)Match header
timeout | int | seconds the request may take
connecttimeout | int | seconds the connect may take
onprogress | mixed | progress callback
interface | string | outgoing network interface (ifname, ip or hostname)
portrange | array | 2 integers specifying outgoing portrange to try
ssl array

Tabla 2. with the following options:

Name | Type | Description
cert | string | path to certificate
certtype | string | type of certificate
certpasswd | string | password for certificate
key | string | path to key
keytype | string | type of key
keypasswd | string | pasword for key
engine | string | ssl engine to use
version | int | ssl version to use
verifypeer | bool | whether to verify the peer
verifyhost | bool | whether to verify the host
cipher_list | string | list of allowed ciphers
cainfo | string |
capath | string |
random_file | string |
egdsocket | string |

Lista de parámetros

url

URL

options

HTTP request options

info

Will be filled with request/response information

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_parse_params | Subir | http_head


http_get_request_body

(PECL)

http_get_request_body -- Get request body as string

Descripción

string http_get_request_body ( void )

Get the raw request body (e.g. POST or PUT data).

This function can not be used after http_get_request_body_stream() if the request method was another than POST.

Lista de parámetros

Valores retornados

Returns the raw request body as string on success or NULL on failure.

Anterior | Inicio | Siguiente
http_get_request_body_stream | Subir | http_get_request_headers


http_get_request_body_stream

(no version information, might be only in CVS)

http_get_request_body_stream -- Get request body as stream

Descripción

resource http_get_request_body_stream ( void )

Create a stream to read the raw request body (e.g. POST or PUT data).

This function can only be used once if the request method was another than POST.

Lista de parámetros

Valores retornados

Returns the raw request body as stream on success or NULL on failure.

Anterior | Inicio | Siguiente
http_inflate | Subir | http_get_request_body


http_get_request_headers

(PECL)

http_get_request_headers -- Get request headers as array

Descripción

array http_get_request_headers ( void )

Get a list of incoming HTTP headers.

Lista de parámetros

Valores retornados

Returns an associative array of incoming request headers.

Anterior | Inicio | Siguiente
http_get_request_body | Subir | http_date


http_head

(PECL)

http_head -- Perform HEAD request

Descripción

string http_head ( [string url [, array options [, array &info]]] )

Performs an HTTP HEAD request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

url

URL

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_get | Subir | http_post_data


http_inflate

(no version information, might be only in CVS)

http_inflate -- Inflate data

Descripción

string http_inflate ( string data )

Decompress data compressed with either gzip, deflate AKA zlib or raw deflate encoding.

Lista de parámetros

data

String containing the compressed data

Valores retornados

Returns the decoded string on success, or NULL on failure.

Anterior | Inicio | Siguiente
http_deflate | Subir | http_get_request_body_stream


http_match_etag

(PECL)

http_match_etag -- Match ETag

Descripción

bool http_match_etag ( [string etag [, bool for_range = FALSE]] )

Matches the given ETag against the clients If-Match resp. If-None-Match HTTP headers.

Lista de parámetros

etag

The ETag to match

for_range

If set to TRUE, the header usually used to validate HTTP ranges will be checked

Valores retornados

Returns TRUE if ETag matches or the header contained the asterisk ("*"), else FALSE.

Anterior | Inicio | Siguiente
http_support | Subir | http_match_modified


http_match_modified

(PECL)

http_match_modified -- Match last modification

Descripción

bool http_match_modified ( [int timestamp [, bool for_range = FALSE]] )

Matches the given Unix timestamp against the clients "If-Modified-Since" resp. "If-Unmodified-Since" HTTP headers.

Lista de parámetros

timestamp

Unix timestamp; current time, if omitted

for_range

If set to TRUE, the header usually used to validate HTTP ranges will be checked

Valores retornados

Returns TRUE if timestamp represents an earlier date than the header, else FALSE.

Anterior | Inicio | Siguiente
http_match_etag | Subir | http_match_request_header


http_match_request_header

(PECL)

http_match_request_header -- Match any header

Descripción

bool http_match_request_header ( string header [, string value [, bool match_case = FALSE]] )

Match an incoming HTTP header.

Lista de parámetros

header

The header name (case-insensitive)

value

The header value that should be compared

match_case

Whether the value should be compared case sensitively

Valores retornados

Returns TRUE if header value matches, else FALSE.

Anterior | Inicio | Siguiente
http_match_modified | Subir | http_build_cookie


http_negotiate_charset

(PECL)

http_negotiate_charset -- Negotiate clients preferred character set

Descripción

string http_negotiate_charset ( [array supported [, array &result]] )

This function negotiates the clients preferred charset based on its Accept-Charset HTTP header. The qualifier is recognized and charsets without qualifier are rated highest.

Lista de parámetros

supported

Array containing the supported charsets as values

result

Will be filled with an array containing the negotiation results

Valores retornados

Returns the negotiated charset or the default charset (i.e. first array entry) if none match.

Ejemplos

Ejemplo 1. Using http_negotiate_charset()

<?php
$charsets = array(
        'iso-8859-1', // default
        'iso-8859-2',
        'iso-8859-15',
        'utf-8'
);

$pref = http_negotiate_charset($charsets, $result);

if (strcmp($pref, 'iso-8859-1')) {
        iconv_set_encoding('internal_encoding', 'iso-8859-1');
        iconv_set_encoding('output_encoding', $pref);
        ob_start('ob_iconv_handler');
}

print_r($result);
?>

Anterior | Inicio | Siguiente
http_build_cookie | Subir | http_negotiate_content_type


http_negotiate_content_type

(no version information, might be only in CVS)

http_negotiate_content_type -- Negotiate clients preferred content type

Descripción

string http_negotiate_content_type ( [array supported [, array &result]] )

This function negotiates the clients preferred content type based on its Accept HTTP header. The qualifier is recognized and content types without qualifier are rated highest.

Lista de parámetros

supported

Array containing the supported content types as values

result

Will be filled with an array containing the negotiation results

Valores retornados

Returns the negotiated content type or the default content type (i.e. first array entry) if none match.

Ejemplos

Ejemplo 1. Using http_negotiate_content_type()

<?php
$content_types = array('application/xhtml+xml', 'text/html');
http_send_content_type(http_negotiate_content_type($content_types));
?>

Anterior | Inicio | Siguiente
http_negotiate_charset | Subir | http_negotiate_language


http_negotiate_language

(PECL)

http_negotiate_language -- Negotiate clients preferred language

Descripción

string http_negotiate_language ( [array supported [, array &result]] )

This function negotiates the clients preferred language based on its Accept-Language HTTP header. The qualifier is recognized and languages without qualifier are rated highest. The qualifier will be decreased by 10% for partial matches (i.e. matching primary language).

Lista de parámetros

supported

Array containing the supported languages as values

result

Will be filled with an array containing the negotiation results

Valores retornados

Returns the negotiated language or the default language (i.e. first array entry) if none match.

Ejemplos

Ejemplo 1. Using http_negotiate_language()

<?php
$langs = array(
        'en-US',// default
        'fr',
        'fr-FR',
        'de',
        'de-DE',
        'de-AT',
        'de-CH',
);

include './langs/'. http_negotiate_language($langs, $result) .'.php';

print_r($result);
?>

Anterior | Inicio | Siguiente
http_negotiate_content_type | Subir | ob_deflatehandler


http_parse_cookie

(no version information, might be only in CVS)

http_parse_cookie -- Parse HTTP cookie

Descripción

object http_parse_cookie ( [string cookie [, int flags [, array allowed_extras]]] )

Parses HTTP cookies like sent in a response into a struct.

Lista de parámetros

cookie

String containing the value of a Set-Cookie response header

flags

Parse flags

allowed_extras

Array containing recognized extra keys. By default all unknown keys will be treated as cookie names.

Valores retornados

Returns an stdClass like shown in the example on success or FALSE on failure.

Ejemplos

Ejemplo 1. Using http_parse_cookie()

<?php
print_r(http_parse_cookie("foo=bar; bar=baz; path=/; domain=example.com; comment=; secure", 0, array("comment")));
?>

El resultado del ejemplo seria:

stdClass Object
(
  [cookies] => Array
  (
    [foo] => bar
    [bar] => baz
  )

  [extras] => Array
  (
    [comment] =>
  )

  [flags] => 16
  [expires] => 0
  [path] => /
  [domain] => example.com
)

Anterior | Inicio | Siguiente
ob_inflatehandler | Subir | http_parse_headers


http_parse_headers

(PECL)

http_parse_headers -- Parse HTTP headers

Descripción

array http_parse_headers ( string header )

Parses HTTP headers into an associative array.

Lista de parámetros

header

String containing HTTP headers

Valores retornados

Returns an array on success, or FALSE on failure.

Ejemplos

Ejemplo 1. Using http_parse_headers()

<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
  "Server: Funky/1.0\r\n".
  "Set-Cookie: foo=bar\r\n".
  "Set-Cookie: baz=quux\r\n".
  "Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
?>

El resultado del ejemplo seria:

Array
(
  [Content-Type] => text/html; chatset=UTF-8
  [Server] => Funky/1.0
  [Set-Cookie] => Array
  (
    [0] => foo=bar
    [1] => baz=quux
  )
  [Folded] => works
    too
)

Anterior | Inicio | Siguiente
http_parse_cookie | Subir | http_parse_message


http_parse_message

(PECL)

http_parse_message -- Parse the HTTP message

Descripción

object http_parse_message ( string message )

Parses the HTTP message into a simple recursive object.

Lista de parámetros

message

String containing a single HTTP message or several consecutive HTTP messages

Valores retornados

A hierarchical object structure of the parsed messages.

Ejemplos

Ejemplo 1. Using http_parse_message()

<?php
define ('URL', 'http://www.example.com/');
print_r(http_parse_message(http_get(URL, array('redirect' => 3))));
?>

El resultado del ejemplo seria algo similar a:

stdClass object
(
  [type] => 2
  [httpVersion] => 1.1
  [responseCode] => 200
  [headers] => Array
  (
    [Content-Length] => 3
    [Server] => Apache
  )
  [body] => Hi!
  [parentMessage] => stdClass object
  (
    [type] => 2
    [httpVersion] => 1.1
    [responseCode] => 302
    [headers] => Array
    (
      [Content-Length] => 0
      [Location] => ...
    )
    [body] =>
    [parentMessage] => ...
  )
)

Anterior | Inicio | Siguiente
http_parse_headers | Subir | http_parse_params


http_parse_params

(no version information, might be only in CVS)

http_parse_params -- Parse parameter list

Descripción

object http_parse_params ( [string param [, int flags = HTTP_PARAMS_DEFAULT]] )

Parse parameter list.

See the params parsing constants table for possible values of the flags argument.

Lista de parámetros

param

Parameters

flags

Parse flags

Valores retornados

Returns parameter list.

Anterior | Inicio | Siguiente
http_parse_message | Subir | http_get


http_post_data

(PECL)

http_post_data -- Perform POST request with pre-encoded data

Descripción

string http_post_data ( string url [, string data [, array options [, array &info]]] )

Performs an HTTP POST request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

url

URL

data

String containing the pre-encoded post data

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_head | Subir | http_post_fields


http_post_fields

(PECL)

http_post_fields -- Perform POST request with data to be encoded

Descripción

string http_post_fields ( string url [, array data [, array files [, array options [, array &info]]]] )

Performs an HTTP POST request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

url

URL

data

Associative array of POST values

files

Array of files to post

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_post_data | Subir | http_put_data


http_put_data

(no version information, might be only in CVS)

http_put_data -- Perform PUT request with data

Descripción

string http_put_data ( string url [, string data [, array options [, array &info]]] )

Performs an HTTP PUT request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

url

URL

data

PUT request body

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_post_fields | Subir | http_put_file


http_put_file

(PECL)

http_put_file -- Perform PUT request with file

Descripción

string http_put_file ( string url [, string file [, array options [, array &info]]] )

Performs an HTTP PUT request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

url

URL

file

The file to put

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_put_data | Subir | http_put_stream


http_put_stream

(PECL)

http_put_stream -- Perform PUT request with stream

Descripción

string http_put_stream ( string url [, resource stream [, array options [, array &info]]] )

Performs an HTTP PUT request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

url

URL

stream

The stream to read the PUT request body from

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_put_file | Subir | http_request_method_exists


http_redirect

(PECL)

http_redirect -- Issue HTTP redirect

Descripción

void http_redirect ( [string url [, array params [, bool session = FALSE [, int status]]]] )

Redirect to the given url.

The supplied url will be expanded with http_build_url(), the params array will be treated with http_build_str() and the session identification will be appended if session is true.

The HTTP response code will be set according to status.

You can use one of the redirect constants for convenience.

Please see RFC 2616 for which redirect response code to use in which situation.

By default PHP will decide which response status fits best.

To be RFC compliant, "Redirecting to <a>URL</a>." will be displayed, if the client doesn't redirect immediately, and the request method was another one than HEAD.

A log entry will be written to the redirect log, if the INI setting http.log.redirect is set and the redirect attempt was successful.

Lista de parámetros

url

the URL to redirect to

params

associative array of query parameters

session

whether to append session information

status

custom response status code

Valores retornados

Returns FALSE on failure, or exits on success.

Anterior | Inicio | Siguiente
http_request_body_encode | Subir | http_send_content_disposition


http_request

(no version information, might be only in CVS)

http_request -- Perform custom request

Descripción

string http_request ( int method [, string url [, string body [, array options [, array &info]]]] )

Performs a custom HTTP request on the supplied url.

See http_get() for a full list of available parameters and options.

Lista de parámetros

method

Request method

url

URL

body

Request body

options

Request options

info

Request/response information

Valores retornados

Returns the HTTP response(s) as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_request_method_unregister | Subir | http_request_body_encode


http_request_body_encode

(no version information, might be only in CVS)

http_request_body_encode -- Encode request body

Descripción

string http_request_body_encode ( array fields, array files )

Generate x-www-form-urlencoded resp. form-data encoded request body.

Lista de parámetros

fields

POST fields

files

POST files

Valores retornados

Returns encoded string on success, or FALSE on failure

Anterior | Inicio | Siguiente
http_request | Subir | http_redirect


http_request_method_exists

(PECL)

http_request_method_exists -- Check whether request method exists

Descripción

int http_request_method_exists ( mixed method )

Check if a request method is registered (or available by default).

Lista de parámetros

method

request method name or ID

Valores retornados

Returns TRUE if the request method is known, else FALSE.

Anterior | Inicio | Siguiente
http_put_stream | Subir | http_request_method_name


http_request_method_name

(PECL)

http_request_method_name -- Get request method name

Descripción

string http_request_method_name ( int method )

Get the literal string representation of a standard or registered request method.

Lista de parámetros

method

request method ID

Valores retornados

Returns the request method name as string on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_request_method_exists | Subir | http_request_method_register


http_request_method_register

(PECL)

http_request_method_register -- Register request method

Descripción

int http_request_method_register ( string method )

Register a custom request method.

Lista de parámetros

method

the request method name to register

Valores retornados

Returns the ID of the request method on success, or FALSE on failure.

Anterior | Inicio | Siguiente
http_request_method_name | Subir | http_request_method_unregister


http_request_method_unregister

(PECL)

http_request_method_unregister -- Unregister request method

Descripción

bool http_request_method_unregister ( mixed method )

Unregister a previously registered custom request method.

Lista de parámetros

method

The request method name or ID

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_request_method_register | Subir | http_request


http_send_content_disposition

(PECL)

http_send_content_disposition -- Send Content-Disposition

Descripción

bool http_send_content_disposition ( [string filename [, bool inline = FALSE]] )

Send the Content-Disposition. The Content-Disposition header is very useful if the data actually sent came from a file or something similar, that should be "saved" by the client/user (i.e. by browsers "Save as..." popup window).

Lista de parámetros

filename

the file name the "Save as..." dialog should display

inline

if set to true and the user agent knows how to handle the content type, it will probably not cause the popup window to be shown

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_redirect | Subir | http_send_content_type


http_send_content_type

(PECL)

http_send_content_type -- Send Content-Type

Descripción

bool http_send_content_type ( [string content_type = 'application/x-octetstream'] )

Send the Content-Type of the sent entity. This is particularly important if you use the http_send() API.

Lista de parámetros

content_type

the desired content type (primary/secondary)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_send_content_disposition | Subir | http_send_data


http_send_data

(PECL)

http_send_data -- Send arbitrary data

Descripción

bool http_send_data ( string data )

Sends raw data with support for (multiple) range requests.

Lista de parámetros

data

data to send

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_send_content_type | Subir | http_send_file


http_send_file

(PECL)

http_send_file -- Send file

Descripción

bool http_send_file ( string file )

Sends a file with support for (multiple) range requests.

Lista de parámetros

file

the file to send

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_send_data | Subir | http_send_last_modified


http_send_last_modified

(PECL)

http_send_last_modified -- Send Last-Modified

Descripción

bool http_send_last_modified ( [int timestamp] )

Send a Last-Modified header with a valid HTTP date.

Lista de parámetros

timestamp

A Unix timestamp, converted it to a valid HTTP date; if omitted, the current time will be sent

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_send_file | Subir | http_send_status


http_send_status

(PECL)

http_send_status -- Send status

Descripción

bool http_send_status ( int status )

Send HTTP status code.

Lista de parámetros

status

HTTP status code

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_send_last_modified | Subir | http_send_stream


http_send_stream

(PECL)

http_send_stream -- Send stream

Descripción

bool http_send_stream ( resource stream )

Sends an already opened stream with support for (multiple) range requests.

Lista de parámetros

stream

stream to read from (must be seekable)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
http_send_status | Subir | http_throttle


http_support

(no version information, might be only in CVS)

http_support -- Check built-in HTTP support

Descripción

int http_support ( [int feature = 0] )

Check for features that require external libraries.

See the feature support constants table for possible values for the feature argument.

Lista de parámetros

feature

Feature to probe for; if the parameter is 0 or omitted, the return value contains a bitmask of all supported features that depend on external libraries

Valores retornados

Returns int, whether requested feature is supported, or a bitmask with all supported features.

Anterior | Inicio | Siguiente
http_date | Subir | http_match_etag


http_throttle

(PECL)

http_throttle -- HTTP throttling

Descripción

void http_throttle ( [double sec [, int bytes = 40960]] )

Sets the throttle delay and send buffer size for use with http_send() API. Provides a basic throttling mechanism, which will yield the current process resp. thread until the entity has been completely sent, though.

Lista de parámetros

sec

seconds to sleep after each chunk sent

bytes

the chunk size in bytes

Ejemplos

Ejemplo 1. A http_throttle() example

Send file with approximately 20 kbyte/s.

<?php
// ~ 20 kbyte/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
# http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>
?>

Anterior | Inicio | Siguiente
http_send_stream | Subir | http_build_str


HttpDeflateStream::__construct

(no version information, might be only in CVS)

HttpDeflateStream::__construct -- HttpDeflateStream class constructor

Descripción

publicvoid HttpDeflateStream::__construct ( [int flags = 0] )

Creates a new HttpDeflateStream object instance.

See the deflate stream constants table for possible arguments.

Lista de parámetros

flags

initialization flags

Anterior | Inicio | Siguiente
HttpDeflateStream | Subir | HttpDeflateStream::update


HttpDeflateStream::finish

(no version information, might be only in CVS)

HttpDeflateStream::finish -- Finalize deflate stream

Descripción

publicstring HttpDeflateStream::finish ( [string data] )

Finalizes the deflate stream. The deflate stream can be reused after finalizing.

Lista de parámetros

data

Data to deflate

Valores retornados

Returns the final part of deflated data.

Anterior | Inicio | Siguiente
HttpDeflateStream::flush | Subir | HttpInflateStream


HttpDeflateStream::flush

(no version information, might be only in CVS)

HttpDeflateStream::flush -- Flush deflate stream

Descripción

publicstring HttpDeflateStream::flush ( [string data] )

Flushes the deflate stream.

Lista de parámetros

data

More data to deflate

Valores retornados

Returns some deflated data as string on success or FALSE on failure.

Anterior | Inicio | Siguiente
HttpDeflateStream::update | Subir | HttpDeflateStream::finish


HttpDeflateStream::update

(no version information, might be only in CVS)

HttpDeflateStream::update -- Update deflate stream

Descripción

publicstring HttpDeflateStream::update ( string data )

Passes more data through the deflate stream.

Lista de parámetros

data

Data to deflate

Valores retornados

Returns deflated data on success or FALSE on failure.

Anterior | Inicio | Siguiente
HttpDeflateStream::__construct | Subir | HttpDeflateStream::flush


HttpInflateStream::__construct

(no version information, might be only in CVS)

HttpInflateStream::__construct -- HttpInflateStream class constructor

Descripción

publicvoid HttpInflateStream::__construct ( [int flags = 0] )

Creates a new HttpInflateStream object instance.

See the inflate constants table for possible arguments.

Lista de parámetros

flags

initialization flags

Anterior | Inicio | Siguiente
HttpInflateStream | Subir | HttpInflateStream::update


HttpInflateStream::finish

(no version information, might be only in CVS)

HttpInflateStream::finish -- Finalize inflate stream

Descripción

publicstring HttpInflateStream::finish ( [string data] )

Finalizes the inflate stream. The inflate stream can be reused after finalizing.

Lista de parámetros

data

Data to inflate

Valores retornados

Returns the final part of inflated data.

Anterior | Inicio | Siguiente
HttpInflateStream::flush | Subir | HttpRequest


HttpInflateStream::flush

(no version information, might be only in CVS)

HttpInflateStream::flush -- Flush inflate stream

Descripción

publicstring HttpInflateStream::flush ( [string data] )

Flushes the inflate stream.

Nota: Flushing usually has no effect on inflate streams.

Lista de parámetros

data

More data to inflate

Valores retornados

Returns some inflated data as string on success or FALSE on failure.

Anterior | Inicio | Siguiente
HttpInflateStream::update | Subir | HttpInflateStream::finish


HttpInflateStream::update

(no version information, might be only in CVS)

HttpInflateStream::update -- Update inflate stream

Descripción

publicstring HttpInflateStream::update ( string data )

Passes more data through the inflate stream.

Lista de parámetros

data

Data to inflate

Valores retornados

Returns inflated data on success or FALSE on failure.

Anterior | Inicio | Siguiente
HttpInflateStream::__construct | Subir | HttpInflateStream::flush


HttpMessage::addHeaders

(no version information, might be only in CVS)

HttpMessage::addHeaders -- Add headers

Descripción

publicvoid HttpMessage::addHeaders ( [array headers [, bool append = FALSE]] )

Add headers. If append is true, headers with the same name will be separated, else overwritten.

Lista de parámetros

headers

associative array containing the additional HTTP headers to add to the messages existing headers

append

if true, and a header with the same name of one to add exists already, this respective header will be converted to an array containing both header values, otherwise it will be overwritten with the new header value

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpMessage::getHeader | Subir | HttpMessage::setHeaders


HttpMessage::__construct

(no version information, might be only in CVS)

HttpMessage::__construct -- HttpMessage constructor

Descripción

publicvoid HttpMessage::__construct ( [string message] )

Instantiate a new HttpMessage object.

The constructed object will actually represent the last message of the passed string. If there were prior messages, those can be accessed by HttpMessage::getParentMessage().

Lista de parámetros

message

a single or several consecutive HTTP messages

Errors/Exceptions

Throws HttpMalformedHeaderException.

Anterior | Inicio | Siguiente
HttpMessage | Subir | HttpMessage::fromString


HttpMessage::detach

(no version information, might be only in CVS)

HttpMessage::detach -- Detach HttpMessage

Descripción

publicHttpMessage HttpMessage::detach ( void )

Returns a clone of an HttpMessage object detached from any parent messages.

Lista de parámetros

Valores retornados

Returns detached HttpMessage object copy.

Anterior | Inicio | Siguiente
HttpMessage::guessContentType | Subir | HttpMessage::prepend


HttpMessage::fromString

(no version information, might be only in CVS)

HttpMessage::fromString -- Create HttpMessage from string

Descripción

static publicHttpMessage HttpMessage::fromString ( [string raw_message [, string class_name = 'HttpMessage']] )

Create an HttpMessage object from a string. Kind of a static constructor.

Lista de parámetros

raw_message

a single or several consecutive HTTP messages

class_name

a class extending HttpMessage

Valores retornados

Returns an HttpMessage object on success or NULL on failure.

Errors/Exceptions

Throws HttpMalformedHeadersException.

Anterior | Inicio | Siguiente
HttpMessage::__construct | Subir | HttpMessage::toString


HttpMessage::getBody

(no version information, might be only in CVS)

HttpMessage::getBody -- Get message body

Descripción

publicstring HttpMessage::getBody ( void )

Get the body of the parsed HttpMessage.

Valores retornados

Returns the message body as string.

Anterior | Inicio | Siguiente
HttpMessage::setHeaders | Subir | HttpMessage::setBody


HttpMessage::getHeader

(no version information, might be only in CVS)

HttpMessage::getHeader -- Get header

Descripción

publicstring HttpMessage::getHeader ( string header )

Get message header.

Lista de parámetros

header

header name

Valores retornados

Returns the header value on success or NULL if the header does not exist.

Anterior | Inicio | Siguiente
HttpMessage::getHeaders | Subir | HttpMessage::addHeaders


HttpMessage::getHeaders

(no version information, might be only in CVS)

HttpMessage::getHeaders -- Get message headers

Descripción

publicarray HttpMessage::getHeaders ( void )

Get message headers.

Valores retornados

Returns an associative array containing the messages HTTP headers.

Anterior | Inicio | Siguiente
HttpMessage::setHttpVersion | Subir | HttpMessage::getHeader


HttpMessage::getHttpVersion

(no version information, might be only in CVS)

HttpMessage::getHttpVersion -- Get HTTP version

Descripción

publicstring HttpMessage::getHttpVersion ( void )

Get the HTTP Protocol Version of the Message.

Valores retornados

Returns the HTTP protocol version as string.

Anterior | Inicio | Siguiente
HttpMessage::setType | Subir | HttpMessage::setHttpVersion


HttpMessage::getParentMessage

(no version information, might be only in CVS)

HttpMessage::getParentMessage -- Get parent message

Descripción

publicHttpMessage HttpMessage::getParentMessage ( void )

Get parent Message.

Valores retornados

Returns the parent HttpMessage object.

Errors/Exceptions

Throws HttpRuntimeException.

Anterior | Inicio | Siguiente
HttpMessage::send | Subir | HttpMessage::getType


HttpMessage::getRequestMethod

(no version information, might be only in CVS)

HttpMessage::getRequestMethod -- Get request method

Descripción

publicstring HttpMessage::getRequestMethod ( void )

Get the Request Method of the Message.

Valores retornados

Returns the request method name on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST.

Anterior | Inicio | Siguiente
HttpMessage::setBody | Subir | HttpMessage::setRequestMethod


HttpMessage::getRequestUrl

(no version information, might be only in CVS)

HttpMessage::getRequestUrl -- Get request URL

Descripción

publicstring HttpMessage::getRequestUrl ( void )

Get the Request URL of the Message.

Lista de parámetros

Valores retornados

Returns the request URL as string on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST.

Anterior | Inicio | Siguiente
HttpMessage::setRequestMethod | Subir | HttpMessage::setRequestUrl


HttpMessage::getResponseCode

(no version information, might be only in CVS)

HttpMessage::getResponseCode -- Get response code

Descripción

publicint HttpMessage::getResponseCode ( void )

Get the Response Code of the Message.

Valores retornados

Returns the HTTP response code if the message is of type HttpMessage::TYPE_RESPONSE, else FALSE.

Anterior | Inicio | Siguiente
HttpMessage::setRequestUrl | Subir | HttpMessage::setResponseCode


HttpMessage::getResponseStatus

(no version information, might be only in CVS)

HttpMessage::getResponseStatus -- Get response status

Descripción

publicstring HttpMessage::getResponseStatus ( void )

Get the Response Status of the message (i.e. the string following the response code).

Valores retornados

Returns the HTTP response status string if the message is of type HttpMessage::TYPE_RESPONSE, else FALSE.

Anterior | Inicio | Siguiente
HttpMessage::setResponseCode | Subir | HttpMessage::setResponseStatus


HttpMessage::getType

(no version information, might be only in CVS)

HttpMessage::getType -- Get message type

Descripción

publicint HttpMessage::getType ( void )

Get Message Type. Either HTTP_MSG_NONE, HTTP_MSG_REQUEST or HTTP_MSG_RESPONSE.

Valores retornados

Returns the HttpMessage::TYPE.

Anterior | Inicio | Siguiente
HttpMessage::getParentMessage | Subir | HttpMessage::setType


HttpMessage::guessContentType

(no version information, might be only in CVS)

HttpMessage::guessContentType -- Guess content type

Descripción

publicstring HttpMessage::guessContentType ( [string magic_file [, int magic_mode = MAGIC_MIME]] )

Attempts to guess the content type of the message body through libmagic.

Lista de parámetros

magic_file

the magic.mime database to use

magic_mode

flags for libmagic

Valores retornados

Returns the guessed content type on success, or FALSE on failure.

Errors/Exceptions

Throws HttpRuntimeException, HttpInvalidParamException.

Anterior | Inicio | Siguiente
HttpMessage::toMessageTypeObject | Subir | HttpMessage::detach


HttpMessage::prepend

(no version information, might be only in CVS)

HttpMessage::prepend -- Prepend message(s)

Descripción

publicvoid HttpMessage::prepend ( [HttpMessage message [, bool top = TRUE]] )

Prepends message(s) to the HTTP message.

Lista de parámetros

message

HttpMessage object to prepend

top

whether to prepend to the top most or right this message

Errors/Exceptions

Throws HttpInvalidParamException if the message is located within the same message chain.

Anterior | Inicio | Siguiente
HttpMessage::detach | Subir | HttpMessage::reverse


HttpMessage::reverse

(no version information, might be only in CVS)

HttpMessage::reverse -- Reverse message chain

Descripción

publicHttpMessage HttpMessage::reverse ( void )

Reorders the message chain in reverse order.

Valores retornados

Returns the most parent HttpMessage object.

Anterior | Inicio | Siguiente
HttpMessage::prepend | Subir | HttpMessage::send


HttpMessage::send

(no version information, might be only in CVS)

HttpMessage::send -- Send message

Descripción

publicbool HttpMessage::send ( void )

Send the Message according to its type as Response or Request.

This provides limited functionality compared to HttpRequest and HttpResponse.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpMessage::reverse | Subir | HttpMessage::getParentMessage


HttpMessage::setBody

(no version information, might be only in CVS)

HttpMessage::setBody -- Set message body

Descripción

publicvoid HttpMessage::setBody ( string body )

Set the body of the HttpMessage.

Nota: Don't forget to update any headers accordingly.

Lista de parámetros

body

the new body of the message

Anterior | Inicio | Siguiente
HttpMessage::getBody | Subir | HttpMessage::getRequestMethod


HttpMessage::setHeaders

(no version information, might be only in CVS)

HttpMessage::setHeaders -- Set headers

Descripción

publicvoid HttpMessage::setHeaders ( array headers )

Sets new headers.

Lista de parámetros

headers

associative array containing the new HTTP headers, which will replace all previous HTTP headers of the message

Anterior | Inicio | Siguiente
HttpMessage::addHeaders | Subir | HttpMessage::getBody


HttpMessage::setHttpVersion

(no version information, might be only in CVS)

HttpMessage::setHttpVersion -- Set HTTP version

Descripción

publicbool HttpMessage::setHttpVersion ( string version )

Set the HTTP Protocol version of the Message.

Lista de parámetros

version

the HTTP protocol version

Valores retornados

Returns TRUE on success, or FALSE if supplied version is out of range (1.0/1.1).

Anterior | Inicio | Siguiente
HttpMessage::getHttpVersion | Subir | HttpMessage::getHeaders


HttpMessage::setRequestMethod

(no version information, might be only in CVS)

HttpMessage::setRequestMethod -- Set request method

Descripción

publicbool HttpMessage::setRequestMethod ( string method )

Set the Request Method of the HTTP Message.

Lista de parámetros

method

the request method name

Valores retornados

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST or an invalid request method was supplied.

Anterior | Inicio | Siguiente
HttpMessage::getRequestMethod | Subir | HttpMessage::getRequestUrl


HttpMessage::setRequestUrl

(no version information, might be only in CVS)

HttpMessage::setRequestUrl -- Set request URL

Descripción

publicbool HttpMessage::setRequestUrl ( string url )

Set the Request URL of the HTTP Message.

Lista de parámetros

url

the request URL

Valores retornados

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST or supplied URL was empty.

Anterior | Inicio | Siguiente
HttpMessage::getRequestUrl | Subir | HttpMessage::getResponseCode


HttpMessage::setResponseCode

(no version information, might be only in CVS)

HttpMessage::setResponseCode -- Set response code

Descripción

publicbool HttpMessage::setResponseCode ( int code )

Set the response code of an HTTP Response Message.

Lista de parámetros

code

HTTP response code

Valores retornados

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_RESPONSE or the response code is out of range (100-510).

Anterior | Inicio | Siguiente
HttpMessage::getResponseCode | Subir | HttpMessage::getResponseStatus


HttpMessage::setResponseStatus

(no version information, might be only in CVS)

HttpMessage::setResponseStatus -- Set response status

Descripción

publicbool HttpMessage::setResponseStatus ( string status )

Set the Response Status of the HTTP message (i.e. the string following the response code).

Lista de parámetros

status

the response status text

Valores retornados

Returns TRUE on success or FALSE if the message is not of type HttpMessage::TYPE_RESPONSE.

Anterior | Inicio | Siguiente
HttpMessage::getResponseStatus | Subir | HttpQueryString


HttpMessage::setType

(no version information, might be only in CVS)

HttpMessage::setType -- Set message type

Descripción

publicvoid HttpMessage::setType ( int type )

Set Message Type. Either HTTP_MSG_NONE, HTTP_MSG_REQUEST or HTTP_MSG_RESPONSE.

Lista de parámetros

type

the HttpMessage::TYPE

Anterior | Inicio | Siguiente
HttpMessage::getType | Subir | HttpMessage::getHttpVersion


HttpMessage::toMessageTypeObject

(no version information, might be only in CVS)

HttpMessage::toMessageTypeObject -- Create HTTP object regarding message type

Descripción

publicHttpRequest|HttpResponse HttpMessage::toMessageTypeObject ( void )

Creates an object regarding to the type of the message.

Lista de parámetros

Valores retornados

Returns either an HttpRequest or HttpResponse object on success, or NULL on failure.

Errors/Exceptions

Throws HttpRuntimeException, HttpMessageTypeException, HttpHeaderException.

Anterior | Inicio | Siguiente
HttpMessage::toString | Subir | HttpMessage::guessContentType


HttpMessage::toString

(no version information, might be only in CVS)

HttpMessage::toString -- Get string representation

Descripción

publicstring HttpMessage::toString ( [bool include_parent = FALSE] )

Get the string representation of the Message.

Lista de parámetros

include_parent

specifies whether the returned string should also contain any parent messages

Valores retornados

Returns the message as string.

Anterior | Inicio | Siguiente
HttpMessage::fromString | Subir | HttpMessage::toMessageTypeObject


HttpQueryString::__construct

(no version information, might be only in CVS)

HttpQueryString::__construct -- HttpQueryString constructor

Descripción

final publicvoid HttpQueryString::__construct ( [bool global = TRUE [, mixed add]] )

Creates a new HttpQueryString object instance.

Operates on and modifies $_GET and $_SERVER['QUERY_STRING'] if global is TRUE.

Lista de parámetros

global

whether to operate on $_GET and $_SERVER['QUERY_STRING']

add

additional/initial query string parameters

Errors/Exceptions

Throws HttpRuntimeException.

Anterior | Inicio | Siguiente
HttpQueryString | Subir | HttpQueryString::singleton


HttpQueryString::get

(no version information, might be only in CVS)

HttpQueryString::get -- Get (part of) query string

Descripción

publicmixed HttpQueryString::get ( [string key [, mixed type = 0 [, mixed defval = NULL [, bool delete = FALSE]]]] )

Get (part of) the query string.

The type parameter is either one of the HttpQueryString::TYPE_* constants or a type abbreviation like "b" for bool, "i" for int, "f" for float, "s" for string, "a" for array and "o" for a stdClass object.

Lista de parámetros

key

key of the query string param to retrieve

type

which variable type to enforce

defval

default value if key does not exist

delete

whether to remove the key/value pair from the query string

Valores retornados

Returns the value of the query string param or the whole query string if no key was specified on success or defval if key does not exist.

Anterior | Inicio | Siguiente
HttpQueryString::singleton | Subir | HttpQueryString::mod


HttpQueryString::mod

(no version information, might be only in CVS)

HttpQueryString::mod -- Modifiy query string copy

Descripción

publicHttpQueryString HttpQueryString::mod ( mixed params )

Copies the query string object and sets provided params at the clone.

Lista de parámetros

params

query string params to add

Valores retornados

Returns a new HttpQueryString object

Anterior | Inicio | Siguiente
HttpQueryString::get | Subir | HttpQueryString::set


HttpQueryString::set

(no version information, might be only in CVS)

HttpQueryString::set -- Set query string params

Descripción

publicstring HttpQueryString::set ( mixed params )

Set query string entry/entries. NULL values will unset the variable.

Lista de parámetros

params

query string params to add

Valores retornados

Returns the current query string.

Anterior | Inicio | Siguiente
HttpQueryString::mod | Subir | HttpQueryString::toArray


HttpQueryString::singleton

(no version information, might be only in CVS)

HttpQueryString::singleton -- HttpQueryString singleton

Descripción

static publicHttpQueryString HttpQueryString::singleton ( [bool global = TRUE] )

Get a single instance (differentiates between the global setting).

Lista de parámetros

global

whether to operate on $_GET and $_SERVER['QUERY_STRING']

Valores retornados

Returns always the same HttpQueryString instance regarding the global setting.

Errors/Exceptions

Throws HttpRuntimeException.

Anterior | Inicio | Siguiente
HttpQueryString::__construct | Subir | HttpQueryString::get


HttpQueryString::toArray

(no version information, might be only in CVS)

HttpQueryString::toArray -- Get query string as array

Descripción

publicarray HttpQueryString::toArray ( void )

Get the query string represented as associative array.

Valores retornados

Returns the array representation of the query string.

Anterior | Inicio | Siguiente
HttpQueryString::set | Subir | HttpQueryString::toString


HttpQueryString::toString

(no version information, might be only in CVS)

HttpQueryString::toString -- Get query string

Descripción

publicstring HttpQueryString::toString ( void )

Get the query string.

Lista de parámetros

Valores retornados

Returns the string representation of the query string.

Anterior | Inicio | Siguiente
HttpQueryString::toArray | Subir | HttpQueryString::xlate


HttpQueryString::xlate

(no version information, might be only in CVS)

HttpQueryString::xlate -- Change query strings charset

Descripción

publicbool HttpQueryString::xlate ( string ie, string oe )

Converts the query string from the source encoding ie to the target encoding oe.

Aviso

Don't use any character set that can contain NUL bytes like UTF-16.

Nota: This method requires ext/iconv to be enabled and loaded.

Lista de parámetros

ie

input encoding

oe

output encoding

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpQueryString::toString | Subir | HttpDeflateStream


HttpRequest::addCookies

(no version information, might be only in CVS)

HttpRequest::addCookies -- Add cookies

Descripción

publicbool HttpRequest::addCookies ( array cookies )

Add cookies.

Lista de parámetros

cookies

an associative array as parameter containing any cookie name/value pairs to add

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest | Subir | HttpRequest::addHeaders


HttpRequest::addHeaders

(no version information, might be only in CVS)

HttpRequest::addHeaders -- Add headers

Descripción

publicbool HttpRequest::addHeaders ( array headers )

Add request header name/value pairs.

Lista de parámetros

headers

an associative array as parameter containing additional header name/value pairs

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::addCookies | Subir | HttpRequest::addPostFields


HttpRequest::addPostFields

(no version information, might be only in CVS)

HttpRequest::addPostFields -- Add post fields

Descripción

publicbool HttpRequest::addPostFields ( array post_data )

Adds POST data entries, leaving previously set unchanged, unless a post entry with the same name already exists.

Affects only POST and custom requests.

Lista de parámetros

post_data

an associative array as parameter containing the post fields

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::addHeaders | Subir | HttpRequest::addPostFile


HttpRequest::addPostFile

(no version information, might be only in CVS)

HttpRequest::addPostFile -- Add post file

Descripción

publicbool HttpRequest::addPostFile ( string name [, string file [, string content_type = 'application/x-octetstream']] )

Add a file to the POST request, leaving previously set files unchanged.

Affects only POST and custom requests. Cannot be used with raw post data.

Lista de parámetros

name

the form element name

file

the path to the file

content_type

the content type of the file

Valores retornados

Returns TRUE on success, or FALSE if the content type seems not to contain a primary and a secondary content type part.

Anterior | Inicio | Siguiente
HttpRequest::addPostFields | Subir | HttpRequest::addPutData


HttpRequest::addPutData

(no version information, might be only in CVS)

HttpRequest::addPutData -- Add put data

Descripción

publicbool HttpRequest::addPutData ( string put_data )

Add PUT data, leaving previously set PUT data unchanged.

Affects only PUT requests.

Lista de parámetros

put_data

the data to concatenate

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::addPostFile | Subir | HttpRequest::addQueryData


HttpRequest::addQueryData

(no version information, might be only in CVS)

HttpRequest::addQueryData -- Add query data

Descripción

publicbool HttpRequest::addQueryData ( array query_params )

Add parameters to the query parameter list, leaving previously set unchanged.

Affects any request type.

Lista de parámetros

query_params

an associative array as parameter containing the query fields to add

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::addPutData | Subir | HttpRequest::addRawPostData


HttpRequest::addRawPostData

(no version information, might be only in CVS)

HttpRequest::addRawPostData -- Add raw post data

Descripción

publicbool HttpRequest::addRawPostData ( string raw_post_data )

Add raw post data, leaving previously set raw post data unchanged.

Affects only POST and custom requests.

Lista de parámetros

raw_post_data

the raw post data to concatenate

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::addQueryData | Subir | HttpRequest::addSslOptions


HttpRequest::addSslOptions

(no version information, might be only in CVS)

HttpRequest::addSslOptions -- Add ssl options

Descripción

publicbool HttpRequest::addSslOptions ( array options )

Set additional SSL options.

Lista de parámetros

options

an associative array as parameter containing additional SSL specific options

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::addRawPostData | Subir | HttpRequest::clearHistory


HttpRequest::clearHistory

(no version information, might be only in CVS)

HttpRequest::clearHistory -- Clear history

Descripción

publicvoid HttpRequest::clearHistory ( void )

Clears all history messages.

Nota: History is only logged if recordHistory was enabled.

Anterior | Inicio | Siguiente
HttpRequest::addSslOptions | Subir | HttpRequest::__construct


HttpRequest::__construct

(no version information, might be only in CVS)

HttpRequest::__construct -- HttpRequest constructor

Descripción

publicvoid HttpRequest::__construct ( [string url [, int request_method = HTTP_METH_GET [, array options]]] )

Instantiate a new HttpRequest object.

Lista de parámetros

url

the target request url

request_method

the request method to use

options

an associative array with request options

Errors/Exceptions

Throws HttpException.

Anterior | Inicio | Siguiente
HttpRequest::clearHistory | Subir | HttpRequest::enableCookies


HttpRequest::enableCookies

(no version information, might be only in CVS)

HttpRequest::enableCookies -- Enable cookies

Descripción

publicbool HttpRequest::enableCookies ( void )

Enable automatic sending of received cookies.

Nota: Note that cuutomly set cookies will be sent anyway.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::__construct | Subir | HttpRequest::getContentType


HttpRequest::getContentType

(no version information, might be only in CVS)

HttpRequest::getContentType -- Get content type

Descripción

publicstring HttpRequest::getContentType ( void )

Get the previously set content type.

Valores retornados

Returns the previously set content type as string.

Anterior | Inicio | Siguiente
HttpRequest::enableCookies | Subir | HttpRequest::getCookies


HttpRequest::getCookies

(no version information, might be only in CVS)

HttpRequest::getCookies -- Get cookies

Descripción

publicarray HttpRequest::getCookies ( void )

Get previously set cookies.

Valores retornados

Returns an associative array containing any previously set cookies.

Anterior | Inicio | Siguiente
HttpRequest::getContentType | Subir | HttpRequest::getHeaders


HttpRequest::getHeaders

(no version information, might be only in CVS)

HttpRequest::getHeaders -- Get headers

Descripción

publicarray HttpRequest::getHeaders ( void )

Get previously set request headers.

Valores retornados

Returns an associative array containing all currently set headers.

Anterior | Inicio | Siguiente
HttpRequest::getCookies | Subir | HttpRequest::getHistory


HttpRequest::getHistory

(no version information, might be only in CVS)

HttpRequest::getHistory -- Get history

Descripción

publicHttpMessage HttpRequest::getHistory ( void )

Get all sent requests and received responses as an HttpMessage object.

If you want to record history, set the instance variable HttpRequest::recordHistory to TRUE.

The returned object references the last received response, use HttpMessage::getParentMessage()() to access the data of previously sent requests and received responses.

Valores retornados

Returns an HttpMessage object representing the complete request/response history.

Errors/Exceptions

Throws HttpRuntimeException.

Anterior | Inicio | Siguiente
HttpRequest::getHeaders | Subir | HttpRequest::getMethod


HttpRequest::getMethod

(no version information, might be only in CVS)

HttpRequest::getMethod -- Get method

Descripción

publicint HttpRequest::getMethod ( void )

Get the previously set request method.

Valores retornados

Returns the currently set request method.

Anterior | Inicio | Siguiente
HttpRequest::getHistory | Subir | HttpRequest::getOptions


HttpRequest::getOptions

(no version information, might be only in CVS)

HttpRequest::getOptions -- Get options

Descripción

publicarray HttpRequest::getOptions ( void )

Get currently set options.

Valores retornados

Returns an associative array containing currently set options.

Anterior | Inicio | Siguiente
HttpRequest::getMethod | Subir | HttpRequest::getPostFields


HttpRequest::getPostFields

(no version information, might be only in CVS)

HttpRequest::getPostFields -- Get post fields

Descripción

publicarray HttpRequest::getPostFields ( void )

Get previously set POST data.

Lista de parámetros

Valores retornados

Returns the currently set post fields as associative array.

Anterior | Inicio | Siguiente
HttpRequest::getOptions | Subir | HttpRequest::getPostFiles


HttpRequest::getPostFiles

(no version information, might be only in CVS)

HttpRequest::getPostFiles -- Get post files

Descripción

publicarray HttpRequest::getPostFiles ( void )

Get all previously added POST files.

Valores retornados

Returns an array containing currently set post files.

Anterior | Inicio | Siguiente
HttpRequest::getPostFields | Subir | HttpRequest::getPutData


HttpRequest::getPutData

(no version information, might be only in CVS)

HttpRequest::getPutData -- Get put data

Descripción

publicstring HttpRequest::getPutData ( void )

Get previously set PUT data.

Valores retornados

Returns a string containing the currently set PUT data.

Anterior | Inicio | Siguiente
HttpRequest::getPostFiles | Subir | HttpRequest::getPutFile


HttpRequest::getPutFile

(no version information, might be only in CVS)

HttpRequest::getPutFile -- Get put file

Descripción

publicstring HttpRequest::getPutFile ( void )

Get previously set put file.

Valores retornados

Returns a string containing the path to the currently set put file.

Anterior | Inicio | Siguiente
HttpRequest::getPutData | Subir | HttpRequest::getQueryData


HttpRequest::getQueryData

(no version information, might be only in CVS)

HttpRequest::getQueryData -- Get query data

Descripción

publicstring HttpRequest::getQueryData ( void )

Get the current query data in form of an urlencoded query string.

Valores retornados

Returns a string containing the urlencoded query.

Anterior | Inicio | Siguiente
HttpRequest::getPutFile | Subir | HttpRequest::getRawPostData


HttpRequest::getRawPostData

(no version information, might be only in CVS)

HttpRequest::getRawPostData -- Get raw post data

Descripción

publicstring HttpRequest::getRawPostData ( void )

Get previously set raw post data.

Lista de parámetros

Valores retornados

Returns a string containing the currently set raw post data.

Anterior | Inicio | Siguiente
HttpRequest::getQueryData | Subir | HttpRequest::getRawRequestMessage


HttpRequest::getRawRequestMessage

(no version information, might be only in CVS)

HttpRequest::getRawRequestMessage -- Get raw request message

Descripción

publicstring HttpRequest::getRawRequestMessage ( void )

Get sent HTTP message.

Lista de parámetros

Valores retornados

Returns an HttpMessage in a form of a string.

Anterior | Inicio | Siguiente
HttpRequest::getRawPostData | Subir | HttpRequest::getRawResponseMessage


HttpRequest::getRawResponseMessage

(no version information, might be only in CVS)

HttpRequest::getRawResponseMessage -- Get raw response message

Descripción

publicstring HttpRequest::getRawResponseMessage ( void )

Get the entire HTTP response.

Lista de parámetros

Valores retornados

Returns the complete web server response, including the headers in a form of a string.

Anterior | Inicio | Siguiente
HttpRequest::getRawRequestMessage | Subir | HttpRequest::getRequestMessage


HttpRequest::getRequestMessage

(no version information, might be only in CVS)

HttpRequest::getRequestMessage -- Get request message

Descripción

publicHttpMessage HttpRequest::getRequestMessage ( void )

Get sent HTTP message.

If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously sent requests within this request cycle.

Nota: Note that the internal request message is immutable, that means that the request message received through HttpRequest::getRequestMessage() will always look the same for the same request, regardless of any changes you may have made to the returned object.

Valores retornados

Returns an HttpMessage object representing the sent request.

Errors/Exceptions

Throws HttpMalformedHeadersException, HttpEncodingException.

Anterior | Inicio | Siguiente
HttpRequest::getRawResponseMessage | Subir | HttpRequest::getResponseBody


HttpRequest::getResponseBody

(no version information, might be only in CVS)

HttpRequest::getResponseBody -- Get response body

Descripción

publicstring HttpRequest::getResponseBody ( void )

Get the response body after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Lista de parámetros

Valores retornados

Returns a string containing the response body.

Anterior | Inicio | Siguiente
HttpRequest::getRequestMessage | Subir | HttpRequest::getResponseCode


HttpRequest::getResponseCode

(no version information, might be only in CVS)

HttpRequest::getResponseCode -- Get response code

Descripción

publicint HttpRequest::getResponseCode ( void )

Get the response code after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Valores retornados

Returns an int representing the response code.

Anterior | Inicio | Siguiente
HttpRequest::getResponseBody | Subir | HttpRequest::getResponseCookies


HttpRequest::getResponseCookies

(no version information, might be only in CVS)

HttpRequest::getResponseCookies -- Get response cookie(s)

Descripción

publicarray HttpRequest::getResponseCookies ( [int flags [, array allowed_extras]] )

Get response cookie(s) after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Lista de parámetros

flags

http_parse_cookie() flags

allowed_extras

allowed keys treated as extra information instead of cookie names

Valores retornados

Returns an array of stdClass objects like http_parse_cookie() would return.

Anterior | Inicio | Siguiente
HttpRequest::getResponseCode | Subir | HttpRequest::getResponseData


HttpRequest::getResponseData

(no version information, might be only in CVS)

HttpRequest::getResponseData -- Get response data

Descripción

publicarray HttpRequest::getResponseData ( void )

* Get all response data after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Valores retornados

Returns an associative array with the key "headers" containing an associative array holding all response headers, as well as the key "body" containing a string with the response body.

Anterior | Inicio | Siguiente
HttpRequest::getResponseCookies | Subir | HttpRequest::getResponseHeader


HttpRequest::getResponseHeader

(no version information, might be only in CVS)

HttpRequest::getResponseHeader -- Get response header(s)

Descripción

publicmixed HttpRequest::getResponseHeader ( [string name] )

Get response header(s) after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Lista de parámetros

name

header to read; if empty, all response headers will be returned

Valores retornados

Returns either a string with the value of the header matching name if requested, FALSE on failure, or an associative array containing all response headers.

Anterior | Inicio | Siguiente
HttpRequest::getResponseData | Subir | HttpRequest::getResponseInfo


HttpRequest::getResponseInfo

(no version information, might be only in CVS)

HttpRequest::getResponseInfo -- Get response info

Descripción

publicmixed HttpRequest::getResponseInfo ( [string name] )

Get response info after the request has been sent.

See http_get() for a full list of returned info.

If redirects were allowed and several responses were received, the data references the last received response.

Lista de parámetros

name

the info to read; if empty or omitted, an associative array containing all available info will be returned

Valores retornados

Returns either a scalar containing the value of the info matching name if requested, FALSE on failure, or an associative array containing all available info.

Anterior | Inicio | Siguiente
HttpRequest::getResponseHeader | Subir | HttpRequest::getResponseMessage


HttpRequest::getResponseMessage

(no version information, might be only in CVS)

HttpRequest::getResponseMessage -- Get response message

Descripción

publicHttpMessage HttpRequest::getResponseMessage ( void )

Get the full response as HttpMessage object after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously received responses within this request cycle.

Valores retornados

Returns an HttpMessage object of the response.

Errors/Exceptions

Throws HttpException, HttpRuntimeException.

Anterior | Inicio | Siguiente
HttpRequest::getResponseInfo | Subir | HttpRequest::getResponseStatus


HttpRequest::getResponseStatus

(no version information, might be only in CVS)

HttpRequest::getResponseStatus -- Get response status

Descripción

publicstring HttpRequest::getResponseStatus ( void )

Get the response status (i.e. the string after the response code) after the message has been sent.

Valores retornados

Returns a string containing the response status text.

Anterior | Inicio | Siguiente
HttpRequest::getResponseMessage | Subir | HttpRequest::getSslOptions


HttpRequest::getSslOptions

(no version information, might be only in CVS)

HttpRequest::getSslOptions -- Get ssl options

Descripción

publicarray HttpRequest::getSslOptions ( void )

Get previously set SSL options.

Valores retornados

Returns an associative array containing any previously set SSL options.

Anterior | Inicio | Siguiente
HttpRequest::getResponseStatus | Subir | HttpRequest::getUrl


HttpRequest::getUrl

(no version information, might be only in CVS)

HttpRequest::getUrl -- Get url

Descripción

publicstring HttpRequest::getUrl ( void )

Get the previously set request URL.

Valores retornados

Returns the currently set request url as string.

Anterior | Inicio | Siguiente
HttpRequest::getSslOptions | Subir | HttpRequest::resetCookies


HttpRequest::resetCookies

(no version information, might be only in CVS)

HttpRequest::resetCookies -- Reset cookies

Descripción

publicbool HttpRequest::resetCookies ( [bool session_only = FALSE] )

Reset all automatically received/sent cookies.

Nota: Note that customly set cookies are not affected.

Lista de parámetros

session_only

whether only session cookies should be reset (needs libcurl >= v7.15.4, else libcurl >= v7.14.1)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::getUrl | Subir | HttpRequest::send


HttpRequest::send

(no version information, might be only in CVS)

HttpRequest::send -- Send request

Descripción

publicHttpMessage HttpRequest::send ( void )

Send the HTTP request.

Nota: While an exception may be thrown, the transfer could have succeeded at least partially, so you might want to check the return values of various HttpRequest::getResponse*() methods.

Valores retornados

Returns the received response as HttpMessage object.

Errors/Exceptions

Throws HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException, HttpEncodingException.

Ejemplos

Ejemplo 1. GET example

<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
    $r->send();
    if ($r->getResponseCode() == 200) {
        file_put_contents('local.rss', $r->getResponseBody());
    }
} catch (HttpException $ex) {
    echo $ex;
}
?>

Ejemplo 2. POST example

<?php
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}
?>

Anterior | Inicio | Siguiente
HttpRequest::resetCookies | Subir | HttpRequest::setContentType


HttpRequest::setContentType

(no version information, might be only in CVS)

HttpRequest::setContentType -- Set content type

Descripción

publicbool HttpRequest::setContentType ( string content_type )

Set the content type the post request should have.

Lista de parámetros

content_type

the content type of the request (primary/secondary)

Valores retornados

Returns TRUE on success, or FALSE if the content type does not seem to contain a primary and a secondary part.

Anterior | Inicio | Siguiente
HttpRequest::send | Subir | HttpRequest::setCookies


HttpRequest::setCookies

(no version information, might be only in CVS)

HttpRequest::setCookies -- Set cookies

Descripción

publicbool HttpRequest::setCookies ( [array cookies] )

Set custom cookies.

Lista de parámetros

cookies

an associative array as parameter containing cookie name/value pairs; if empty or omitted, all previously set cookies will be unset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setContentType | Subir | HttpRequest::setHeaders


HttpRequest::setHeaders

(no version information, might be only in CVS)

HttpRequest::setHeaders -- Set headers

Descripción

publicbool HttpRequest::setHeaders ( [array headers] )

Set request header name/value pairs.

Lista de parámetros

headers

an associative array as parameter containing header name/value pairs; if empty or omitted, all previously set headers will be unset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setCookies | Subir | HttpRequest::setMethod


HttpRequest::setMethod

(no version information, might be only in CVS)

HttpRequest::setMethod -- Set method

Descripción

publicbool HttpRequest::setMethod ( int request_method )

Set the request method.

Lista de parámetros

request_method

the request method to use

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setHeaders | Subir | HttpRequest::setOptions


HttpRequest::setOptions

(no version information, might be only in CVS)

HttpRequest::setOptions -- Set options

Descripción

publicbool HttpRequest::setOptions ( [array options] )

Set the request options to use.

See http_get() for a full list of available parameters and options.

Lista de parámetros

options

an associative array, which values will overwrite the currently set request options; if empty or omitted, the options of the HttpRequest object will be reset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setMethod | Subir | HttpRequest::setPostFields


HttpRequest::setPostFields

(no version information, might be only in CVS)

HttpRequest::setPostFields -- Set post fields

Descripción

publicbool HttpRequest::setPostFields ( [array post_data] )

Set the POST data entries, overwriting previously set POST data.

Affects only POST and custom requests.

Lista de parámetros

post_data

an associative array containing the post fields; if empty or omitted, the post data will be unset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setOptions | Subir | HttpRequest::setPostFiles


HttpRequest::setPostFiles

(no version information, might be only in CVS)

HttpRequest::setPostFiles -- Set post files

Descripción

publicbool HttpRequest::setPostFiles ( [array post_files] )

Set files to post, overwriting previously set post files.

Affects only POST and requests. Cannot be used with raw post data.

Lista de parámetros

post_files

an array containing the files to post; if empty or omitted the post files will be unset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setPostFields | Subir | HttpRequest::setPutData


HttpRequest::setPutData

(no version information, might be only in CVS)

HttpRequest::setPutData -- Set put data

Descripción

publicbool HttpRequest::setPutData ( [string put_data] )

Set PUT data to send, overwriting previously set PUT data.

Affects only PUT requests.

Only either PUT data or PUT file can be used for each request. PUT data has higher precedence and will be used even if a PUT file is set.

Lista de parámetros

put_data

the data to upload

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setPostFiles | Subir | HttpRequest::setPutFile


HttpRequest::setPutFile

(no version information, might be only in CVS)

HttpRequest::setPutFile -- Set put file

Descripción

publicbool HttpRequest::setPutFile ( [string file] )

Set file to put. Affects only PUT requests.

Lista de parámetros

file

the path to the file to send; if empty or omitted the put file will be unset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setPutData | Subir | HttpRequest::setQueryData


HttpRequest::setQueryData

(no version information, might be only in CVS)

HttpRequest::setQueryData -- Set query data

Descripción

publicbool HttpRequest::setQueryData ( [mixed query_data] )

Set the URL query parameters to use, overwriting previously set query parameters.

Affects any request types.

Lista de parámetros

query_data

a string or associative array parameter containing the pre-encoded query string or to be encoded query fields; if empty or omitted, the query data will be unset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setPutFile | Subir | HttpRequest::setRawPostData


HttpRequest::setRawPostData

(no version information, might be only in CVS)

HttpRequest::setRawPostData -- Set raw post data

Descripción

publicbool HttpRequest::setRawPostData ( [string raw_post_data] )

Set raw post data to send, overwriting previously set raw post data. Don't forget to specify a content type. Affects only POST and custom requests.

Only either post fields or raw post data can be used for each request. Raw post data has higher precedence and will be used even if post fields are set.

Lista de parámetros

raw_post_data

raw post data

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setQueryData | Subir | HttpRequest::setSslOptions


HttpRequest::setSslOptions

(no version information, might be only in CVS)

HttpRequest::setSslOptions -- Set ssl options

Descripción

publicbool HttpRequest::setSslOptions ( [array options] )

Set SSL options.

Lista de parámetros

options

an associative array containing any SSL specific options; if empty or omitted, the SSL options will be reset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setRawPostData | Subir | HttpRequest::setUrl


HttpRequest::setUrl

(no version information, might be only in CVS)

HttpRequest::setUrl -- Set URL

Descripción

publicbool HttpRequest::setUrl ( string url )

Set the request URL.

Lista de parámetros

url

the request url

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequest::setSslOptions | Subir | HttpRequestPool


HttpRequestPool::attach

(no version information, might be only in CVS)

HttpRequestPool::attach -- Attach HttpRequest

Descripción

publicbool HttpRequestPool::attach ( HttpRequest request )

Attach an HttpRequest object to this HttpRequestPool.

Aviso

Set all options prior attaching!

Lista de parámetros

request

an HttpRequest object not already attached to any HttpRequestPool object

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

Throws HttpInvalidParamException, HttpRequestException, HttpRequestPoolException, HttpEncodingException.

Anterior | Inicio | Siguiente
HttpRequestPool | Subir | HttpRequestPool::__construct


HttpRequestPool::__construct

(no version information, might be only in CVS)

HttpRequestPool::__construct -- HttpRequestPool constructor

Descripción

void HttpRequestPool::__construct ( [HttpRequest request] )

Instantiate a new HttpRequestPool object. An HttpRequestPool is able to send several HttpRequests in parallel.

Accepts virtually infinite optional parameters each referencing an HttpRequest object.

Lista de parámetros

request

HttpRequest object to attach

Errors/Exceptions

Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).

Ejemplos

Ejemplo 1. A HttpRequestPool example

<?php
try {
    $pool = new HttpRequestPool(
        new HttpRequest('http://www.google.com/', HttpRequest::METH_HEAD),
        new HttpRequest('http://www.php.net/', HttpRequest::METH_HEAD)
    );
    $pool->send();
    foreach($pool as $request) {
        printf("%s is %s (%d)\n",
            $request->getUrl(),
            $request->getResponseCode() ? 'alive' : 'not alive',
            $request->getResponseCode()
        );
    }
} catch (HttpException $e) {
    echo $e;
}
?>

Anterior | Inicio | Siguiente
HttpRequestPool::attach | Subir | HttpRequestPool::__destruct


HttpRequestPool::__destruct

(no version information, might be only in CVS)

HttpRequestPool::__destruct -- HttpRequestPool destructor

Descripción

void HttpRequestPool::__destruct ( void )

Clean up HttpRequestPool object.

Anterior | Inicio | Siguiente
HttpRequestPool::__construct | Subir | HttpRequestPool::detach


HttpRequestPool::detach

(no version information, might be only in CVS)

HttpRequestPool::detach -- Detach HttpRequest

Descripción

bool HttpRequestPool::detach ( HttpRequest request )

Detach an HttpRequest object from this HttpRequestPool.

Lista de parámetros

request

an HttpRequest object attached to this HttpRequestPool object

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

Throws HttpInvalidParamException, HttpRequestPoolException.

Anterior | Inicio | Siguiente
HttpRequestPool::__destruct | Subir | HttpRequestPool::getAttachedRequests


HttpRequestPool::getAttachedRequests

(no version information, might be only in CVS)

HttpRequestPool::getAttachedRequests -- Get attached requests

Descripción

array HttpRequestPool::getAttachedRequests ( void )

Get attached HttpRequest objects.

Lista de parámetros

Valores retornados

Returns an array containing all currently attached HttpRequest objects.

Anterior | Inicio | Siguiente
HttpRequestPool::detach | Subir | HttpRequestPool::getFinishedRequests


HttpRequestPool::getFinishedRequests

(no version information, might be only in CVS)

HttpRequestPool::getFinishedRequests -- Get finished requests

Descripción

array HttpRequestPool::getFinishedRequests ( void )

Get attached HttpRequest objects that already have finished their work.

Lista de parámetros

Valores retornados

Returns an array containing all attached HttpRequest objects that already have finished their work.

Anterior | Inicio | Siguiente
HttpRequestPool::getAttachedRequests | Subir | HttpRequestPool::reset


HttpRequestPool::reset

(no version information, might be only in CVS)

HttpRequestPool::reset -- Reset request pool

Descripción

void HttpRequestPool::reset ( void )

Detach all attached HttpRequest objects.

Anterior | Inicio | Siguiente
HttpRequestPool::getFinishedRequests | Subir | HttpRequestPool::send


HttpRequestPool::send

(no version information, might be only in CVS)

HttpRequestPool::send -- Send all requests

Descripción

bool HttpRequestPool::send ( void )

Send all attached HttpRequest objects in parallel.

Lista de parámetros

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).

Anterior | Inicio | Siguiente
HttpRequestPool::reset | Subir | HttpRequestPool::socketPerform


HttpRequestPool::socketPerform

(no version information, might be only in CVS)

HttpRequestPool::socketPerform -- Perform socket actions

Descripción

protectedbool HttpRequestPool::socketPerform ( void )

Returns TRUE until each request has finished its transaction.

Valores retornados

Returns TRUE until each request has finished its transaction.

Ejemplos

Ejemplo 1. A HttpRequestPool::socketPerform() example

<?php
class MyPool extends HttpRequestPool
{
    public function send()
    {
        while ($this->socketPerform()) {
            if (!$this->socketSelect()) {
                throw new HttpSocketExcpetion;
            }
        }
    }

    protected final function socketPerform()
    {
        $result = parent::socketPerform();
        foreach ($this->getFinishedRequests() as $r) {
            $this->detach($r);
            // handle response of finished request
        }
        return $result;
    }
}
?>

Anterior | Inicio | Siguiente
HttpRequestPool::send | Subir | HttpRequestPool::socketSelect


HttpRequestPool::socketSelect

(no version information, might be only in CVS)

HttpRequestPool::socketSelect -- Perform socket select

Descripción

protectedbool HttpRequestPool::socketSelect ( void )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpRequestPool::socketPerform | Subir | HttpResponse


HttpResponse::capture

(no version information, might be only in CVS)

HttpResponse::capture -- Capture script output

Descripción

staticvoid HttpResponse::capture ( void )

Capture script output.

Ejemplos

Ejemplo 1. A HttpResponse::capture() example

<?php
HttpResponse::setCache(true);
HttpResponse::capture();
// script follows
?>

Anterior | Inicio | Siguiente
HttpResponse | Subir | HttpResponse::getBufferSize


HttpResponse::getBufferSize

(no version information, might be only in CVS)

HttpResponse::getBufferSize -- Get buffer size

Descripción

staticint HttpResponse::getBufferSize ( void )

Get current buffer size.

Valores retornados

Returns an int representing the current buffer size in bytes.

Anterior | Inicio | Siguiente
HttpResponse::capture | Subir | HttpResponse::getCacheControl


HttpResponse::getCache

(no version information, might be only in CVS)

HttpResponse::getCache -- Get cache

Descripción

staticbool HttpResponse::getCache ( void )

Get current caching setting.

Valores retornados

Returns TRUE if caching should be attempted, else FALSE.

Anterior | Inicio | Siguiente
HttpResponse::getCacheControl | Subir | HttpResponse::getContentDisposition


HttpResponse::getCacheControl

(no version information, might be only in CVS)

HttpResponse::getCacheControl -- Get cache control

Descripción

staticstring HttpResponse::getCacheControl ( void )

Get current Cache-Control header setting.

Valores retornados

Returns the current cache control setting as a string like sent in a header.

Anterior | Inicio | Siguiente
HttpResponse::getBufferSize | Subir | HttpResponse::getCache


HttpResponse::getContentDisposition

(no version information, might be only in CVS)

HttpResponse::getContentDisposition -- Get content disposition

Descripción

staticstring HttpResponse::getContentDisposition ( void )

Get current Content-Disposition setting.

Valores retornados

Returns the current content disposition as string like sent in a header.

Anterior | Inicio | Siguiente
HttpResponse::getCache | Subir | HttpResponse::getContentType


HttpResponse::getContentType

(no version information, might be only in CVS)

HttpResponse::getContentType -- Get content type

Descripción

staticstring HttpResponse::getContentType ( void )

Get current Content-Type header setting.

Valores retornados

Returns the currently set content type as string.

Anterior | Inicio | Siguiente
HttpResponse::getContentDisposition | Subir | HttpResponse::getData


HttpResponse::getData

(no version information, might be only in CVS)

HttpResponse::getData -- Get data

Descripción

staticstring HttpResponse::getData ( void )

Get the previously set data to be sent.

Valores retornados

Returns a string containing the previously set data to send.

Anterior | Inicio | Siguiente
HttpResponse::getContentType | Subir | HttpResponse::getETag


HttpResponse::getETag

(no version information, might be only in CVS)

HttpResponse::getETag -- Get ETag

Descripción

staticstring HttpResponse::getETag ( void )

Get calculated or previously set custom ETag.

Valores retornados

Returns the calculated or previously set ETag as unquoted string.

Anterior | Inicio | Siguiente
HttpResponse::getData | Subir | HttpResponse::getFile


HttpResponse::getFile

(no version information, might be only in CVS)

HttpResponse::getFile -- Get file

Descripción

staticstring HttpResponse::getFile ( void )

Get the previously set file to be sent.

Valores retornados

Returns the previously set path to the file to send as string.

Anterior | Inicio | Siguiente
HttpResponse::getETag | Subir | HttpResponse::getGzip


HttpResponse::getGzip

(no version information, might be only in CVS)

HttpResponse::getGzip -- Get gzip

Descripción

staticbool HttpResponse::getGzip ( void )

Get current gzipping setting.

Valores retornados

Returns TRUE if GZip compression is enabled, else FALSE.

Anterior | Inicio | Siguiente
HttpResponse::getFile | Subir | HttpResponse::getHeader


HttpResponse::getHeader

(no version information, might be only in CVS)

HttpResponse::getHeader -- Get header

Descripción

staticmixed HttpResponse::getHeader ( [string name] )

Get header(s) about to be sent.

Nota: In Apache2 this only works for PHP-5.1.3 and greater.

Lista de parámetros

name

specifies the name of the header to read; if empty or omitted, an associative array with all headers will be returned

Valores retornados

Returns either a string containing the value of the header matching name, FALSE on failure, or an associative array with all headers.

Anterior | Inicio | Siguiente
HttpResponse::getGzip | Subir | HttpResponse::getLastModified


HttpResponse::getLastModified

(no version information, might be only in CVS)

HttpResponse::getLastModified -- Get last modified

Descripción

staticint HttpResponse::getLastModified ( void )

Get calculated or previously set custom Last-Modified date.

Valores retornados

Returns the calculated or previously set Unix timestamp.

Anterior | Inicio | Siguiente
HttpResponse::getHeader | Subir | HttpResponse::getStream


HttpResponse::getStream

(no version information, might be only in CVS)

HttpResponse::getStream -- Get Stream

Descripción

staticresource HttpResponse::getStream ( void )

Get the previously set resource to be sent.

Lista de parámetros

Valores retornados

Returns the previously set resource.

Anterior | Inicio | Siguiente
HttpResponse::getLastModified | Subir | HttpResponse::getThrottleDelay


HttpResponse::getThrottleDelay

(no version information, might be only in CVS)

HttpResponse::getThrottleDelay -- Get throttle delay

Descripción

staticdouble HttpResponse::getThrottleDelay ( void )

Get the current throttle delay.

Valores retornados

Returns a double representing the throttle delay in seconds.

Anterior | Inicio | Siguiente
HttpResponse::getStream | Subir | HttpResponse::guessContentType


HttpResponse::guessContentType

(no version information, might be only in CVS)

HttpResponse::guessContentType -- Guess content type

Descripción

staticstring HttpResponse::guessContentType ( [string magic_file [, int magic_mode=MAGIC_MIME]] )

Attempts to guess the content type of supplied payload through libmagic.

If the attempt is successful, the guessed content type will automatically be set as response content type.

Lista de parámetros

magic_file

specifies the magic.mime database to use

magic_mode

flags for libmagic

Valores retornados

Returns the guessed content type on success, or FALSE on failure.

Errors/Exceptions

Throws HttpRuntimeException, HttpInvalidParamException.

Anterior | Inicio | Siguiente
HttpResponse::getThrottleDelay | Subir | HttpResponse::send


HttpResponse::send

(no version information, might be only in CVS)

HttpResponse::send -- Send response

Descripción

staticbool HttpResponse::send ( [bool clean_ob = TRUE] )

Finally send the entity.

A successful caching attempt will cause a script termination, and write a log entry if the INI setting http.cache_log is set.

Lista de parámetros

clean_ob

whether to destroy all previously started output handlers and their buffers

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

Throws HttpHeaderException, HttpResponseException

Ejemplos

Ejemplo 1. A HttpResponse::send() example

<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

Anterior | Inicio | Siguiente
HttpResponse::guessContentType | Subir | HttpResponse::setBufferSize


HttpResponse::setBufferSize

(no version information, might be only in CVS)

HttpResponse::setBufferSize -- Set buffer size

Descripción

staticbool HttpResponse::setBufferSize ( int bytes )

Sets the send buffer size for use with HttpResponse::setThrottleDelay().

Provides a basic throttling mechanism, which will yield the current process resp. thread until the entity has been completely sent, though.

Nota: This doesn't really work with the FastCGI SAPI.

Lista de parámetros

bytes

the chunk size in bytes

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::send | Subir | HttpResponse::setCacheControl


HttpResponse::setCache

(no version information, might be only in CVS)

HttpResponse::setCache -- Set cache

Descripción

staticbool HttpResponse::setCache ( bool cache )

Whether it should be attempted to cache the entity.

This will result in necessary caching headers and checks of clients If-Modified-Since and If-None-Match headers. If one of those headers matches a 304 Not Modified status code will be issued.

Nota: If you're using sessions, be sure that you set session.cache_limiter to something more appropriate than "no-cache"!

Lista de parámetros

cache

whether caching should be attempted

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setCacheControl | Subir | HttpResponse::setContentDisposition


HttpResponse::setCacheControl

(no version information, might be only in CVS)

HttpResponse::setCacheControl -- Set cache control

Descripción

staticbool HttpResponse::setCacheControl ( [string control [, int max_age = 0 [, bool must_revalidate = TRUE]]] )

Define a custom cache-control header, usually being private or public;

Lista de parámetros

control

the primary cache control setting

max_age

the max-age in seconds, suggesting how long the cache entry is valid on the client side

must_revalidate

whether the cached entity should be revalidated by the client for every request

Valores retornados

Returns TRUE on success, or FALSE if control does not match one of public, private or no-cache.

Errors/Exceptions

Throws HttpInvalidParamException.

Anterior | Inicio | Siguiente
HttpResponse::setBufferSize | Subir | HttpResponse::setCache


HttpResponse::setContentDisposition

(no version information, might be only in CVS)

HttpResponse::setContentDisposition -- Set content disposition

Descripción

staticbool HttpResponse::setContentDisposition ( [string filename [, bool inline = FALSE]] )

Send the Content-Disposition. The Content-Disposition header is very useful if the data actually sent came from a file or something similar, that should be "saved" by the client/user (i.e. by browsers "Save as..." popup window).

Lista de parámetros

filename

the file name the "Save as..." dialog should display

inline

if set to true and the user agent knows how to handle the content type, it will probably not cause the popup window to be shown

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setCache | Subir | HttpResponse::setContentType


HttpResponse::setContentType

(no version information, might be only in CVS)

HttpResponse::setContentType -- Set content type

Descripción

staticbool HttpResponse::setContentType ( string content_type )

Set the content-type of the sent entity.

Lista de parámetros

content_type

the content type of the sent entity (primary/secondary)

Valores retornados

Returns TRUE on success, or FALSE if the content type does not seem to contain a primary and secondary content type part.

Errors/Exceptions

Throws HttpInvalidParamException.

Anterior | Inicio | Siguiente
HttpResponse::setContentDisposition | Subir | HttpResponse::setData


HttpResponse::setData

(no version information, might be only in CVS)

HttpResponse::setData -- Set data

Descripción

staticbool HttpResponse::setData ( mixed data )

Set the data to be sent.

Lista de parámetros

data

data to send

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setContentType | Subir | HttpResponse::setETag


HttpResponse::setETag

(no version information, might be only in CVS)

HttpResponse::setETag -- Set ETag

Descripción

staticbool HttpResponse::setETag ( string etag )

Set a custom ETag. Use this only if you know what you're doing.

Lista de parámetros

etag

unquoted string as parameter containing the ETag

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setData | Subir | HttpResponse::setFile


HttpResponse::setFile

(no version information, might be only in CVS)

HttpResponse::setFile -- Set file

Descripción

staticbool HttpResponse::setFile ( string file )

Set the file to be sent.

Lista de parámetros

file

the path to the file to send

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setETag | Subir | HttpResponse::setGzip


HttpResponse::setGzip

(no version information, might be only in CVS)

HttpResponse::setGzip -- Set gzip

Descripción

staticbool HttpResponse::setGzip ( bool gzip )

Enable on-thy-fly gzipping of the sent entity.

Lista de parámetros

gzip

whether GZip compression should be enabled

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setFile | Subir | HttpResponse::setHeader


HttpResponse::setHeader

(no version information, might be only in CVS)

HttpResponse::setHeader -- Set header

Descripción

staticbool HttpResponse::setHeader ( string name [, mixed value [, bool replace = TRUE]] )

Send an HTTP header.

Lista de parámetros

name

the name of the header

value

the value of the header; if not set, no header with this name will be sent

replace

whether an existing header should be replaced

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

Throws HttpHeaderException.

Anterior | Inicio | Siguiente
HttpResponse::setGzip | Subir | HttpResponse::setLastModified


HttpResponse::setLastModified

(no version information, might be only in CVS)

HttpResponse::setLastModified -- Set last modified

Descripción

staticbool HttpResponse::setLastModified ( int timestamp )

Set a custom Last-Modified date.

Lista de parámetros

timestamp

Unix timestamp representing the last modification time of the sent entity

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setHeader | Subir | HttpResponse::setStream


HttpResponse::setStream

(no version information, might be only in CVS)

HttpResponse::setStream -- Set stream

Descripción

staticbool HttpResponse::setStream ( resource stream )

Set the resource to be sent.

Lista de parámetros

stream

already opened stream from which the data to send will be read

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setLastModified | Subir | HttpResponse::setThrottleDelay


HttpResponse::setThrottleDelay

(no version information, might be only in CVS)

HttpResponse::setThrottleDelay -- Set throttle delay

Descripción

staticbool HttpResponse::setThrottleDelay ( double seconds )

Sets the throttle delay for use with HttpResponse::setBufferSize().

Provides a basic throttling mechanism, which will yield the current process resp. thread until the entity has been completely sent, though.

Nota: This doesn't really work with the FastCGI SAPI.

Lista de parámetros

seconds

The seconds to sleep after each chunk sent

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
HttpResponse::setStream | Subir | http_cache_etag


i18n_loc_get_default

(no version information, might be only in CVS)

i18n_loc_get_default -- Get the default Locale

Descripción

string i18n_loc_get_default ( void )

This function returns the default Locale, which is used by PHP to localize certain features. Please note that this isn't influenced by setlocale() or the system settings.

Valores retornados

Returns a string with the current Locale.

Ejemplos

Ejemplo 1. A i18n_loc_get_default() example

<?php

// get the default Locale
echo i18n_loc_get_default();

//set a new Locale...
i18n_loc_set_default('pt_PT');

// ... and print it
echo i18n_loc_get_default();

?>

El resultado del ejemplo seria:

en_US_POSIX
pt_PT

Ver también

i18n_loc_set_default()

Anterior | Inicio | Siguiente
Unicode Functions | Subir | i18n_loc_set_default


i18n_loc_set_default

(no version information, might be only in CVS)

i18n_loc_set_default -- Set the default Locale

Descripción

bool i18n_loc_set_default ( string name )

Sets the default Locale for PHP programs. Please note that this has nothing to do with setlocale() nor with the system locale.

Lista de parámetros

name

The new Locale name. A comprehensive list of the supported locales is available at http://www-950.ibm.com/software/globalization/icu/demo/locales/en/?d_=en.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A i18n_loc_set_default() example

This example demonstrates a possible usage of i18n_loc_set_default() to localize the sort() functions.

<?php

// the list of the strings to sort
$array = array(
    'caramelo',
    'cacto',
    'caçada'
);

// set our locale (Portuguese, in this case)
i18n_loc_set_default('pt_PT');

// sort using the locale we previously set
sort($array, SORT_LOCALE_STRING);

print_r($array);
?>

El resultado del ejemplo seria:

Array
(
    [0] => caçada
    [1] => cacto
    [2] => caramelo
)

If we didn't use the locale, PHP would sort the string using the ASCII characters value, thus returning (wrongly):

Array
(
    [0] => cacto
    [1] => caramelo
    [2] => caçada
)

Ver también

i18n_loc_get_default()

Anterior | Inicio | Siguiente
i18n_loc_get_default | Subir | unicode_encode


icap_close

(no version information, might be only in CVS)

icap_close -- Cierra un stream ICAP

Descripción

int icap_close ( int stream_icap, int banderas )

Cierra el stream ICAP dado.

Anterior | Inicio | Siguiente
Funciones ICAP [eliminadas] | Subir | icap_create_calendar


icap_create_calendar

(PHP 4 <= 4.2.3)

icap_create_calendar -- Create a new calendar

Description

string icap_create_calendar ( int stream_id, string calendar )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
icap_close | Subir | icap_delete_calendar


icap_delete_calendar

(PHP 4 <= 4.2.3)

icap_delete_calendar -- Delete a calendar

Description

string icap_delete_calendar ( int stream_id, string calendar )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
icap_create_calendar | Subir | icap_delete_event


icap_delete_event

(PHP 4 <= 4.2.3)

icap_delete_event -- Borra un evento de un calendario ICAP

Descripción

int icap_delete_event ( int id_evento )

icap_delete_event() borra el evento de calendario especificado por el id_evento.

Devuelve TRUE.

Anterior | Inicio | Siguiente
icap_delete_calendar | Subir | icap_fetch_event


icap_fetch_event

(PHP 4 <= 4.2.3)

icap_fetch_event -- Obtiene un evento del stream de calendario/

Descripción

object icap_fetch_event ( stream stream_icap, id id_evento, options opciones )

icap_fetch_event() obtiene el evento del stream de calendario especificado por el parámetro id_evento.

Devuelve un objeto de evento compuesto por:

  • int id - ID de dicho evento.

  • int public - TRUE si el evento es público, FALSE si es privado.

  • string category - Cadena con la categoría del evento.

  • string title - Cadena de título del evento.

  • string description - Cadena de descripción del evento.

  • int alarm - Número de minutos antes que el evento envíe una alarma/recordatorio.

  • object start - Objeto que contiene una entrada datetime (fecha/hora).

  • object end - Objeto que contiene una entrada datetime.

Todas las entradas datetime consisten en un objeto compuesto por:

  • int year - año

  • int month - mes

  • int mday - día del mes

  • int hour - hora

  • int min - minutos

  • int sec - segundos

Anterior | Inicio | Siguiente
icap_delete_event | Subir | icap_list_alarms


icap_list_alarms

(PHP 4 <= 4.2.3)

icap_list_alarms -- Devuelve una lista de los eventos que una alarma ha disparado en el instante dado

Descripción

array icap_list_alarms ( stream stream_icap, datetime instante_alarma )

Devuelve una tabla de identificadores de evento para los que una alarma debiera apagarse en el instante indicado.

La función icap_list_alarms() toma una estructura datetime para un stream de calendario. Se devuelve una tabla de los identificadores de evento de todas las alarmas que debieran apagarse en el instante indicado.

Todas las entradas datetime consisten en un objeto compuesto por:

  • int year - año

  • int month - mes

  • int mday - día del mes

  • int hour - hora

  • int min - minutos

  • int sec - segundos

Anterior | Inicio | Siguiente
icap_fetch_event | Subir | icap_list_events


icap_list_events

(PHP 4 <= 4.2.3)

icap_list_events -- Devuelve una lista de eventos entre dos instantes dados

Descripción

array icap_list_events ( stream stream_icap, datetime instante_inicio, datetime instante_final )

Devuelve una tabla de ID de evento que están entre los dos instantes dados.

La función icap_list_events() toma un instante de inicio y uno de final para un stream de calendario. Se devuelve una tabla de ID de evento que están entre los instantes dados.

Todas las entradas datetime consisten en un objeto compuesto por:

  • int year - año

  • int month - mes

  • int mday - día del mes

  • int hour - hora

  • int min - minutos

  • int sec - segundos

Anterior | Inicio | Siguiente
icap_list_alarms | Subir | icap_open


icap_open

(PHP 4 <= 4.2.3)

icap_open -- Abre una conexión ICAP

Descripción

stream icap_open ( string calendario, string usuario, string clave, string opciones )

Si hay éxito devuelve un stream (flujo) ICAP, o FALSE en caso de error.

icap_open() abre una conexión ICAP con el servidor de calendario especificado. Si se especifica el parámetro opcional opciones, también éste es pasado a dicho buzón.

Anterior | Inicio | Siguiente
icap_list_events | Subir | icap_rename_calendar


icap_rename_calendar

(PHP 4 <= 4.2.3)

icap_rename_calendar -- Rename a calendar

Description

string icap_rename_calendar ( int stream_id, string old_name, string new_name )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
icap_open | Subir | icap_reopen


icap_reopen

(PHP 4 <= 4.2.3)

icap_reopen -- Reopen ICAP stream to new calendar

Description

int icap_reopen ( int stream_id, string calendar [, int options] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
icap_rename_calendar | Subir | icap_snooze


icap_snooze

(PHP 4 <= 4.2.3)

icap_snooze -- Apaga la alarma de un evento

Descripción

int icap_snooze ( int id_evento )

icap_snooze() apaga la alarma del evento de calendario especificado por el id_evento.

Returns TRUE.

Anterior | Inicio | Siguiente
icap_reopen | Subir | icap_store_event


icap_store_event

(PHP 4 <= 4.2.3)

icap_store_event -- Almacena un evento en un calendario ICAP

Descripción

int icap_store_event ( int stream_icap, object evento )

icap_store_event() Guarda un evento en un calendario ICAP. Un objeto de evento consiste en:

  • int public - 1 si es público, 0 si es privado;

  • string category - Cadena con la categoría del evento.

  • string title - Cadena de título del evento.

  • string description - Cadena de descripción del evento.

  • int alarm - Número de minutos antes que el evento envíe una alarma/recordatorio.

  • object start - Objeto que contiene una entrada datetime (fecha/hora).

  • object end - Objeto que contiene una entrada datetime.

Todas las entradas datetime consisten en un objeto compuesto por:

  • int year - año

  • int month - mes

  • int mday - día del mes

  • int hour - hora

  • int min - minutos

  • int sec - segundos

Devuelve TRUE en caso de éxito y FALSE en caso de error.

Anterior | Inicio | Siguiente
icap_snooze | Subir | Funciones iconv


id3_get_frame_long_name

(PECL)

id3_get_frame_long_name -- Obtiene el nombre completo de una trama ID3v2

Descripción

string id3_get_frame_long_name ( string id_trama )

id3_get_frame_long_name() obtiene el nombre completo de una trama ID3v2.

Ejemplo 1. Ejemplo de id3_get_frame_long_name()

<?php
$nombreCompleto = id3_get_frame_long_name("TOLY");
echo $nombreCompleto;
?>

La salida del programa será:

Original lyricist(s)/text writer(s)

Vea también id3_get_frame_short_name().

Anterior | Inicio | Siguiente
Funciones de tratamiento de etiquetas ID3 | Subir | id3_get_frame_short_name


id3_get_frame_short_name

(PECL)

id3_get_frame_short_name -- Obtiene el nombre corto de una trama ID3v2

Descripción

string id3_get_frame_short_name ( string id_trama )

id3_get_frame_short_name() obtiene el nombre corto de una trama ID3v2

Ejemplo 1. Ejemplo de id3_get_frame_short_name()

<?php
$nombreCorto = id3_get_frame_short_name("TOLY");
echo $nombreCorto;
?>

La salida del programa será:

originalLyricist

Los valores devueltos por id3_get_short_name() se emplean en el array devuelto por la función id3_get_tag().

Vea también id3_get_frame_long_name().

Anterior | Inicio | Siguiente
id3_get_frame_long_name | Subir | id3_get_genre_id


iis_add_server

(PECL)

iis_add_server -- Creates a new virtual web server

Descripción

int iis_add_server ( string path, string comment, string server_ip, int port, string host_name, int rights, int start_server )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
IIS Administration Functions | Subir | iis_get_dir_security


iis_get_dir_security

(PECL)

iis_get_dir_security -- Gets Directory Security

Descripción

int iis_get_dir_security ( int server_instance, string virtual_path )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_add_server | Subir | iis_get_script_map


iis_get_script_map

(PECL)

iis_get_script_map -- Gets script mapping on a virtual directory for a specific extension

Descripción

string iis_get_script_map ( int server_instance, string virtual_path, string script_extension )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_get_dir_security | Subir | iis_get_server_by_comment


iis_get_server_by_comment

(PECL)

iis_get_server_by_comment -- Return the instance number associated with the Comment

Descripción

int iis_get_server_by_comment ( string comment )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_get_script_map | Subir | iis_get_server_by_path


iis_get_server_by_path

(PECL)

iis_get_server_by_path -- Return the instance number associated with the Path

Descripción

int iis_get_server_by_path ( string path )

Each virtual server in IIS is associated with an instance number. iis_get_server_by_path() finds the instance number from the actual path to the root directory.

Lista de parámetros

path

The path to the root directory

Valores retornados

Returns the server instance number.

Anterior | Inicio | Siguiente
iis_get_server_by_comment | Subir | iis_get_server_rights


iis_get_server_rights

(PECL)

iis_get_server_rights -- Gets server rights

Descripción

int iis_get_server_rights ( int server_instance, string virtual_path )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_get_server_by_path | Subir | iis_get_service_state


iis_get_service_state

(PECL)

iis_get_service_state -- Returns the state for the service defined by ServiceId

Descripción

int iis_get_service_state ( string service_id )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_get_server_rights | Subir | iis_remove_server


iis_remove_server

(PECL)

iis_remove_server -- Removes the virtual web server indicated by ServerInstance

Descripción

int iis_remove_server ( int server_instance )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_get_service_state | Subir | iis_set_app_settings


iis_set_app_settings

(PECL)

iis_set_app_settings -- Creates application scope for a virtual directory

Descripción

int iis_set_app_settings ( int server_instance, string virtual_path, string application_scope )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_remove_server | Subir | iis_set_dir_security


iis_set_dir_security

(PECL)

iis_set_dir_security -- Sets Directory Security

Descripción

int iis_set_dir_security ( int server_instance, string virtual_path, int directory_flags )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_set_app_settings | Subir | iis_set_script_map


iis_set_script_map

(PECL)

iis_set_script_map -- Sets script mapping on a virtual directory

Descripción

int iis_set_script_map ( int server_instance, string virtual_path, string script_extension, string engine_path, int allow_scripting )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_set_dir_security | Subir | iis_set_server_rights


iis_set_server_rights

(PECL)

iis_set_server_rights -- Sets server rights

Descripción

int iis_set_server_rights ( int server_instance, string virtual_path, int directory_flags )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_set_script_map | Subir | iis_start_server


iis_start_server

(PECL)

iis_start_server -- Starts the virtual web server

Descripción

int iis_start_server ( int server_instance )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_set_server_rights | Subir | iis_start_service


iis_start_service

(PECL)

iis_start_service -- Starts the service defined by ServiceId

Descripción

int iis_start_service ( string service_id )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_start_server | Subir | iis_stop_server


iis_stop_server

(PECL)

iis_stop_server -- Stops the virtual web server

Descripción

int iis_stop_server ( int server_instance )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_start_service | Subir | iis_stop_service


iis_stop_service

(PECL)

iis_stop_service -- Stops the service defined by ServiceId

Descripción

int iis_stop_service ( string service_id )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
iis_stop_server | Subir | Funciones para imágenes


imageconvolution

(PHP 5 >= 5.1.0RC1)

imageconvolution -- Apply a 3x3 convolution matrix, using coefficient and offset

Descripción

bool imageconvolution ( resource image, array matrix, float div, float offset )

Applies a convolution matrix on the image, using the given coefficient and offset.

Lista de parámetros

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Embossing the PHP.net logo

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

El resultado del ejemplo seria:

Ejemplo 2. Gaussian blur

<?php
$image = imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Rewrites the text for comparison
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

El resultado del ejemplo seria:

Notes

Nota: Esta funcion esta disponible solamente si PHP se ha compilado con la version de las bibliotecas GD distribuidas con PHP.

Ver también

imagefilter()

Anterior | Inicio | Siguiente
imagecolortransparent | Subir | imagecopy


imagick_begindraw

(PECL)

imagick_begindraw -- Begin draw

Descripción

bool imagick_begindraw ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
Image magick Functions | Subir | imagick_blob2image


imagick_blob2image

(PECL)

imagick_blob2image -- Read image from BLOB

Descripción

resource imagick_blob2image ( string blob )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

blob

BLOB containing the image

Valores retornados

New image handle on success or FALSE on error.

Anterior | Inicio | Siguiente
imagick_begindraw | Subir | imagick_blur


imagick_blur

(PECL)

imagick_blur -- Blur image

Descripción

bool imagick_blur ( resource image, float radius, float sigma )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the Gaussian in pixels, not counting the center pixel

sigma

Standard deviation of the Gaussian in pixels

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_blob2image | Subir | imagick_border


imagick_border

(PECL)

imagick_border -- Surrounds the image with a border

Descripción

bool imagick_border ( resource image, int x, int y, int width, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

width

Rectangle width

height

Rectangle height

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_blur | Subir | imagick_charcoal


imagick_charcoal

(PECL)

imagick_charcoal -- Highlight edges

Descripción

bool imagick_charcoal ( resource image, float radius, float sigma )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood

sigma

Standard deviation of the Gaussian in pixels

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_border | Subir | imagick_chop


imagick_chop

(PECL)

imagick_chop -- Remove a region of an image and collapse the image to occupy the removed portion

Descripción

bool imagick_chop ( resource image, int x, int y, int width, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

width

Rectangle width

height

Rectangle height

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_charcoal | Subir | imagick_clonehandle


imagick_clonehandle

(PECL)

imagick_clonehandle -- Clone image

Descripción

resource imagick_clonehandle ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

New image handle on success or FALSE on error.

Anterior | Inicio | Siguiente
imagick_chop | Subir | imagick_composite


imagick_composite

(PECL)

imagick_composite -- Composite the second image onto the first at the specified offsets

Descripción

bool imagick_composite ( resource image, int type, resource image2, int x_offset, int y_offset )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

type

One of IMAGICK_COMPOSITE_* constants

image2

Image 2 handle

x_offset

Column offset of the composited image

y_offset

Row offset of the composited image

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_clonehandle | Subir | imagick_contrast


imagick_contrast

(PECL)

imagick_contrast -- Enhance the intensity differences between the lighter and darker elements of the image

Descripción

bool imagick_contrast ( resource image, int sharpen )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

sharpen

Increase or decrease image contrast

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_composite | Subir | imagick_convert


imagick_convert

(PECL)

imagick_convert -- Convert image

Descripción

bool imagick_convert ( resource image, string type )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

type

One of IMAGICK_TYPE_* constants

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_contrast | Subir | imagick_crop


imagick_crop

(PECL)

imagick_crop -- Extract a region of the image

Descripción

bool imagick_crop ( resource image, int x, int y, int width, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

width

Rectangle width

height

Rectangle height

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_convert | Subir | imagick_despeckle


imagick_despeckle

(PECL)

imagick_despeckle -- Reduce the speckle noise

Descripción

bool imagick_despeckle ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_crop | Subir | imagick_destroyhandle


imagick_destroyhandle

(PECL)

imagick_destroyhandle -- Free image from memory

Descripción

bool imagick_destroyhandle ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_despeckle | Subir | imagick_drawannotation


imagick_drawannotation

(PECL)

imagick_drawannotation -- Write text

Descripción

bool imagick_drawannotation ( resource image, float x, float y, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

X ordinate to left of text

y

Y ordinate to text baseline

text

Text to draw

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_destroyhandle | Subir | imagick_drawarc


imagick_drawarc

(PECL)

imagick_drawarc -- Draw arc

Descripción

bool imagick_drawarc ( resource image, float x1, float y1, float x2, float y2, float start_rot, float end_rot )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x1

Starting x ordinate of bounding rectangle

y1

Starting y ordinate of bounding rectangle

x2

Ending x ordinate of bounding rectangle

y2

Ending y ordinate of bounding rectangle

start_rot

Starting degrees of rotation

end_rot

Ending degrees of rotation

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawannotation | Subir | imagick_drawcircle


imagick_drawcircle

(PECL)

imagick_drawcircle -- Draw circle

Descripción

bool imagick_drawcircle ( resource image, float x1, float y1, float x2, float y2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x1

Origin x ordinate

y1

Origin y ordinate

x2

Perimeter x ordinate

y2

Perimeter y ordinate

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawarc | Subir | imagick_drawellipse


imagick_drawellipse

(PECL)

imagick_drawellipse -- Draw ellipse

Descripción

bool imagick_drawellipse ( resource image, float x, float y, float radius_x, float radius_y, float start_rot, float end_rot )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Origin x ordinate

y

Origin y ordinate

radius_x

Radius in x

radius_y

Radius in y

start_rot

Starting rotation in degrees

end_rot

Ending rotation in degrees

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawcircle | Subir | imagick_drawline


imagick_drawline

(PECL)

imagick_drawline -- Draw line

Descripción

bool imagick_drawline ( resource image, float x1, float y1, float x2, float y2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x1

Starting x ordinate

y1

Starting y ordinate

x2

Ending x ordinate

y2

Ending y ordinate

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawellipse | Subir | imagick_drawpoint


imagick_drawpoint

(PECL)

imagick_drawpoint -- Draw point

Descripción

bool imagick_drawpoint ( resource image, float x, float y )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawline | Subir | imagick_drawrectangle


imagick_drawrectangle

(PECL)

imagick_drawrectangle -- Draw rectangle

Descripción

bool imagick_drawrectangle ( resource image, float x1, float y1, float x2, float y2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x1

X ordinate of first coordinate

y1

Y ordinate of first coordinate

x2

X ordinate of second coordinate

y2

Y ordinate of second coordinate

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawpoint | Subir | imagick_edge


imagick_edge

(PECL)

imagick_edge -- Find edges

Descripción

bool imagick_edge ( resource image, float radius )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_drawrectangle | Subir | imagick_emboss


imagick_emboss

(PECL)

imagick_emboss -- Return a grayscale image with a three-dimensional effect

Descripción

bool imagick_emboss ( resource image, float radius, float sigma )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood

sigma

Standard deviation of the Gaussian in pixels

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_edge | Subir | imagick_enhance


imagick_enhance

(PECL)

imagick_enhance -- Apply a digital filter that improves the quality of a noisy image

Descripción

bool imagick_enhance ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_emboss | Subir | imagick_equalize


imagick_equalize

(PECL)

imagick_equalize -- Apply a histogram equalization to the image

Descripción

bool imagick_equalize ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_enhance | Subir | imagick_error


imagick_error

(PECL)

imagick_error -- Check whether there is an error

Descripción

string imagick_error ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

String containing all types of errors or empty string if there is no error.

Anterior | Inicio | Siguiente
imagick_equalize | Subir | imagick_faileddescription


imagick_faileddescription

(PECL)

imagick_faileddescription -- Get description of failure

Descripción

string imagick_faileddescription ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Description of failure or FALSE if there is no failure.

Anterior | Inicio | Siguiente
imagick_error | Subir | imagick_failedreason


imagick_failedreason

(PECL)

imagick_failedreason -- Get reason of failure

Descripción

string imagick_failedreason ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Reason of failure or FALSE if there is no failure.

Anterior | Inicio | Siguiente
imagick_faileddescription | Subir | imagick_first


imagick_first

(PECL)

imagick_first -- Set the internal pointer of an image list to its first element

Descripción

bool imagick_first ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_failedreason | Subir | imagick_flatten


imagick_flatten

(PECL)

imagick_flatten -- Merge a sequence of images

Descripción

bool imagick_flatten ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_first | Subir | imagick_flip


imagick_flip

(PECL)

imagick_flip -- Create a vertical mirror image by reflecting the pixels around the central x-axis

Descripción

bool imagick_flip ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_flatten | Subir | imagick_flop


imagick_flop

(PECL)

imagick_flop -- Create a horizontal mirror image by reflecting the pixels around the central y-axis

Descripción

bool imagick_flop ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_flip | Subir | imagick_frame


imagick_frame

(PECL)

imagick_frame -- Add a simulated three-dimensional border around the image

Descripción

bool imagick_frame ( resource image, int x, int y, int width, int height, int inner_bevel, int outer_bevel )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

width

Rectangle width

height

Rectangle height

inner_bevel

Inner bevel

outer_bevel

Outer bevel

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_flop | Subir | imagick_free


imagick_free

(PECL)

imagick_free -- Alias of imagick_destroyhandle()

Descripción

bool imagick_free ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_frame | Subir | imagick_gamma


imagick_gamma

(PECL)

imagick_gamma -- Gamma-correct a particular image channel

Descripción

bool imagick_gamma ( resource image, string level )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

level

Image gamma

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_free | Subir | imagick_gaussianblur


imagick_gaussianblur

(PECL)

imagick_gaussianblur -- Blur image

Descripción

bool imagick_gaussianblur ( resource image, float radius, float sigma )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood not counting the center pixel

sigma

Standard deviation of the Gaussian in pixels

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_gamma | Subir | imagick_getcanvas


imagick_getcanvas

(PECL)

imagick_getcanvas -- Get canvas

Descripción

resource imagick_getcanvas ( string color, int width, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

color

Background color

width

Width of the image

height

Height of the image

Valores retornados

New image handle on success or FALSE on error.

Anterior | Inicio | Siguiente
imagick_gaussianblur | Subir | imagick_getcolorspace


imagick_getcolorspace

(PECL)

imagick_getcolorspace -- Get color space

Descripción

int imagick_getcolorspace ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

One of IMAGICK_COLORSPACE_* constants.

Anterior | Inicio | Siguiente
imagick_getcanvas | Subir | imagick_getdpix


imagick_getdpix

(PECL)

imagick_getdpix -- Get DPI in X axis

Descripción

int imagick_getdpix ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Number of dots per inch in X axis.

Anterior | Inicio | Siguiente
imagick_getcolorspace | Subir | imagick_getdpiy


imagick_getdpiy

(PECL)

imagick_getdpiy -- Get DPI in Y axis

Descripción

int imagick_getdpiy ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Number of dots per inch in Y axis.

Anterior | Inicio | Siguiente
imagick_getdpix | Subir | imagick_getheight


imagick_getheight

(PECL)

imagick_getheight -- Get height

Descripción

int imagick_getheight ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Height of an image in pixels.

Anterior | Inicio | Siguiente
imagick_getdpiy | Subir | imagick_getimagedepth


imagick_getimagedepth

(PECL)

imagick_getimagedepth -- Get color depth

Descripción

int imagick_getimagedepth ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Minimum number of bits required to store every pixel of an image.

Anterior | Inicio | Siguiente
imagick_getheight | Subir | imagick_getimagefromlist


imagick_getimagefromlist

(PECL)

imagick_getimagefromlist -- Return copy of an image from the list

Descripción

resource imagick_getimagefromlist ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

New image handle on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_getimagedepth | Subir | imagick_getimagetype


imagick_getimagetype

(PECL)

imagick_getimagetype -- Get image type

Descripción

int imagick_getimagetype ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

One of IMAGICK_TYPE_* constants.

Anterior | Inicio | Siguiente
imagick_getimagefromlist | Subir | imagick_getlistindex


imagick_getlistindex

(PECL)

imagick_getlistindex -- Get position in the list of the specified image

Descripción

int imagick_getlistindex ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

0-based index of the specified image in the list.

Anterior | Inicio | Siguiente
imagick_getimagetype | Subir | imagick_getlistsize


imagick_getlistsize

(PECL)

imagick_getlistsize -- Get list size

Descripción

int imagick_getlistsize ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Number of images in the list.

Anterior | Inicio | Siguiente
imagick_getlistindex | Subir | imagick_getmagick


imagick_getmagick

(PECL)

imagick_getmagick -- Get Magick string

Descripción

string imagick_getmagick ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Magick string on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_getlistsize | Subir | imagick_getmimetype


imagick_getmimetype

(PECL)

imagick_getmimetype -- Get MIME type

Descripción

string imagick_getmimetype ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

MIME type on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_getmagick | Subir | imagick_getnumbercolors


imagick_getnumbercolors

(PECL)

imagick_getnumbercolors -- Get number of colors

Descripción

int imagick_getnumbercolors ( resource image, string hist_filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

hist_filename

Write a histogram of the color distribution to this file

Valores retornados

Number of unique colors used in the image on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_getmimetype | Subir | imagick_getwidth


imagick_getwidth

(PECL)

imagick_getwidth -- Get width

Descripción

int imagick_getwidth ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Width of an image in pixels.

Anterior | Inicio | Siguiente
imagick_getnumbercolors | Subir | imagick_goto


imagick_goto

(PECL)

imagick_goto -- Go to specified image in a list

Descripción

bool imagick_goto ( resource image, int frame )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

frame

0-based index of a frame

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_getwidth | Subir | imagick_image2blob


imagick_image2blob

(PECL)

imagick_image2blob -- Return image as BLOB

Descripción

string imagick_image2blob ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

BLOB representation of image.

Anterior | Inicio | Siguiente
imagick_goto | Subir | imagick_implode


imagick_implode

(PECL)

imagick_implode -- Implode image pixels

Descripción

bool imagick_implode ( resource image, float amount )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

amount

Extent of the implosion

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_image2blob | Subir | imagick_iserror


imagick_iserror

(PECL)

imagick_iserror -- Check whether there is an error with image

Descripción

bool imagick_iserror ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

TRUE if there is an error, FALSE otherwise.

Anterior | Inicio | Siguiente
imagick_implode | Subir | imagick_isgrayimage


imagick_isgrayimage

(PECL)

imagick_isgrayimage -- Check whether image is gray

Descripción

bool imagick_isgrayimage ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

TRUE if image is gray, FALSE otherwise.

Anterior | Inicio | Siguiente
imagick_iserror | Subir | imagick_isimagesequal


imagick_isimagesequal

(PECL)

imagick_isimagesequal -- Compare two images

Descripción

bool imagick_isimagesequal ( resource image, resource image2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

image2

Image 2 handle

Valores retornados

TRUE if images are equal, FALSE otherwise.

Anterior | Inicio | Siguiente
imagick_isgrayimage | Subir | imagick_ismonochromeimage


imagick_ismonochromeimage

(PECL)

imagick_ismonochromeimage -- Check whether image is monochrome

Descripción

bool imagick_ismonochromeimage ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

TRUE if image is monochrome, FALSE otherwise.

Anterior | Inicio | Siguiente
imagick_isimagesequal | Subir | imagick_isopaqueimage


imagick_isopaqueimage

(PECL)

imagick_isopaqueimage -- Check whether image is opaque

Descripción

bool imagick_isopaqueimage ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

TRUE if image is opaque, FALSE otherwise.

Anterior | Inicio | Siguiente
imagick_ismonochromeimage | Subir | imagick_ispaletteimage


imagick_ispaletteimage

(PECL)

imagick_ispaletteimage -- Check whether image is palette

Descripción

bool imagick_ispaletteimage ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

TRUE if image is palette, FALSE otherwise.

Anterior | Inicio | Siguiente
imagick_isopaqueimage | Subir | imagick_level


imagick_level

(PECL)

imagick_level -- Adjust levels of a particular image channel by scaling the colors falling between specified white and black points to the full available quantum range

Descripción

bool imagick_level ( resource image, string level )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

level

Specify the levels where the black and white points have the range of 0-QuantumRange, and gamma has the range 0-10 (e.g. 10x90+2)

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_ispaletteimage | Subir | imagick_magnify


imagick_magnify

(PECL)

imagick_magnify -- Double-size the image using bilinear interpolation

Descripción

bool imagick_magnify ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_level | Subir | imagick_medianfilter


imagick_medianfilter

(PECL)

imagick_medianfilter -- Replace each pixel by the median in a set of neighboring pixels

Descripción

bool imagick_medianfilter ( resource image, float radius )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_magnify | Subir | imagick_minify


imagick_minify

(PECL)

imagick_minify -- Half-size the image using the weighted average of a 4x4 cell

Descripción

bool imagick_minify ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_medianfilter | Subir | imagick_modulate


imagick_modulate

(PECL)

imagick_modulate -- Control brightness, saturation and hue

Descripción

bool imagick_modulate ( resource image, string modulate )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

modulate

Define the percent change in brightness, saturation, and hue

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_minify | Subir | imagick_mosaic


imagick_mosaic

(PECL)

imagick_mosaic -- Inlay a number of images to form a single coherent picture

Descripción

resource imagick_mosaic ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

New image handle on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_modulate | Subir | imagick_motionblur


imagick_motionblur

(PECL)

imagick_motionblur -- Simulate motion blur

Descripción

bool imagick_motionblur ( resource image, float radius, float sigma, float angle )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood not counting the center pixel

sigma

Standard deviation of the Gaussian in pixels

angle

Apply the effect along this angle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_mosaic | Subir | imagick_negate


imagick_negate

(PECL)

imagick_negate -- Negate the colors

Descripción

bool imagick_negate ( resource image, int gray_scale )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

gray_scale

If non-zero, only negate grayscale pixels within the image

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_motionblur | Subir | imagick_newimagelist


imagick_newimagelist

(PECL)

imagick_newimagelist -- Create new image list

Descripción

resource imagick_newimagelist ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

New image list on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_negate | Subir | imagick_next


imagick_next

(PECL)

imagick_next -- Advance the internal pointer of an image list

Descripción

bool imagick_next ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_newimagelist | Subir | imagick_normalize


imagick_normalize

(PECL)

imagick_normalize -- Enhance the contrast of a color image by mapping the darkest 2 percent of all pixel to black and the brightest 1 percent to white

Descripción

bool imagick_normalize ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_next | Subir | imagick_oilpaint


imagick_oilpaint

(PECL)

imagick_oilpaint -- Simulate oil painting

Descripción

bool imagick_oilpaint ( resource image, float radius )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the circular neighborhood

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_normalize | Subir | imagick_ordereddither


imagick_ordereddither

(PECL)

imagick_ordereddither -- Use the ordered dithering technique of reducing color images to monochrome

Descripción

bool imagick_ordereddither ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_oilpaint | Subir | imagick_poplist


imagick_poplist

(PECL)

imagick_poplist -- Remove the last image in the list

Descripción

resource imagick_poplist ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Image handle of extracted image on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_ordereddither | Subir | imagick_prev


imagick_prev

(PECL)

imagick_prev -- Rewind the internal pointer of an image list

Descripción

bool imagick_prev ( resource image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_poplist | Subir | imagick_profile


imagick_profile

(PECL)

imagick_profile -- Add or remove a ICC, IPTC, or generic profile from an image

Descripción

bool imagick_profile ( resource image, string name, int clone [, string profile] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

name

Name of profile to add or remove: ICC, IPTC, or generic profile

clone

Should be zero

profile

The profile data

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_prev | Subir | imagick_pushlist


imagick_pushlist

(PECL)

imagick_pushlist -- Add an image to the end of the list

Descripción

bool imagick_pushlist ( resource image, resource push_image )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

push_image

Handle if an image to push

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_profile | Subir | imagick_raise


imagick_raise

(PECL)

imagick_raise -- Create a simulated three-dimensional button-like effect

Descripción

bool imagick_raise ( resource image, int x, int y, int width, int height, int raise )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

width

Rectangle width

height

Rectangle height

raise

A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_pushlist | Subir | imagick_read


imagick_read

(PECL)

imagick_read -- Alias of imagick_readimage()

Descripción

resource imagick_read ( resource image, string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

filename

Name of a file to read image from

Valores retornados

New image handle on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_raise | Subir | imagick_readimage


imagick_readimage

(PECL)

imagick_readimage -- Read image

Descripción

resource imagick_readimage ( string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

filename

Name of a file to read image from

Valores retornados

New image handle on success or FALSE on failure.

Anterior | Inicio | Siguiente
imagick_read | Subir | imagick_reducenoise


imagick_reducenoise

(PECL)

imagick_reducenoise -- Smooth the contours of an image while still preserving edge information

Descripción

bool imagick_reducenoise ( resource image, float radius )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_readimage | Subir | imagick_resize


imagick_resize

(PECL)

imagick_resize -- Resize image

Descripción

bool imagick_resize ( resource image, int cols, int rows, int filter, float blur [, string geo_mods] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

cols

The number of columns desired in the scaled image

rows

The number of rows desired in the scaled image

filter

One of IMAGICK_FILTER_* constants

blur

The blur factor where > 1 is blurry, < 1 is sharp

geo_mods

Geometry modificators

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_reducenoise | Subir | imagick_roll


imagick_roll

(PECL)

imagick_roll -- Offset an image as defined by x and y

Descripción

bool imagick_roll ( resource image, int x_offset, int y_offset )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x_offset

X offset

y_offset

Y offset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_resize | Subir | imagick_rotate


imagick_rotate

(PECL)

imagick_rotate -- Rotate image

Descripción

bool imagick_rotate ( resource image, float degrees )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

degrees

The number of degrees to rotate the image

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_roll | Subir | imagick_sample


imagick_sample

(PECL)

imagick_sample -- Scale image using pixel sampling

Descripción

bool imagick_sample ( resource image, int cols, int rows [, string geo_mods] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

cols

The number of columns in the scaled image

rows

The number of rows in the scaled image

geo_mods

Geometry modificators

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_rotate | Subir | imagick_scale


imagick_scale

(PECL)

imagick_scale -- Scale image using pnmscale() of PBMPLUS

Descripción

bool imagick_scale ( resource image, int cols, int rows [, string geo_mods] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

cols

The number of columns in the scaled image

rows

The number of rows in the scaled image

geo_mods

Geometry modificators

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_sample | Subir | imagick_set_image_comment


imagick_set_image_comment

(PECL)

imagick_set_image_comment -- Set "comment" attribute of image

Descripción

bool imagick_set_image_comment ( resource image, string comment )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

comment

The image comment

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_scale | Subir | imagick_set_image_quality


imagick_set_image_quality

(PECL)

imagick_set_image_quality -- Set image quality

Descripción

bool imagick_set_image_quality ( resource image, int quality )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

quality

The image quality

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_set_image_comment | Subir | imagick_setcompressionquality


imagick_setcompressionquality

(PECL)

imagick_setcompressionquality -- Set compression quality

Descripción

bool imagick_setcompressionquality ( resource image, int quality )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

quality

The image compression quality

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_set_image_quality | Subir | imagick_setcompressiontype


imagick_setcompressiontype

(PECL)

imagick_setcompressiontype -- Set compression type

Descripción

bool imagick_setcompressiontype ( resource image, int type )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

type

One of IMAGICK_COMPRESSION_* constants

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setcompressionquality | Subir | imagick_setdpi


imagick_setdpi

(PECL)

imagick_setdpi -- Set DPI

Descripción

bool imagick_setdpi ( resource image, int dpi_x, int dpi_y )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

dpi_x

Horizontal dots per inch

dpi_y

Vertical dots per inch

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setcompressiontype | Subir | imagick_setfillcolor


imagick_setfillcolor

(PECL)

imagick_setfillcolor -- Set fill color

Descripción

bool imagick_setfillcolor ( resource image, string color )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

color

Fill color

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setdpi | Subir | imagick_setfillopacity


imagick_setfillopacity

(PECL)

imagick_setfillopacity -- Set fill opacity

Descripción

bool imagick_setfillopacity ( resource image, float opacity )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

opacity

Fill opacity

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setfillcolor | Subir | imagick_setfontface


imagick_setfontface

(PECL)

imagick_setfontface -- Set font face

Descripción

bool imagick_setfontface ( resource image, string face )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

face

Font family

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setfillopacity | Subir | imagick_setfontsize


imagick_setfontsize

(PECL)

imagick_setfontsize -- Set font size

Descripción

bool imagick_setfontsize ( resource image, float size )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

size

Font pointsize

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setfontface | Subir | imagick_setfontstyle


imagick_setfontstyle

(PECL)

imagick_setfontstyle -- Set font style

Descripción

bool imagick_setfontstyle ( resource image, int style )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

style

One of IMAGICK_FONTSTYLE_* constants

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setfontsize | Subir | imagick_shade


imagick_shade

(PECL)

imagick_shade -- Shine a distant light on an image to create a three-dimensional effect

Descripción

bool imagick_shade ( resource image, int gray, float azimuth, float elevation )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

gray

A value other than zero shades the intensity of each pixel

azimuth

Azimuth of the light source direction

elevation

Elevation of the light source direction

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_setfontstyle | Subir | imagick_sharpen


imagick_sharpen

(PECL)

imagick_sharpen -- Sharpen image

Descripción

bool imagick_sharpen ( resource image, float radius, float sigma )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood not counting the center pixel

sigma

Standard deviation of the Laplacian in pixels

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_shade | Subir | imagick_shear


imagick_shear

(PECL)

imagick_shear -- Slide one edge of an image along the X or Y axis, creating a parallelogram

Descripción

bool imagick_shear ( resource image, float x, float y )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

x

Horizontal offset

y

Vertical offset

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_sharpen | Subir | imagick_solarize


imagick_solarize

(PECL)

imagick_solarize -- Solarize image

Descripción

bool imagick_solarize ( resource image, float threshold )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

threshold

Extent of the solarization

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_shear | Subir | imagick_spread


imagick_spread

(PECL)

imagick_spread -- Randomly displace each pixel in a block

Descripción

bool imagick_spread ( resource image, int radius )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Choose a random pixel in a neighborhood of this extent

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_solarize | Subir | imagick_swirl


imagick_swirl

(PECL)

imagick_swirl -- Swirl pixels around the center of image

Descripción

bool imagick_swirl ( resource image, float degrees )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

degrees

Tightness of the swirling effect

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_spread | Subir | imagick_threshold


imagick_threshold

(PECL)

imagick_threshold -- Change the value of individual pixels based on the intensity of each pixel compared to threshold

Descripción

bool imagick_threshold ( resource image, float threshold )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

threshold

The desired threshold value

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_swirl | Subir | imagick_transformrgb


imagick_transformrgb

(PECL)

imagick_transformrgb -- Convert the image from RGB to an alternate colorspace

Descripción

bool imagick_transformrgb ( resource image, int colorspace )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

colorspace

One of IMAGICK_COLORSPACE_* constants

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_threshold | Subir | imagick_transparent


imagick_transparent

(PECL)

imagick_transparent -- Make image transparent

Descripción

bool imagick_transparent ( resource image, string trans_color )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

trans_color

Name of the transparent color

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_transformrgb | Subir | imagick_unsharpmask


imagick_unsharpmask

(PECL)

imagick_unsharpmask -- Sharpen image

Descripción

bool imagick_unsharpmask ( resource image, float radius, float sigma, float amount, float threshold )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

radius

Radius of the pixel neighborhood not counting the center pixel

sigma

Standard deviation of the Gaussian in pixels

amount

Percentage of the difference between the original and the blur image that is added back into the original

threshold

Threshold in pixels needed to apply the diffence amount

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_transparent | Subir | imagick_wave


imagick_wave

(PECL)

imagick_wave -- Creates a ripple effect in the image by shifting the pixels vertically along a sine wave

Descripción

bool imagick_wave ( resource image, float amplitude, float frequency )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

amplitude

Amplitude of the sine wave

frequency

Wave length of the sine wave

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_unsharpmask | Subir | imagick_writeimage


imagick_writeimage

(PECL)

imagick_writeimage -- Write image

Descripción

bool imagick_writeimage ( resource image, string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

filename

Name of a file to write image to

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_wave | Subir | imagick_writeimages


imagick_writeimages

(PECL)

imagick_writeimages -- Write images

Descripción

bool imagick_writeimages ( resource image, string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

filename

Name of a file to write images to

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_writeimage | Subir | imagick_zoom


imagick_zoom

(PECL)

imagick_zoom -- Zoom image using selected filter

Descripción

bool imagick_zoom ( resource image, int cols, int rows [, string geo_mods] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

image

Image handle

cols

The number of columns in the scaled image

rows

The number of rows in the scaled image

geo_mods

Geometry modificators

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
imagick_writeimages | Subir | Funciones IMAP, POP3 y NNTP


imap_savebody

(no version information, might be only in CVS)

imap_savebody -- Save a specific body section to a file

Descripción

bool imap_savebody ( resource imap_stream, mixed file, int msg_number [, string part_number [, int options]] )

Saves a part or the whole body of the specified message.

Lista de parámetros

imap_stream

An IMAP stream returned by imap_open().

file

The path to the saved file as a string, or a valid file descriptor returned by fopen().

msg_number

The message number

part_number

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID

  • FT_PEEK - Do not set the \Seen flag if not already set

  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

imap_fetchbody()

Anterior | Inicio | Siguiente
imap_rfc822_write_address | Subir | imap_scanmailbox


include

Manual de PHP
Anterior Capítulo 16. Estructuras de Control Siguiente

include()

La sentencia include() incluye y evalúa el archivo especificado.

Esta documentación también se aplica a la función require(). require() y include() son idénticas en todos los aspectos excepto en el modo de actuar ante un error. include() produce un Warning mientras que require() produce un Error Fatal. En otras palabras, no dude en utilizar require() si quiere que un fichero no encontrado cuelgue el procesamiento de la página. include() no se comporta de esta manera, el script seguirá funcionando de todas maneras. Asegurarse que include_path este configurado bien.

Cuando un fichero es incluido, el código que contiene hereda la variable scope de la linea en donde el include ocurre. Cualquier variable disponible en esa linea en el fichero desde donde se hace la inclusión estará disponible en el fichero incluido a partir de ese momento.

Ejemplo 16-3. Ejemplo básico de la funcióninclude()

vars.php
<?php

$color = 'green';
$fruit = 'apple';

?>

test.php
<?php

echo "A $color $fruit"; // A

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

Si la inclusión ocurre dentro de una función en el fichero donde se incluye, todo el código contenido en el fichero incluido se comportará como si hubiese sido definido dentro de esta función.

Ejemplo 16-4. Incluyendo desde funciones

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php is in the scope of foo() so     *
 * $fruit is NOT available outside of this  *
 * scope.  $color is because we declared it *
 * as global.                               */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

Cuando un fichero es incluido, el intérprete sale del modo PHP y entra en modo HTML al principio del archivo referenciado, y vuelve de nuevo al modo PHP al final. Por esta razón, cualquier código dentro del archivo referenciado que debiera ser ejecutado como código PHP debe ser encerrado dentro de etiquetas válidas de comienzo y fin de PHP.

Si "URL fopen wrappers" esta activada en PHP (como está en la configuración inicial), se puede especificar el fichero que se va a incluir usando una URL (via HTTP u otro mecanismo soportado, consultar Apéndice M) en vez de un fichero local. Si el servidor destino interpreta el fichero destino como código PHP, variables pueden ser mandadas al fichero incluido usando una cadena URL de petición, tal como se hace con HTTP GET. Esto no es lo mismo que incluir un fichero y que este fichero herede las variables del fichero padre; el script es ejecutado en el servidor remoto y el resultado es incluido en en script local.

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Ejemplo 16-5. include() a traves de HTTP

<?php

/* This example assumes that www.example.com is configured to parse .php
 * files and not .txt files. Also, 'Works' here means that the variables
 * $foo and $bar are available within the included file.*/

// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Works.
include 'file.php';  // Works.

?>
Ver también Ficheros remotos, fopen() y file() para obtener información adicional.

Ya que include() y require() son contructores especiales del lenguaje, se deben de incluir dentro del bloque de una sentencia, si están dentro de un bloque condicional.

Ejemplo 16-6. include() y bloques condicionales

<?php

// This is WRONG and will not work as desired.
if ($condition)
    include $file;
else
    include $other;

// This is CORRECT.
if ($condition) {
    include $file;
} else {
    include $other;
}

?>

Es posible ejecutar una sentencia return dentro de un archivo incluido para terminar el procesado de ese archivo y volver al archivo de comandos que lo llamó. Tambien es posible retornar valores de ficheros incluidos. Se puede coger el valor de la llamada "include" como se haría con una función normal.

Nota: En PHP3, return no puede aparecer dentro de un bloque a menos que sea un bloque de función, en el cual return se aplica a esa función y no al archivo completo.

Ejemplo 16-7. include() y return()

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?>

$bar es igual a 1 porque la inclusión salio bien. Notar la diferencia entre los dos ejemplos anteriores. el primero usa return() dentro del fichero incluido y el segundo no. Otras maneras de incluir ficheros en variables es con fopen(), file() ó usando include()con Funciones de control de salida.

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

Ver también require(),
require_once(),
include_once(), readfile(),
virtual(), y include_path.


include_once

Manual de PHP
Anterior Capítulo 16. Estructuras de Control Siguiente

include_once()

La función include_once() incluye y evalua el fichero especificado durante la ejecución del script. Se comporta de manera similar a include(), con la única diferencia que si el código ha sido ya incluido, no se volverá a incluir.

include_once() debería de usarse en casos en los que, un mismo fichero puede ser incluido y evaluado más de una vez durante la ejecución de un script, y se quiere estar seguro que se incluye una sola vez para evitar problemas con redefiniciones de funciones, valores de funciones, etc.

Para consultar ejemplos que usen include_once() e require_once(), ver el código de PEAR incluido con las últimas versiones de PHP.

Nota: include_once() fue incorporado en PHP 4.0.1pl2

Nota: El comportamiento de de include_once() y require_once() puede que no sea el esperado en sistemas operativos en los que mayúsculas y minúsculas se traten igual (como en Windows)

Ejemplo 16-9. Con include_once() no importan las mayúsculas y minúsculas en Windows

<?php
include_once("a.php"); // this will include a.php
include_once("A.php"); // this will include a.php again on Windows!
?>

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Ver también include(),
require(), require_once(),
get_required_files(),
get_included_files(),
readfile(), y virtual().

Anterior | Inicio | Siguiente
require_once() | Subir | Funciones


ingres_cursor

(PECL)

ingres_cursor -- Gets a cursor name for a given link resource

Description

string ingres_cursor ( [resource link] )

Returns an string containing the active cursor name. If no cursor is active then NULL is returned.

If a link resource is passed to ingres_cursor() it returns the cursor name recorded for the link. If no link is passed then ingres_cursor() returns the cursor name asssociated with the default link.

Ejemplo 1. ingres_cursor() example

<?php
$link = ingres_connect($database, $user, $password);

ingres_prepare("select * from table", $link);

$cursor_name = ingres_cursor($link);

echo $cursor_name;

?>

See also ingres_prepare() and ingres_execute().

Anterior | Inicio | Siguiente
ingres_connect | Subir | ingres_errno


ingres_errno

(PECL)

ingres_errno -- Gets the last ingres error number generated

Description

int ingres_errno ( [resource link] )

Returns an integer containing the last error number. If no error was reported 0 is returned.

If a link resource is passed to ingres_errno() it returns the last error recorded for the link. If no link is passed then ingres_errno() returns the last error reported using the default link.

The function, ingres_errno(), should always be called after executing a database query. Calling another function before ingres_errno() is called, will reset or change any error code from the last Ingres function call.

Ejemplo 1. ingres_errno() example

<?php
$link = ingres_connect($database, $user, $password);

ingres_query("select * from table", $link);

$error_code = ingres_errno($link);

if ( $error_code != 0 ) {
   echo "An error occured - " . $error_code;
}
?>

See also ingres_error() and ingres_errsqlstate().

Anterior | Inicio | Siguiente
ingres_cursor | Subir | ingres_error


ingres_error

(PECL)

ingres_error -- Gets a meaningful error message for the last error generated

Description

string ingres_error ( [resource link] )

Returns a string containing the last error, or NULL if no error has occurred.

If a link resource is passed to ingres_error() it returns the last error recorded for the link. If no link is passed then ingres_error() returns the last error reported using the default link.

The function, ingres_error(), should always be called after executing any database query. Calling another function before ingres_error() is called will reset or change any error message from the last Ingres function call.

Ejemplo 1. ingres_error() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");

$error_text = ingres_error();

if ( is_null($error_text) ) {
   echo "An error occured - " . $error_text;
}
?>

See also ingres_errno() and ingres_errsqlstate().

Anterior | Inicio | Siguiente
ingres_errno | Subir | ingres_errsqlstate


ingres_errsqlstate

(PECL)

ingres_errsqlstate -- Gets the last SQLSTATE error code generated

Description

string ingres_errsqlstate ( [resource link] )

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

If a link resource is passed to ingres_errsqlstate() it returns the last error recorded for the link. If no link is passed then ingres_errsqlstate() returns the last error reported using the default link.

The function, ingres_errsqlstate(), should always be called after executing any database query. Calling another function before ingres_errsqlstate() is called will reset or change any error message from the last Ingres function call.

Ejemplo 1. ingres_errsqlstate() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");

$error_sqlstate = ingres_errsqlstate();

if ( is_null($error_sqlstate) ) {
   echo "An error occured - " . $error_sqlstate;
}
?>

See also ingres_errno() and ingres_errsqlstate().

Anterior | Inicio | Siguiente
ingres_error | Subir | ingres_fetch_array


is_binary

(PHP 5 CVS only)

is_binary -- Finds whether a variable is a native binary string

Descripción

bool is_binary ( mixed var )

Finds whether the given variable is a native binary string.

Lista de parámetros

var

The variable being evaluated.

Valores retornados

Returns TRUE if var is a native binary string, FALSE otherwise.

Ver también

is_buffer()
is_string()
is_unicode()

Anterior | Inicio | Siguiente
is_array | Subir | is_bool


is_buffer

(PHP 5 CVS only)

is_buffer -- Finds whether a variable is a native unicode or binary string

Descripción

bool is_buffer ( mixed var )

Finds whether the given variable is a native unicode or binary string.

Lista de parámetros

var

The variable being evaluated.

Valores retornados

Returns TRUE if var is a native unicode or binary string, FALSE otherwise.

Ver también

is_binary()
is_string()
is_unicode()

Anterior | Inicio | Siguiente
is_bool | Subir | is_callable


is_unicode

(PHP 5 CVS only)

is_unicode -- Finds whether a variable is a unicode string

Descripción

bool is_unicode ( mixed var )

Finds whether the given variable is a unicode string.

Lista de parámetros

var

The variable being evaluated.

Valores retornados

Returns TRUE if var is a unicode string, FALSE otherwise.

Ver también

is_binary()
is_buffer()
is_string()
unicode_encode()

Anterior | Inicio | Siguiente
is_string | Subir | isset


json_decode

(no version information, might be only in CVS)

json_decode -- Decodes a JSON string

Descripción

mixed json_decode ( string json [, bool assoc] )

Takes a JSON encoded string and converts it into a PHP variable.

Lista de parámetros

json

The json string being decoded.

assoc

When TRUE, returned objects will be converted into associative arrays.

Valores retornados

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

Ejemplos

Ejemplo 1. json_decode() examples

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

El resultado del ejemplo seria:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Ver también

json_encode()

Anterior | Inicio | Siguiente
JSON Functions | Subir | json_encode


json_encode

(no version information, might be only in CVS)

json_encode -- Returns the JSON representation of a value

Descripción

string json_encode ( mixed value )

Returns a string containing the JSON representation of value.

Lista de parámetros

value

The value being encoded. Can be any type except a resource.

This function only works with UTF-8 encoded data.

Valores retornados

Returns a JSON encoded string on success.

Ejemplos

Ejemplo 1. A json_encode() example

<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);
?>

El resultado del ejemplo seria:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Ver también

json_decode()

Anterior | Inicio | Siguiente
json_decode | Subir | KADM5


kadm5_chpass_principal

(PECL)

kadm5_chpass_principal -- Changes the principal's password

Descripción

bool kadm5_chpass_principal ( resource handle, string principal, string password )

kadm5_chpass_principal() sets the new password password for the principal.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Example of changing principal's password

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_chpass_principal($handle, "burbach@GONICUS.LOCAL", "newpassword");

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
KADM5 | Subir | kadm5_create_principal


kadm5_create_principal

(PECL)

kadm5_create_principal -- Creates a kerberos principal with the given parameters

Descripción

bool kadm5_create_principal ( resource handle, string principal [, string password [, array options]] )

kadm5_create_principal() creates a principal with the given password. If password is omitted or is NULL, a random key will be generated.

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Example of principal's creation

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
kadm5_chpass_principal | Subir | kadm5_delete_principal


kadm5_delete_principal

(PECL)

kadm5_delete_principal -- Deletes a kerberos principal

Descripción

bool kadm5_delete_principal ( resource handle, string principal )

kadm5_delete_principal() remove the principal from the Kerberos database.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. kadm5_delete_principal() example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_delete_principal($handle, "burbach@GONICUS.LOCAL");

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
kadm5_create_principal | Subir | kadm5_destroy


kadm5_destroy

(PECL)

kadm5_destroy -- Closes the connection to the admin server and releases all related resources

Descripción

bool kadm5_destroy ( resource handle )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
kadm5_delete_principal | Subir | kadm5_flush


kadm5_flush

(PECL)

kadm5_flush -- Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open

Descripción

bool kadm5_flush ( resource handle )

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
kadm5_destroy | Subir | kadm5_get_policies


kadm5_get_policies

(PECL)

kadm5_get_policies -- Gets all policies from the Kerberos database

Descripción

array kadm5_get_policies ( resource handle )

kadm5_get_policies() returns an array containing the policies's names.

Valores retornados

Returns array of policies on success, or FALSE on failure.

Ejemplos

Ejemplo 1. kadm5_get_policies() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_policies</h1>\n";
foreach (kadm5_get_policies($handle) as $policy) {
    echo "$policy<br />\n";
}

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
kadm5_flush | Subir | kadm5_get_principal


kadm5_get_principal

(PECL)

kadm5_get_principal -- Gets the principal's entries from the Kerberos database

Descripción

array kadm5_get_principal ( resource handle, string principal )

kadm5_get_principal() returns an associative array containing the following keys: KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME, KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS, KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT.

Valores retornados

Returns array of options on success, or FALSE on failure.

Ejemplos

Ejemplo 1. kadm5_get_principal() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );

foreach ($options as $key => $value) {
    echo "$key: $value<br />\n";
}

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
kadm5_get_policies | Subir | kadm5_get_principals


kadm5_get_principals

(PECL)

kadm5_get_principals -- Gets all principals from the Kerberos database

Descripción

array kadm5_get_principals ( resource handle )

kadm5_get_principals() returns an array containing the principals's names.

Valores retornados

Returns array of principals on success, or FALSE on failure.

Ejemplos

Ejemplo 1. kadm5_get_principals() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principals</h1>\n";
foreach (kadm5_get_principals($handle) as $principal) {
    echo "$principal<br />\n";
}

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
kadm5_get_principal | Subir | kadm5_init_with_password


kadm5_init_with_password

(PECL)

kadm5_init_with_password -- Opens a connection to the KADM5 library and initializes any neccessary state information

Descripción

resource kadm5_init_with_password ( string admin_server, string realm, string principal, string password )

kadm5_init_with_password() opens a connection with the KADM5 library using the principal and the given password to obtain initial credentials from the admin_server. The parameter realm defines the authentication domain for the connection.

Valores retornados

Returns a KADM5 handle on success, or FALSE on failure.

Ejemplos

Ejemplo 1. KADM5 initialization example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Notes

Nota: Connection should be closed after use with kadm5_destroy().

Ver también

kadm5_destroy()

Anterior | Inicio | Siguiente
kadm5_get_principals | Subir | kadm5_modify_principal


kadm5_modify_principal

(PECL)

kadm5_modify_principal -- Modifies a kerberos principal with the given parameters

Descripción

bool kadm5_modify_principal ( resource handle, string principal, array options )

kadm5_modify_principal() modifies a principal according to the given options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE, KADM5_FAIL_AUTH_COUNT.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Example of modifying principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH;
$options = array(KADM5_PRINC_EXPIRE_TIME => 3451234,
                 KADM5_POLICY => "gonicus",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

kadm5_destroy($handle);
?>

Anterior | Inicio | Siguiente
kadm5_init_with_password | Subir | Funciones LDAP


lchgrp

(no version information, might be only in CVS)

lchgrp -- Changes group ownership of symlink

Description

bool lchgrp ( string filename, mixed group )

Attempts to change the group of the symlink filename to group (specified by name or number). Only the superuser may change the group of a symlink arbitrarily; other users may change the group of a symlink to any group of which that user is a member.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

See also chgrp(),
lchown()
chown(), y
chmod().

Anterior | Inicio | Siguiente
is_writeable | Subir | lchown


lchown

(no version information, might be only in CVS)

lchown -- Changes user ownership of symlink

Description

bool lchown ( string filename, mixed user )

Attempts to change the owner of the symlink filename to user user (specified by name or number). Only the superuser may change the owner of a symlink.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

See also chown(),
lchgrp(),
chgrp(), y
chmod().

Anterior | Inicio | Siguiente
lchgrp | Subir | link


libxml_clear_errors

(PHP 5 >= 5.1.0RC1)

libxml_clear_errors -- Clear libxml error buffer

Descripción

void libxml_clear_errors ( void )

libxml_clear_errors() clears the libxml error buffer.

Valores retornados

No value is returned.

Ver también

libxml_get_errors()
libxml_get_last_error()

Anterior | Inicio | Siguiente
libxml Functions | Subir | libxml_get_errors


libxml_get_errors

(PHP 5 >= 5.1.0RC1)

libxml_get_errors -- Retrieve array of errors

Descripción

array libxml_get_errors ( void )

Retrieve array of errors.

Valores retornados

Returns an array with LibXMLError objects if there are any errors in the buffer, or an empty array otherwise.

Ejemplos

Ejemplo 1. A libxml_get_errors() example

This example demonstrates how to build a simple libxml error handler.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!$doc) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

El resultado del ejemplo seria:

<titles>PHP: Behind the Parser</title>
^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 0

--------------------------------------------

Ver también

libxml_get_last_error()
libxml_clear_errors()

Anterior | Inicio | Siguiente
libxml_clear_errors | Subir | libxml_get_last_error


libxml_get_last_error

(PHP 5 >= 5.1.0RC1)

libxml_get_last_error -- Retrieve last error from libxml

Descripción

LibXMLError libxml_get_last_error ( void )

Retrieve last error from libxml.

Valores retornados

Returns a LibXMLError object if there is any error in the buffer, FALSE otherwise.

Ver también

libxml_get_errors()
libxml_clear_errors()

Anterior | Inicio | Siguiente
libxml_get_errors | Subir | libxml_set_streams_context


libxml_set_streams_context

(PHP 5)

libxml_set_streams_context -- Set the streams context for the next libxml document load or write

Descripción

void libxml_set_streams_context ( resource streams_context )

Sets the streams context for the next libxml document load or write.

Lista de parámetros

streams_context

The stream context resource (created with stream_context_create())

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. A libxml_set_streams_context() example

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// request a file through HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Ver también

stream_context_create()

Anterior | Inicio | Siguiente
libxml_get_last_error | Subir | libxml_use_internal_errors


libxml_use_internal_errors

(PHP 5 >= 5.1.0RC1)

libxml_use_internal_errors -- Disable libxml errors and allow user to fetch error information as needed

Descripción

bool libxml_use_internal_errors ( [bool use_errors] )

libxml_use_internal_errors() allows you to disable standard libxml errors and enable user error handling.

Lista de parámetros

use_errors

Whether to enable user error handling. Defaults to FALSE.

Valores retornados

This function returns the previous value of use_errors.

Ejemplos

Ejemplo 1. A libxml_use_internal_errors() example

This example demonstrates the basic usage of libxml errors and the value returned by this function.

<?php

// enable user error handling
var_dump(libxml_use_internal_errors(true));

$doc = DOMDocument::load('file.xml');

if (!$doc) {
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        // handle errors here
    }

    libxml_clear_errors();
}

?>

El resultado del ejemplo seria:

bool(false)

Ver también

libxml_clear_errors()
libxml_get_errors()

Anterior | Inicio | Siguiente
libxml_set_streams_context | Subir | Lotus Notes Functions


m_checkstatus

(PHP 4 >= 4.3.9, PHP 5)

m_checkstatus -- Check to see if a transaction has completed

Descripción

int m_checkstatus ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
MCVE (Monetra) Payment Functions | Subir | m_completeauthorizations


m_completeauthorizations

(PHP 4 >= 4.3.9, PHP 5)

m_completeauthorizations -- Number of complete authorizations in queue, returning an array of their identifiers

Descripción

int m_completeauthorizations ( resource conn, int &array )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

array

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_checkstatus | Subir | m_connect


m_connect

(PHP 4 >= 4.3.9, PHP 5)

m_connect -- Establish the connection to MCVE

Descripción

int m_connect ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_completeauthorizations | Subir | m_connectionerror


m_connectionerror

(PHP 4 >= 4.3.9, PHP 5)

m_connectionerror -- Get a textual representation of why a connection failed

Descripción

string m_connectionerror ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_connect | Subir | m_deletetrans


m_deletetrans

(PHP 4 >= 4.3.9, PHP 5)

m_deletetrans -- Delete specified transaction from MCVE_CONN structure

Descripción

bool m_deletetrans ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_connectionerror | Subir | m_destroyconn


m_destroyconn

(PHP 4 >= 4.3.9, PHP 5)

m_destroyconn -- Destroy the connection and MCVE_CONN structure

Descripción

bool m_destroyconn ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

Returns TRUE.

Ver también

m_initconn()

Anterior | Inicio | Siguiente
m_deletetrans | Subir | m_destroyengine


m_destroyengine

(PHP 4 >= 4.3.9, PHP 5)

m_destroyengine -- Free memory associated with IP/SSL connectivity

Descripción

void m_destroyengine ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
m_destroyconn | Subir | m_getcell


m_getcell

(PHP 4 >= 4.3.9, PHP 5)

m_getcell -- Get a specific cell from a comma delimited response by column name

Descripción

string m_getcell ( resource conn, int identifier, string column, int row )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

column

Its description

row

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_destroyengine | Subir | m_getcellbynum


m_getcellbynum

(PHP 4 >= 4.3.9, PHP 5)

m_getcellbynum -- Get a specific cell from a comma delimited response by column number

Descripción

string m_getcellbynum ( resource conn, int identifier, int column, int row )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

column

Its description

row

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_getcell | Subir | m_getcommadelimited


m_getcommadelimited

(PHP 4 >= 4.3.9, PHP 5)

m_getcommadelimited -- Get the RAW comma delimited data returned from MCVE

Descripción

string m_getcommadelimited ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_getcellbynum | Subir | m_getheader


m_getheader

(PHP 4 >= 4.3.9, PHP 5)

m_getheader -- Get the name of the column in a comma-delimited response

Descripción

string m_getheader ( resource conn, int identifier, int column_num )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

column_num

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_getcommadelimited | Subir | m_initconn


m_initconn

(PHP 4 >= 4.3.9, PHP 5)

m_initconn -- Create and initialize an MCVE_CONN structure

Descripción

resource m_initconn ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Returns an MCVE_CONN resource.

Ver también

m_destroyconn()

Anterior | Inicio | Siguiente
m_getheader | Subir | m_initengine


m_initengine

(PHP 4 >= 4.3.9, PHP 5)

m_initengine -- Ready the client for IP/SSL Communication

Descripción

int m_initengine ( string location )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

location

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_initconn | Subir | m_iscommadelimited


m_iscommadelimited

(PHP 4 >= 4.3.9, PHP 5)

m_iscommadelimited -- Checks to see if response is comma delimited

Descripción

int m_iscommadelimited ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_initengine | Subir | m_maxconntimeout


m_maxconntimeout

(PHP 4 >= 4.3.9, PHP 5)

m_maxconntimeout -- The maximum amount of time the API will attempt a connection to MCVE

Descripción

bool m_maxconntimeout ( resource conn, int secs )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

secs

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_iscommadelimited | Subir | m_monitor


m_monitor

(PHP 4 >= 4.3.9, PHP 5)

m_monitor -- Perform communication with MCVE (send/receive data) Non-blocking

Descripción

int m_monitor ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_maxconntimeout | Subir | m_numcolumns


m_numcolumns

(PHP 4 >= 4.3.9, PHP 5)

m_numcolumns -- Number of columns returned in a comma delimited response

Descripción

int m_numcolumns ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_monitor | Subir | m_numrows


m_numrows

(PHP 4 >= 4.3.9, PHP 5)

m_numrows -- Number of rows returned in a comma delimited response

Descripción

int m_numrows ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_numcolumns | Subir | m_parsecommadelimited


m_parsecommadelimited

(PHP 4 >= 4.3.9, PHP 5)

m_parsecommadelimited -- Parse the comma delimited response so m_getcell, etc will work

Descripción

int m_parsecommadelimited ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_numrows | Subir | m_responsekeys


m_responsekeys

(PHP 5 >= 5.1.0RC1)

m_responsekeys -- Returns array of strings which represents the keys that can be used for response parameters on this transaction

Descripción

array m_responsekeys ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_parsecommadelimited | Subir | m_responseparam


m_responseparam

(PHP 4 >= 4.3.9, PHP 5)

m_responseparam -- Get a custom response parameter

Descripción

string m_responseparam ( resource conn, int identifier, string key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

key

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_responsekeys | Subir | m_returnstatus


m_returnstatus

(PHP 4 >= 4.3.9, PHP 5)

m_returnstatus -- Check to see if the transaction was successful

Descripción

int m_returnstatus ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_responseparam | Subir | m_setblocking


m_setblocking

(PHP 4 >= 4.3.9, PHP 5)

m_setblocking -- Set blocking/non-blocking mode for connection

Descripción

int m_setblocking ( resource conn, int tf )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

tf

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_returnstatus | Subir | m_setdropfile


m_setdropfile

(PHP 4 >= 4.3.9, PHP 5)

m_setdropfile -- Set the connection method to Drop-File

Descripción

int m_setdropfile ( resource conn, string directory )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

directory

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_setblocking | Subir | m_setip


m_setip

(PHP 4 >= 4.3.9, PHP 5)

m_setip -- Set the connection method to IP

Descripción

int m_setip ( resource conn, string host, int port )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

host

Its description

port

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_setdropfile | Subir | m_setssl_cafile


m_setssl

(PHP 4 >= 4.3.9, PHP 5)

m_setssl -- Set the connection method to SSL

Descripción

int m_setssl ( resource conn, string host, int port )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

host

Its description

port

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_setssl_files | Subir | m_settimeout


m_setssl_cafile

(PHP 5 >= 5.1.0RC1)

m_setssl_cafile -- Set SSL CA (Certificate Authority) file for verification of server certificate

Descripción

int m_setssl_cafile ( resource conn, string cafile )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

cafile

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_setip | Subir | m_setssl_files


m_setssl_files

(PHP 4 >= 4.3.9, PHP 5)

m_setssl_files -- Set certificate key files and certificates if server requires client certificate verification

Descripción

int m_setssl_files ( resource conn, string sslkeyfile, string sslcertfile )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

sslkeyfile

Its description

sslcertfile

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_setssl_cafile | Subir | m_setssl


m_settimeout

(PHP 4 >= 4.3.9, PHP 5)

m_settimeout -- Set maximum transaction time (per trans)

Descripción

int m_settimeout ( resource conn, int seconds )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

seconds

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_setssl | Subir | m_sslcert_gen_hash


m_sslcert_gen_hash

(no version information, might be only in CVS)

m_sslcert_gen_hash -- Generate hash for SSL client certificate verification

Descripción

string m_sslcert_gen_hash ( string filename )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

filename

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_settimeout | Subir | m_transactionssent


m_transactionssent

(PHP 4 >= 4.3.9, PHP 5)

m_transactionssent -- Check to see if outgoing buffer is clear

Descripción

int m_transactionssent ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_sslcert_gen_hash | Subir | m_transinqueue


m_transinqueue

(PHP 4 >= 4.3.9, PHP 5)

m_transinqueue -- Number of transactions in client-queue

Descripción

int m_transinqueue ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_transactionssent | Subir | m_transkeyval


m_transkeyval

(PHP 5 >= 5.1.0RC1)

m_transkeyval -- Add key/value pair to a transaction. Replaces deprecated transparam()

Descripción

int m_transkeyval ( resource conn, int identifier, string key, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

key

Its description

value

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_transinqueue | Subir | m_transnew


m_transnew

(PHP 4 >= 4.3.9, PHP 5)

m_transnew -- Start a new transaction

Descripción

int m_transnew ( resource conn )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_transkeyval | Subir | m_transsend


m_transsend

(PHP 4 >= 4.3.9, PHP 5)

m_transsend -- Finalize and send the transaction

Descripción

int m_transsend ( resource conn, int identifier )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

identifier

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_transnew | Subir | m_uwait


m_uwait

(PHP 4 >= 4.3.9, PHP 5)

m_uwait -- Wait x microsecs

Descripción

int m_uwait ( int microsecs )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

microsecs

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_transsend | Subir | m_validateidentifier


m_validateidentifier

(PHP 5 >= 5.1.0RC1)

m_validateidentifier -- Whether or not to validate the passed identifier on any transaction it is passed to

Descripción

int m_validateidentifier ( resource conn, int tf )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

tf

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_uwait | Subir | m_verifyconnection


m_verifyconnection

(PHP 4 >= 4.3.9, PHP 5)

m_verifyconnection -- Set whether or not to PING upon connect to verify connection

Descripción

bool m_verifyconnection ( resource conn, int tf )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

tf

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_validateidentifier | Subir | m_verifysslcert


m_verifysslcert

(PHP 4 >= 4.3.9, PHP 5)

m_verifysslcert -- Set whether or not to verify the server ssl certificate

Descripción

bool m_verifysslcert ( resource conn, int tf )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

conn

An MCVE_CONN resource returned by m_initengine().

tf

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
m_verifyconnection | Subir | Memcache Functions


mailparse_msg_extract_whole_part_file

(PECL)

mailparse_msg_extract_whole_part_file -- Extracts a message section including headers without decoding the transfer encoding

Descripción

string mailparse_msg_extract_whole_part_file ( resource mimemail, string filename [, callback callbackfunc] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

mimemail

A valid MIME resource.

filename

callbackfunc

Valores retornados

Ver también

mailparse_msg_extract_part()
mailparse_msg_extract_part_file()

Anterior | Inicio | Siguiente
mailparse_msg_extract_part | Subir | mailparse_msg_free


maxdb_affected_rows

(PECL)

maxdb_affected_rows

(no version information, might be only in CVS)

maxdb->affected_rows -- Gets the number of affected rows in a previous MaxDB operation

Description

Procedural style:

int maxdb_affected_rows ( resource link )

Object oriented style (property):

class maxdb {

int affected_rows

}

maxdb_affected_rows() returns the number of rows affected by the last INSERT, UPDATE, or DELETE query associated with the provided link parameter. If this number cannot be determined, this function will return -1.

Nota: For SELECT statements maxdb_affected_rows() works like maxdb_num_rows().

The maxdb_affected_rows() function only works with queries which modify a table. In order to return the number of rows from a SELECT query, use the maxdb_num_rows() function instead.

Return Values

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the number of rows affected can not be determined.

See also

maxdb_num_rows(), maxdb_info().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);

$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);

/* delete rows */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);

/* select all rows */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);

$result->close();

/* Delete table Language */
$maxdb->query("DROP TABLE mycustomer");

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", maxdb_affected_rows($link));

maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", maxdb_affected_rows($link));

/* delete rows */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", maxdb_affected_rows($link));

/* select all rows */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", maxdb_affected_rows($link));

maxdb_free_result($result);

/* Delete table Language */
maxdb_query($link, "DROP TABLE mycustomer");

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Affected rows (INSERT): 15
Affected rows (UPDATE): 15
Affected rows (DELETE): 0
Affected rows (SELECT): 15

Anterior | Inicio | Siguiente
MaxDB PHP Extension | Subir | maxdb_autocommit


maxdb_autocommit

(PECL)

maxdb_autocommit

(no version information, might be only in CVS)

maxdb->auto_commit -- Turns on or off auto-commiting database modifications

Description

Procedural style:

bool maxdb_autocommit ( resource link, bool mode )

Object oriented style (method)

class maxdb {

bool auto_commit ( bool mode )

}

maxdb_autocommit() is used to turn on or off auto-commit mode on queries for the database connection represented by the link resource.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_commit(), maxdb_rollback().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
$maxdb->autocommit(TRUE);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
maxdb_autocommit($link, TRUE);

/* close connection */
maxdb_close($link);
?>

The above examples would produce no output.

Anterior | Inicio | Siguiente
maxdb_affected_rows | Subir | maxdb_bind_param


maxdb_bind_param

(PECL)

maxdb_bind_param -- Alias of maxdb_stmt_bind_param()

Descripción

This function is an alias of: maxdb_stmt_bind_param()

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_autocommit | Subir | maxdb_bind_result


maxdb_bind_result

(PECL)

maxdb_bind_result -- Alias of maxdb_stmt_bind_result()

Descripción

This function is an alias of: maxdb_stmt_bind_result().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_bind_param | Subir | maxdb_change_user


maxdb_change_user

(PECL)

maxdb_change_user

(no version information, might be only in CVS)

maxdb->change_user -- Changes the user of the specified database connection

Description

Procedural style:

bool maxdb_change_user ( resource link, string user, string password, string database )

Object oriented style (method):

class maxdb {

bool change_user ( string user, string password, string database )

}

maxdb_change_user() is used to change the user of the specified database connection as given by the link parameter and to set the current database to that specified by the database parameter.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

Nota: Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

Return Values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also:

maxdb_connect() maxdb_select_db()

Example

Ejemplo 1. Object oriented style

<?php

/* connect database test */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM dual")) {
   $row = $result->fetch_row();
   printf("Result: %s\n", $row[0]);
   $result->free();
}

/* reset all and select a new database */
if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM dual")) {
   $row = maxdb_fetch_row($result);
   printf("Result: %s\n", $row[0]);
   maxdb_free_result($result);
}

/* reset all and select a new database */
if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Result: a
Database running

Anterior | Inicio | Siguiente
maxdb_bind_result | Subir | maxdb_character_set_name


maxdb_character_set_name

(PECL)

maxdb_character_set_name

(no version information, might be only in CVS)

maxdb->character_set_name -- Returns the default character set for the database connection

Description

Procedural style:

string maxdb_character_set_name ( resource link )

Object oriented style (method):

class maxdb {

string character_set_name ( void )

}

Returns the current character set for the database connection specified by the link parameter.

Return values

The default character set for the current connection, either ascii or unicode.

See also

maxdb_client_encoding(). maxdb_real_escape_string().

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = $maxdb->character_set_name();
printf ("Current character set is %s\n", $charset);

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = maxdb_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
maxdb_close($link);
?>

The above examples would be produce the following output:

Current character set is ascii

Anterior | Inicio | Siguiente
maxdb_change_user | Subir | maxdb_client_encoding


maxdb_client_encoding

(PECL)

maxdb_client_encoding -- Alias of maxdb_character_set_name()

Descripción

This function is an alias of: maxdb_character_set_name().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_character_set_name | Subir | maxdb_close_long_data


maxdb_close

(PECL)

maxdb_close

(no version information, might be only in CVS)

maxdb->close -- Closes a previously opened database connection

Description

Procedural style:

bool maxdb_close ( resource link )

Object oriented style (method):

class maxdb {

bool close ( void )

}

The maxdb_close() function closes a previously opened database connection specified by the link parameter.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_connect(),
maxdb_init(),
maxdb_real_connect().

Anterior | Inicio | Siguiente
maxdb_close_long_data | Subir | maxdb_commit


maxdb_close_long_data

(PECL)

maxdb_close_long_data

(no version information, might be only in CVS)

maxdb->close_long_data -- Alias of maxdb_stmt_close_long_data()

Descripción

This function is an alias of: maxdb_stmt_close_long_data().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_client_encoding | Subir | maxdb_close


maxdb_commit

(PECL)

maxdb_commit

(no version information, might be only in CVS)

maxdb->commit -- Commits the current transaction

Description

Procedural style:

bool maxdb_commit ( resource link )

Object oriented style (method)

class maxdb {

bool commit ( void )

}

Commits the current transaction for the database connection specified by the link parameter.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_autocommit(), maxdb_rollback().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
$maxdb->autocommit(FALSE);

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
$maxdb->query("INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
$maxdb->query("INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
$maxdb->commit();

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
maxdb_autocommit($link, FALSE);

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
maxdb_query($link, "INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
maxdb_query($link, "INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
maxdb_commit($link);

/* close connection */
maxdb_close($link);
?>

The above examples produces no output.

Anterior | Inicio | Siguiente
maxdb_close | Subir | maxdb_connect_errno


maxdb_connect

(PECL)

maxdb_connect

(no version information, might be only in CVS)

maxdb() -- Open a new connection to the MaxDB server

Description

Procedural style

resource maxdb_connect ( [string host [, string username [, string passwd [, string dbname [, int port [, string socket]]]]]] )

Object oriented style (constructor):

class maxdb {

__construct ( [string host [, string username [, string passwd [, string dbname [, int port [, string socket]]]]]] )

}

The maxdb_connect() function attempts to open a connection to the MaxDB Server running on host which can be either a host name or an IP address. Passing the string "localhost" to this parameter, the local host is assumed. If successful, the maxdb_connect() will return an resource representing the connection to the database, or FALSE on failure.

The username and password parameters specify the username and password under which to connect to the MaxDB server. If the password is not provided (the NULL value is passed), the MaxDB server will attempt to authenticate the user against the maxdb.default_pw in php.ini.

The dbname parameter if provided will specify the default database to be used when performing queries. If not provied, the entry maxdb.default_db in php.ini is used.

The port and socket parameters are ignored for the MaxDB server.

Return values

Returns a resource which represents the connection to a MaxDB Server or FALSE if the connection failed.

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Host information: localhost

Anterior | Inicio | Siguiente
maxdb_connect_error | Subir | maxdb_data_seek


maxdb_connect_errno

(PECL)

maxdb_connect_errno -- Returns the error code from last connect call

Description

int maxdb_connect_errno ( void )

The maxdb_connect_errno() function will return the last error code number for last call to maxdb_connect(). If no errors have occured, this function will return zero.

Return values

An error code value for the last call to maxdb_connect(), if it failed. zero means no error occurred.

See also

maxdb_connect(),
maxdb_connect_error(),
maxdb_errno(),
maxdb_error(),
maxdb_sqlstate()

Example

Ejemplo 1. maxdb_connect_errno sample

<?php
$link = maxdb_connect("localhost", "XXXXXXXX", "YYYYYYYYY");

if (!$link) {
   printf("Can't connect to localhost. Errorcode: %d\n", maxdb_connect_errno());
}
?>

The above example would produce the following output:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination [08004] <...>
Can't connect to localhost. Errorcode: -4008

Anterior | Inicio | Siguiente
maxdb_commit | Subir | maxdb_connect_error


maxdb_connect_error

(PECL)

maxdb_connect_error -- Returns a string description of the last connect error

Description

string maxdb_connect_error ( void )

The maxdb_connect_error() function is identical to the corresponding maxdb_connect_errno() function in every way, except instead of returning an integer error code the maxdb_connect_error() function will return a string representation of the last error to occur for the last maxdb_connect() call. If no error has occured, this function will return an empty string.

Return values

A string that describes the error. An empty string if no error occurred.

See also

maxdb_connect(),
maxdb_connect_errno(),
maxdb_errno(),
maxdb_error(),
maxdb_sqlstate()

Example

Ejemplo 1. maxdb_connect_error sample

<?php

$link = maxdb_connect("localhost", "nonexisting_user", "");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
}
?>

The above example would produce the following output:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination <...>
Can't connect to localhost. Error: POS(1) Unknown user name/password combination

Anterior | Inicio | Siguiente
maxdb_connect_errno | Subir | maxdb_connect


maxdb_data_seek

(PECL)

maxdb_data_seek

(no version information, might be only in CVS)

result->data_seek -- Adjusts the result pointer to an arbitary row in the result

Description

Procedural style:

bool maxdb_data_seek ( resource result, int offset )

Object oriented style (method):

class result {

bool data_seek ( int offset )

}

The maxdb_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set represented by result. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_num_rows() - 1).

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_store_result(),
maxdb_fetch_row(),
maxdb_num_rows().

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";
if ($result = $maxdb->query( $query)) {

   /* seek to row no. 10 */
   $result->data_seek(10);

   /* fetch row */
   $row = $result->fetch_row();

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* seek to row no. 400 */
   maxdb_data_seek($result, 10);

   /* fetch row */
   $row = maxdb_fetch_row($result);

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

City: Irvine  State: CA

Anterior | Inicio | Siguiente
maxdb_connect | Subir | maxdb_debug


maxdb_debug

(PECL)

maxdb_debug -- Performs debugging operations

Description

void maxdb_debug ( string debug )

The maxdb_debug() can be used to trace the SQLDBC communication. The following strings can be used as a parameter to maxdb_debug():

TRACE SHORT ON|OFF - Enables/disables method call trace.
TRACE LONG ON|OFF - Enables/disables method argument and detail debug trace.
TRACE PACKET ON|OFF|<size> - Enables/disables packet trace, limiting the size of the traced object to the specified number of bytes, or 1000 if no size is specified.
TRACE SQL ON|OFF - Enables/disables high level api trace.
TRACE TIMESTAMP ON|OFF - Enables/disables a timestamp prefix on each line that is traced.
TRACE SIZE <size> - Limits the size of the trace file to <size> bytes, at least 8192 bytes are required.

Return values

maxdb_debug() doesn't return any value.

Example

Ejemplo 1. Procedural style

<?php

maxdb_debug("trace packet 200");

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

Anterior | Inicio | Siguiente
maxdb_data_seek | Subir | maxdb_disable_reads_from_master


maxdb_disable_reads_from_master

(PECL)

maxdb_disable_reads_from_master

(no version information, might be only in CVS)

maxdb->disable_reads_from_master -- Disable reads from master

Description

Procedural style:

bool maxdb_disable_reads_from_master ( resource link )

Object oriented style (method):

class maxdb {

void disable_reads_from_master ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_debug | Subir | maxdb_disable_rpl_parse


maxdb_disable_rpl_parse

(PECL)

maxdb_disable_rpl_parse -- Disable RPL parse

Description

bool maxdb_disable_rpl_parse ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_disable_reads_from_master | Subir | maxdb_dump_debug_info


maxdb_dump_debug_info

(PECL)

maxdb_dump_debug_info -- Dump debugging information into the log

Description

bool maxdb_dump_debug_info ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_disable_rpl_parse | Subir | maxdb_embedded_connect


maxdb_embedded_connect

(PECL)

maxdb_embedded_connect -- Open a connection to an embedded MaxDB server

Description

resource maxdb_embedded_connect ( [string dbname] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_dump_debug_info | Subir | maxdb_enable_reads_from_master


maxdb_enable_reads_from_master

(PECL)

maxdb_enable_reads_from_master -- Enable reads from master

Description

bool maxdb_enable_reads_from_master ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_embedded_connect | Subir | maxdb_enable_rpl_parse


maxdb_enable_rpl_parse

(PECL)

maxdb_enable_rpl_parse -- Enable RPL parse

Description

bool maxdb_enable_rpl_parse ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_enable_reads_from_master | Subir | maxdb_errno


maxdb_errno

(PECL)

maxdb_errno

(no version information, might be only in CVS)

maxdb->errno -- Returns the error code for the most recent function call

Description

Procedural style:

int maxdb_errno ( resource link )

Object oriented style (property):

class maxdb {

int errno

}

The maxdb_errno() function will return the last error code for the most recent MaxDB function call that can succeed or fail with respect to the database link defined by the link parameter. If no errors have occured, this function will return zero.

Return values

An error code value for the last call, if it failed. zero means no error occurred.

See also

maxdb_connect_errno(),
maxdb_connect_error(),
maxdb_error(),
maxdb_sqlstate()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", $maxdb->errno);
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", maxdb_errno($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000] <...>
Errorcode: -4005

Anterior | Inicio | Siguiente
maxdb_enable_rpl_parse | Subir | maxdb_error


maxdb_error

(PECL)

maxdb_error -- Returns a string description of the last error

Description

Procedural style:

string maxdb_error ( resource link )

Object oriented style (property)

class maxdb {

string error

}

The maxdb_error() function is identical to the corresponding maxdb_errno() function in every way, except instead of returning an integer error code the maxdb_error() function will return a string representation of the last error to occur for the database connection represented by the link parameter. If no error has occured, this function will return an empty string.

Return values

A string that describes the error. An empty string if no error occurred.

See also

maxdb_connect_errno(),
maxdb_connect_error(),
maxdb_errno(),
maxdb_sqlstate()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errormessage: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errormessgae: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000]
Errormessgae: POS(8) Unknown column name:XXX

Anterior | Inicio | Siguiente
maxdb_errno | Subir | maxdb_escape_string


maxdb_escape_string

(PECL)

maxdb_escape_string -- Alias of maxdb_real_escape_string()

Descripción

This function is an alias of: maxdb_real_escape_string().

Anterior | Inicio | Siguiente
maxdb_error | Subir | maxdb_execute


maxdb_execute

(PECL)

maxdb_execute -- Alias of maxdb_stmt_execute()

Descripción

This function is an alias of: maxdb_stmt_execute().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_escape_string | Subir | maxdb_fetch_array


maxdb_fetch

(PECL)

maxdb_fetch -- Alias of maxdb_stmt_fetch()

Descripción

This function is an alias of: maxdb_stmt_fetch().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_fetch_row | Subir | maxdb_field_count


maxdb_fetch_array

(PECL)

maxdb_fetch_array

(no version information, might be only in CVS)

result->fetch_array -- Fetch a result row as an associative, a numeric array, or both

Description

Procedural style:

mixed maxdb_fetch_array ( resource result [, int resulttype] )

Object oriented style (method):

class result {

mixed fetch_array ( [int resulttype] )

}

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

maxdb_fetch_array() is an extended version of the maxdb_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the maxdb_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

The optional second argument resulttype is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or MAXDB_BOTH. By default the maxdb_fetch_array() function will assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC for this parameter.

By using the MAXDB_ASSOC constant this function will behave identically to the maxdb_fetch_assoc(), while MAXDB_NUM will behave identically to the maxdb_fetch_row() function. The final option MAXDB_BOTH will create a single array with the attributes of both.

By using the MAXDB_ASSOC_UPPER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in upper case.

By using the MAXDB_ASSOC_LOWER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in lower case.

Return values

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

See also

maxdb_fetch_assoc(),
maxdb_fetch_row(),
maxdb_fetch_resource().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);

/* numeric array */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
$result->close();

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);

/* numeric array */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)

Anterior | Inicio | Siguiente
maxdb_execute | Subir | maxdb_fetch_assoc


maxdb_fetch_assoc

(PECL)

maxdb_fetch_assoc

(no version information, might be only in CVS)

maxdb->fetch_assoc -- Fetch a result row as an associative array

Description

Procedural style:

array maxdb_fetch_assoc ( resource result )

Object oriented style (method):

class result {

array fetch_assoc ( void )

}

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

The maxdb_fetch_assoc() function is used to return an associative array representing the next row in the result set for the result represented by the result parameter, where each key in the array represents the name of one of the result set's columns.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using maxdb_fetch_row() or add alias names.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Return values

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

See also

maxdb_fetch_array(),
maxdb_fetch_row(),
maxdb_fetch_resource().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch associative array */
   while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch associative array */
   while ($row = maxdb_fetch_assoc($result)) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Anterior | Inicio | Siguiente
maxdb_fetch_array | Subir | maxdb_fetch_field_direct


maxdb_fetch_field

(PECL)

maxdb_fetch_field

(no version information, might be only in CVS)

result->fetch_field -- Returns the next field in the result set

Description

Procedural style:

mixed maxdb_fetch_field ( resource result )

Object oriented style (method):

class result {

mixed fetch_field ( void )

}

The maxdb_fetch_field() returns the definition of one column of a result set as an resource. Call this function repeatedly to retrieve information about all columns in the result set. maxdb_fetch_field() returns FALSE when no more fields are left.

Return values

Returns an resource which contains field definition informations or FALSE if no field information is available.

Tabla 1. Object properties

Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

See also

maxdb_num_fields()
maxdb_fetch_field_direct()
maxdb_fetch_fields()
maxdb_field_seek()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Anterior | Inicio | Siguiente
maxdb_fetch_field_direct | Subir | maxdb_fetch_fields


maxdb_fetch_field_direct

(PECL)

maxdb_fetch_field_direct

(no version information, might be only in CVS)

result->fetch_field_direct -- Fetch meta-data for a single field

Description

Procedural style:

mixed maxdb_fetch_field_direct ( resource result, int fieldnr )

Object oriented style (method):

class result {

mixed fetch_field_direct ( int fieldnr )

}

maxdb_fetch_field_direct() returns an resource which contains field definition informations from specified resultset. The value of fieldnr must be in the range from 0 to number of fields - 1.

Return values

Returns an resource which contains field definition informations or FALSE if no field information for specified fieldnr is available.

Tabla 1. Object attributes

Attribute | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

See also

maxdb_num_fields()
maxdb_fetch_field()
maxdb_fetch_fields()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = $maxdb->query($query)) {

   /* Get field information for column 'SurfaceArea' */
   $finfo = $result->fetch_field_direct(1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for column 'cno' */
   $finfo = maxdb_fetch_field_direct($result, 1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Anterior | Inicio | Siguiente
maxdb_fetch_assoc | Subir | maxdb_fetch_field


maxdb_fetch_fields

(PECL)

maxdb_fetch_fields

(no version information, might be only in CVS)

result->fetch_fields -- Returns an array of resources representing the fields in a result set

Description

Procedural Style:

mixed maxdb_fetch_fields ( resource result )

Object oriented style (method):

class result {

mixed fetch_fields ( void )

}

This function serves an identical purpose to the maxdb_fetch_field() function with the single difference that, instead of returning one resource at a time for each field, the columns are returned as an array of resources.

Return values

Returns an array of resources which contains field definition informations or FALSE if no field information is available.

Tabla 1. Object properties

Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

See also

maxdb_num_fields()
maxdb_fetch_field()
maxdb_fetch_field_direct()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   $finfo = $result->fetch_fields();

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all columns */
   $finfo = maxdb_fetch_fields($result);

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Anterior | Inicio | Siguiente
maxdb_fetch_field | Subir | maxdb_fetch_lengths


maxdb_fetch_lengths

(PECL)

maxdb_fetch_lengths

(no version information, might be only in CVS)

result->lengths -- Returns the lengths of the columns of the current row in the result set

Description

Procedural style:

array maxdb_fetch_lengths ( resource result )

Object oriented style (property):

class result {

array lengths

}

The maxdb_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set represented by the result parameter. If successful, a numerically indexed array representing the lengths of each column is returned or FALSE on failure.

Return values

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

maxdb_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling maxdb_fetch_row/array/resource or after retrieving all rows in the result.

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = $maxdb->query($query)) {

   $row = $result->fetch_row();

   /* display column lengths */
   foreach ($result->lengths as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = maxdb_query($link, $query)) {

   $row = maxdb_fetch_row($result);

   /* display column lengths */
   foreach (maxdb_fetch_lengths($result) as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Field  1 has Length  4
Field  2 has Length  3
Field  3 has Length  5
Field  4 has Length  6
Field  5 has Length  5
Field  6 has Length 21

Anterior | Inicio | Siguiente
maxdb_fetch_fields | Subir | maxdb_fetch_object


maxdb_fetch_object

(PECL)

maxdb_fetch_object

(no version information, might be only in CVS)

result->fetch_object -- Returns the current row of a result set as an object

Description

Procedural style:

object maxdb_fetch_object ( object result )

Object oriented style (method):

class result {

object fetch_object ( void )

}

The maxdb_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set. If no more rows exist in the current result set, NULL is returned.

Return values

Returns an object that corresponds to the fetched row or NULL if there are no more rows in resultset.

Nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

Nota: Esta funcion define campos NULL como valores PHP NULL.

See also

maxdb_fetch_array(),
maxdb_fetch_assoc(),
maxdb_fetch_row().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch object array */
   while ($obj = $result->fetch_object()) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch object array */
   while ($obj = maxdb_fetch_object($result)) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Anterior | Inicio | Siguiente
maxdb_fetch_lengths | Subir | maxdb_fetch_row


maxdb_fetch_row

(PECL)

maxdb_fetch_row

(no version information, might be only in CVS)

result->fetch_row -- Get a result row as an enumerated array

Description

Procedural style:

mixed maxdb_fetch_row ( resource result )

Object oriented style (method):

class result {

mixed fetch_row ( void )

}

Returns an array that corresponds to the fetched row, or NULL if there are no more rows.

maxdb_fetch_row() fetches one row of data from the result set represented by result and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to the maxdb_fetch_row() function will return the next row within the result set, or FALSE if there are no more rows.

Return values

maxdb_fetch_row() returns an array that corresponds to the fetched row or NULL if there are no more rows in result set.

Nota: Esta funcion define campos NULL como valores PHP NULL.

See also

maxdb_fetch_array(),
maxdb_fetch_assoc(),
maxdb_fetch_resource().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch enumerated array */
   while ($row = $result->fetch_row()) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch enumerated array */
   while ($row = maxdb_fetch_row($result)) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Anterior | Inicio | Siguiente
maxdb_fetch_object | Subir | maxdb_fetch


maxdb_field_count

(PECL)

maxdb_field_count

(no version information, might be only in CVS)

maxdb->field_count -- Returns the number of columns for the most recent query

Description

Procedural style:

int maxdb_field_count ( resource link )

Object oriented style (method):

class maxdb {

int field_count ( void )

}

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the maxdb_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Return values

An integer representing the number of fields in a result set

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query( "CREATE TABLE friends (id int, name varchar(20))");

$maxdb->query( "INSERT INTO friends VALUES (1,'Hartmut')");
$maxdb->query( "INSERT INTO friends VALUES (2, 'Ulf')");

if ($maxdb->field_count()) {
   /* this was a select/show or describe query */
   $result = $maxdb->store_result();

   /* process resultset */
   $row = $result->fetch_row();

   /* free resultset */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO friends VALUES (2, 'Ulf')");

if (maxdb_field_count($link)) {
   /* this was a select/show or describe query */
   $result = maxdb_store_result($link);

   /* process resultset */
   $row = maxdb_fetch_row($result);

   /* free resultset */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

Anterior | Inicio | Siguiente
maxdb_fetch | Subir | maxdb_field_seek


maxdb_field_seek

(PECL)

maxdb_field_seek

(no version information, might be only in CVS)

result->field_seek -- Set result pointer to a specified field offset

Description

Procedural style:

bool maxdb_field_seek ( resource result, int fieldnr )

Object oriented style (method):

class result {

bool field_seek ( int fieldnr )

}

Sets the field cursor to the given offset. The next call to maxdb_fetch_field() will retrieve the field definition of the column associated with that offset.

Nota: To seek to the beginning of a row, pass an offset value of zero.

Return values

maxdb_field_seek() returns previuos value of field cursor.

See also

maxdb_fetch_field()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for 2nd column */
   $result->field_seek(1);
   $finfo = $result->fetch_field();

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for 2nd column */
   maxdb_field_seek($result, 1);
   $finfo = maxdb_fetch_field($result);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Anterior | Inicio | Siguiente
maxdb_field_count | Subir | maxdb_field_tell


maxdb_field_tell

(PECL)

maxdb_field_tell

(no version information, might be only in CVS)

result->current_field -- Get current field offset of a result pointer

Description

Procedural style:

int maxdb_field_tell ( resource result )

Object oriented style (property):

class result {

int current_field

}

Returns the position of the field cursor used for the last maxdb_fetch_field() call. This value can be used as an argument to maxdb_field_seek().

Valores retornados

Returns current offset of field cursor.

Ver también

maxdb_fetch_field(), maxdb_field_seek()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       /* get fieldpointer offset */
       $currentfield = $result->current_field;

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       /* get fieldpointer offset */
       $currentfield = maxdb_field_tell($result);

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Column    1:
Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Column    2:
Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Anterior | Inicio | Siguiente
maxdb_field_seek | Subir | maxdb_free_result


maxdb_free_result

(PECL)

maxdb_free_result

(no version information, might be only in CVS)

result->free -- Frees the memory associated with a result

Description

Procedural style:

void maxdb_free_result ( resource result )

Object oriented style (method):

class result {

void free ( void )

}

The maxdb_free_result() function frees the memory associated with the result represented by the result parameter, which was allocated by maxdb_query(), maxdb_store_result() or maxdb_use_result().

Nota: You should always free your result with maxdb_free_result(), when your result resource is not needed anymore.

Valores retornados

This function doesn't return any value.

Ver también

maxdb_query(),
maxdb_stmt_store_result(),
maxdb_store_result(),
maxdb_use_result().

Anterior | Inicio | Siguiente
maxdb_field_tell | Subir | maxdb_get_client_info


maxdb_get_client_info

(PECL)

maxdb_get_client_info -- Returns the MaxDB client version as a string

Description

string maxdb_get_client_info ( void )

The maxdb_get_client_info() function is used to return a string representing the client version being used in the MaxDB extension.

Valores retornados

A string that represents the MaxDB client library version

See also

maxdb_get_client_version(),
maxdb_get_server_info(),
maxdb_get_server_version()

Example

Ejemplo 1. maxdb_get_client_info

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %s\n", maxdb_get_client_info());
?>

The above examples would produce the following output:

Client library version: libSQLDBC <...>

Anterior | Inicio | Siguiente
maxdb_free_result | Subir | maxdb_get_client_version


maxdb_get_client_version

(PECL)

maxdb_get_client_version -- Get MaxDB client info

Description

int maxdb_get_client_version ( void )

Returns client version number as an integer.

Return values

A number that represents the MaxDB client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 7.5.0 is returned as 70500.

This is useful to quickly determine the version of the client library to know if some capability exists.

See also

maxdb_get_client_info(),
maxdb_get_server_info(),
maxdb_get_server_version()

Example

Ejemplo 1. maxdb_get_client_version

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %d\n", maxdb_get_client_version());
?>

The above examples would produce the following output:

Client library version: 7.<...>

Anterior | Inicio | Siguiente
maxdb_get_client_info | Subir | maxdb_get_host_info


maxdb_get_host_info

(PECL)

maxdb_get_host_info

(no version information, might be only in CVS)

maxdb->get_host_info -- Returns a string representing the type of connection used

Description

Procdural style:

string maxdb_get_host_info ( resource link )

Object oriented style (property):

class maxdb {

string host_info

}

The maxdb_get_host_info() function returns a string describing the connection represented by the link parameter is using.

Valores retornados

A character string representing the server hostname and the connection type.

See also

maxdb_get_proto_info()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Host info: localhost

Anterior | Inicio | Siguiente
maxdb_get_client_version | Subir | maxdb_get_metadata


maxdb_get_metadata

(PECL)

maxdb_get_metadata -- Alias of maxdb_stmt_result_metadata()

Descripción

This function is an alias of: maxdb_stmt_result_metadata().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_get_host_info | Subir | maxdb_get_proto_info


maxdb_get_proto_info

(PECL)

maxdb_get_proto_info

(no version information, might be only in CVS)

maxdb->protocol_version -- Returns the version of the MaxDB protocol used

Description

Procedural style:

int maxdb_get_proto_info ( resource link )

Object oriented style (property):

class maxdb {

string protocol_version

}

Returns an integer representing the MaxDB protocol version used by the connection represented by the link parameter.

Valores retornados

Returns an integer representing the protocol version (constant 10).

See also

maxdb_get_host_info()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $maxdb->protocol_version);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", maxdb_get_proto_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Protocol version: 10

Anterior | Inicio | Siguiente
maxdb_get_metadata | Subir | maxdb_get_server_info


maxdb_get_server_info

(PECL)

maxdb_get_server_info

(no version information, might be only in CVS)

maxdb->server_info -- Returns the version of the MaxDB server

Description

Procedural style:

string maxdb_get_server_info ( resource link )

Object oriented style (property):

class maxdb {

string server_info

}

Returns a string representing the version of the MaxDB server that the MaxDB extension is connected to (represented by the link parameter).

Valores retornados

A character string representing the server version.

See also

maxdb_get_client_info(),
maxdb_get_client_version(),
maxdb_get_server_version()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", $maxdb->server_info);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", maxdb_get_server_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Server version: Kernel    7<...>

Anterior | Inicio | Siguiente
maxdb_get_proto_info | Subir | maxdb_get_server_version


maxdb_get_server_version

(PECL)

maxdb_get_server_version -- Returns the version of the MaxDB server as an integer

Description

Procedural style:

int maxdb_get_server_version ( resource link )

Object oriented style (property):

class maxdb {

int server_version

}

The maxdb_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).

Valores retornados

An integer representing the server version.

See also

maxdb_get_client_info(),
maxdb_get_client_version(),
maxdb_get_server_info()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", $maxdb->server_version);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", maxdb_get_server_version($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Server version: 7<...>

Anterior | Inicio | Siguiente
maxdb_get_server_info | Subir | maxdb_info


maxdb_info

(PECL)

maxdb_info

(no version information, might be only in CVS)

maxdb->info -- Retrieves information about the most recently executed query

Description

Procedural style:

string maxdb_info ( resource link )

Object oriented style (property)

class maxdb {

string info

}

The maxdb_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Tabla 1. Possible maxdb_info return values

Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Nota: Queries which do not fall into one of the above formats are not supported. In these situations, maxdb_info() will return an empty string.

Valores retornados

A character string representing additional information about the most recently executed query.

Ver también

maxdb_affected_rows(),
maxdb_warning_count(),
maxdb_num_rows()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
$maxdb->query("INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", $maxdb->info);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
maxdb_query($link, "INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", maxdb_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Records: 25 Duplicates: 0 Warnings: 0

Anterior | Inicio | Siguiente
maxdb_get_server_version | Subir | maxdb_init


maxdb_init

(PECL)

maxdb_init -- Initializes MaxDB and returns an resource for use with maxdb_real_connect

Description

resource maxdb_init ( void )

Allocates or initializes a MaxDB resource suitable for maxdb_options() and maxdb_real_connect().

Nota: Any subsequent calls to any maxdb function (except maxdb_options()) will fail until maxdb_real_connect() was called.

Valores retornados

Returns an resource.

Ver también

maxdb_options(),
maxdb_close(),
maxdb_real_connect(),
maxdb_connect()

Anterior | Inicio | Siguiente
maxdb_info | Subir | maxdb_insert_id


maxdb_insert_id

(PECL)

maxdb_insert_id

(no version information, might be only in CVS)

maxdb->insert_id -- Returns the auto generated id used in the last query

Description

Procedural style:

mixed maxdb_insert_id ( resource link )

Object oriented style (property):

class maxdb {

mixed insert_id

}

The maxdb_insert_id() function returns the ID generated by a query on a table with a column having the DEFAULT SERIAL attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the DEFAULT SERIAL attribute, this function will return zero.

Valores retornados

The value of the DEFAULT SERIAL field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an DEFAULT_SERIAL value.

Nota: If the number is greater than maximal int value, maxdb_insert_id() will return a string.

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);

printf ("New Record has id %d.\n", $maxdb->insert_id);

/* drop table */
$maxdb->query("DROP TABLE mycity");

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);

printf ("New Record has id %d.\n", maxdb_insert_id($link));

/* drop table */
maxdb_query($link, "DROP TABLE mycity");

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New Record has id 1.

Anterior | Inicio | Siguiente
maxdb_init | Subir | maxdb_kill


maxdb_kill

(PECL)

maxdb_kill

(no version information, might be only in CVS)

maxdb->kill -- Disconnects from a MaxDB server

Description

Procedural style:

bool maxdb_kill ( resource link, int processid )

Object oriented style (method)

class maxdb {

bool kill ( int processid )

}

This function is used to disconnect from a MaxDB server specified by the processid parameter.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

maxdb_thread_id()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Error: Session not connected

Anterior | Inicio | Siguiente
maxdb_insert_id | Subir | maxdb_master_query


maxdb_master_query

(PECL)

maxdb_master_query -- Enforce execution of a query on the master in a master/slave setup

Description

bool maxdb_master_query ( resource link, string query )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_kill | Subir | maxdb_more_results


maxdb_more_results

(PECL)

maxdb_more_results

(no version information, might be only in CVS)

maxdb->more_results -- Check if there any more query results from a multi query

Description

bool maxdb_more_results ( resource link )

maxdb_more_results() indicates if one or more result sets are available from a previous call to maxdb_multi_query().

Return values

Always FALSE.

See also

maxdb_multi_query(),
maxdb_next_result(),
maxdb_store_result(),
maxdb_use_result()

Example

See maxdb_multi_query().

Anterior | Inicio | Siguiente
maxdb_master_query | Subir | maxdb_multi_query


maxdb_multi_query

(PECL)

maxdb_multi_query

(no version information, might be only in CVS)

maxdb->multi_query -- Performs a query on the database

Description

Procedural style:

bool maxdb_multi_query ( resource link, string query )

Object oriented style (method):

class maxdb {

bool multi_query ( string query )

}

The maxdb_multi_query() works like the function maxdb_query(). Multiple queries are not yet supported.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_use_result(),
maxdb_store_result(),
maxdb_next_result(),
maxdb_more_results()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM dual";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->store_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * FROM dual";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_store_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

a

Anterior | Inicio | Siguiente
maxdb_more_results | Subir | maxdb_next_result


maxdb_next_result

(PECL)

maxdb_next_result

(no version information, might be only in CVS)

maxdb->next_result -- Prepare next result from multi_query

Description

bool maxdb_next_result ( resource link )

Since multiple queries are not yet supported, maxdb_next_result() returns always FALSE.

Return values

FALSE

See also

maxdb_multi_query(),
maxdb_more_results(),
maxdb_store_result(),
maxdb_use_result()

Anterior | Inicio | Siguiente
maxdb_multi_query | Subir | maxdb_num_fields


maxdb_num_fields

(PECL)

maxdb_num_fields

(no version information, might be only in CVS)

result->field_count -- Get the number of fields in a result

Description

Procedural style:

int maxdb_num_fields ( resource result )

Object oriented style (property):

class result {

int field_count

}

maxdb_num_fields() returns the number of fields from specified result set.

Valores retornados

The number of fields from a result set

Ver también

maxdb_fetch_field()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = $result->field_count;

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = maxdb_num_fields($result);

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Result set has 3 fields.

Anterior | Inicio | Siguiente
maxdb_next_result | Subir | maxdb_num_rows


maxdb_num_rows

(PECL)

maxdb_num_rows -- Gets the number of rows in a result

Description

Procedural style:

int maxdb_num_rows ( resource result )

Object oriented style (property):

class maxdb {

int num_rows

}

Returns the number of rows in the result set.

The use of maxdb_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets maxdb_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

Valores retornados

Returns number of rows in the result set.

Nota: If the number of rows is greater than maximal int value, the number will be returned as a string.

Ver también

maxdb_affected_rows()
maxdb_store_result()
maxdb_use_result()
maxdb_query()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = $result->num_rows;

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = maxdb_num_rows($result);

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Result set has 15 rows.

Anterior | Inicio | Siguiente
maxdb_num_fields | Subir | maxdb_options


maxdb_options

(PECL)

maxdb_options

(no version information, might be only in CVS)

maxdb->options -- Set options

Description

Procedural style:

bool maxdb_options ( resource link, int option, mixed value )

Object oriented style (method)

class maxdb {

bool options ( int option, mixed value )

}

maxdb_options() can be used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

maxdb_options() should be called after maxdb_init() and before maxdb_real_connect().

The parameter option is the option that you want to set, the value is the value for the option. For detailed description of the options see http://dev.mysql.com/doc/maxdb/ The parameter option can be one of the following values:

Tabla 1. Valid options

Name | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

maxdb_init(), maxdb_real_connect()

Example

See maxdb_real_connect().

Anterior | Inicio | Siguiente
maxdb_num_rows | Subir | maxdb_param_count


maxdb_param_count

(PECL)

maxdb_param_count -- Alias of maxdb_stmt_param_count()

Descripción

This function is an alias of: maxdb_stmt_param_count().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_options | Subir | maxdb_ping


maxdb_ping

(PECL)

maxdb_ping

(no version information, might be only in CVS)

maxdb->ping -- Pings a server connection, or tries to reconnect if the connection has gone down

Description

Procedural style:

bool maxdb_ping ( resource link )

Object oriented style (method):

class maxdb {

bool ping ( void )

}

Checks whether the connection to the server is working. If it has gone down, and global option maxdb.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if ($maxdb->ping()) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if (maxdb_ping($link)) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Our connection is ok!

Anterior | Inicio | Siguiente
maxdb_param_count | Subir | maxdb_prepare


maxdb_prepare

(PECL)

maxdb_prepare

(no version information, might be only in CVS)

maxdb->prepare -- Prepare a SQL statement for execution

Description

Procedure style:

resource maxdb_prepare ( resource link, string query )

Object oriented style (method)

class stmt {

resource prepare ( string query )

}

maxdb_prepare() prepares the SQL query pointed to by the null-terminated string query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

Nota: You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Nota: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Valores retornados

maxdb_prepare() returns a statement resource or FALSE if an error occured.

Ver también

maxdb_stmt_execute(),
maxdb_stmt_fetch(),
maxdb_stmt_bind_param(),
maxdb_stmt_bind_result(),
maxdb_stmt_close()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

  /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Rosemont is in district IL

Anterior | Inicio | Siguiente
maxdb_ping | Subir | maxdb_query


maxdb_query

(PECL)

maxdb_query

(no version information, might be only in CVS)

maxdb->query -- Performs a query on the database

Description

Procedural style:

mixed maxdb_query ( resource link, string query [, int resultmode] )

Object oriented style (method):

class maxdb {

mixed query ( string query )

}

The maxdb_query() function is used to simplify the act of performing a query against the database represented by the link parameter.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. For SELECT, SHOW, DESCRIBE or EXPLAIN maxdb_query() will return a result resource.

See also

maxdb_real_query(),
maxdb_multi_query(),
maxdb_free_result()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", $result->num_rows);

   /* free result set */
   $result->close();
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   $result->close();
}

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", maxdb_num_rows($result));

   /* free result set */
   maxdb_free_result($result);
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   maxdb_free_result($result);
}

maxdb_close($link);
?>

The above examples would produce the following output:

Table mycity successfully created.
Select returned 25 rows.

Anterior | Inicio | Siguiente
maxdb_prepare | Subir | maxdb_real_connect


maxdb_real_connect

(PECL)

maxdb_real_connect

(no version information, might be only in CVS)

maxdb->real_connect -- Opens a connection to a MaxDB server

Description

Procedural style

bool maxdb_real_connect ( resource link [, string hostname [, string username [, string passwd [, string dbname [, int port [, string socket]]]]]] )

Object oriented style (method)

class maxdb {

bool real_connect ( [string hostname [, string username [, string passwd [, string dbname [, int port [, string socket]]]]]] )

}

maxdb_real_connect() attempts to establish a connection to a MaxDB database engine running on hostname.

This function differs from maxdb_connect():

  • maxdb_real_connect() needs a valid resource which has to be created by function maxdb_init()

  • With function maxdb_options() you can set various options for connection.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

maxdb_connect(),
maxdb_init(),
maxdb_options(),
maxdb_ssl_set(),
maxdb_close().

Example

Ejemplo 1. Object oriented style

<?php

/* create a connection object which is not connected */
$maxdb = maxdb_init();

/* set connection options */
$maxdb->options(MAXDB_UNICODE, "FALSE");
$maxdb->options(MAXDB_TIMEOUT, 5);

/* connect to server */
$maxdb->real_connect('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", $maxdb->host_info);

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php

/* create a connection object which is not connected */
$link = maxdb_init();

/* set connection options */
maxdb_options($link, MAXDB_UNICODE, "FALSE");
maxdb_options($link, MAXDB_TIMEOUT, 5);

/* connect to server */
maxdb_real_connect($link, 'localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", maxdb_get_host_info($link));

maxdb_close($link);
?>

The above examples would produce the following output:

Connection: localhost <...>

Anterior | Inicio | Siguiente
maxdb_query | Subir | maxdb_real_escape_string


maxdb_real_escape_string

(PECL)

maxdb_real_escape_string

(no version information, might be only in CVS)

maxdb->real_escape_string -- Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection

Description

Procedural style:

string maxdb_real_escape_string ( resource link, string escapestr )

Object oriented style (method):

class maxdb {

string real_escape_sring ( string escapestr )

}

This function is used to create a legal SQL string that you can use in a SQL statement. The string escapestr is encoded to an escaped SQL string, taking into account the current character set of the connection.

Characters encoded are ', ".

Return values

Returns an escaped string.

See also

maxdb_character_set_name().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", $maxdb->sqlstate);
}

$city = $maxdb->real_escape_string($city);

/* this query with escaped $city will work */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", $maxdb->affected_rows);
}

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!maxdb_query($link, "INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", maxdb_sqlstate($link));
}

$city = maxdb_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (maxdb_query($link, "INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", maxdb_affected_rows($link));
}

maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Error: 42000
1 Row inserted.

Anterior | Inicio | Siguiente
maxdb_real_connect | Subir | maxdb_real_query


maxdb_real_query

(PECL)

maxdb_real_query

(no version information, might be only in CVS)

maxdb->real_query -- Execute an SQL query

Description

Procedural style

bool maxdb_real_query ( resource link, string query )

Object oriented style (method):

class maxdb {

bool real_query ( string query )

}

The maxdb_real_query() is functionally identical with the maxdb_query().

Nota: In order to determine if a given query should return a result set or not, see maxdb_field_count().

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_query()
maxdb_store_result()
maxdb_use_result()

Anterior | Inicio | Siguiente
maxdb_real_escape_string | Subir | maxdb_report


maxdb_report

(PECL)

maxdb_report -- Enables or disables internal report functions

Description

bool maxdb_report ( int flags )

Example

Ejemplo 1. Procedural style

<?php
/* activate reporting */
maxdb_report(MAXDB_REPORT_ERROR);

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* this query should report an error */
$result = maxdb_query($link,"SELECT Name FROM Nonexistingtable WHERE population > 50000");

maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -4004 POS(18) Unknown table name:NONEXISTINGTABLE <...>

Anterior | Inicio | Siguiente
maxdb_real_query | Subir | maxdb_rollback


maxdb_rollback

(PECL)

maxdb_rollback

(no version information, might be only in CVS)

maxdb->rollback -- Rolls back current transaction

Description

bool maxdb_rollback ( resource link )

class maxdb {

bool rollback ( void )

}

Rollbacks the current transaction for the database specified by the link parameter.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_commit() maxdb_autocommit()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
$maxdb->autocommit(FALSE);

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
$maxdb->commit();

/* delete all rows */
$maxdb->query("DELETE FROM temp.mycity");

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Rollback */
$maxdb->rollback();

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Drop table myCity */
$maxdb->query("DROP TABLE temp.mycity");

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
maxdb_autocommit($link, FALSE);

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
maxdb_commit($link);

/* delete all rows */
maxdb_query($link, "DELETE FROM temp.mycity");

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Rollback */
maxdb_rollback($link);

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Drop table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");

maxdb_close($link);
?>

The above examples would produce the following output:

0 rows in table mycity.
25 rows in table mycity (after rollback).

Anterior | Inicio | Siguiente
maxdb_report | Subir | maxdb_rpl_parse_enabled


maxdb_rpl_parse_enabled

(PECL)

maxdb_rpl_parse_enabled -- Check if RPL parse is enabled

Description

int maxdb_rpl_parse_enabled ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_rollback | Subir | maxdb_rpl_probe


maxdb_rpl_probe

(PECL)

maxdb_rpl_probe -- RPL probe

Description

bool maxdb_rpl_probe ( resource link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_rpl_parse_enabled | Subir | maxdb_rpl_query_type


maxdb_rpl_query_type

(PECL)

maxdb_rpl_query_type

(no version information, might be only in CVS)

maxdb->rpl_query_type -- Returns RPL query type

Description

int maxdb_rpl_query_type ( resource link )

Object oriented style (method)

class maxdb {

int rpl_query_type ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_rpl_probe | Subir | maxdb_select_db


maxdb_select_db

(PECL)

maxdb_select_db

(no version information, might be only in CVS)

maxdb->select_db -- Selects the default database for database queries

Description

bool maxdb_select_db ( resource link, string dbname )

The maxdb_select_db() function selects the default database (specified by the dbname parameter) to be used when performing queries against the database connection represented by the link parameter.

Nota: This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in maxdb_connect().

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_connect() maxdb_real_connect()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

/* change db to non existing db */
$maxdb->select_db("XXXXXXXX");

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

/* change db to non existing db */
maxdb_select_db($link, "XXXXXXXX");

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

maxdb_close($link);
?>

The above examples would produce the following output:

Default database is <...>.

Warning: maxdb_select_db(): -10709 Connection failed (RTE:database not running) <...>

Warning: maxdb_query(): -10821 Session not connected [] <...>

Warning: maxdb_close(): -10821 Session not connected [] <...>

Anterior | Inicio | Siguiente
maxdb_rpl_query_type | Subir | maxdb_send_long_data


maxdb_send_long_data

(PECL)

maxdb_send_long_data -- Alias of maxdb_stmt_send_long_data()

Descripción

This function is an alias of: maxdb_stmt_send_long_data().

This function alias is deprecated and only exists for backwards compatibility reasons. It is recommended to not use this function as one day it may be removed from PHP.

Anterior | Inicio | Siguiente
maxdb_select_db | Subir | maxdb_send_query


maxdb_send_query

(PECL)

maxdb_send_query

(no version information, might be only in CVS)

maxdb->send_query -- Send the query and return

Description

bool maxdb_send_query ( resource link, string query )

Object oriented style (method)

class maxdb {

bool send_query ( string query )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_send_long_data | Subir | maxdb_server_end


maxdb_server_end

(PECL)

maxdb_server_end -- Shut down the embedded server

Description

void maxdb_server_end ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_send_query | Subir | maxdb_server_init


maxdb_server_init

(PECL)

maxdb_server_init -- Initialize embedded server

Description

bool maxdb_server_init ( [array server [, array groups]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_server_end | Subir | maxdb_set_opt


maxdb_set_opt

(PECL)

maxdb_set_opt -- Alias of maxdb_options()

Descripción

This function is an alias of: maxdb_options().

Anterior | Inicio | Siguiente
maxdb_server_init | Subir | maxdb_sqlstate


maxdb_sqlstate

(PECL)

maxdb_sqlstate

(no version information, might be only in CVS)

maxdb->sqlstate -- Returns the SQLSTATE error from previous MaxDB operation

Description

Procedural style:

string maxdb_sqlstate ( resource link )

Object oriented style (property):

class maxdb {

string sqlstate

}

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Nota: Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Return values

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

See also

maxdb_errno(), maxdb_error()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", $maxdb->sqlstate);
}

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", maxdb_sqlstate($link));
}

maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
Error - SQLSTATE I6000.

Anterior | Inicio | Siguiente
maxdb_set_opt | Subir | maxdb_ssl_set


maxdb_ssl_set

(PECL)

maxdb_ssl_set

(no version information, might be only in CVS)

maxdb->ssl_set -- Used for establishing secure connections using SSL

Description

Procedural style:

bool maxdb_ssl_set ( resource link, string key, string cert, string ca, string capath, string cipher )

Object oriented style (method):

class maxdb {

bool ssl_set ( string key, string cert, string ca, string capath, string cipher )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_sqlstate | Subir | maxdb_stat


maxdb_stat

(PECL)

maxdb_stat

(no version information, might be only in CVS)

maxdb->stat -- Gets the current system status

Description

Procedural style:

string maxdb_stat ( resource link )

Object oriented style (method):

class maxdb {

string maxdb->stat ( void )

}

maxdb_stat() returns a string containing several information about the MaxDB server running.

Return values

A string describing the server status. FALSE if an error occurred.

See also

maxdb_get_server_info()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("System status: %s\n", $maxdb->stat());

$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("System status: %s\n", maxdb_stat($link));

maxdb_close($link);
?>

The above examples would produce the following output:

System status: Kernel    7<...>

Anterior | Inicio | Siguiente
maxdb_ssl_set | Subir | maxdb_stmt_affected_rows


maxdb_stmt_affected_rows

(PECL)

maxdb_stmt_affected_rows

(no version information, might be only in CVS)

maxdb_stmt->affected_rows -- Returns the total number of rows changed, deleted, or inserted by the last executed statement

Description

Procedural style :

int maxdb_stmt_affected_rows ( resource stmt )

Object oriented style (property):

class stmt {

int affected_rows

}

maxdb_stmt_affected_rows() returns the number of rows affected by INSERT, UPDATE, or DELETE query. If the last query was invalid or the number of rows can not determined, this function will return -1.

Return Values

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error or the number of rows can not determined.

See also

maxdb_stmt_num_rows(), maxdb_prepare()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = $maxdb->prepare($query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   $stmt->bind_param("s", $code);

   /* execute statement */
   $stmt->execute();

   printf("rows inserted: %d\n", $stmt->affected_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = maxdb_prepare($link, $query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   maxdb_stmt_bind_param($stmt, "s", $code);

   /* execute statement */
   maxdb_stmt_execute($stmt);

   printf("rows inserted: %d\n", maxdb_stmt_affected_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

rows inserted: 4

Anterior | Inicio | Siguiente
maxdb_stat | Subir | maxdb_stmt_bind_param


maxdb_stmt_bind_param

(PECL)

maxdb_stmt_bind_param

(no version information, might be only in CVS)

stmt->bind_param -- Binds variables to a prepared statement as parameters

Description

Procedural style:

bool maxdb_stmt_bind_param ( resource stmt, string types, mixed &var1 [, mixed &...] )

Object oriented style (method):

class stmt {

bool bind_param ( string types, mixed &var1 [, mixed &...] )

}

Procedural style (extended syntax):

bool maxdb_stmt_bind_param ( resource stmt, string types, array &var )

Object oriented style (method) (extended syntax):

class stmt {

bool bind_param ( string types, array &var )

}

maxdb_stmt_bind_param() is used to bind variables for the parameter markers in the SQL statement that was passed to maxdb_prepare(). The string types contains one or more characters which specify the types for the corresponding bind variables.

The extended syntax of maxdb_stmt_bind_param() allows to give the parameters as an array instead of a variable list of PHP variables to the function. If the array variable has not been used before calling maxdb_stmt_bind_param(), it has to be initialized as an emtpy array. See the examples how to use maxdb_stmt_bind_param() with extended syntax.

Variables for SELECT INTO SQL statements can also be bound using maxdb_stmt_bind_param(). Parameters for database procedures can be bound using maxdb_stmt_bind_param(). See the examples how to use maxdb_stmt_bind_param() in this cases.

If a variable bound as INTO variable to a SQL statement was used before, the content of this variable is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output value of the database procedure. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

Tabla 1. Type specification chars

Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packages

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_stmt_bind_result(),
maxdb_stmt_execute(),
maxdb_stmt_fetch(),
maxdb_prepare(),
maxdb_stmt_send_long_data(),
maxdb_stmt_errno(),
maxdb_stmt_error()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query ($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query ($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = maxdb_prepare($link, "INSERT INTO temp.mycity VALUES (?, ?, ?)");
maxdb_stmt_bind_param($stmt, 'sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
maxdb_stmt_execute($stmt);

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

/* close statement and connection */
maxdb_stmt_close($stmt);

/* Clean up table CountryLanguage */
maxdb_query($link, "DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", maxdb_affected_rows($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

1 Row inserted.
1 Row deleted.

Ejemplo 3. Procedural style (SELECT INTO)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT price INTO ? FROM hotel.room where hno = ? and type = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$hno = "50";
$rtype = "suite";

maxdb_stmt_bind_param($stmt, 'dss', $price, $hno, $rtype);
maxdb_stmt_execute($stmt);

printf ("%f\n", $price);

maxdb_stmt_close ($stmt);
?>

The above examples would produce the following output:

21.600000

Ejemplo 4. Procedural style (DB procedure)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

The above examples would produce the following output:

a

Ejemplo 5. Object oriented style (extended syntax)

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");

$arr = array();

$stmt->bind_param('iss', $arr);

$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
  while ($row = $result->fetch_row()) {
    printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
  }
}

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d Rows deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

The above examples would produce the following output:

1 Row inserted.
1 Row inserted.
11111 Georgetown NY
22222 New Orleans LA
2 Rows deleted.

Anterior | Inicio | Siguiente
maxdb_stmt_affected_rows | Subir | maxdb_stmt_bind_result


maxdb_stmt_bind_result

(PECL)

maxdb_stmt_bind_result

(no version information, might be only in CVS)

stmt->bind_result -- Binds variables to a prepared statement for result storage

Description

Procedural style:

bool maxdb_stmt_bind_result ( resource stmt, mixed &var1 [, mixed &...] )

Object oriented style (method):

class stmt {

bool bind_result ( mixed &var1 [, mixed &...] )

}

maxdb_stmt_bind_result() is used to associate (bind) columns in the result set to variables. When maxdb_stmt_fetch() is called to fetch data, the MaxDB client/server protocol places the data for the bound columns into the specified variables var1, ....

Nota: Note that all columns must be bound prior to calling maxdb_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time maxdb_stmt_fetch() is called.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_stmt_bind_param(),
maxdb_stmt_execute(),
maxdb_stmt_fetch(),
maxdb_prepare(),
maxdb_stmt_prepare(),
maxdb_stmt_init(),
maxdb_stmt_errno(),
maxdb_stmt_error()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
   $stmt->execute();

   /* bind variables to prepared statement */
   $stmt->bind_result($col1, $col2);

   /* fetch values */
   while ($stmt->fetch()) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   $stmt->close();
}
/* close connection */
$maxdb->close();

?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
   maxdb_stmt_execute($stmt);

   /* bind variables to prepared statement */
   maxdb_stmt_bind_result($stmt, $col1, $col2);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

12203 Albany
60601 Chicago
60615 Chicago
45211 Cincinnati
33575 Clearwater
75243 Dallas
32018 Daytona Beach
33441 Deerfield Beach
48226 Detroit
90029 Hollywood
92714 Irvine
90804 Long Beach
11788 Long Island
90018 Los Angeles
70112 New Orleans
10019 New York
10580 New York
92262 Palm Springs
97213 Portland
60018 Rosemont
95054 Santa Clara
20903 Silver Spring
20005 Washington
20019 Washington
20037 Washington

Anterior | Inicio | Siguiente
maxdb_stmt_bind_param | Subir | maxdb_stmt_close_long_data


maxdb_stmt_close

(PECL)

maxdb_stmt_close

(no version information, might be only in CVS)

maxdb_stmt->close -- Closes a prepared statement

Description

Procedural style:

bool maxdb_stmt_close ( resource stmt )

Object oriented style (method):

class maxdb_stmt {

bool maxdb_stmt->close ( void )

}

Closes a prepared statement. maxdb_stmt_close() also deallocates the statement handle pointed to by stmt. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_prepare(),

Anterior | Inicio | Siguiente
maxdb_stmt_close_long_data | Subir | maxdb_stmt_data_seek


maxdb_stmt_close_long_data

(PECL)

maxdb_stmt_close_long_data

(no version information, might be only in CVS)

stmt->close_long_data -- Ends a sequence of maxdb_stmt_send_long_data()

Description

Procedural style:

bool maxdb_stmt_close_long_data ( resource stmt, int param_nr )

Object oriented style (method):

class maxdb_stmt {

bool maxdb_stmt->close_long_data ( void )

}

This function has to be called after a sequence of maxdb_stmt_send_long_data(), that was started after maxdb_execute().

param_nr indicates which parameter to associate the end of data with. Parameters are numbered beginning with 0.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

maxdb_prepare(), maxdb_stmt_bind_param()

Anterior | Inicio | Siguiente
maxdb_stmt_bind_result | Subir | maxdb_stmt_close


maxdb_stmt_data_seek

(PECL)

maxdb_stmt_data_seek

(no version information, might be only in CVS)

stmt->data_seek -- Seeks to an arbitray row in statement result set

Description

Procedural style:

bool maxdb_stmt_data_seek ( resource statement, int offset )

Object oriented style (method):

class stmt {

bool data_seek ( int offset )

}

The maxdb_stmt_data_seek() function seeks to an arbitrary result pointer specified by the offset in the statement result set represented by statement. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_stmt_num_rows() - 1).

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_prepare()

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* store result */
   $stmt->store_result();

   /* seek to row no. 5 */
   $stmt->data_seek(5);

   /* fetch values */
   $stmt->fetch();

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* store result */
   maxdb_stmt_store_result($stmt);

   /* seek to row no. 5 */
   maxdb_stmt_data_seek($stmt, 5);

   /* fetch values */
   maxdb_stmt_fetch($stmt);

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

City: Dallas  Zip: 75243

Anterior | Inicio | Siguiente
maxdb_stmt_close | Subir | maxdb_stmt_errno


maxdb_stmt_errno

(PECL)

maxdb_stmt_errno

(no version information, might be only in CVS)

maxdb_stmt->errno -- Returns the error code for the most recent statement call

Description

Procedural style :

int maxdb_stmt_errno ( resource stmt )

Object oriented style (property):

class stmt {

int errno

}

For the statement specified by stmt, maxdb_stmt_errno() returns the error code for the most recently invoked statement function that can succeed or fail.

Nota: For possible error codes see documentation of SQLDBC: http://dev.mysql.com/doc/maxdb/.

Return values

An error code value. Zero means no error occurred.

See also

maxdb_stmt_error(), maxdb_stmt_sqlstate()

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %d.\n", $stmt->errno);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %d.\n", maxdb_stmt_errno($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: -4004.

Anterior | Inicio | Siguiente
maxdb_stmt_data_seek | Subir | maxdb_stmt_error


maxdb_stmt_error

(PECL)

maxdb_stmt_error

(no version information, might be only in CVS)

maxdb_stmt->error -- Returns a string description for last statement error

Description

Procedural style:

string maxdb_stmt_error ( resource stmt )

Object oriented style (property):

class stmt {

string error

}

For the statement specified by stmt, maxdb_stmt_error() returns a containing the error message for the most recently invoked statement function that can succeed or fail.

Return values

A string that describes the error. An empty string if no error occurred.

See also

maxdb_stmt_errno(), maxdb_stmt_sqlstate()

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->error);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_error($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: POS(23) Unknown table name:MYCITY.

Anterior | Inicio | Siguiente
maxdb_stmt_errno | Subir | maxdb_stmt_execute


maxdb_stmt_execute

(PECL)

maxdb_stmt_execute

(no version information, might be only in CVS)

stmt->execute -- Executes a prepared Query

Description

Procedural style:

bool maxdb_stmt_execute ( resource stmt )

Object oriented style (method):

class stmt {

bool execute ( void )

}

The maxdb_stmt_execute() function executes a query that has been previously prepared using the maxdb_prepare() function represented by the stmt resource. When executed any parameter markers which exist will automatically be replaced with the appropiate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the maxdb_stmt_affected_rows() function. Likewise, if the query yields a result set the maxdb_fetch() function is used.

Nota: When using maxdb_stmt_execute(), the maxdb_fetch() function must be used to fetch the data prior to preforming any additional queries.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_prepare() maxdb_stmt_bind_param().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
$stmt->execute();

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
   while ($row = $result->fetch_row()) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   $result->close();
}

/* remove table */
$maxdb->query("DROP TABLE temp.mycity");

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);

maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
maxdb_stmt_execute($stmt);

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
maxdb_stmt_execute($stmt);

/* close statement */
maxdb_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
   while ($row = maxdb_fetch_row($result)) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   maxdb_free_result($result);
}

/* remove table */
maxdb_query($link, "DROP TABLE temp.mycity");

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

11111 (Georgetown,NY)
22222 (Hubbatown,CA)

Anterior | Inicio | Siguiente
maxdb_stmt_error | Subir | maxdb_stmt_fetch


maxdb_stmt_fetch

(PECL)

maxdb_stmt_fetch

(no version information, might be only in CVS)

stmt->fetch -- Fetch results from a prepared statement into the bound variables

Description

Procedural style:

bool maxdb_stmt_fetch ( resource stmt )

Object oriented style (method):

class stmt {

bool fetch ( void )

}

maxdb_stmt_fetch() returns row data using the variables bound by maxdb_stmt_bind_result().

Nota: Note that all columns must be bound by the application before calling maxdb_stmt_fetch().

Return values

Tabla 1. Return values

Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occured
NULL | No more rows/data exists

See also

maxdb_prepare(),
maxdb_stmt_errno(),
maxdb_stmt_error(),
maxdb_stmt_bind_result()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = $maxdb->prepare($query)) {

   /* execute statement */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* fetch values */
   while ($stmt->fetch()) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = maxdb_prepare($link, $query)) {

   /* execute statement */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

12203 (Albany)
60601 (Chicago)
60615 (Chicago)
45211 (Cincinnati)
33575 (Clearwater)
75243 (Dallas)
32018 (Daytona Beach)
33441 (Deerfield Beach)
48226 (Detroit)
90029 (Hollywood)
92714 (Irvine)
90804 (Long Beach)
11788 (Long Island)
90018 (Los Angeles)
70112 (New Orleans)
10019 (New York)
10580 (New York)
92262 (Palm Springs)
97213 (Portland)
60018 (Rosemont)
95054 (Santa Clara)
20903 (Silver Spring)
20005 (Washington)
20019 (Washington)
20037 (Washington)

Anterior | Inicio | Siguiente
maxdb_stmt_execute | Subir | maxdb_stmt_free_result


maxdb_stmt_free_result

(PECL)

maxdb_stmt_free_result

(no version information, might be only in CVS)

stmt->free_result -- Frees stored result memory for the given statement handle

Description

Procedural style:

void maxdb_stmt_free_result ( resource stmt )

Object oriented style (method):

class stmt {

void free_result ( void )

}

The maxdb_stmt_free_result() function frees the result memory associated with the statement represented by the stmt parameter, which was allocated by maxdb_stmt_store_result().

Valores retornados

This function doesn't return any value.

Ver también

maxdb_stmt_store_result()

Anterior | Inicio | Siguiente
maxdb_stmt_fetch | Subir | maxdb_stmt_init


maxdb_stmt_init

(PECL)

maxdb_stmt_init

(no version information, might be only in CVS)

maxdb->stmt_init -- Initializes a statement and returns an resource for use with maxdb_stmt_prepare

Description

Procedural style :

resource maxdb_stmt_init ( resource link )

Object oriented style (property):

class maxdb {

object stmt_init ( void )

}

Allocates and initializes a statement resource suitable for maxdb_stmt_prepare().

Nota: Any subsequent calls to any maxdb_stmt function will fail until maxdb_stmt_prepare() was called.

Valores retornados

Returns an resource.

Ver también

maxdb_stmt_prepare()

Anterior | Inicio | Siguiente
maxdb_stmt_free_result | Subir | maxdb_stmt_num_rows


maxdb_stmt_num_rows

(PECL)

maxdb_stmt_num_rows

(no version information, might be only in CVS)

stmt->num_rows -- Return the number of rows in statements result set

Description

Procedural style :

int maxdb_stmt_num_rows ( resource stmt )

Object oriented style (property):

class stmt {

int num_rows

}

Returns the number of rows in the result set.

Return values

An integer representing the number of rows in result set.

See also

maxdb_stmt_affected_rows(),
maxdb_prepare(),
maxdb_stmt_store_result()

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Number of rows: 25.

Anterior | Inicio | Siguiente
maxdb_stmt_init | Subir | maxdb_stmt_param_count


maxdb_stmt_param_count

(PECL)

maxdb_stmt_param_count

(no version information, might be only in CVS)

stmt->param_count -- Returns the number of parameter for the given statement

Description

Procedural style:

int maxdb_stmt_param_count ( resource stmt )

Object oriented style (property):

class stmt {

int param_count

}

maxdb_stmt_param_count() returns the number of parameter markers present in the prepared statement.

Valores retornados

returns an integer representing the number of parameters.

Ver también

maxdb_prepare()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = $maxdb->prepare("SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = $stmt->param_count;
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = maxdb_prepare($link, "SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = maxdb_stmt_param_count($stmt);
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Statement has 2 markers.

Anterior | Inicio | Siguiente
maxdb_stmt_num_rows | Subir | maxdb_stmt_prepare


maxdb_stmt_prepare

(PECL)

maxdb_stmt_prepare

(no version information, might be only in CVS)

stmt->prepare -- Prepare a SQL statement for execution

Description

Procedure style:

bool maxdb_stmt_prepare ( resource stmt, string query )

Object oriented style (method)

class stmt {

mixed prepare ( string query )

}

maxdb_stmt_prepare() prepares the SQL query pointed to by the null-terminated string query. The statement resource has to be allocated by maxdb_stmt_init(). The query must consist of a single SQL statement.

Nota: You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Nota: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

maxdb_stmt_init(),
maxdb_stmt_execute(),
maxdb_stmt_fetch(),
maxdb_stmt_bind_param(),
maxdb_stmt_bind_result(),
maxdb_stmt_close()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt =  $maxdb->stmt_init();
if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt = maxdb_stmt_init($link);
if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Portland is in district OR

Anterior | Inicio | Siguiente
maxdb_stmt_param_count | Subir | maxdb_stmt_reset


maxdb_stmt_reset

(PECL)

maxdb_stmt_reset

(no version information, might be only in CVS)

stmt->reset -- Resets a prepared statement

Description

Procedural style:

bool maxdb_stmt_reset ( resource stmt )

Object oriented style (method):

class stmt {

bool reset ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
maxdb_stmt_prepare | Subir | maxdb_stmt_result_metadata


maxdb_stmt_result_metadata

(PECL)

maxdb_stmt_result_metadata -- Returns result set metadata from a prepared statement

Description

Procedural style:

resource maxdb_stmt_result_metadata ( resource stmt )

Object oriented style (method):

class stmt {

resource result_metadata ( void )

}

If a statement passed to maxdb_prepare() is one that produces a result set, maxdb_stmt_result_metadata() returns the result resource that can be used to process the meta information such as total number of fields and individual field information.

Nota: This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • maxdb_num_fields()

  • maxdb_fetch_field()

  • maxdb_fetch_field_direct()

  • maxdb_fetch_fields()

  • maxdb_field_count()

  • maxdb_field_seek()

  • maxdb_field_tell()

  • maxdb_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to maxdb_free_result()

Nota: The result set returned by maxdb_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with maxdb_fetch().

Valores retornados

maxdb_stmt_result_metadata() returns a result resource or FALSE if an error occured.

See also:

maxdb_prepare(), maxdb_free_result()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");

$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = $maxdb->prepare("SELECT id, name FROM temp.friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);

/* get resultset for metadata */
$result = maxdb_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = maxdb_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Fieldname: ID

Anterior | Inicio | Siguiente
maxdb_stmt_reset | Subir | maxdb_stmt_send_long_data


maxdb_stmt_send_long_data

(PECL)

maxdb_stmt_send_long_data

(no version information, might be only in CVS)

stmt->send_long_data -- Send data in blocks

Description

Procedural style:

bool maxdb_stmt_send_long_data ( resource stmt, int param_nr, string data )

Object oriented style (method)

class stmt {

bool stmt_send_long_data ( int param_nr, string data )

}

Allows to send parameter data to the server in pieces (or chunks). This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

param_nr indicates which parameter to associate the data with. Parameters are numbered beginning with 0. data is a string containing data to be sent.

Nota: For efficiency reasons, this function should be used after calling maxdb_execute(). In this case, the data is not stored on the client side. The end of the sequence must end with a call to maxdb_stmt_close_long_data().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

maxdb_prepare(), maxdb_stmt_bind_param()

Anterior | Inicio | Siguiente
maxdb_stmt_result_metadata | Subir | maxdb_stmt_sqlstate


maxdb_stmt_sqlstate

(PECL)

maxdb_stmt_sqlstate -- Returns SQLSTATE error from previous statement operation

Description

string maxdb_stmt_sqlstate ( resource stmt )

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Nota: Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Return values

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

See also

maxdb_stmt_errno(), maxdb_stmt_error()

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->sqlstate);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_sqlstate($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: 42000.

Anterior | Inicio | Siguiente
maxdb_stmt_send_long_data | Subir | maxdb_stmt_store_result


maxdb_stmt_store_result

(PECL)

maxdb_stmt_store_result

(no version information, might be only in CVS)

maxdb->store_result -- Transfers a result set from a prepared statement

Description

Procedural style:

bool maxdb_stmt_store_result ( resource stmt )

Object oriented style (method):

class maxdb {

object store_result ( void )

}

maxdb_stmt_store_result() has no functionally effect and should not be used for retrieving data from MaxDB server.

Return values

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

See also

maxdb_prepare(),
maxdb_stmt_result_metadata(),
maxdb_fetch()

Example

Ejemplo 1. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* free result */
   $stmt->free_result();

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* free result */
   maxdb_stmt_free_result($stmt);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Number of rows: 25.

Anterior | Inicio | Siguiente
maxdb_stmt_sqlstate | Subir | maxdb_store_result


maxdb_store_result

(PECL)

maxdb_store_result

(no version information, might be only in CVS)

maxdb->store_result -- Transfers a result set from the last query

Description

Procedural style:

resource maxdb_store_result ( resource link )

Object oriented style (method):

class maxdb {

object store_result ( void )

}

This function has no functionally effect.

Return values

Returns a result resource or FALSE if an error occurred.

See also

maxdb_real_query(), maxdb_use_result().

Example

See maxdb_multi_query().

Anterior | Inicio | Siguiente
maxdb_stmt_store_result | Subir | maxdb_thread_id


maxdb_thread_id

(PECL)

maxdb_thread_id

(no version information, might be only in CVS)

maxdb->thread_id -- Returns the thread ID for the current connection

Description

Procedural style:

int maxdb_thread_id ( resource link )

Object oriented style (property):

class maxdb {

int thread_id

}

The maxdb_thread_id() function returns the thread ID for the current connection which can then be killed using the maxdb_kill() function. If the connection is lost and you reconnect with maxdb_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Nota: The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

Return values

maxdb_thread_id() returns the Thread ID for the current connection.

See also

maxdb_kill()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -10821 Session not connected <...>
Error: Session not connected

Anterior | Inicio | Siguiente
maxdb_store_result | Subir | maxdb_thread_safe


maxdb_thread_safe

(no version information, might be only in CVS)

maxdb_thread_safe -- Returns whether thread safety is given or not

Description

Procedural style:

bool maxdb_thread_safe ( void )

maxdb_thread_safe() indicates whether the client library is compiled as thread-safe.

Return values

TRUE if the client library is thread-safe, otherwise FALSE.

Anterior | Inicio | Siguiente
maxdb_thread_id | Subir | maxdb_use_result


maxdb_use_result

(PECL)

maxdb_use_result

(no version information, might be only in CVS)

maxdb->use_result -- Initiate a result set retrieval

Description

Procedural style:

resource maxdb_use_result ( resource link )

Object oriented style (method):

class maxdb {

resource use_result ( void )

}

maxdb_use_result() has no effect.

Return values

Returns result or FALSE in case of error.

See also

maxdb_real_query(), maxdb_store_result().

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->use_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_use_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

a

Anterior | Inicio | Siguiente
maxdb_thread_safe | Subir | maxdb_warning_count


maxdb_warning_count

(PECL)

maxdb_warning_count

(no version information, might be only in CVS)

maxdb->warning_count -- Returns the number of warnings from the last query for the given link

Description

Procedural style:

int maxdb_warning_count ( resource link )

Object oriented style (property):

class maxdb {

int warning_count

}

maxdb_warning_count() returns the number of warnings from the last query in the connection represented by the link parameter.

Return values

Number of warnings or zero if there are no warnings.

See also

maxdb_errno(),
maxdb_error(),
maxdb_sqlstate()

Example

Ejemplo 1. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable city in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$maxdb->query($query);

printf ("Number of warning: %d\n", $maxdb->warning_count);

/* close connection */
$maxdb->close();
?>

Ejemplo 2. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable long city name in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

maxdb_query($link, $query);

printf ("Number of warning: %d\n", maxdb_warning_count($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -8004 POS(62) Constant must be compatible with column type and length <...>
Number of warning: 0

Anterior | Inicio | Siguiente
maxdb_use_result | Subir | MCAL functions


mb_check_encoding

(no version information, might be only in CVS)

mb_check_encoding -- Check if the string is valid for the specified encoding

Descripción

bool mb_check_encoding ( [string var [, string encoding]] )

mb_check_encoding() checks if the string is valid for the specified encoding. It is useful to prevent so-called "Invalid Encoding Attack".

Lista de parámetros

var

String to check. If it is omitted, this function checks all the input from the beginning of the request.

encoding

Expected encoding.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
Multibyte String Functions | Subir | mb_convert_case


mb_list_encodings_alias_names

(no version information, might be only in CVS)

mb_list_encodings_alias_names -- Returns an array of all supported alias encodings

Descripción

array mb_list_encodings_alias_names ( [string encoding] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mb_language | Subir | mb_list_encodings


mb_list_mime_names

(no version information, might be only in CVS)

mb_list_mime_names -- Returns an array or string of all supported mime names

Descripción

mixed mb_list_mime_names ( [string encoding] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mb_list_encodings | Subir | mb_output_handler


mb_stripos

(no version information, might be only in CVS)

mb_stripos -- Finds position of first occurrence of a string within another, case insensitive

Descripción

int mb_stripos ( string haystack, string needle [, int offset [, string encoding]] )

mb_stripos() returns the numeric position of the first occurrence of needle in the haystack string. Unlike mb_strpos(), mb_stripos() is case-insensitive. If needle is not found, it returns FALSE.

Lista de parámetros

haystack

The string from which to get the position of the first occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valores retornados

Return the numeric position of the first occurrence of needle in the haystack string, or FALSE if needle is not found.

Ver también

stripos()
strpos()
mb_strpos()

Anterior | Inicio | Siguiente
mb_strimwidth | Subir | mb_stristr


mb_stristr

(no version information, might be only in CVS)

mb_stristr -- Finds first occurrence of a string within another, case insensitive

Descripción

string mb_stristr ( string haystack, string needle [, bool part [, string encoding]] )

mb_stristr() finds the first occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strstr(), mb_stristr() is case-insensitive. If needle is not found, it returns FALSE.

Lista de parámetros

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle. If set to FALSE, it returns all of haystack from the first occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valores retornados

Returns the portion of haystack, or FALSE if needle is not found.

Ver también

stristr()
strstr()
mb_strstr()

Anterior | Inicio | Siguiente
mb_stripos | Subir | mb_strlen


mb_strrchr

(no version information, might be only in CVS)

mb_strrchr -- Finds the last occurrence of a character in a string within another

Descripción

string mb_strrchr ( string haystack, string needle [, bool part [, string encoding]] )

mb_strrchr() finds the last occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

Lista de parámetros

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valores retornados

Returns the portion of haystack. or FALSE if needle is not found.

Ver también

strrchr()
mb_strstr()
mb_strrichr()

Anterior | Inicio | Siguiente
mb_strpos | Subir | mb_strrichr


mb_strrichr

(no version information, might be only in CVS)

mb_strrichr -- Finds the last occurrence of a character in a string within another, case insensitive

Descripción

string mb_strrichr ( string haystack, string needle [, bool part [, string encoding]] )

mb_strrichr() finds the last occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strrchr(), mb_strrichr() is case-insensitive. If needle is not found, it returns FALSE.

Lista de parámetros

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valores retornados

Returns the portion of haystack. or FALSE if needle is not found.

Ver también

mb_stristr()
mb_strrchr()

Anterior | Inicio | Siguiente
mb_strrchr | Subir | mb_strripos


mb_strripos

(no version information, might be only in CVS)

mb_strripos -- Finds position of last occurrence of a string within another, case insensitive

Descripción

int mb_strripos ( string haystack, string needle [, int offset [, string encoding]] )

mb_strripos() performs multi-byte safe strripos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1. Unlike mb_strrpos(), mb_strripos() is case-insensitive.

Lista de parámetros

haystack

The string from which to get the position of the last occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valores retornados

Return the numeric position of the last occurrence of needle in the haystack string, or FALSE if needle is not found.

Ver también

strripos()
strrpos()
mb_strrpos()

Anterior | Inicio | Siguiente
mb_strrichr | Subir | mb_strrpos


mb_strstr

(no version information, might be only in CVS)

mb_strstr -- Finds first occurrence of a string within another

Descripción

string mb_strstr ( string haystack, string needle [, bool part [, string encoding]] )

mb_strstr() finds the first occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

Lista de parámetros

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle. If set to FALSE, it returns all of haystack from the first occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valores retornados

Returns the portion of haystack, or FALSE if needle is not found.

Ver también

stristr()
strstr()
mb_stristr()

Anterior | Inicio | Siguiente
mb_strrpos | Subir | mb_strtolower


Memcache::addServer

(no version information, might be only in CVS)

Memcache::addServer -- Add a memcached server to connection pool

Descripción

bool Memcache::addServer ( string host [, int port [, bool persistent [, int weight [, int timeout [, int retry_interval [, bool status [, callback failure_callback]]]]]]] )

Memcache::addServer() adds a server to the connection pool. The connection, which was opened using Memcache::addServer() will be automatically closed at the end of script execution, you can also close it manually with Memcache::close(). You can also use the memcache_add_server() function.

When using this method (as opposed to Memcache::connect()() and Memcache::pconnect()()) the network connection is not established until actually needed. Thus there is no overhead in adding a large number of servers to the pool, even though they might not all be used.

Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.

Nota: This function has been added to Memcache version 2.0.0.

Lista de parámetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections. This parameter is optional and its default value is 11211.

persistent

Controls the use of a persistent connection. Default to TRUE.

weight

Number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

Each failed connection struct has its own timeout and before it has expired the struct will be skipped when selecting backends to serve a request. Once expired the connection will be successfully reconnected or marked as failed for another retry_interval seconds. The typical effect is that each web server child will retry the connection about every retry_interval seconds when serving a page.

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algoritm. Requests for this server will then failover or fail immediatly depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attemped. The function takes two parameters, the hostname and port of the failed server.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::addServer() example

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Ver también

Memcache::connect()
Memcache::pconnect()
Memcache::close()
Memcache::setServerParams()
Memcache::getServerStatus()

Anterior | Inicio | Siguiente
Memcache::add | Subir | Memcache::close


Memcache::getExtendedStats

(no version information, might be only in CVS)

Memcache::getExtendedStats -- Get statistics from all servers in pool

Descripción

array Memcache::getExtendedStats ( [string type [, int slabid [, int limit]]] )

Memcache::getExtendedStats() returns a two-dimensional associative array with server statistics. Array keys correspond to host:port of server and values contain the individual server statistics. A failed server will have its corresponding entry set to FALSE. You can also use the memcache_get_extended_stats() function.

Nota: This function has been added to Memcache version 2.0.0.

Lista de parámetros

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump. Default value is 100.

Valores retornados

Returns a two-dimensional associative array of server statistics or FALSE on failure.

Ejemplos

Ejemplo 1. Memcache::getExtendedStats() example

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

El resultado del ejemplo seria:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Ver también

Memcache::getVersion()
Memcache::getStats()

Anterior | Inicio | Siguiente
Memcache::get | Subir | Memcache::getServerStatus


Memcache::getServerStatus

(no version information, might be only in CVS)

Memcache::getServerStatus -- Returns server status

Descripción

int Memcache::getServerStatus ( string host [, int port] )

Memcache::getServerStatus() returns a the servers online/offline status. You can also use memcache_get_server_status() function.

Nota: This function has been added to Memcache version 2.1.0.

Lista de parámetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections. This parameter is optional and its default value is 11211.

Valores retornados

Returns a the servers status. 0 if server is failed, non-zero otherwise

Ejemplos

Ejemplo 1. Memcache::getServerStatus() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Ver también

Memcache::addServer()
Memcache::setServerParams()

Anterior | Inicio | Siguiente
Memcache::getExtendedStats | Subir | Memcache::getStats


Memcache::setCompressThreshold

(no version information, might be only in CVS)

Memcache::setCompressThreshold -- Enable automatic compression of large values

Descripción

bool Memcache::setCompressThreshold ( int threshold [, float min_savings] )

Memcache::setCompressThreshold() enables automatic compression of large values. You can also use the memcache_set_compress_threshold() function.

Nota: This function has been added to Memcache version 2.0.0.

Lista de parámetros

threshold

Controls the minimum value length before attempting to compress automatically.

min_saving

Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::setCompressThreshold() example

<?php

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>

Anterior | Inicio | Siguiente
Memcache::set | Subir | Memcache::setServerParams


Memcache::setServerParams

(no version information, might be only in CVS)

Memcache::setServerParams -- Changes server parameters and status at runtime

Descripción

bool Memcache::setServerParams ( string host [, int port [, int timeout [, int retry_interval [, bool status [, callback failure_callback]]]]] )

Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.

Nota: This function has been added to Memcache version 2.1.0.

Lista de parámetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections. This parameter is optional and its default value is 11211.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algoritm. Requests for this server will then failover or fail immediatly depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attemped. The function takes two parameters, the hostname and port of the failed server.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Memcache::setServerParams() example

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* OO API */

$memcache = new Memcache;

// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Ver también

Memcache::addServer()
Memcache::getServerStatus()

Anterior | Inicio | Siguiente
Memcache::setCompressThreshold | Subir | Funciones Mhash


memory_get_peak_usage

(no version information, might be only in CVS)

memory_get_peak_usage -- Returns the peak of memory allocated by PHP

Descripción

int memory_get_peak_usage ( [bool real_usage] )

Returns the peak of memory, in bytes, that's been allocated to your PHP script.

memory_get_peak_usage() will only be defined if your PHP is compiled with the --enable-memory-limit configuration option.

Lista de parámetros

real_usage

Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.

Valores retornados

Returns the memory peak in bytes.

Registro de cambios

Versión | Descripción
5.2.0 | real_usage was added.

Ver también

memory_get_usage()
memory_limit

Anterior | Inicio | Siguiente
main | Subir | memory_get_usage


ming_keypress

(PHP 5)

ming_keypress -- Returns the action flag for keyPress(char)

Descripción

int ming_keypress ( string char )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFVideoStream->setDimension() | Subir | ming_setcubicthreshold


ming_setswfcompression

(no version information, might be only in CVS)

ming_setswfcompression -- Sets the SWF output compression

Descripción

void ming_setswfcompression ( int level )

Sets the SWF output compression level.

Lista de parámetros

level

The new compression level. Should be a value between 1 and 9 inclusive.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
ming_setscale | Subir | ming_useconstants


ming_useconstants

(PHP 5)

ming_useconstants -- Use constant pool

Descripción

void ming_useconstants ( int use )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
ming_setswfcompression | Subir | ming_useswfversion


mysqli_embedded_server_end

(PHP 5 >= 5.1.0RC1)

mysqli_embedded_server_end --

Descripción

void mysqli_embedded_server_end ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_dump_debug_info | Subir | mysqli_embedded_server_start


mysqli_embedded_server_start

(PHP 5 >= 5.1.0RC1)

mysqli_embedded_server_start --

Descripción

bool mysqli_embedded_server_start ( bool start, array arguments, array groups )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_embedded_server_end | Subir | mysqli_enable_reads_from_master


mysqli_get_charset

(PHP 5 >= 5.1.0RC1)

mysqli_get_charset -- Returns a character set object

Descripción

object mysqli_get_charset ( mysqli link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_free_result | Subir | mysqli_get_client_info


mysqli_get_warnings

(PHP 5 >= 5.1.0RC1)

mysqli_get_warnings --

Descripción

object mysqli_get_warnings ( mysqli link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_get_server_version | Subir | mysqli_info


mysqli_set_charset

(PHP 5 >= 5.1.0RC1)

mysqli_set_charset

(no version information, might be only in CVS)

mysqli->set_charset -- Sets the default client character set

Descripción

Procedural style:

bool mysqli_set_charset ( mysqli link, string charset )

Object oriented style (method):

class mysqli {

bool set_charset ( string charset )

}

Sets the default character set to be used when sending data from and to the database server.

Lista de parámetros

link

Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

charset

The charset to be set as default.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Notes

Nota: To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above). It can be downloaded at http://dev.mysql.com/downloads/connector/php/.

Ejemplos

Ejemplo 1. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

Ejemplo 2. Procedural style

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($link));
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($link));
}

mysqli_close($link);
?>

El resultado del ejemplo seria:

Current character set: utf8

Ver también

mysqli_character_set_name()
mysqli_real_escape_string()

Anterior | Inicio | Siguiente
mysqli_server_init | Subir | mysqli_set_local_infile_default


mysqli_set_local_infile_default

(PHP 5)

mysqli_set_local_infile_default -- Unsets user defined handler for load local infile command

Descripción

void mysqli_set_local_infile_default ( mysqli link )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_set_charset | Subir | mysqli_set_local_infile_handler


mysqli_set_local_infile_handler

(PHP 5)

mysqli_set_local_infile_handler -- Set callback functions for LOAD DATA LOCAL INFILE command

Descripción

bool mysqli_set_local_infile_handler ( mysqli link, callback read_func )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_set_local_infile_default | Subir | mysqli_set_opt


mysqli_slave_query

(PHP 5)

mysqli_slave_query -- Force execution of a query on a slave in a master/slave setup

Descripción

bool mysqli_slave_query ( mysqli link, string query )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_set_opt | Subir | mysqli_sqlstate


mysqli_stmt_attr_get

(PHP 5)

mysqli_stmt_attr_get --

Descripción

int mysqli_stmt_attr_get ( mysqli_stmt stmt, int attr )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_stmt_affected_rows | Subir | mysqli_stmt_attr_set


mysqli_stmt_attr_set

(PHP 5)

mysqli_stmt_attr_set --

Descripción

int mysqli_stmt_attr_set ( mysqli_stmt stmt, int attr, int mode )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_stmt_attr_get | Subir | mysqli_stmt_bind_param


mysqli_stmt_field_count

(PHP 5)

mysqli_stmt_field_count -- Returns the number of field in the given statement

Descripción

int mysqli_stmt_field_count ( mysqli_stmt stmt )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_stmt_fetch | Subir | mysqli_stmt_free_result


mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0RC1)

mysqli_stmt_get_warnings --

Descripción

object mysqli_stmt_get_warnings ( mysqli_stmt stmt )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_stmt_free_result | Subir | mysqli_stmt_init


mysqli_stmt_insert_id

(PHP 5)

mysqli_stmt_insert_id -- Get the ID generated from the previous INSERT operation

Descripción

mixed mysqli_stmt_insert_id ( mysqli_stmt stmt )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
mysqli_stmt_init | Subir | mysqli_stmt_num_rows


mysqli_stmt_reset

(PHP 5)

mysqli_stmt_reset

(no version information, might be only in CVS)

stmt->reset -- Resetea una sentencia preparada

Descripción

Estilo por procedimientos:

bool mysqli_stmt_reset ( mysqli_stmt stmt )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool reset ( void )

}

La función mysqli_stmt_reset() resetea una sentencia preparada en el cliente y el servidor al estado que estaba después de PREPARE. Por ahora esta es usada principalmente para resetear los datos enviados con mysqli_stmt_send_long_data().

Nota: Para preparar una sentencia con otra consulta SQL use la función mysqli_stmt_prepare().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

mysqli_prepare().

Anterior | Inicio | Siguiente
mysqli_stmt_prepare | Subir | mysqli_stmt_result_metadata


newt_bell

(PECL)

newt_bell -- Send a beep to the terminal

Descripción

void newt_bell ( void )

This function sends a beep to the terminal.

Nota: Depending on the terminal's settings, this beep may or may not be audible.

Anterior | Inicio | Siguiente
Newt Functions | Subir | newt_button_bar


newt_button

(PECL)

newt_button --

Descripción

resource newt_button ( int left, int top, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_button_bar | Subir | newt_centered_window


newt_button_bar

(PECL)

newt_button_bar --

Descripción

resource newt_button_bar ( array &buttons )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

buttons

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_bell | Subir | newt_button


newt_centered_window

(PECL)

newt_centered_window -- Open a centered window of the specified size

Descripción

int newt_centered_window ( int width, int height [, string title] )

Open a centered window of the specified size.

Lista de parámetros

width

Window width

height

Window height

title

Window title

Valores retornados

Undefined value.

Ver también

newt_pop_window()
newt_open_window()

Anterior | Inicio | Siguiente
newt_button | Subir | newt_checkbox_get_value


newt_checkbox

(PECL)

newt_checkbox --

Descripción

resource newt_checkbox ( int left, int top, string text, string def_value [, string seq] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

text

Its description

def_value

Its description

seq

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree | Subir | newt_clear_key_buffer


newt_checkbox_get_value

(PECL)

newt_checkbox_get_value --

Descripción

string newt_checkbox_get_value ( resource checkbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkbox

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_centered_window | Subir | newt_checkbox_set_flags


newt_checkbox_set_flags

(PECL)

newt_checkbox_set_flags --

Descripción

void newt_checkbox_set_flags ( resource checkbox, int flags, int sense )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkbox

Its description

flags

Its description

sense

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_get_value | Subir | newt_checkbox_set_value


newt_checkbox_set_value

(PECL)

newt_checkbox_set_value --

Descripción

void newt_checkbox_set_value ( resource checkbox, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkbox

Its description

value

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_set_flags | Subir | newt_checkbox_tree_add_item


newt_checkbox_tree

(PECL)

newt_checkbox_tree --

Descripción

resource newt_checkbox_tree ( int left, int top, int height [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

height

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_set_width | Subir | newt_checkbox


newt_checkbox_tree_add_item

(PECL)

newt_checkbox_tree_add_item -- *

Descripción

void newt_checkbox_tree_add_item ( resource checkboxtree, string text, mixed data, int flags, int index [, int ...] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

text

Its description

data

Its description

flags

Its description

index

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_set_value | Subir | newt_checkbox_tree_find_item


newt_checkbox_tree_find_item

(PECL)

newt_checkbox_tree_find_item --

Descripción

array newt_checkbox_tree_find_item ( resource checkboxtree, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_add_item | Subir | newt_checkbox_tree_get_current


newt_checkbox_tree_get_current

(PECL)

newt_checkbox_tree_get_current --

Descripción

mixed newt_checkbox_tree_get_current ( resource checkboxtree )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_find_item | Subir | newt_checkbox_tree_get_entry_value


newt_checkbox_tree_get_entry_value

(PECL)

newt_checkbox_tree_get_entry_value --

Descripción

string newt_checkbox_tree_get_entry_value ( resource checkboxtree, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_get_current | Subir | newt_checkbox_tree_get_multi_selection


newt_checkbox_tree_get_multi_selection

(PECL)

newt_checkbox_tree_get_multi_selection --

Descripción

array newt_checkbox_tree_get_multi_selection ( resource checkboxtree, string seqnum )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

seqnum

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_get_entry_value | Subir | newt_checkbox_tree_get_selection


newt_checkbox_tree_get_selection

(PECL)

newt_checkbox_tree_get_selection --

Descripción

array newt_checkbox_tree_get_selection ( resource checkboxtree )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_get_multi_selection | Subir | newt_checkbox_tree_multi


newt_checkbox_tree_multi

(PECL)

newt_checkbox_tree_multi --

Descripción

resource newt_checkbox_tree_multi ( int left, int top, int height, string seq [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

height

Its description

seq

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_get_selection | Subir | newt_checkbox_tree_set_current


newt_checkbox_tree_set_current

(PECL)

newt_checkbox_tree_set_current --

Descripción

void newt_checkbox_tree_set_current ( resource checkboxtree, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_multi | Subir | newt_checkbox_tree_set_entry_value


newt_checkbox_tree_set_entry

(PECL)

newt_checkbox_tree_set_entry --

Descripción

void newt_checkbox_tree_set_entry ( resource checkboxtree, mixed data, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

data

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_set_entry_value | Subir | newt_checkbox_tree_set_width


newt_checkbox_tree_set_entry_value

(PECL)

newt_checkbox_tree_set_entry_value --

Descripción

void newt_checkbox_tree_set_entry_value ( resource checkboxtree, mixed data, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkboxtree

Its description

data

Its description

value

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_set_current | Subir | newt_checkbox_tree_set_entry


newt_checkbox_tree_set_width

(PECL)

newt_checkbox_tree_set_width --

Descripción

void newt_checkbox_tree_set_width ( resource checkbox_tree, int width )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

checkbox_tree

Its description

width

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_checkbox_tree_set_entry | Subir | newt_checkbox_tree


newt_clear_key_buffer

(PECL)

newt_clear_key_buffer -- Discards the contents of the terminal's input buffer without waiting for additional input

Descripción

void newt_clear_key_buffer ( void )

Discards the contents of the terminal's input buffer without waiting for additional input.

Ver también

newt_wait_for_key()

Anterior | Inicio | Siguiente
newt_checkbox | Subir | newt_cls


newt_cls

(PECL)

newt_cls --

Descripción

void newt_cls ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_clear_key_buffer | Subir | newt_compact_button


newt_compact_button

(PECL)

newt_compact_button --

Descripción

resource newt_compact_button ( int left, int top, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_cls | Subir | newt_component_add_callback


newt_component_add_callback

(PECL)

newt_component_add_callback --

Descripción

void newt_component_add_callback ( resource component, mixed func_name, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

component

Its description

func_name

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_compact_button | Subir | newt_component_takes_focus


newt_component_takes_focus

(PECL)

newt_component_takes_focus --

Descripción

void newt_component_takes_focus ( resource component, bool takes_focus )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

component

Its description

takes_focus

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_component_add_callback | Subir | newt_create_grid


newt_create_grid

(PECL)

newt_create_grid --

Descripción

resource newt_create_grid ( int cols, int rows )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

cols

Its description

rows

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_component_takes_focus | Subir | newt_cursor_off


newt_cursor_off

(PECL)

newt_cursor_off --

Descripción

void newt_cursor_off ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_create_grid | Subir | newt_cursor_on


newt_cursor_on

(PECL)

newt_cursor_on --

Descripción

void newt_cursor_on ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_cursor_off | Subir | newt_delay


newt_delay

(PECL)

newt_delay --

Descripción

void newt_delay ( int microseconds )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

microseconds

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_cursor_on | Subir | newt_draw_form


newt_draw_form

(PECL)

newt_draw_form --

Descripción

void newt_draw_form ( resource form )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_delay | Subir | newt_draw_root_text


newt_draw_root_text

(PECL)

newt_draw_root_text -- Displays the string text at the position indicated

Descripción

void newt_draw_root_text ( int left, int top, string text )

Displays the string text at the position indicated.

Lista de parámetros

left

Column number

Nota: If left is negative, the position is measured from the opposite side of the screen.

top

Line number

Nota: If top is negative, the position is measured from the opposite side of the screen.

text

Text to display.

Ejemplos

Ejemplo 1. A newt_draw_root_text() example

This code demonstrates drawing of titles in the both corners of the screen.

<?php
 newt_init();
 newt_cls();

 newt_draw_root_text (2, 0, "Some root text");
 newt_refresh();
 sleep(1);

 newt_draw_root_text (-30, 0, "Root text in the other corner");
 newt_refresh();
 sleep(1);

 newt_finished();
?>

Ver también

newt_push_help_line()
newt_pop_help_line()

Anterior | Inicio | Siguiente
newt_draw_form | Subir | newt_entry_get_value


newt_entry

(PECL)

newt_entry --

Descripción

resource newt_entry ( int left, int top, int width [, string init_value [, int flags]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

width

Its description

init_value

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_entry_set | Subir | newt_finished


newt_entry_get_value

(PECL)

newt_entry_get_value --

Descripción

string newt_entry_get_value ( resource entry )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

entry

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_draw_root_text | Subir | newt_entry_set_filter


newt_entry_set

(PECL)

newt_entry_set --

Descripción

void newt_entry_set ( resource entry, string value [, bool cursor_at_end] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

entry

Its description

value

Its description

cursor_at_end

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_entry_set_flags | Subir | newt_entry


newt_entry_set_filter

(PECL)

newt_entry_set_filter --

Descripción

void newt_entry_set_filter ( resource entry, callback filter, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

entry

Its description

filter

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_entry_get_value | Subir | newt_entry_set_flags


newt_entry_set_flags

(PECL)

newt_entry_set_flags --

Descripción

void newt_entry_set_flags ( resource entry, int flags, int sense )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

entry

Its description

flags

Its description

sense

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_entry_set_filter | Subir | newt_entry_set


newt_finished

(PECL)

newt_finished -- Uninitializes newt interface

Descripción

int newt_finished ( void )

Uninitializes newt interface. This function be called, when program is ready to exit.

Valores retornados

Returns 1 on success, 0 on failure.

Ver también

newt_init()

Anterior | Inicio | Siguiente
newt_entry | Subir | newt_form_add_component


newt_form

(PECL)

newt_form -- Create a form

Descripción

resource newt_form ( [resource vert_bar [, string help [, int flags]]] )

Create a new form.

Lista de parámetros

vert_bar

Vertical scrollbar which should be associated with the form

help

Help text string

flags

Various flags

Valores retornados

Resource link to the created form component.

Ejemplos

Ejemplo 1. A newt_form() example

Displays a single button "Quit", which closes the application once it's pressed.

<?php
newt_init();
newt_cls();

$myform = newt_form();
$button = newt_button (5, 12, "Quit");

newt_form_add_component ($myform, $button);
newt_refresh ();
newt_run_form ($myform);

newt_finished ();
newt_form_destroy ($myform);
?>

Ver también

newt_form_run()
newt_run_form()
newt_form_add_component()
newt_form_add_components()
newt_form_destroy()

Anterior | Inicio | Siguiente
newt_form_watch_fd | Subir | newt_get_screen_size


newt_form_add_component

(PECL)

newt_form_add_component -- Adds a single component to the form

Descripción

void newt_form_add_component ( resource form, resource component )

Adds a single component to the form which is passed as the first parameter.

Lista de parámetros

form

Form to which component will be added

component

Component to add to the form

Ver también

newt_form_add_components()

Anterior | Inicio | Siguiente
newt_finished | Subir | newt_form_add_components


newt_form_add_components

(PECL)

newt_form_add_components -- Add several components to the form

Descripción

void newt_form_add_components ( resource form, array components )

Adds several components to the form which is passed as the first parameter.

Lista de parámetros

form

Form to which components will be added

components

Array of components to add to the form

Ver también

newt_form_add_component()

Anterior | Inicio | Siguiente
newt_form_add_component | Subir | newt_form_add_host_key


newt_form_add_host_key

(no version information, might be only in CVS)

newt_form_add_host_key --

Descripción

void newt_form_add_host_key ( resource form, int key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

key

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_add_components | Subir | newt_form_destroy


newt_form_destroy

(PECL)

newt_form_destroy -- Destroys a form

Descripción

void newt_form_destroy ( resource form )

This function frees the memory resources used by the form and all of the components which have been added to the form (including those components which are on subforms). Once a form has been destroyed, none of the form's components can be used.

Lista de parámetros

form

Form component, which is going to be destroyed

Ver también

newt_form_run()
newt_run_form()

Anterior | Inicio | Siguiente
newt_form_add_host_key | Subir | newt_form_get_current


newt_form_get_current

(PECL)

newt_form_get_current --

Descripción

resource newt_form_get_current ( resource form )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_destroy | Subir | newt_form_run


newt_form_run

(PECL)

newt_form_run -- Runs a form

Descripción

void newt_form_run ( resource form, array &exit_struct )

This function runs the form passed to it.

Lista de parámetros

form

Form component

exit_struct

Array, used for returning information after running the form component. Keys and values are described in the following table:

Tabla 1. Form Exit Structure

Index Key | Value Type | Description
reason | integer | The reason, why the form has been exited. Possible values are defined here.
watch | resource | Resource link, specified in newt_form_watch_fd()
key | integer | Hotkey
component | resource | Component, which caused the form to exit

Ver también

newt_run_form()

Anterior | Inicio | Siguiente
newt_form_get_current | Subir | newt_form_set_background


newt_form_set_background

(PECL)

newt_form_set_background --

Descripción

void newt_form_set_background ( resource from, int background )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

from

Its description

background

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_run | Subir | newt_form_set_height


newt_form_set_height

(PECL)

newt_form_set_height --

Descripción

void newt_form_set_height ( resource form, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

height

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_set_background | Subir | newt_form_set_size


newt_form_set_size

(PECL)

newt_form_set_size --

Descripción

void newt_form_set_size ( resource form )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_set_height | Subir | newt_form_set_timer


newt_form_set_timer

(PECL)

newt_form_set_timer --

Descripción

void newt_form_set_timer ( resource form, int milliseconds )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

milliseconds

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_set_size | Subir | newt_form_set_width


newt_form_set_width

(PECL)

newt_form_set_width --

Descripción

void newt_form_set_width ( resource form, int width )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

width

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_set_timer | Subir | newt_form_watch_fd


newt_form_watch_fd

(PECL)

newt_form_watch_fd --

Descripción

void newt_form_watch_fd ( resource form, resource stream [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

form

Its description

stream

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_form_set_width | Subir | newt_form


newt_get_screen_size

(PECL)

newt_get_screen_size -- Fills in the passed references with the current size of the terminal

Descripción

void newt_get_screen_size ( int &cols, int &rows )

Fills in the passed references with the current size of the terminal.

Lista de parámetros

cols

Number of columns in the terminal

rows

Number of rows in the terminal

Valores retornados

This function returns values in an argument, passed by reference.

Ejemplos

Ejemplo 1. A newt_get_screen_size() example

This code prints out the screen size of your terminal.

<?php
 newt_init();
 newt_get_screen_size (&$cols, &$rows);
 newt_finished();

 print "Your terminal size is: {$cols}x{$rows}\n";
?>

El resultado del ejemplo seria:

Your terminal size is: 138x47

Anterior | Inicio | Siguiente
newt_form | Subir | newt_grid_add_components_to_form


newt_grid_add_components_to_form

(PECL)

newt_grid_add_components_to_form --

Descripción

void newt_grid_add_components_to_form ( resource grid, resource form, bool recurse )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

form

Its description

recurse

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_get_screen_size | Subir | newt_grid_basic_window


newt_grid_basic_window

(PECL)

newt_grid_basic_window --

Descripción

resource newt_grid_basic_window ( resource text, resource middle, resource buttons )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

text

Its description

middle

Its description

buttons

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_add_components_to_form | Subir | newt_grid_free


newt_grid_free

(PECL)

newt_grid_free --

Descripción

void newt_grid_free ( resource grid, bool recurse )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

recurse

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_basic_window | Subir | newt_grid_get_size


newt_grid_get_size

(PECL)

newt_grid_get_size --

Descripción

void newt_grid_get_size ( resouce grid, int &width, int &height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

width

Its description

height

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_free | Subir | newt_grid_h_close_stacked


newt_grid_h_close_stacked

(PECL)

newt_grid_h_close_stacked --

Descripción

resource newt_grid_h_close_stacked ( int element1_type, resource element1 [, int ... [, resource ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

element1_type

Its description

element1

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_get_size | Subir | newt_grid_h_stacked


newt_grid_h_stacked

(PECL)

newt_grid_h_stacked --

Descripción

resource newt_grid_h_stacked ( int element1_type, resource element1 [, int ... [, resource ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

element1_type

Its description

element1

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_h_close_stacked | Subir | newt_grid_place


newt_grid_place

(PECL)

newt_grid_place --

Descripción

void newt_grid_place ( resource grid, int left, int top )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

left

Its description

top

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_h_stacked | Subir | newt_grid_set_field


newt_grid_set_field

(PECL)

newt_grid_set_field --

Descripción

void newt_grid_set_field ( resource grid, int col, int row, int type, resource val, int pad_left, int pad_top, int pad_right, int pad_bottom, int anchor [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

col

Its description

row

Its description

type

Its description

val

Its description

pad_left

Its description

pad_top

Its description

pad_right

Its description

pad_bottom

Its description

anchor

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_place | Subir | newt_grid_simple_window


newt_grid_simple_window

(PECL)

newt_grid_simple_window --

Descripción

resource newt_grid_simple_window ( resource text, resource middle, resource buttons )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

text

Its description

middle

Its description

buttons

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_set_field | Subir | newt_grid_v_close_stacked


newt_grid_v_close_stacked

(PECL)

newt_grid_v_close_stacked --

Descripción

resource newt_grid_v_close_stacked ( int element1_type, resource element1 [, int ... [, resource ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

element1_type

Its description

element1

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_simple_window | Subir | newt_grid_v_stacked


newt_grid_v_stacked

(PECL)

newt_grid_v_stacked --

Descripción

resource newt_grid_v_stacked ( int element1_type, resource element1 [, int ... [, resource ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

element1_type

Its description

element1

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_v_close_stacked | Subir | newt_grid_wrapped_window_at


newt_grid_wrapped_window

(PECL)

newt_grid_wrapped_window --

Descripción

void newt_grid_wrapped_window ( resource grid, string title )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

title

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_wrapped_window_at | Subir | newt_init


newt_grid_wrapped_window_at

(PECL)

newt_grid_wrapped_window_at --

Descripción

void newt_grid_wrapped_window_at ( resource grid, string title, int left, int top )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

grid

Its description

title

Its description

left

Its description

top

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_grid_v_stacked | Subir | newt_grid_wrapped_window


newt_init

(PECL)

newt_init -- Initialize newt

Descripción

int newt_init ( void )

Initializes the newt interface. This function must be called before any other newt function.

Valores retornados

Returns 1 on success, 0 on failure.

Ver también

newt_finished()

Anterior | Inicio | Siguiente
newt_grid_wrapped_window | Subir | newt_label_set_text


newt_label

(PECL)

newt_label --

Descripción

resource newt_label ( int left, int top, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_label_set_text | Subir | newt_listbox_append_entry


newt_label_set_text

(PECL)

newt_label_set_text --

Descripción

void newt_label_set_text ( resource label, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

label

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_init | Subir | newt_label


newt_listbox

(PECL)

newt_listbox --

Descripción

resource newt_listbox ( int left, int top, int height [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

height

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_set_width | Subir | newt_listitem_get_data


newt_listbox_append_entry

(PECL)

newt_listbox_append_entry --

Descripción

void newt_listbox_append_entry ( resource listbox, string text, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

text

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_label | Subir | newt_listbox_clear_selection


newt_listbox_clear

(PECL)

newt_listbox_clear --

Descripción

void newt_listbox_clear ( resource listobx )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listobx

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_clear_selection | Subir | newt_listbox_delete_entry


newt_listbox_clear_selection

(PECL)

newt_listbox_clear_selection --

Descripción

void newt_listbox_clear_selection ( resource listbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_append_entry | Subir | newt_listbox_clear


newt_listbox_delete_entry

(PECL)

newt_listbox_delete_entry --

Descripción

void newt_listbox_delete_entry ( resource listbox, mixed key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

key

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_clear | Subir | newt_listbox_get_current


newt_listbox_get_current

(PECL)

newt_listbox_get_current --

Descripción

string newt_listbox_get_current ( resource listbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_delete_entry | Subir | newt_listbox_get_selection


newt_listbox_get_selection

(PECL)

newt_listbox_get_selection --

Descripción

array newt_listbox_get_selection ( resource listbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_get_current | Subir | newt_listbox_insert_entry


newt_listbox_insert_entry

(PECL)

newt_listbox_insert_entry --

Descripción

void newt_listbox_insert_entry ( resource listbox, string text, mixed data, mixed key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

text

Its description

data

Its description

key

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_get_selection | Subir | newt_listbox_item_count


newt_listbox_item_count

(PECL)

newt_listbox_item_count --

Descripción

int newt_listbox_item_count ( resource listbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_insert_entry | Subir | newt_listbox_select_item


newt_listbox_select_item

(PECL)

newt_listbox_select_item --

Descripción

void newt_listbox_select_item ( resource listbox, mixed key, int sense )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

key

Its description

sense

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_item_count | Subir | newt_listbox_set_current_by_key


newt_listbox_set_current

(PECL)

newt_listbox_set_current --

Descripción

void newt_listbox_set_current ( resource listbox, int num )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

num

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_set_current_by_key | Subir | newt_listbox_set_data


newt_listbox_set_current_by_key

(PECL)

newt_listbox_set_current_by_key --

Descripción

void newt_listbox_set_current_by_key ( resource listbox, mixed key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

key

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_select_item | Subir | newt_listbox_set_current


newt_listbox_set_data

(PECL)

newt_listbox_set_data --

Descripción

void newt_listbox_set_data ( resource listbox, int num, mixed data )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

num

Its description

data

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_set_current | Subir | newt_listbox_set_entry


newt_listbox_set_entry

(PECL)

newt_listbox_set_entry --

Descripción

void newt_listbox_set_entry ( resource listbox, int num, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

num

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_set_data | Subir | newt_listbox_set_width


newt_listbox_set_width

(PECL)

newt_listbox_set_width --

Descripción

void newt_listbox_set_width ( resource listbox, int width )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

listbox

Its description

width

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox_set_entry | Subir | newt_listbox


newt_listitem

(PECL)

newt_listitem --

Descripción

resource newt_listitem ( int left, int top, string text, bool is_default, resouce prev_item, mixed data [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

text

Its description

is_default

Its description

prev_item

Its description

data

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listitem_set | Subir | newt_open_window


newt_listitem_get_data

(PECL)

newt_listitem_get_data --

Descripción

mixed newt_listitem_get_data ( resource item )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

item

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listbox | Subir | newt_listitem_set


newt_listitem_set

(PECL)

newt_listitem_set --

Descripción

void newt_listitem_set ( resource item, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

item

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_listitem_get_data | Subir | newt_listitem


newt_open_window

(PECL)

newt_open_window -- Open a window of the specified size and position

Descripción

int newt_open_window ( int left, int top, int width, int height [, string title] )

Open a window of the specified size and position.

Lista de parámetros

left

Location of the upper left-hand corner of the window (column number)

top

Location of the upper left-hand corner of the window (row number)

width

Window width

height

Window height

title

Window title

Valores retornados

Returns 1 on success, 0 on failure.

Ver también

newt_pop_window()
newt_centered_window()

Anterior | Inicio | Siguiente
newt_listitem | Subir | newt_pop_help_line


newt_pop_help_line

(PECL)

newt_pop_help_line -- Replaces the current help line with the one from the stack

Descripción

void newt_pop_help_line ( void )

Replaces the current help line with the one from the stack.

Nota: It's important not to call to newt_pop_help_line() more than newt_push_help_line().

Ver también

newt_push_help_line()

Anterior | Inicio | Siguiente
newt_open_window | Subir | newt_pop_window


newt_pop_window

(PECL)

newt_pop_window -- Removes the top window from the display

Descripción

void newt_pop_window ( void )

Removes the top window from the display, and redraws the display areas which the window overwrote.

Ver también

newt_open_window()
newt_centered_window()

Anterior | Inicio | Siguiente
newt_pop_help_line | Subir | newt_push_help_line


newt_push_help_line

(PECL)

newt_push_help_line -- Saves the current help line on a stack, and displays the new line

Descripción

void newt_push_help_line ( [string text] )

Saves the current help line on a stack, and displays the new line.

Lista de parámetros

text

New help text message

Nota: If not specified, the help line is cleared.

Ver también

newt_pop_help_line()

Anterior | Inicio | Siguiente
newt_pop_window | Subir | newt_radio_get_current


newt_radio_get_current

(PECL)

newt_radio_get_current --

Descripción

resource newt_radio_get_current ( resource set_member )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

set_member

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_push_help_line | Subir | newt_radiobutton


newt_radiobutton

(PECL)

newt_radiobutton --

Descripción

resource newt_radiobutton ( int left, int top, string text, bool is_default [, resource prev_button] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

text

Its description

is_default

Its description

prev_button

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_radio_get_current | Subir | newt_redraw_help_line


newt_redraw_help_line

(PECL)

newt_redraw_help_line --

Descripción

void newt_redraw_help_line ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_radiobutton | Subir | newt_reflow_text


newt_reflow_text

(PECL)

newt_reflow_text --

Descripción

string newt_reflow_text ( string text, int width, int flex_down, int flex_up, int &actual_width, int &actual_height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

text

Its description

width

Its description

flex_down

Its description

flex_up

Its description

actual_width

Its description

actual_height

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_redraw_help_line | Subir | newt_refresh


newt_refresh

(PECL)

newt_refresh -- Updates modified portions of the screen

Descripción

void newt_refresh ( void )

To increase performance, newt only updates the display when it needs to, not when the program tells it to write to the terminal. Applications can force newt to immediately update modified portions of the screen by calling this function.

Anterior | Inicio | Siguiente
newt_reflow_text | Subir | newt_resize_screen


newt_resize_screen

(PECL)

newt_resize_screen --

Descripción

void newt_resize_screen ( [bool redraw] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

redraw

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_refresh | Subir | newt_resume


newt_resume

(PECL)

newt_resume -- Resume using the newt interface after calling newt_suspend()

Descripción

void newt_resume ( void )

Resume using the newt interface after calling newt_suspend().

Ver también

newt_suspend()

Anterior | Inicio | Siguiente
newt_resize_screen | Subir | newt_run_form


newt_run_form

(PECL)

newt_run_form -- Runs a form

Descripción

resource newt_run_form ( resource form )

This function runs the form passed to it.

Lista de parámetros

form

Form component

Valores retornados

The component which caused the form to stop running.

Nota: Notice that this function doesn't fit in with newt's normal naming convention. It is an older interface which will not work for all forms. It was left in newt only for legacy applications. It is a simpler interface than the new newt_form_run() though, and is still used quite often as a result. When an application is done with a form, it destroys the form and all of the components the form contains.

Ver también

newt_form_run()
newt_form_destroy()

Anterior | Inicio | Siguiente
newt_resume | Subir | newt_scale_set


newt_scale

(PECL)

newt_scale --

Descripción

resource newt_scale ( int left, int top, int width, int full_value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

width

Its description

full_value

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_scale_set | Subir | newt_scrollbar_set


newt_scale_set

(PECL)

newt_scale_set --

Descripción

void newt_scale_set ( resource scale, int amount )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

scale

Its description

amount

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_run_form | Subir | newt_scale


newt_scrollbar_set

(PECL)

newt_scrollbar_set --

Descripción

void newt_scrollbar_set ( resource scrollbar, int where, int total )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

scrollbar

Its description

where

Its description

total

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_scale | Subir | newt_set_help_callback


newt_set_help_callback

(PECL)

newt_set_help_callback --

Descripción

void newt_set_help_callback ( mixed function )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

function

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_scrollbar_set | Subir | newt_set_suspend_callback


newt_set_suspend_callback

(PECL)

newt_set_suspend_callback -- Set a callback function which gets invoked when user presses the suspend key

Descripción

void newt_set_suspend_callback ( callback function, mixed data )

Set a callback function which gets invoked when user presses the suspend key (normally ^Z). If no suspend callback is registered, the suspend keystroke is ignored.

Lista de parámetros

function

A callback function, which accepts one argument: data

data

This data is been passed to the callback function

Ver también

newt_suspend()
newt_resume()

Anterior | Inicio | Siguiente
newt_set_help_callback | Subir | newt_suspend


newt_suspend

(PECL)

newt_suspend -- Tells newt to return the terminal to its initial state

Descripción

void newt_suspend ( void )

Tells newt to return the terminal to its initial state. Once this is done, the application can suspend itself (by sending itself a SIGTSTP, fork a child program, or do whatever else it likes).

Ver también

newt_resume()

Anterior | Inicio | Siguiente
newt_set_suspend_callback | Subir | newt_textbox_get_num_lines


newt_textbox

(PECL)

newt_textbox --

Descripción

resource newt_textbox ( int left, int top, int width, int height [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

width

Its description

height

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_textbox_set_text | Subir | newt_vertical_scrollbar


newt_textbox_get_num_lines

(PECL)

newt_textbox_get_num_lines --

Descripción

int newt_textbox_get_num_lines ( resource textbox )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

textbox

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_suspend | Subir | newt_textbox_reflowed


newt_textbox_reflowed

(PECL)

newt_textbox_reflowed --

Descripción

resource newt_textbox_reflowed ( int left, int top, char *text, int width, int flex_down, int flex_up [, int flags] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

*text

Its description

width

Its description

flex_down

Its description

flex_up

Its description

flags

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_textbox_get_num_lines | Subir | newt_textbox_set_height


newt_textbox_set_height

(PECL)

newt_textbox_set_height --

Descripción

void newt_textbox_set_height ( resource textbox, int height )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

textbox

Its description

height

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_textbox_reflowed | Subir | newt_textbox_set_text


newt_textbox_set_text

(PECL)

newt_textbox_set_text --

Descripción

void newt_textbox_set_text ( resource textbox, string text )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

textbox

Its description

text

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_textbox_set_height | Subir | newt_textbox


newt_vertical_scrollbar

(PECL)

newt_vertical_scrollbar --

Descripción

resource newt_vertical_scrollbar ( int left, int top, int height [, int normal_colorset [, int thumb_colorset]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

left

Its description

top

Its description

height

Its description

normal_colorset

Its description

thumb_colorset

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_textbox | Subir | newt_wait_for_key


newt_wait_for_key

(PECL)

newt_wait_for_key -- Doesn't return until a key has been pressed

Descripción

void newt_wait_for_key ( void )

This function doesn't return until a key has been pressed. The keystroke is then ignored. If a key is already in the terminal's buffer, this function discards a keystroke and returns immediately.

Ver también

newt_clear_key_buffer()

Anterior | Inicio | Siguiente
newt_vertical_scrollbar | Subir | newt_win_choice


newt_win_choice

(PECL)

newt_win_choice --

Descripción

int newt_win_choice ( string title, string button1_text, string button2_text, string format [, mixed args [, mixed ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

title

Its description

button1_text

Its description

button2_text

Its description

format

Its description

args

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_wait_for_key | Subir | newt_win_entries


newt_win_entries

(PECL)

newt_win_entries --

Descripción

int newt_win_entries ( string title, string text, int suggested_width, int flex_down, int flex_up, int data_width, array &items, string button1 [, string ...] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

title

Its description

text

Its description

suggested_width

Its description

flex_down

Its description

flex_up

Its description

data_width

Its description

items

Its description

button1

Its description

button2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_win_choice | Subir | newt_win_menu


newt_win_menu

(PECL)

newt_win_menu --

Descripción

int newt_win_menu ( string title, string text, int suggestedWidth, int flexDown, int flexUp, int maxListHeight, array items, int &listItem [, string button1 [, string ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

title

Its description

text

Its description

suggestedWidth

Its description

flexDown

Its description

flexUp

Its description

maxListHeight

Its description

items

Its description

listItem

Its description

button1

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_win_entries | Subir | newt_win_message


newt_win_message

(PECL)

newt_win_message --

Descripción

void newt_win_message ( string title, string button_text, string format [, mixed args [, mixed ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

title

Its description

button_text

Its description

format

Its description

args

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_win_menu | Subir | newt_win_messagev


newt_win_messagev

(PECL)

newt_win_messagev --

Descripción

void newt_win_messagev ( string title, string button_text, string format, array args )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

title

Its description

button_text

Its description

format

Its description

args

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_win_message | Subir | newt_win_ternary


newt_win_ternary

(PECL)

newt_win_ternary --

Descripción

int newt_win_ternary ( string title, string button1_text, string button2_text, string button3_text, string format [, mixed args [, mixed ...]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

title

Its description

button1_text

Its description

button2_text

Its description

button3_text

Its description

format

Its description

args

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
newt_win_messagev | Subir | NSAPI-specific Functions


ob_deflatehandler

(no version information, might be only in CVS)

ob_deflatehandler -- Deflate output handler

Descripción

string ob_deflatehandler ( string data, int mode )

For use with ob_start().

The deflate output buffer handler can only be used once.

It conflicts with ob_gzhandler and zlib.output_compression as well and should not be used after ext/mbstrings mb_output_handler and ext/sessions URL-Rewriter (AKA session.use_trans_sid).

Anterior | Inicio | Siguiente
http_negotiate_language | Subir | ob_etaghandler


ob_etaghandler

(PECL)

ob_etaghandler -- ETag output handler

Descripción

string ob_etaghandler ( string data, int mode )

For use with ob_start().

Output buffer handler generating an ETag with the hash algorithm specified with the INI setting http.etag.mode.

This output handler is used by http_cache_etag().

Anterior | Inicio | Siguiente
ob_deflatehandler | Subir | ob_inflatehandler


ob_inflatehandler

(no version information, might be only in CVS)

ob_inflatehandler -- Inflate output handler

Descripción

string ob_inflatehandler ( string data, int mode )

For use with ob_start().

Same restrictions as with ob_deflatehandler() apply.

Anterior | Inicio | Siguiente
ob_etaghandler | Subir | http_parse_cookie


oci_bind_array_by_name

(no version information, might be only in CVS)

oci_bind_array_by_name -- Binds PHP array to Oracle PL/SQL array by name

Descripción

bool oci_bind_array_by_name ( resource statement, string name, array &var_array, int max_table_length [, int max_item_length [, int type]] )

Binds the PHP array var_array to the Oracle placeholder name, which points to Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time.

Lista de parámetros

statement

A valid OCI statement identifier.

name

The Oracle placeholder.

var_array

An array.

max_table_length

Sets the maximum length both for incoming and result arrays.

max_item_length

Sets maximum length for array items. If not specified or equals to -1, oci_bind_array_by_name() will use find the longest element in the incoming array and will use it as maximum length for array items.

type

Should be used to set the type of PL/SQL array items. See list of available types below:

  • SQLT_NUM - for arrays of NUMBER.

  • SQLT_INT - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM type won't work in this case even though they are synonyms).

  • SQLT_FLT - for arrays of FLOAT.

  • SQLT_AFC - for arrays of CHAR.

  • SQLT_CHR - for arrays of VARCHAR2.

  • SQLT_VCS - for arrays of VARCHAR.

  • SQLT_AVC - for arrays of CHARZ.

  • SQLT_STR - for arrays of STRING.

  • SQLT_LVC - for arrays of LONG VARCHAR.

  • SQLT_ODT - for arrays of DATE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. oci_bind_array_by_name()example

<?php

$c = oci_connect("scott", "tiger");

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$statement = oci_parse($c, $create);
oci_execute($statement);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg);
oci_execute($statement);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_example;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    FOR i IN 1..5 LOOP
      INSERT INTO bind_example VALUES (c1(i));
    END LOOP;
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg_body);
oci_execute($statement);

$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");

$array = array("one", "two", "three", "four", "five");

oci_bind_array_by_name($statement, ":c1", $array, 5, -1, SQLT_CHR);

oci_execute($statement);

var_dump($array);

?>

Notes

Nota: This function is available since OCI8 release 1.2.

Anterior | Inicio | Siguiente
Funciones de Oracle | Subir | oci_bind_by_name


OCI-Collection->assignElem

(no version information, might be only in CVS)

OCI-Collection->assignElem -- Assigns a value to the element of the collection

Descripción

class OCI-Collection {

bool assignElem ( int index, mixed value )

}

Assigns a value to the element with index index.

Lista de parámetros

index

The element index. First index is 1.

value

Can be a string or a number.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Collection->getElem

Anterior | Inicio | Siguiente
OCI-Collection->assign | Subir | OCI-Collection->free


OCI-Collection->getElem

(no version information, might be only in CVS)

OCI-Collection->getElem -- Returns value of the element

Descripción

class OCI-Collection {

mixed getElem ( int index )

}

Returns element's value with the index index (1-based).

Lista de parámetros

index

The element index. First index is 1.

Valores retornados

Returns FALSE if such element doesn't exist; NULL if element is NULL; string if element is column of a string datatype or number if element is numeric field.

Ver también

OCI-Collection->assignElem

Anterior | Inicio | Siguiente
OCI-Collection->free | Subir | OCI-Collection->max


OCI-Lob->free

(no version information, might be only in CVS)

OCI-Lob->free -- Frees resources associated with the LOB descriptor

Descripción

class OCI-Lob {

bool free ( void )

}

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
OCI-Lob->flush | Subir | OCI-Lob->getBuffering


OCI-Lob->getBuffering

(no version information, might be only in CVS)

OCI-Lob->getBuffering -- Returns current state of buffering for the large object

Descripción

class OCI-Lob {

bool getBuffering ( void )

}

Tells whether the buffering for the large object is on or off.

Valores retornados

Returns FALSE if buffering for the large object is off and TRUE if buffering is used.

Ver también

OCI-Lob->setBuffering

Anterior | Inicio | Siguiente
OCI-Lob->free | Subir | OCI-Lob->import


OCI-Lob->saveFile

(no version information, might be only in CVS)

OCI-Lob->saveFile -- Alias of oci_lob_import()

Descripción

This function is an alias of: oci_lob_import().

Anterior | Inicio | Siguiente
OCI-Lob->save | Subir | OCI-Lob->seek


OCI-Lob->setBuffering

(no version information, might be only in CVS)

OCI-Lob->setBuffering -- Changes current state of buffering for the large object

Descripción

class OCI-Lob {

bool setBuffering ( bool on_off )

}

Sets the buffering for the large object, depending on the value of the on_off parameter.

Use of this function may provide performance improvements by buffering small reads and writes of LOBs by reducing the number of network round-trips and LOB versions. oci_lob_flush() should be used to flush buffers, when you have finished working with the large object.

Lista de parámetros

on_off

TRUE for on and FALSE for off.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Repeated calls to this method with the same flag will return TRUE.

Ver también

OCI-Lob->getBuffering

Anterior | Inicio | Siguiente
OCI-Lob->seek | Subir | OCI-Lob->size


OCI-Lob->writeTemporary

(no version information, might be only in CVS)

OCI-Lob->writeTemporary -- Writes temporary large object

Descripción

class OCI-Lob {

bool writeTemporary ( string data [, int lob_type] )

}

Creates a temporary large object and writes data to it.

You should use OCI-Lob->close when you are done with this object.

Lista de parámetros

data

The data to write.

lob_type

Can be one of the following:

OCI_TEMP_BLOB is used to create temporary BLOBs
OCI_TEMP_CLOB (default value) is used to create temporary CLOBs

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

OCI-Lob->close

Anterior | Inicio | Siguiente
OCI-Lob->write | Subir | OCI-Lob->writeToFile


OCI-Lob->writeToFile

(no version information, might be only in CVS)

OCI-Lob->writeToFile -- Alias of oci_lob_export()

Descripción

This function is an alias of: oci_lob_export().

Anterior | Inicio | Siguiente
OCI-Lob->writeTemporary | Subir | oci_new_collection


openssl_csr_get_public_key

(no version information, might be only in CVS)

openssl_csr_get_public_key -- Returns the public key of a CERT

Descripción

mixed openssl_csr_get_public_key ( mixed csr, bool use_shortnames )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
openssl_csr_export | Subir | openssl_csr_get_subject


openssl_csr_get_subject

(no version information, might be only in CVS)

openssl_csr_get_subject -- Returns the subject of a CERT

Descripción

mixed openssl_csr_get_subject ( mixed csr, bool use_shortnames )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
openssl_csr_get_public_key | Subir | openssl_csr_new


openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_free -- Frees a private key

Description

void openssl_pkey_free ( resource key )

This function frees a private key created by openssl_pkey_new().

Anterior | Inicio | Siguiente
openssl_pkey_export | Subir | openssl_pkey_get_details


openssl_pkey_get_details

(no version information, might be only in CVS)

openssl_pkey_get_details -- Returns an array with the key details (bits, pkey, type)

Descripción

resource openssl_pkey_get_details ( resource key )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
openssl_pkey_free | Subir | openssl_pkey_get_private


OrbitEnum

(no version information, might be only in CVS)

OrbitEnum -- Use CORBA enums

Descripción

new OrbitEnum ( string id )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This class represents the enumeration identified with the id parameter.

Lista de parámetros

id

Can be either the name of the enumeration (e.g "MyEnum"), or the full repository id (e.g. "IDL:MyEnum:1.0").

Ejemplos

Ejemplo 1. Sample IDL file

enum MyEnum {
    a,b,c,d,e
};

Ejemplo 2. PHP code for accessing MyEnum

<?php
$enum = new OrbitEnum ("MyEnum");

echo $enum->a;    /* write 0 */
echo $enum->c;    /* write 2 */
echo $enum->e;    /* write 4 */
?>

Anterior | Inicio | Siguiente
Satellite CORBA client extension [deprecated] | Subir | OrbitObject


OrbitObject

(no version information, might be only in CVS)

OrbitObject -- Access CORBA objects

Descripción

new OrbitObject ( string ior )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This class provides access to a CORBA object.

Lista de parámetros

ior

Should be a string containing the IOR (Interoperable Object Reference) that identifies the remote object.

Ejemplos

Ejemplo 1. Sample IDL file

interface MyInterface {
    void SetInfo (string info);
    string GetInfo();

    attribute int value;
}

Ejemplo 2. PHP code for accessing MyInterface

<?php
$obj = new OrbitObject ($ior);

$obj->SetInfo ("A 2GooD object");

echo $obj->GetInfo();

$obj->value = 42;

echo $obj->value;
?>

Anterior | Inicio | Siguiente
OrbitEnum | Subir | OrbitStruct


OrbitStruct

(no version information, might be only in CVS)

OrbitStruct -- Use CORBA structs

Descripción

new OrbitStruct ( string id )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This class represents the structure identified with the id parameter.

Lista de parámetros

id

Can be either the name of the struct (e.g "MyStruct"), or the full repository id (e.g. "IDL:MyStruct:1.0").

Ejemplos

Ejemplo 1. Sample IDL file

struct MyStruct {
    short shortvalue;
    string stringvalue;
};

interface SomeInterface {
  void SetValues (MyStruct values);
  MyStruct GetValues();
}

Ejemplo 2. PHP code for accessing MyStruct

<?php
$obj = new OrbitObject ($ior);

$initial_values = new OrbitStruct ("IDL:MyStruct:1.0");
$initial_values->shortvalue = 42;
$initial_values->stringvalue = "HGTTG";

$obj->SetValues ($initial_values);

$values = $obj->GetValues();

echo $values->shortvalue;
echo $values->stringvalue;
?>

Anterior | Inicio | Siguiente
OrbitObject | Subir | satellite_caught_exception


PDF_activate_item

(PECL)

PDF_activate_item -- Activate structure element or other content item

Descripción

bool PDF_activate_item ( resource pdfdoc, int id )

Activates a previously created structure element or other content item. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
Funciones PDF | Subir | pdf_add_annotation


PDF_add_nameddest

(PECL)

PDF_add_nameddest -- Create named destination

Descripción

bool PDF_add_nameddest ( resource pdfdoc, string name, string optlist )

Creates a named destination on an arbitrary page in the current document. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_add_locallink | Subir | PDF_add_note


PDF_begin_document

(PECL)

PDF_begin_document -- Create new PDF file

Descripción

int PDF_begin_document ( resource pdfdoc, string filename, string optlist )

Creates a new PDF file subject to various options.

Anterior | Inicio | Siguiente
PDF_attach_file | Subir | PDF_begin_font


PDF_begin_font

(PECL)

PDF_begin_font -- Start a Type 3 font definition

Descripción

bool PDF_begin_font ( resource pdfdoc, string filename, float a, float b, float c, float d, float e, float f, string optlist )

Starts a Type 3 font definition.

Anterior | Inicio | Siguiente
PDF_begin_document | Subir | PDF_begin_glyph


PDF_begin_glyph

(PECL)

PDF_begin_glyph -- Start glyph definition for Type 3 font

Descripción

bool PDF_begin_glyph ( resource pdfdoc, string glyphname, float wx, float llx, float lly, float urx, float ury )

Starts a glyph definition for a Type 3 font.

Anterior | Inicio | Siguiente
PDF_begin_font | Subir | PDF_begin_item


PDF_begin_item

(PECL)

PDF_begin_item -- Open structure element or other content item

Descripción

int PDF_begin_item ( resource pdfdoc, string tag, string optlist )

Opens a structure element or other content item with attributes supplied as options.

Anterior | Inicio | Siguiente
PDF_begin_glyph | Subir | PDF_begin_layer


PDF_begin_layer

(PECL)

PDF_begin_layer -- Start layer

Descripción

bool PDF_begin_layer ( resource pdfdoc, int layer )

Starts a layer for subsequent output on the page. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function requires PDF 1.5.

Anterior | Inicio | Siguiente
PDF_begin_item | Subir | PDF_begin_page_ext


PDF_begin_page_ext

(PECL)

PDF_begin_page_ext -- Start new page

Descripción

bool PDF_begin_page_ext ( resource pdfdoc, float width, float height, string optlist )

Adds a new page to the document, and specifies various options. The parameters width and height are the dimensions of the new page in points. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Tabla 1. Common Page Sizes in Points

name | size
A0 | 2380?3368
A1 | 1684?2380
A2 | 1190?1684
A3 | 842?1190
A4 | 595?842
A5 | 421?595
A6 | 297?421
B5 | 501?709
letter (8.5"?11") | 612?792
legal (8.5"?14") | 612?1008
ledger (17"?11") | 1224?792
11"?17" | 792?1224

Anterior | Inicio | Siguiente
PDF_begin_layer | Subir | PDF_begin_page


PDF_create_action

(PECL)

PDF_create_action -- Create action for objects or events

Descripción

int PDF_create_action ( resource pdfdoc, string type, string optlist )

Creates an action which can be applied to various objects and events.

Anterior | Inicio | Siguiente
PDF_continue_text | Subir | PDF_create_annotation


PDF_create_annotation

(PECL)

PDF_create_annotation -- Create rectangular annotation

Descripción

bool PDF_create_annotation ( resource pdfdoc, float llx, float lly, float urx, float ury, string type, string optlist )

Creates a rectangular annotation on the current page.

Anterior | Inicio | Siguiente
PDF_create_action | Subir | PDF_create_bookmark


PDF_create_bookmark

(PECL)

PDF_create_bookmark -- Create bookmark

Descripción

int PDF_create_bookmark ( resource pdfdoc, string text, string optlist )

Creates a bookmark subject to various options.

Anterior | Inicio | Siguiente
PDF_create_annotation | Subir | PDF_create_field


PDF_create_field

(PECL)

PDF_create_field -- Create form field

Descripción

bool PDF_create_field ( resource pdfdoc, float llx, float lly, float urx, float ury, string name, string type, string optlist )

Creates a form field on the current page subject to various options.

Anterior | Inicio | Siguiente
PDF_create_bookmark | Subir | PDF_create_fieldgroup


PDF_create_fieldgroup

(PECL)

PDF_create_fieldgroup -- Create form field group

Descripción

bool PDF_create_fieldgroup ( resource pdfdoc, string name, string optlist )

Creates a form field group subject to various options.

Anterior | Inicio | Siguiente
PDF_create_field | Subir | PDF_create_gstate


PDF_create_gstate

(PECL)

PDF_create_gstate -- Create graphics state object

Descripción

int PDF_create_gstate ( resource pdfdoc, string optlist )

Creates a graphics state object subject to various options.

Anterior | Inicio | Siguiente
PDF_create_fieldgroup | Subir | PDF_create_pvf


PDF_create_pvf

(PECL)

PDF_create_pvf -- Create PDFlib virtual file

Descripción

bool PDF_create_pvf ( resource pdfdoc, string filename, string data, string optlist )

Creates a named virtual read-only file from data provided in memory.

Anterior | Inicio | Siguiente
PDF_create_gstate | Subir | PDF_create_textflow


PDF_create_textflow

(PECL)

PDF_create_textflow -- Create textflow object

Descripción

int PDF_create_textflow ( resource pdfdoc, string text, string optlist )

Preprocesses text for later formatting and creates a textflow object.

Anterior | Inicio | Siguiente
PDF_create_pvf | Subir | PDF_curveto


PDF_define_layer

(PECL)

PDF_define_layer -- Create layer definition

Descripción

int PDF_define_layer ( resource pdfdoc, string name, string optlist )

Creates a new layer definition.

This function requires PDF 1.5.

Anterior | Inicio | Siguiente
PDF_curveto | Subir | PDF_delete_pvf


PDF_delete_pvf

(PECL)

PDF_delete_pvf -- Delete PDFlib virtual file

Descripción

int PDF_delete_pvf ( resource pdfdoc, string filename )

Deletes a named virtual file and frees its data structures (but not the contents).

Anterior | Inicio | Siguiente
PDF_define_layer | Subir | PDF_delete_textflow


PDF_delete_textflow

(PECL)

PDF_delete_textflow -- Delete textflow object

Descripción

bool PDF_delete_textflow ( resource pdfdoc, int textflow )

Deletes a textflow and the associated data structures.

Anterior | Inicio | Siguiente
PDF_delete_pvf | Subir | PDF_delete


PDF_encoding_set_char

(PECL)

PDF_encoding_set_char -- Add glyph name and/or Unicode value

Descripción

bool PDF_encoding_set_char ( resource pdfdoc, string encoding, int slot, string glyphname, int uv )

Adds a glyph name and/or Unicode value to a custom encoding.

Anterior | Inicio | Siguiente
PDF_delete | Subir | PDF_end_document


PDF_end_document

(PECL)

PDF_end_document -- Close PDF file

Descripción

bool PDF_end_document ( resource pdfdoc, string optlist )

Closes the generated PDF file and applies various options.

Anterior | Inicio | Siguiente
PDF_encoding_set_char | Subir | PDF_end_font


PDF_end_font

(PECL)

PDF_end_font -- Terminate Type 3 font definition

Descripción

bool PDF_end_font ( resource pdfdoc )

Terminates a Type 3 font definition.

Anterior | Inicio | Siguiente
PDF_end_document | Subir | PDF_end_glyph


PDF_end_glyph

(PECL)

PDF_end_glyph -- Terminate glyph definition for Type 3 font

Descripción

bool PDF_end_glyph ( resource pdfdoc )

Terminates a glyph definition for a Type 3 font.

Anterior | Inicio | Siguiente
PDF_end_font | Subir | PDF_end_item


PDF_end_item

(PECL)

PDF_end_item -- Close structure element or other content item

Descripción

bool PDF_end_item ( resource pdfdoc, int id )

Closes a structure element or other content item.

Anterior | Inicio | Siguiente
PDF_end_glyph | Subir | PDF_end_layer


PDF_end_layer

(PECL)

PDF_end_layer -- Deactivate all active layers

Descripción

bool PDF_end_layer ( resource pdfdoc )

Deactivates all active layers. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function requires PDF 1.5.

Anterior | Inicio | Siguiente
PDF_end_item | Subir | PDF_end_page_ext


PDF_end_page_ext

(PECL)

PDF_end_page_ext -- Finish page

Descripción

bool PDF_end_page_ext ( resource pdfdoc, string optlist )

Finishes a page, and applies various options. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_end_layer | Subir | PDF_end_page


PDF_fill_imageblock

(PECL)

PDF_fill_imageblock -- Fill image block with variable data

Descripción

int PDF_fill_imageblock ( resource pdfdoc, int page, string blockname, int image, string optlist )

Fills an image block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

Anterior | Inicio | Siguiente
PDF_endpath | Subir | PDF_fill_pdfblock


PDF_fill_pdfblock

(PECL)

PDF_fill_pdfblock -- Fill PDF block with variable data

Descripción

int PDF_fill_pdfblock ( resource pdfdoc, int page, string blockname, int contents, string optlist )

Fills a PDF block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

Anterior | Inicio | Siguiente
PDF_fill_imageblock | Subir | PDF_fill_stroke


PDF_fill_textblock

(PECL)

PDF_fill_textblock -- Fill text block with variable data

Descripción

int PDF_fill_textblock ( resource pdfdoc, int page, string blockname, string text, string optlist )

Fills a text block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

Anterior | Inicio | Siguiente
PDF_fill_stroke | Subir | PDF_fill


PDF_fit_image

(PECL)

PDF_fit_image -- Place image or template

Descripción

bool PDF_fit_image ( resource pdfdoc, int image, float x, float y, string optlist )

Places an image or template on the page, subject to various options. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_findfont | Subir | PDF_fit_pdi_page


PDF_fit_pdi_page

(PECL)

PDF_fit_pdi_page -- Place imported PDF page

Descripción

bool PDF_fit_pdi_page ( resource pdfdoc, int page, float x, float y, string optlist )

Places an imported PDF page on the page, subject to various options. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_fit_image | Subir | PDF_fit_textflow


PDF_fit_textflow

(PECL)

PDF_fit_textflow -- Format textflow in rectangular area

Descripción

string PDF_fit_textflow ( resource pdfdoc, int textflow, float llx, float lly, float urx, float ury, string optlist )

Formats the next portion of a textflow into a rectangular area.

Anterior | Inicio | Siguiente
PDF_fit_pdi_page | Subir | PDF_fit_textline


PDF_fit_textline

(PECL)

PDF_fit_textline -- Place single line of text

Descripción

bool PDF_fit_textline ( resource pdfdoc, string text, float x, float y, string optlist )

Places a single line of text on the page, subject to various options. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_fit_textflow | Subir | PDF_get_apiname


PDF_get_apiname

(PECL)

PDF_get_apiname -- Get name of unsuccessfull API function

Descripción

string PDF_get_apiname ( resource pdfdoc )

Gets the name of the API function which threw the last exception or failed.

Anterior | Inicio | Siguiente
PDF_fit_textline | Subir | PDF_get_buffer


PDF_get_errmsg

(PECL)

PDF_get_errmsg -- Get error text

Descripción

string PDF_get_errmsg ( resource pdfdoc )

Gets the text of the last thrown exception or the reason for a failed function call.

Anterior | Inicio | Siguiente
PDF_get_buffer | Subir | PDF_get_errnum


PDF_get_errnum

(PECL)

PDF_get_errnum -- Get error number

Descripción

int PDF_get_errnum ( resource pdfdoc )

Gets the number of the last thrown exception or the reason for a failed function call.

Anterior | Inicio | Siguiente
PDF_get_errmsg | Subir | PDF_get_font


PDF_info_textflow

(PECL)

PDF_info_textflow -- Query textflow state

Descripción

float PDF_info_textflow ( resource pdfdoc, int textflow, string keyword )

Queries the current state of a textflow.

Anterior | Inicio | Siguiente
PDF_get_value | Subir | PDF_initgraphics


PDF_load_font

(PECL)

PDF_load_font -- Search and prepare font

Descripción

int PDF_load_font ( resource pdfdoc, string fontname, string encoding, string optlist )

Searches for a font and prepares it for later use.

Anterior | Inicio | Siguiente
PDF_lineto | Subir | PDF_load_iccprofile


PDF_load_iccprofile

(PECL)

PDF_load_iccprofile -- Search and prepare ICC profile

Descripción

int PDF_load_iccprofile ( resource pdfdoc, string profilename, string optlist )

Searches for an ICC profile, and prepares it for later use.

Anterior | Inicio | Siguiente
PDF_load_font | Subir | PDF_load_image


PDF_load_image

(PECL)

PDF_load_image -- Open image file

Descripción

int PDF_load_image ( resource pdfdoc, string imagetype, string filename, string optlist )

Opens a disk-based or virtual image file subject to various options.

Anterior | Inicio | Siguiente
PDF_load_iccprofile | Subir | PDF_makespotcolor


PDF_process_pdi

(PECL)

PDF_process_pdi -- Process imported PDF document

Descripción

int PDF_process_pdi ( resource pdfdoc, int doc, int page, string optlist )

Processes certain elements of an imported PDF document.

Anterior | Inicio | Siguiente
PDF_place_pdi_page | Subir | PDF_rect


PDF_resume_page

(PECL)

PDF_resume_page -- Resume page

Descripción

bool PDF_resume_page ( resource pdfdoc, string optlist )

Resumes a page to add more content to it.

Anterior | Inicio | Siguiente
PDF_restore | Subir | PDF_rotate


PDF_set_gstate

(PECL)

PDF_set_gstate -- Activate graphics state object

Descripción

bool PDF_set_gstate ( resource pdfdoc, int gstate )

Activates a graphics state object.

Anterior | Inicio | Siguiente
PDF_set_duration | Subir | PDF_set_horiz_scaling


PDF_set_layer_dependency

(PECL)

PDF_set_layer_dependency -- Define relationships among layers

Descripción

bool PDF_set_layer_dependency ( resource pdfdoc, string type, string optlist )

Defines hierarchical and group relationships among layers. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

This function requires PDF 1.5.

Anterior | Inicio | Siguiente
PDF_set_info | Subir | PDF_set_leading


PDF_setdashpattern

(PECL)

PDF_setdashpattern -- Set dash pattern

Descripción

bool PDF_setdashpattern ( resource pdfdoc, string optlist )

Sets a dash pattern defined by an option list. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
PDF_setdash | Subir | PDF_setflat


PDF_shading

(PECL)

PDF_shading -- Define blend

Descripción

int PDF_shading ( resource pdfdoc, string shtype, float x0, float y0, float x1, float y1, float c1, float c2, float c3, float c4, string optlist )

Defines a blend from the current fill color to another color.

This function requires PDF 1.4 or above.

Anterior | Inicio | Siguiente
PDF_shading_pattern | Subir | PDF_shfill


PDF_shading_pattern

(PECL)

PDF_shading_pattern -- Define shading pattern

Descripción

int PDF_shading_pattern ( resource pdfdoc, int shading, string optlist )

Defines a shading pattern using a shading object.

This function requires PDF 1.4 or above.

Anterior | Inicio | Siguiente
PDF_setrgbcolor | Subir | PDF_shading


PDF_shfill

(PECL)

PDF_shfill -- Fill area with shading

Descripción

bool PDF_shfill ( resource pdfdoc, int shading )

Fills an area with a shading, based on a shading object.

This function requires PDF 1.4 or above.

Anterior | Inicio | Siguiente
PDF_shading | Subir | PDF_show_boxed


PDF_suspend_page

(PECL)

PDF_suspend_page -- Suspend page

Descripción

bool PDF_suspend_page ( resource pdfdoc, string optlist )

Suspends the current page so that it can later be resumed with PDF_resume_page().

Anterior | Inicio | Siguiente
PDF_stroke | Subir | PDF_translate


PDF_utf8_to_utf16

(PECL)

PDF_utf8_to_utf16 -- Convert string from UTF-8 to UTF-16

Descripción

string PDF_utf8_to_utf16 ( resource pdfdoc, string utf8string, string ordering )

Converts a string from UTF-8 format to UTF-16.

Anterior | Inicio | Siguiente
PDF_utf16_to_utf8 | Subir | PDO Functions


PDF_utf16_to_utf8

(PECL)

PDF_utf16_to_utf8 -- Convert string from UTF-16 to UTF-8

Descripción

string PDF_utf16_to_utf8 ( resource pdfdoc, string utf16string )

Converts a string from UTF-16 format to UTF-8.

Anterior | Inicio | Siguiente
PDF_translate | Subir | PDF_utf8_to_utf16


PDO->getAttribute()

(no version information, might be only in CVS)

PDO->getAttribute() -- Retrieve a database connection attribute

Descripción

class PDO {

mixed getAttribute ( int attribute )

}

This function returns the value of a database connection attribute. To retrieve PDOStatement attributes, refer to PDOStatement->getAttribute().

Note that some database/driver combinations may not support all of the database connection attributes.

Lista de parámetros

attribute

One of the PDO::ATTR_* constants. The constants that apply to database connections are as follows:

PDO::ATTR_AUTOCOMMIT
PDO::ATTR_CASE
PDO::ATTR_CLIENT_VERSION
PDO::ATTR_CONNECTION_STATUS
PDO::ATTR_DRIVER_NAME
PDO::ATTR_ERRMODE
PDO::ATTR_ORACLE_NULLS
PDO::ATTR_PERSISTENT
PDO::ATTR_PREFETCH
PDO::ATTR_SERVER_INFO
PDO::ATTR_SERVER_VERSION
PDO::ATTR_TIMEOUT

Valores retornados

A successful call returns the value of the requested PDO attribute. An unsuccessful call returns null.

Ejemplos

Ejemplo 1. Retrieving database connection attributes

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Ver también

PDO->setAttribute()
PDOStatement->getAttribute()
PDOStatement->setAttribute()

Anterior | Inicio | Siguiente
PDO->exec() | Subir | PDO->getAvailableDrivers()


PDO->getAvailableDrivers()

(no version information, might be only in CVS)

PDO->getAvailableDrivers() -- Return an array of available PDO drivers

Descripción

class PDO {

array getAvailableDrivers ( void )

}

This function returns all currently available PDO drivers which can be used in DSN parameter of PDO->__construct(). This is a static method.

Valores retornados

PDO->getAvailableDrivers() returns an array of PDO driver names. If no drivers are available, it returns an empty array.

Ejemplos

Ejemplo 1. A PDO->getAvailableDrivers() example

<?php
print_r(PDO::getAvailableDrivers());
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => mysql
    [1] => sqlite
)

Anterior | Inicio | Siguiente
PDO->getAttribute() | Subir | PDO->lastInsertId()


PDO::pgsqlLOBCreate

(no version information, might be only in CVS)

PDO::pgsqlLOBCreate -- Creates a new large object

Descripción

string PDO::pgsqlLOBCreate ( void )

PDO::pgsqlLOBCreate() creates a large object and returns the OID of that object. You may then open a stream on the object using PDO::pgsqlLOBOpen() to read or write data to it. The OID can be stored in columns of type OID and be used to reference the large object, without causing the row to grow arbitrarily large. The large object will continue to live in the database until it is removed by calling PDO::pgsqlLOBUnlink().

Large objects can be up to 2GB in size, but are cumbersome to use; you need to ensure that PDO::pgsqlLOBUnlink() is called prior to deleting the last row that references its OID from your database. In addition, large objects have no access controls. As an alternative, try the bytea column type; recent versions of PostgreSQL allow bytea columns of up to 1GB in size and transparently manage the storage for optimal row size.

Nota: This function must be called within a transaction.

Lista de parámetros

PDO::pgsqlLOBCreate() takes no parameters.

Valores retornados

Returns the OID of the newly created large object on success, or FALSE on failure.

Ejemplos

Ejemplo 1. A PDO::pgsqlLOBCreate() example

This example creates a new large object and copies the contents of a file into it. The OID is then stored into a table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

Ver también

PDO::pgsqlLOBOpen()
PDO::pgsqlLOBUnlink()
pg_lo_create()

Anterior | Inicio | Siguiente
PDO_PGSQL DSN | Subir | PDO::pgsqlLOBOpen


PDO::pgsqlLOBOpen

(no version information, might be only in CVS)

PDO::pgsqlLOBOpen -- Opens an existing large object stream

Descripción

resource PDO::pgsqlLOBOpen ( string oid [, string mode] )

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

Nota: This function, and all manipulations of the large object, must be called and carried out within a transaction.

Lista de parámetros

oid

A large object identifier.

mode

If mode is r, open the stream for reading. If mode is w, open the stream for writing.

Valores retornados

Returns a stream resource on success, or FALSE on failure.

Ejemplos

Ejemplo 1. A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
fpassthru($lob);
?>

Ver también

PDO::pgsqlLOBCreate()
PDO::pgsqlLOBUnlink()
pg_lo_open()

Anterior | Inicio | Siguiente
PDO::pgsqlLOBCreate | Subir | PDO::pgsqlLOBUnlink


PDO::pgsqlLOBUnlink

(no version information, might be only in CVS)

PDO::pgsqlLOBUnlink -- Deletes the large object

Descripción

bool PDO::pgsqlLOBUnlink ( string oid )

Deletes a large object from the database identified by OID.

Nota: This function must be called within a transaction.

Lista de parámetros

oid

A large object identifier

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A PDO::pgsqlLOBUnlink() example

This example unlinks a large object from the database prior to deleting the row that references it from the blobs table we've been using in our PDO::pgsqlLOBCreate() and PDO::pgsqlLOBOpen() examples.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

Ver también

PDO::pgsqlLOBOpen()
PDO::pgsqlLOBCreate()

Anterior | Inicio | Siguiente
PDO::pgsqlLOBOpen | Subir | Printer Functions


PDO->query()

(no version information, might be only in CVS)

PDO->query() -- Executes an SQL statement, returning a result set as a PDOStatement object

Descripción

class PDO {

PDOStatement query ( string statement )

}class PDO {

bool query ( string statement, int PDO::FETCH_COLUMN, int colno )

}class PDO {

bool query ( string statement, int PDO::FETCH_CLASS, string classname, array ctorargs )

}class PDO {

bool query ( string statement, int PDO::FETCH_INTO, object object )

}

PDO->query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

For a query that you need to issue multiple times, you will realize better performance if you prepare a PDOStatement object using PDO->prepare() and issue the statement with multiple calls to PDOStatement->execute().

If you do not fetch all of the data in a result set before issuing your next call to PDO->query(), your call may fail. Call PDOStatement->closeCursor() to release the database resources associated with the PDOStatement object before issuing your next call to PDO->query().

Nota: Although this function is only documented as having a single parameter, you may pass additional arguments to this function. They will be treated as though you called PDOStatement->setFetchMode() on the resultant statement object.

Lista de parámetros

statement

The SQL statement to prepare and execute.

Valores retornados

PDO->query() returns a PDOStatement object.

Ejemplos

Ejemplo 1. Demonstrate PDO::query

A nice feature of PDO->query() is that it enables you to iterate over the rowset returned by a successfully executed SELECT statement.

<?php
function getFruit($conn) {
    $sql = 'SELECT name, colour, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['NAME'] . "\t";
        print $row['COLOUR'] . "\t";
        print $row['CALORIES'] . "\n";
    }
}
?>

El resultado del ejemplo seria:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Ver también

PDO->exec()
PDO->prepare()
PDOStatement->execute()

Anterior | Inicio | Siguiente
PDO->prepare() | Subir | PDO->quote()


PDO->quote()

(no version information, might be only in CVS)

PDO->quote() -- Quotes a string for use in a query.

Descripción

class PDO {

string quote ( string string [, int parameter_type] )

}

PDO->quote() places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver.

If you are using this function to build SQL statements, you are strongly recommended to use PDO->prepare() to prepare SQL statements with bound parameters instead of using PDO->quote() to interpolate user input into a SQL statement. Prepared statements with bound parameters are not only more portable, more convenient, immune to SQL injection, but are often much faster to execute than interpolated queries, as both the server and client side can cache a compiled form of the query.

Not all PDO drivers implement this method (notably PDO_ODBC). Consider using prepared statements instead.

Lista de parámetros

string

The string to be quoted.

parameter_type

Provides a data type hint for drivers that have alternate quoting styles. The default value is PDO::PARAM_STR.

Valores retornados

Returns a quoted string that is theoretically safe to pass into an SQL statement. Returns FALSE if the driver does not support quoting in this way.

Ejemplos

Ejemplo 1. Quoting a normal string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Simple string */
$string = 'Nice';
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

El resultado del ejemplo seria:

Unquoted string: Nice
Quoted string: 'Nice'

Ejemplo 2. Quoting a dangerous string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Dangerous string */
$string = 'Naughty \' string';
print "Unquoted string: $string\n";
print "Quoted string:" . $conn->quote($string) . "\n";
?>

El resultado del ejemplo seria:

Unquoted string: Naughty ' string
Quoted string: 'Naughty '' string'

Ejemplo 3. Quoting a complex string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Complex string */
$string = "Co'mpl''ex \"st'\"ring";
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

El resultado del ejemplo seria:

Unquoted string: Co'mpl''ex "st'"ring
Quoted string: 'Co''mpl''''ex "st''"ring'

Ver también

PDO->prepare()
PDOStatement->execute()

Anterior | Inicio | Siguiente
PDO->query() | Subir | PDO->rollBack()


PDO->sqliteCreateAggregate()

(no version information, might be only in CVS)

PDO->sqliteCreateAggregate() -- Registers an aggregating User Defined Function for use in SQL statements

Descripción

class PDO {

bool sqliteCreateAggregate ( string function_name, callback step_func, callback finalize_func [, int num_args] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This method is similar to PDO->sqliteCreateFunction() except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this method and PDO->sqliteCreateFunction() is that two functions are required to manage the aggregate.

Lista de parámetros

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as: step ( mixed context, int rownumber, mixed value1 [, mixed value2 [, mixed ..]] )

context will be NULL for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber will hold the current row number.

finalize_func

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. Callback functions should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as: fini ( mixed context, int rownumber )

context will hold the return value from the very last call to the step function.

rownumber will hold the number of rows over which the aggregate was performed.

The return value of this function will be used as the return value for the aggregate.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Ejemplos

Ejemplo 1. max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step(&$context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context, $rownumber)
{
    return $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

Sugerencia: It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

Sugerencia: You can use PDO->sqliteCreateFunction() and PDO->sqliteCreateAggregate() to override SQLite native SQL functions.

Nota: This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

Ver también

PDO->sqliteCreateFunction()
sqlite_create_function()
sqlite_create_aggregate()

Anterior | Inicio | Siguiente
PDO_SQLITE DSN | Subir | PDO->sqliteCreateFunction()


PDO->sqliteCreateFunction()

(no version information, might be only in CVS)

PDO->sqliteCreateFunction() -- Registers a User Defined Function for use in SQL statements

Descripción

class PDO {

bool sqliteCreateFunction ( string function_name, callback callback [, int num_args] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This method allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

Lista de parámetros

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

Nota: Callback functions should return a type understood by SQLite (i.e. scalar type).

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Nota: Two alternative syntaxes are supported for compatibility with other database extensions (such as MySQL). The preferred form is the first, where the dbhandle parameter is the first parameter to the function.

Ejemplos

Ejemplo 1. PDO::sqliteCreateFunction() example

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach() loop after you have queried for the data.

Sugerencia: You can use PDO->sqliteCreateFunction() and PDO->sqliteCreateAggregate() to override SQLite native SQL functions.

Nota: This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

Ver también

PDO->sqliteCreateAggregate()
sqlite_create_function()
sqlite_create_aggregate()

Anterior | Inicio | Siguiente
PDO->sqliteCreateAggregate() | Subir | Secure Shell2 Functions


PDOStatement->bindValue()

(no version information, might be only in CVS)

PDOStatement->bindValue() -- Binds a value to a parameter

Descripción

class PDOStatement {

bool bindValue ( mixed parameter, mixed value [, int data_type] )

}

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was use to prepare the statement.

Lista de parámetros

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

value

The value to bind to the parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Ejemplo 2. Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Ver también

PDO->prepare()
PDOStatement->execute()
PDOStatement->bindParam()

Anterior | Inicio | Siguiente
PDOStatement->bindParam() | Subir | PDOStatement->closeCursor()


PDOStatement->closeCursor()

(no version information, might be only in CVS)

PDOStatement->closeCursor() -- Closes the cursor, enabling the statement to be executed again.

Descripción

class PDOStatement {

bool closeCursor ( void )

}

PDOStatement->closeCursor() frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again.

This method is useful for database drivers that do not support executing a PDOStatement object when a previously executed PDOStatement object still has unfetched rows. If your database driver suffers from this limitation, the problem may manifest itself in an out-of-sequence error.

PDOStatement->closeCursor() is implemented either as an optional driver specific method (allowing for maximum efficiency), or as the generic PDO fallback if no driver specific function is installed. The PDO generic fallback is semantically the same as writing the following code in your PHP script:

<?php
do {
    while ($stmt->fetch())
        ;
    if (!$stmt->nextRowset())
        break;
} while (true);
?>

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A PDOStatement->closeCursor() example

In the following example, the $stmt PDOStatement object returns multiple rows but the application fetches only the first row, leaving the PDOStatement object in a state of having unfetched rows. To ensure that the application will work with all database drivers, the author inserts a call to PDOStatement->closeCursor() on $stmt before executing the $otherStmt PDOStatement object.

<?php
/* Create a PDOStatement object */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Create a second PDOStatement object */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* Execute the first statement */
$stmt->execute();

/* Fetch only the first row from the results */
$stmt->fetch();

/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();

/* Now we can execute the second statement */
$otherStmt->execute();
?>

Ver también

PDOStatement->execute()

Anterior | Inicio | Siguiente
PDOStatement->bindValue() | Subir | PDOStatement->columnCount()


PDOStatement->columnCount()

(no version information, might be only in CVS)

PDOStatement->columnCount() -- Returns the number of columns in the result set

Descripción

class PDOStatement {

int columnCount ( void )

}

Use PDOStatement->columnCount() to return the number of columns in the result set represented by the PDOStatement object.

If the PDOStatement object was returned from PDO->query(), the column count is immediately available.

If the PDOStatement object was returned from PDO->prepare(), an accurate column count will not be available until you invoke PDOStatement->execute().

Valores retornados

Returns the number of columns in the result set represented by the PDOStatement object. If there is no result set, PDOStatement->columnCount() returns 0.

Ejemplos

Ejemplo 1. Counting columns

This example demonstrates how PDOStatement->columnCount() operates with and without a result set.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* Count the number of columns in the (non-existent) result set */
$colcount = $sth->columnCount();
print("Before execute(), result set has $colcount columns (should be 0)\n");

$sth->execute();

/* Count the number of columns in the result set */
$colcount = $sth->columnCount();
print("After execute(), result set has $colcount columns (should be 2)\n");

?>

El resultado del ejemplo seria:

Before execute(), result set has 0 columns (should be 0)
After execute(), result set has 2 columns (should be 2)

Ver también

PDO->prepare()
PDOStatement->execute()
PDOStatement->rowCount()

Anterior | Inicio | Siguiente
PDOStatement->closeCursor() | Subir | PDOStatement->errorCode()


PDOStatement->fetchColumn()

(no version information, might be only in CVS)

PDOStatement->fetchColumn() -- Returns a single column from the next row of a result set

Descripción

class PDOStatement {

string fetchColumn ( [int column_number] )

}

Returns a single column from the next row of a result set or FALSE if there are no more rows.

Lista de parámetros

column_number

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement->fetchColumn() fetches the first column.

Valores retornados

PDOStatement->fetchColumn() returns a single column in the next row of a result set.

Aviso

There is no way to return another column from the same row if you use PDOStatement->fetchColumn() to retrieve data.

Ejemplos

Ejemplo 1. Return first column of the next row

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch the first column from the next row in the result set */
print("Fetch the first column from the next row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");

print("Fetch the second column from the next row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>

El resultado del ejemplo seria:

Fetch the first column from the next row in the result set:
name = lemon
Fetch the second column from the next row in the result set:
colour = red

Ver también

PDO->query()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDO->prepare()
PDOStatement->setFetchMode()

Anterior | Inicio | Siguiente
PDOStatement->fetchAll() | Subir | PDOStatement->fetchObject()


PDOStatement->fetchObject()

(no version information, might be only in CVS)

PDOStatement->fetchObject() -- Fetches the next row and returns it as an object.

Descripción

class PDOStatement {

mixed fetchObject ( [string class_name [, array ctor_args]] )

}

Fetches the next row and returns it as an object. This function is an
alternative to PDOStatement->fetch() with
PDO::FETCH_CLASS or
PDO::FETCH_OBJ style.

Lista de parámetros

class_name

Name of the created class, defaults to stdClass.

ctor_args

Elements of this array are passed to the constructor.

Valores retornados

Returns an instance of the required class with property names that correspond to the column names or FALSE in case of an error.

Ver también

PDOStatement->fetch()

Anterior | Inicio | Siguiente
PDOStatement->fetchColumn() | Subir | PDOStatement->getAttribute()


PDOStatement->getAttribute()

(no version information, might be only in CVS)

PDOStatement->getAttribute() -- Retrieve a statement attribute

Descripción

class PDOStatement {

mixed getAttribute ( int attribute )

}

Gets an attribute of the statement. Currently, no generic attributes exist but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT OF.

Valores retornados

Returns the attribute value.

Ver también

PDO->getAttribute()
PDO->setAttribute()
PDOStatement->setAttribute()

Anterior | Inicio | Siguiente
PDOStatement->fetchObject() | Subir | PDOStatement->getColumnMeta()


PDOStatement->getColumnMeta()

(no version information, might be only in CVS)

PDOStatement->getColumnMeta() -- Returns metadata for a column in a result set

Descripción

class PDOStatement {

mixed getColumnMeta ( int column )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Retrieves the metadata for a 0-indexed column in a result set as an associative array.

Aviso

Not all PDO drivers support PDOStatement->getColumnMeta().

Lista de parámetros

column

The 0-indexed column in the result set.

Valores retornados

Returns an associative array containing the following values representing the metadata for a single column:

Tabla 1. Column metadata

Name | Value
native_type | The PHP native type used to represent the column value.
driver:decl_type | The SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement->getColumnMeta().
flags | Any flags set for this column.
name | The name of this column as returned by the database.
len | The length of this column. Normally -1 for types other than floating point decimals.
precision | The numeric precision of this column. Normally 0 for types other than floating point decimals.
pdo_type | The type of this column as represented by the PDO::PARAM_* constants.

Returns FALSE if the requested column does not exist in the result set, or if no result set exists.

Ejemplos

Ejemplo 1. Retrieving column metadata

The following example shows the results of retrieving the metadata for a single column generated by a function (COUNT) in a PDO_SQLITE driver.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

El resultado del ejemplo seria:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Ver también

PDOStatement->columnCount()
PDOStatement->rowCount()

Anterior | Inicio | Siguiente
PDOStatement->getAttribute() | Subir | PDOStatement->nextRowset()


PDOStatement->nextRowset()

(no version information, might be only in CVS)

PDOStatement->nextRowset() -- Advances to the next rowset in a multi-rowset statement handle

Descripción

class PDOStatement {

bool nextRowset ( void )

}

Some database servers support stored procedures that return more than one rowset (also known as a result set). PDOStatement->nextRowset() enables you to access the second and subsequent rowsets associated with a PDOStatement object. Each rowset can have a different set of columns from the preceding rowset.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Fetching multiple rowsets returned from a stored procedure

The following example shows how to call a stored procedure, MULTIPLE_RESULTS, that returns three rowsets. We use a do / while loop to loop over the PDOStatement->nextRowset() method, which returns false and terminates the loop when no more rowsets can be returned.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
    $rowset = $stmt->fetchAll(PDO::FETCH_NUM);
    if ($rowset) {
        printResultSet($rowset, $i);
    }
    $i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
    print "Result set $i:\n";
    foreach ($rowset as $row) {
        foreach ($row as $col) {
            print $col . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

El resultado del ejemplo seria:

Result set 1:
apple    red
banana   yellow

Result set 2:
orange   orange    150
banana   yellow    175

Result set 3:
lime     green
apple    red
banana   yellow

Ver también

PDOStatement->columnCount()
PDOStatement->execute()
PDOStatement->getColumnMeta()
PDO->query()

Anterior | Inicio | Siguiente
PDOStatement->getColumnMeta() | Subir | PDOStatement->rowCount()


PDOStatement->setAttribute()

(no version information, might be only in CVS)

PDOStatement->setAttribute() -- Set a statement attribute

Descripción

class PDOStatement {

bool setAttribute ( int attribute, mixed value )

}

Sets an attribute on the statement. Currently, no generic attributes are set but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Set the name of cursor for UPDATE ... WHERE CURRENT OF.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

PDO->getAttribute()
PDO->setAttribute()
PDOStatement->getAttribute()

Anterior | Inicio | Siguiente
PDOStatement->rowCount() | Subir | PDOStatement->setFetchMode()


PDOStatement->setFetchMode()

(no version information, might be only in CVS)

PDOStatement->setFetchMode() -- Set the default fetch mode for this statement

Descripción

class PDOStatement {

bool setFetchMode ( int mode )

}class PDOStatement {

bool setFetchMode ( int PDO::FETCH_COLUMN, int colno )

}class PDOStatement {

bool setFetchMode ( int PDO::FETCH_CLASS, string classname, array ctorargs )

}class PDOStatement {

bool setFetchMode ( int PDO::FETCH_INTO, object object )

}

Lista de parámetros

mode

The fetch mode must be one of the PDO::FETCH_* constants.

Valores retornados

Returns 1 on success or FALSE on failure.

Ejemplos

Ejemplo 1. Setting the fetch mode

The following example demonstrates how PDOStatement->setFetchMode() changes the default fetch mode for a PDOStatement object.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $stmt = $dbh->query($sql);
  $result = $stmt->setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt->fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

El resultado del ejemplo seria:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90

Anterior | Inicio | Siguiente
PDOStatement->setAttribute() | Subir | Phar archive stream and classes


pg_execute

(PHP 5 >= 5.1.0RC1)

pg_execute -- Sends a request to execute a prepared statement with given parameters, and waits for the result.

Descripción

resource pg_execute ( resource connection, string stmtname, array params )

resource pg_execute ( string stmtname, array params )

Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_execute() is like pg_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. pg_execute() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The parameters are identical to pg_query_params(), except that the name of a prepared statement is given instead of a query string.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Aviso

Elements are converted to strings by calling this function.

Valores retornados

A query result resource on success, or FALSE on failure.

Ejemplos

Ejemplo 1. Using pg_execute()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Ver también

pg_prepare()
pg_send_prepare()
pg_query_params()

Anterior | Inicio | Siguiente
pg_escape_string | Subir | pg_fetch_all_columns


pg_fetch_all_columns

(PHP 5 >= 5.1.0RC1)

pg_fetch_all_columns -- Fetches all rows in a particular result column as an array

Descripción

array pg_fetch_all_columns ( resource result [, int column] )

pg_fetch_all_columns() returns an array that contains all rows (records) in a particular column of the result resource.

Nota: Esta funcion define campos NULL como valores PHP NULL.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

column

Column number, zero-based, to be retrieved from the result resource. Defaults to the first column if not specified.

Valores retornados

An array with all values in the result column.

FALSE is returned if column is larger than the number of columns in the result, or on any other error.

Ejemplos

Ejemplo 1. pg_fetch_all_columns() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

// Get an array of all author names
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Ver también

pg_fetch_all()

Anterior | Inicio | Siguiente
pg_execute | Subir | pg_fetch_all


pg_field_table

(no version information, might be only in CVS)

pg_field_table -- Returns the name or oid of the tables field

Descripción

mixed pg_field_table ( resource result, int field_number, bool oid_only )

pg_field_table() returns the name of the table that field belongs to, or the table's oid if oid_only is TRUE.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

oid_only

By default the tables name that field belongs to is returned but if oid_only is set to TRUE, then the oid will instead be returned.

Valores retornados

On success either the fields table name or oid. Or, FALSE on failure.

Ejemplos

Ejemplo 1. Getting table information about a field

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

El resultado del ejemplo seria algo similar a:

foo
14379580

bool(false)

Notes

Nota: Returning the oid is much faster than returning the table name because fetching the table name requires a query to the database system table.

Ver también

pg_field_name()
pg_field_type()

Anterior | Inicio | Siguiente
pg_field_size | Subir | pg_field_type_oid


pg_field_type_oid

(PHP 5 >= 5.1.0RC1)

pg_field_type_oid -- Returns the type ID (OID) for the corresponding field number

Descripción

int pg_field_type_oid ( resource result, int field_number )

pg_field_type_oid() returns an integer containing the OID of the base type of the given field_number in the given PostgreSQL result resource.

You can get more information about the field type by querying PostgreSQL's pg_type system table using the OID obtained with this function. The PostgreSQL format_type() function will convert a type OID into an SQL standard type name.

Nota: If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's underlying type that is returned, rather than the OID of the domain itself.

Lista de parámetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valores retornados

The OID of the field's base type. FALSE is returned on error.

Ejemplos

Ejemplo 1. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type OID: ", pg_field_type_oid($res, 0);
?>

El resultado del ejemplo seria:

Title field type OID: 1043

Ver también

pg_field_type()
pg_field_prtlen()
pg_field_name()

Anterior | Inicio | Siguiente
pg_field_table | Subir | pg_field_type


pg_prepare

(PHP 5 >= 5.1.0RC1)

pg_prepare -- Submits a request to create a prepared statement with the given parameters, and waits for completion.

Descripción

resource pg_prepare ( resource connection, string stmtname, string query )

resource pg_prepare ( string stmtname, string query )

pg_prepare() creates a prepared statement for later execution with pg_execute() or pg_send_execute(). This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The function creates a prepared statement named stmtname from the query string, which must contain a single SQL command. stmtname may be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error if the statement name is already defined in the current session. If any parameters are used, they are referred to in the query as $1, $2, etc.

Prepared statements for use with pg_prepare() can also be created by executing SQL PREPARE statements. (But pg_prepare() is more flexible since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Valores retornados

A query result resource on success, or FALSE on failure.

Ejemplos

Ejemplo 1. Using pg_prepare()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Ver también

pg_execute()
pg_send_execute()

Anterior | Inicio | Siguiente
pg_Port | Subir | pg_put_line


pg_query_params

(PHP 5 >= 5.1.0RC1)

pg_query_params -- Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

Descripción

resource pg_query_params ( resource connection, string query, array params )

resource pg_query_params ( string query, array params )

Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_query_params() is like pg_query(), but offers additional functionality: parameter values can be specified separately from the command string proper. pg_query_params() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

If parameters are used, they are referred to in the query string as $1, $2, etc. params specifies the actual values of the parameters. A NULL value in this array means the corresponding parameter is SQL NULL.

The primary advantage of pg_query_params() over pg_query() is that parameter values may be separated from the query string, thus avoiding the need for tedious and error-prone quoting and escaping. Unlike pg_query(), pg_query_params() allows at most one SQL command in the given string. (There can be semicolons in it, but not more than one nonempty command.)

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valores retornados

A query result resource on success, or FALSE on failure.

Ejemplos

Ejemplo 1. Using pg_query_params()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Find all shops named Joe's Widgets.  Note that it is not necessary to
// escape "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Compare against just using pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Ver también

pg_query()

Anterior | Inicio | Siguiente
pg_put_line | Subir | pg_query


pg_result_error_field

(PHP 5 >= 5.1.0RC1)

pg_result_error_field -- Returns an individual field of an error report.

Descripción

string pg_result_error_field ( resource result, int fieldcode )

pg_result_error_field() returns one of the detailed error message fields associated with result resource. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the fieldcode.

Because pg_query() and pg_query_params() return FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

Lista de parámetros

result

A PostgreSQL query result resource from a previously executed statement.

fieldcode

Possible fieldcode values are: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

Valores retornados

A string containing the contents of the error field, NULL if the field does not exist or FALSE on failure.

Ejemplos

Ejemplo 1. pg_result_error_field() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Ver también

pg_result_error()

Anterior | Inicio | Siguiente
pg_query | Subir | pg_result_error


pg_send_execute

(PHP 5 >= 5.1.0RC1)

pg_send_execute -- Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

Descripción

bool pg_send_execute ( resource connection, string stmtname, array params )

Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valores retornados

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo 1. Using pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Ver también

pg_prepare()
pg_send_prepare()
pg_execute()

Anterior | Inicio | Siguiente
pg_select | Subir | pg_send_prepare


pg_send_prepare

(PHP 5 >= 5.1.0RC1)

pg_send_prepare -- Sends a request to create a prepared statement with the given parameters, without waiting for completion.

Descripción

bool pg_send_prepare ( resource connection, string stmtname, string query )

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of pg_prepare(): it returns TRUE if it was able to dispatch the request, and FALSE if not. After a successful call, call pg_get_result() to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to pg_prepare(). Like pg_prepare(), it will not work on pre-7.4 versions of PostgreSQL.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Valores retornados

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo 1. Using pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Ver también

pg_connect()
pg_pconnect()
pg_execute()
pg_send_execute()
pg_send_query_params()

Anterior | Inicio | Siguiente
pg_send_execute | Subir | pg_send_query_params


pg_send_query_params

(PHP 5 >= 5.1.0RC1)

pg_send_query_params -- Submits a command and separate parameters to the server without waiting for the result(s).

Descripción

bool pg_send_query_params ( resource connection, string query, array params )

Submits a command and separate parameters to the server without waiting for the result(s).

This is equivalent to pg_send_query() except that query parameters can be specified separately from the query string. The function's parameters are handled identically to pg_query_params(). Like pg_query_params(), it will not work on pre-7.4 PostgreSQL connections, and it allows only one command in the query string.

Lista de parámetros

connection

PostgreSQL database connection resource.

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Use pg_get_result() to determine the query result.

Ejemplos

Ejemplo 1. Using pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Using parameters.  Note that it is not necessary to quote or escape
  // the parameter.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // Compare against basic pg_send_query usage
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Ver también

pg_send_query()

Anterior | Inicio | Siguiente
pg_send_prepare | Subir | pg_send_query


pg_set_error_verbosity

(PHP 5 >= 5.1.0RC1)

pg_set_error_verbosity -- Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

Descripción

int pg_set_error_verbosity ( resource connection, int verbosity )

int pg_set_error_verbosity ( int verbosity )

Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

pg_set_error_verbosity() sets the verbosity mode, returning the connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned messages include severity, primary text, and position only; this will normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT) produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines). The PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the verbosity does not affect the messages available from already-existing result objects, only subsequently-created ones.

Lista de parámetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

verbosity

The required verbosity: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Valores retornados

The previous verbosity level: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Ejemplos

Ejemplo 1. pg_set_error_verbosity() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Ver también

pg_last_error()
pg_result_error()

Anterior | Inicio | Siguiente
pg_set_client_encoding | Subir | pg_trace


pg_transaction_status

(PHP 5 >= 5.1.0RC1)

pg_transaction_status -- Returns the current in-transaction status of the server.

Descripción

int pg_transaction_status ( resource connection )

Returns the current in-transaction status of the server.

Atención

pg_transaction_status() will give incorrect results when using a PostgreSQL 7.3 server that has the parameter autocommit set to off. The server-side autocommit feature has been deprecated and does not exist in later server versions.

Lista de parámetros

connection

PostgreSQL database connection resource.

Valores retornados

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

Ejemplos

Ejemplo 1. pg_transaction_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Connection is bad';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Connection is currently idle';
  } else {
      echo 'Connection is in a transaction state';
  }
?>

Anterior | Inicio | Siguiente
pg_trace | Subir | pg_tty


Phar::apiVersion

(no version information, might be only in CVS)

Phar::apiVersion -- Returns the api version

Descripción

string Phar::apiVersion ( void )

Return the API version of the phar file format that will be used when creating phars. The Phar extension supports reading API version 1.0.0 or newer.

Lista de parámetros

Valores retornados

The API version string as in "1.0.0".

Ejemplos

Ejemplo 1. A Phar::apiVersion() example

<?php
echo Phar::apiVersion();
?>

El resultado del ejemplo seria:

1.0.0

Anterior | Inicio | Siguiente
Phar archive stream and classes | Subir | Phar->begin


Phar->begin

(no version information, might be only in CVS)

Phar->begin -- Begin a Phar modification transaction

Descripción

void Phar->begin ( void )

Although technically unnecessary, the begin() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. the begin()/commit() pair of methods is provided for this purpose.

Phar transactions are per-archive, a transaction active on the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Ejemplos

Ejemplo 1. A Phar->begin() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p->begin();
$p['file.txt'] = 'hi';
$p['file2.txt'] = 'there';
$p['file2.txt']->setCompressedGZ();
$p['file3.txt'] = 'babyface';
$p['file3.txt']->setMetaData(42);
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
$p->commit();
?>

Ver también

Phar->commit()
Phar->getStub()

Anterior | Inicio | Siguiente
Phar::apiVersion | Subir | Phar::canCompress


Phar::canCompress

(no version information, might be only in CVS)

Phar::canCompress -- Returns whether phar extension supports compression using either zlib or bzip2

Descripción

bool Phar::canCompress ( [int type] )

This should be used to test whether compression is possible prior to loading a phar archive containing compressed files.

Lista de parámetros

type

Either Phar::GZ or Phar::BZ2 can be used to test whether compression is possible with a specific compression algorithm (zlib or bzip2).

Valores retornados

TRUE if compression/decompression is available, FALSE if not.

Ejemplos

Ejemplo 1. A Phar::canCompress() example

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://compressedphar.phar/internal/file.txt');
} else {
    echo 'no compression available';
}
?>

Ver también

PharFileInfo::isCompressed()

Anterior | Inicio | Siguiente
Phar->begin | Subir | Phar::canWrite


Phar::canWrite

(no version information, might be only in CVS)

Phar::canWrite -- Returns whether phar extension supports writing and creating phars

Descripción

bool Phar::canWrite ( void )

This method determines whether write access has been disabled in the system php.ini via the phar.readonly ini variable.

Lista de parámetros

Valores retornados

TRUE if write access is enabled, FALSE if it is disabled.

Ejemplos

Ejemplo 1. A Phar::canWrite() example

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://myphar.phar/file.txt', 'hi there');
}
?>

Ver también

phar.readonly

Anterior | Inicio | Siguiente
Phar::canCompress | Subir | Phar->commit


Phar->commit

(no version information, might be only in CVS)

Phar->commit -- End a Phar modification transaction by writing the Phar archive to disk

Descripción

void Phar->commit ( void )

Although technically unnecessary, the begin() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. The begin()/commit() pair of methods is provided for this purpose.

Phar transactions are per-archive, a transaction active on the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Errors/Exceptions

PharException is thrown if any problems are encountered flushing changes to disk.

Ejemplos

Ejemplo 1. A Phar->commit() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->begin();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
    include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->commit();
var_dump($p->getStub());
?>

El resultado del ejemplo seria:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

Ver también

Phar->begin()

Anterior | Inicio | Siguiente
Phar::canWrite | Subir | Phar->compressAllFilesBZIP2


Phar->compressAllFilesBZIP2

(no version information, might be only in CVS)

Phar->compressAllFilesBZIP2 -- Compresses all files in the current Phar archive using Bzip2 compression

Descripción

bool Phar->compressAllFilesBZIP2 ( void )

This method compresses all files in the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files prior to re-compressing with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Errors/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not available, or if any files are compressed using gzip compression and the zlib extension is not enabled.

Ejemplos

Ejemplo 1. A Phar->compressAllFilesBZIP2() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

El resultado del ejemplo seria:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(true)
bool(false)
string(11) "myfile2.txt"
bool(true)
bool(true)
bool(false)

Ver también

PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->uncompressAllFiles()
Phar->compressAllFilesGZ()

Anterior | Inicio | Siguiente
Phar->commit | Subir | Phar->compressAllFilesGZ


Phar->compressAllFilesGZ

(no version information, might be only in CVS)

Phar->compressAllFilesGZ -- Compresses all files in the current Phar archive using Gzip compression

Descripción

bool Phar->compressAllFilesGZ ( void )

This method compresses all files in the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the files prior to re-compressing with gzip compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Errors/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Ejemplos

Ejemplo 1. A Phar->compressAllFilesGZ() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

El resultado del ejemplo seria:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->uncompressAllFiles()
Phar->compressAllFilesBZIP2()

Anterior | Inicio | Siguiente
Phar->compressAllFilesBZIP2 | Subir | Phar::__construct


Phar::__construct

(no version information, might be only in CVS)

Phar::__construct -- Construct a Phar archive object

Descripción

void Phar::__construct ( string fname [, int flags [, string alias]] )

Lista de parámetros

fname

Path to an existing Phar archive

flags

flags to pass to parent class RecursiveDirectoryIterator. See SPL RecursiveDirectoryIterator docs

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

Errors/Exceptions

Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.

Ejemplos

Ejemplo 1. A Phar::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME,
                  'my.phar');
} catch (UnexpectedValueException $e) {
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>

Anterior | Inicio | Siguiente
Phar->compressAllFilesGZ | Subir | Phar->count


Phar->count

(no version information, might be only in CVS)

Phar->count -- Returns the number of entries (files) in the Phar archive

Descripción

int Phar->count ( void )

Lista de parámetros

Valores retornados

The number of files contained within this phar, or 0 (the number zero) if none.

Ejemplos

Ejemplo 1. A Phar->count() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p['file.txt'] = 'hi';
echo 'The new phar has ' . $p->count() . " entries\n";
?>

El resultado del ejemplo seria:

The new phar has 0 entries
The new phar has 1 entries

Anterior | Inicio | Siguiente
Phar::__construct | Subir | Phar->getMetaData


Phar->getMetaData

(no version information, might be only in CVS)

Phar->getMetaData -- Returns phar archive meta-data

Descripción

int Phar->getMetaData ( void )

Lista de parámetros

Valores retornados

any PHP variable that can be serialized and is stored as meta-data for the Phar archive, or NULL if no meta-data is stored.

Ejemplos

Ejemplo 1. A Phar->getMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
$p['file.php'] = '<?php echo "hello";';
$p->setMetaData(array('bootstrap' => 'file.php'));
var_dump($p->getMetaData());
?>

El resultado del ejemplo seria:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Ver también

PharFileInfo->setMetaData()

Anterior | Inicio | Siguiente
Phar->count | Subir | Phar->getModified


Phar->getModified

(no version information, might be only in CVS)

Phar->getModified -- Return whether phar was modified

Descripción

bool Phar->getModified ( void )

This method can be used to determine whether a phar has either had an internal file deleted, or contents of a file changed in some way.

Lista de parámetros

Valores retornados

TRUE if the phar has been modified since opened, FALSE if not.

Anterior | Inicio | Siguiente
Phar->getMetaData | Subir | Phar->getSignature


Phar->getSignature

(no version information, might be only in CVS)

Phar->getSignature -- Return MD5/SHA1 signature of a Phar archive

Descripción

array Phar->getSignature ( void )

Returns the verification signature of a phar archive in a hexadecimal string.

Lista de parámetros

Valores retornados

Array with the opened archive's signature in "hash" key and "md5" or "sha1" in "hash_type". This signature is a hash calculated on the entire phar's contents, and may be used to verify the integrity of the archive. A valid signature is absolutely required of all phars if the phar.require_hash INI variable is set to true.

Anterior | Inicio | Siguiente
Phar->getModified | Subir | Phar->getStub


Phar->getStub

(no version information, might be only in CVS)

Phar->getStub -- Return the PHP loader or bootstrap stub of a Phar archive

Descripción

string Phar->getStub ( void )

One of the features that differentiates a Phar archive from other familiar archive formats like tar or zip is that a Phar archive is explicitly designed to be included to allow distributing an application or library that can be run without extraction directly from the archive. In order to accomplish this, Phar archives contain a bootstrap loader, or stub written in PHP that can perform any action.

Aviso

All stubs must end with __HALT_COMPILER(); or the file is not a valid Phar archive.

Valores retornados

Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.

Errors/Exceptions

Throws RuntimeException if it is not possible to read the stub from the Phar archive.

Ejemplos

Ejemplo 1. A Phar->getStub() example

$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
echo $p->getStub();

El resultado del ejemplo seria:

<?php __HALT_COMPILER();
==NEXT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();

Ver también

Phar->setStub()

Anterior | Inicio | Siguiente
Phar->getSignature | Subir | Phar->getVersion


Phar->getVersion

(no version information, might be only in CVS)

Phar->getVersion -- Return version info of Phar archive

Descripción

string Phar->getVersion ( void )

Returns the API version of an opened Phar archive.

Lista de parámetros

Valores retornados

The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create new phars. Each Phar archive has the API version hard-coded into its manifest. See Phar file format documentation for more information.

Ver también

Phar::apiVersion()

Anterior | Inicio | Siguiente
Phar->getStub | Subir | Phar->isFlushingToPhar


Phar->isFlushingToPhar

(no version information, might be only in CVS)

Phar->isFlushingToPhar -- Used to determine whether a Phar creation transaction is active

Descripción

void Phar->isFlushingToPhar ( void )

This method can be used to determine whether a Phar will save changes to disk immediately, or whether a call to Phar->commit() is needed to enable saving changes.

Phar transactions are per-archive, a transaction active on the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Ejemplos

Ejemplo 1. A Phar->isFlushingToPhar() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isFlushingToPhar());
var_dump($p2->isFlushingToPhar());
?>
=2=
<?php
$p->begin();
var_dump($p->isFlushingToPhar());
var_dump($p2->isFlushingToPhar());
$p->commit();
?>
=3=
<?php
var_dump($p->isFlushingToPhar());
var_dump($p2->isFlushingToPhar());
?>

El resultado del ejemplo seria:

bool(true)
bool(true)
=2=
bool(false)
bool(true)
=3=
bool(true)
bool(true)

Ver también

Phar->begin()
Phar->commit()

Anterior | Inicio | Siguiente
Phar->getVersion | Subir | Phar::loadPhar


Phar::loadPhar

(no version information, might be only in CVS)

Phar::loadPhar -- Loads any phar archive with an alias

Descripción

bool Phar::loadPhar ( string filename [, string alias] )

This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references to the phar can use the shorter alias, or for loading Phar archives that only contain data and are not intended for execution/inclusion in PHP scripts.

Lista de parámetros

filename

the full or relative path to the phar archive to open

alias

The alias that may be used to refer to the phar archive. Note that many phar archives specify an explicit alias inside the phar archive, and a PharException will be thrown if a new alias is specified in this case.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

PharException is thrown if an alias is passed in and the phar archive already has an explicit alias

Ejemplos

Ejemplo 1. A Phar::loadPhar() example

Phar::loadPhar can be used anywhere to load an external Phar archive, whereas Phar::mapPhar should be used in a loader stub for a Phar.

<?php
try {
    Phar::loadPhar('/path/to/phar.phar', 'my.phar');
    echo file_get_contents('phar://my.phar/file.txt');
} catch (PharException $e) {
    echo $e;
}
?>

Ver también

Phar::mapPhar()

Anterior | Inicio | Siguiente
Phar->isFlushingToPhar | Subir | Phar::mapPhar


Phar::mapPhar

(no version information, might be only in CVS)

Phar::mapPhar -- Reads the currently executed file (a phar) and registers its manifest

Descripción

bool Phar::mapPhar ( [string alias] )

This static method can only be used inside a Phar archive's loader stub in order to initialize the phar when it is directly executed, or when it is included in another script.

Lista de parámetros

alias

The alias with which this phar should be referred to.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

PharException is thrown if not called directly within PHP execution, if no __HALT_COMPILER(); token is found in the current source file, or if the file cannot be opened for reading.

Ejemplos

Ejemplo 1. A Phar::mapPhar() example

mapPhar should be used only inside a phar's loader stub. Use loadPhar to load an external phar into memory.

Here is a sample Phar loader stub that uses mapPhar.

<?php
function __autoload($class)
{
    include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
    Phar::mapPhar('me.phar');
    include 'phar://me.phar/startup.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('Cannot initialize Phar');
}
__HALT_COMPILER();

Ver también

Phar::loadPhar()

Anterior | Inicio | Siguiente
Phar::loadPhar | Subir | Phar::offsetExists


Phar::offsetExists

(no version information, might be only in CVS)

Phar::offsetExists -- determines whether a file exists in the phar

Descripción

bool Phar::offsetExists ( string offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets.

offsetExists() is called whenever isset() is called.

Lista de parámetros

offset

The filename (relative path) to look for in a Phar.

Valores retornados

Returns TRUE if the file exists within the phar, or FALSE if not.

Ejemplos

Ejemplo 1. A Phar::offsetExists() example

<?php
$p = new Phar(dirname(__FILE__) . '/my.phar', 0, 'my.phar');
$p['firstfile.txt'] = 'first file';
$p['secondfile.txt'] = 'second file';
// the next set of lines call offsetExists() indirectly
var_dump(isset($p['firstfile.txt']));
var_dump(isset($p['nothere.txt']));
?>

El resultado del ejemplo seria:

bool(true)
bool(false)

Ver también

Phar::offsetGet()
Phar::offsetSet()
Phar::offsetUnset()

Anterior | Inicio | Siguiente
Phar::mapPhar | Subir | Phar::offsetGet


Phar::offsetGet

(no version information, might be only in CVS)

Phar::offsetGet -- get a PharFileInfo object for a specific file

Descripción

int Phar::offsetGet ( string offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetGet is used for retrieving files from a Phar archive.

Lista de parámetros

offset

The filename (relative path) to look for in a Phar.

Valores retornados

A PharFileInfo object is returned that can be used to iterate over a file's contents or to retrieve information about the current file.

Errors/Exceptions

This method throws BadMethodCallException if the file does not exist in the Phar archive.

Ejemplos

Ejemplo 1. A Phar::offsetGet() example

As with all classes that implement the ArrayAccess interface, offsetGet is automatically called when using the [] angle bracket operator

<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
    // automatically calls offsetGet()
    echo $p['exists.txt'];
    echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

El resultado del ejemplo seria:

file exists
Entry doesnotexist.txt does not exist

Ver también

Phar::offsetExists()
Phar::offsetSet()
Phar::offsetUnset()

Anterior | Inicio | Siguiente
Phar::offsetExists | Subir | Phar::offsetSet


Phar::offsetSet

(no version information, might be only in CVS)

Phar::offsetSet -- set the contents of an internal file to those of an external file

Descripción

void Phar::offsetSet ( string offset, string value )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.

Lista de parámetros

offset

The filename (relative path) to modify in a Phar.

value

Content of the file.

Valores retornados

No return values.

Errors/Exceptions

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Ejemplos

Ejemplo 1. A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Ver también

Phar::offsetExists()
Phar::offsetGet()
Phar::offsetUnset()

Anterior | Inicio | Siguiente
Phar::offsetGet | Subir | Phar::offsetUnset


Phar::offsetUnset

(no version information, might be only in CVS)

Phar::offsetUnset -- remove a file from a phar

Descripción

bool Phar::offsetUnset ( string offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Lista de parámetros

offset

The filename (relative path) to modify in a Phar.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Errors/Exceptions

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Ejemplos

Ejemplo 1. A Phar::offsetUnset() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // deletes file.txt from my.phar by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Ver también

Phar::offsetExists()
Phar::offsetGet()
Phar::offsetSet()

Anterior | Inicio | Siguiente
Phar::offsetSet | Subir | Phar->setMetaData


Phar->setMetaData

(no version information, might be only in CVS)

Phar->setMetaData -- Sets phar archive meta-data

Descripción

int Phar->setMetaData ( mixed metadata )

setMetaData() should only be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo->setMetaData() should be used for file-specific meta-data. Meta-data can significantly slow down the performance of loading a phar archive if the data is large. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Lista de parámetros

metadata

Any PHP variable containing information to store that describes the phar archive

Ejemplos

Ejemplo 1. A Phar->setMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetaData(array('bootstrap' => 'file.php'));
    var_dump($p->getMetaData());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

El resultado del ejemplo seria:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Ver también

Phar->getMetaData()

Anterior | Inicio | Siguiente
Phar::offsetUnset | Subir | Phar->setStub


Phar->setStub

(no version information, might be only in CVS)

Phar->setStub -- Used to set the PHP loader or bootstrap stub of a Phar archive

Descripción

void Phar->setStub ( string stub )

This method is used to add a PHP bootstrap loader stub to a new Phar archive, or to replace the loader stub in an existing Phar archive.

The loader stub for a Phar archive is used whenever an archive is included directly as in this example:

<?php
include 'myphar.phar';
?>

The loader is not accessed when including a file through the phar stream wrapper like so:

<?php
include 'phar://myphar.phar/somefile.php';
?>

Errors/Exceptions

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Ejemplos

Ejemplo 1. A Phar->setStub() example

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['a.php'] = '<?php var_dump("Hello");';
    $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("World");';
    $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Write operations failed on brandnewphar.phar: ', $e;
}
?>

El resultado del ejemplo seria:

string(5) "Hello"
string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
string(5) "World"
string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"

Ver también

Phar->getStub()

Anterior | Inicio | Siguiente
Phar->setMetaData | Subir | Phar->uncompressAllFiles


Phar->uncompressAllFiles

(no version information, might be only in CVS)

Phar->uncompressAllFiles -- Uncompresses all files in the current Phar archive

Descripción

bool Phar->uncompressAllFiles ( void )

This method decompresses all files in the Phar archive. If any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files, and any files compressed using bzip2 compression require the bzip2 extension to decompress the files. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Errors/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not enabled and any files are compressed using bzip2 compression, or if any files are compressed using gzip compression and the zlib extension is not enabled.

Ejemplos

Ejemplo 1. A Phar->uncompressAllFiles() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p->compressAllFilesGZ();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
    $p->uncompressAllFiles();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

El resultado del ejemplo seria:

string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Ver también

PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->compressAllFilesBZIP2()
Phar->compressAllFilesGZ()

Anterior | Inicio | Siguiente
Phar->setStub | Subir | PharFileInfo->chmod


PharFileInfo->chmod

(no version information, might be only in CVS)

PharFileInfo->chmod -- Sets file-specific meta-data saved with a file

Descripción

void PharFileInfo->chmod ( int permissions )

PharFileInfo->chmod() allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the phar.readonly INI variable.

Lista de parámetros

permissions

permissions (see chmod())

Ejemplos

Ejemplo 1. A PharFileInfo->chmod() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // set executable bit
    $p['file.sh']->chmod(0555);
    var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

El resultado del ejemplo seria:

bool(true)

Anterior | Inicio | Siguiente
Phar->uncompressAllFiles | Subir | PharFileInfo::__construct


PharFileInfo::__construct

(no version information, might be only in CVS)

PharFileInfo::__construct -- Construct a Phar entry object

Descripción

void PharFileInfo::__construct ( string entry )

This should not be called directly. Instead, a PharFileInfo object is initialized by calling Phar::offsetGet() through array access.

Lista de parámetros

entry

The full url to retrieve a file. If you wish to retrieve the information for the file my/file.php from the phar boo.phar, the entry should be phar://boo.phar/my/file.php.

Errors/Exceptions

Throws BadMethodCallException if __construct() is called twice. Throws UnexpectedValueException if the phar URL requested is malformed, the requested phar cannot be opened, or the file can't be found within the phar.

Ejemplos

Ejemplo 1. A PharFileInfo::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['testfile.txt'] = "hi\nthere\ndude";
    $file = $p['testfile.txt'];
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
    // this also works
    $file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt');
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
} catch (Exception $e) {
    echo 'Phar operations failed: ', $e;
}
?>

El resultado del ejemplo seria:

line number 1: hi
line number 2: there
line number 3: dude
line number 1: hi
line number 2: there
line number 3: dude

Anterior | Inicio | Siguiente
PharFileInfo->chmod | Subir | PharFileInfo->getCompressedSize


PharFileInfo->getCompressedSize

(no version information, might be only in CVS)

PharFileInfo->getCompressedSize -- Returns the actual size of the file (with compression) inside the Phar archive

Descripción

int PharFileInfo->getCompressedSize ( void )

This returns the size of the file within the Phar archive. Uncompressed files will return the same value for getCompressedSize as they will with filesize()

Valores retornados

The size in bytes of the file within the Phar archive on disk.

Ejemplos

Ejemplo 1. A PharFileInfo->getCompressedSize() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCompressedSize();
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

El resultado del ejemplo seria:

2

Ver también

PharFileInfo->isCompressed()

Anterior | Inicio | Siguiente
PharFileInfo::__construct | Subir | PharFileInfo->getCRC32


PharFileInfo->getCRC32

(no version information, might be only in CVS)

PharFileInfo->getCRC32 -- Returns CRC32 code or throws an exception if not CRC checked

Descripción

int PharFileInfo->getCRC32 ( void )

This returns the crc32() checksum of the file within the Phar archive.

Valores retornados

The crc32() checksum of the file within the Phar archive.

Errors/Exceptions

Throws BadMethodCallException if the file has not yet had its CRC32 verified. This should be impossible with normal use, as the CRC is verified upon opening the file for reading or writing.

Ejemplos

Ejemplo 1. A PharFileInfo->getCRC32() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCRC32();
} catch (Exception $e) {
    echo 'Write operations on my.phar.phar failed: ', $e;
}
?>

El resultado del ejemplo seria:

3633523372

Anterior | Inicio | Siguiente
PharFileInfo->getCompressedSize | Subir | PharFileInfo->getMetaData


PharFileInfo->getMetaData

(no version information, might be only in CVS)

PharFileInfo->getMetaData -- Returns file-specific meta-data saved with a file

Descripción

int PharFileInfo->getMetaData ( void )

Return meta-data that was saved in the Phar archive's manifest for this file.

Lista de parámetros

Valores retornados

any PHP variable that can be serialized and is stored as meta-data for the file, or NULL if no meta-data is stored.

Ejemplos

Ejemplo 1. A PharFileInfo->getMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify brandnewphar.phar: ', $e;
}
?>

El resultado del ejemplo seria:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Ver también

PharFileInfo->setMetaData()

Anterior | Inicio | Siguiente
PharFileInfo->getCRC32 | Subir | PharFileInfo->getPharFlags


PharFileInfo->getPharFlags

(no version information, might be only in CVS)

PharFileInfo->getPharFlags -- Returns the Phar file entry flags

Descripción

int PharFileInfo->getPharFlags ( void )

This returns the flags set in the manifest for a Phar. This will always return 0 in the current implementation.

Valores retornados

The Phar flags (always 0 in the current implementation)

Ejemplos

Ejemplo 1. A PharFileInfo->getPharFlags() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->getPharFlags());
} catch (Exception $e) {
    echo 'Could not create/modify my.phar: ', $e;
}
?>

El resultado del ejemplo seria:

int(0)

Anterior | Inicio | Siguiente
PharFileInfo->getMetaData | Subir | PharFileInfo->isCompressed


PharFileInfo->isCompressed

(no version information, might be only in CVS)

PharFileInfo->isCompressed -- Returns whether the entry is compressed

Descripción

bool PharFileInfo->isCompressed ( void )

This returns whether a file is compressed within a Phar archive with either Gzip or Bzip2 compression.

Valores retornados

TRUE if the file is compressed within the Phar archive, FALSE if not.

Ejemplos

Ejemplo 1. A PharFileInfo->isCompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    var_dump($file->isCompressed());
    var_dump($file2->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

El resultado del ejemplo seria:

bool(false)
bool(true)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressedBZIP2()

Anterior | Inicio | Siguiente
PharFileInfo->getPharFlags | Subir | PharFileInfo->isCompressedBZIP2


PharFileInfo->isCompressedBZIP2

(no version information, might be only in CVS)

PharFileInfo->isCompressedBZIP2 -- Returns whether the entry is compressed using bzip2

Descripción

bool PharFileInfo->isCompressedBZIP2 ( void )

This returns whether a file is compressed within a Phar archive with Bzip2 compression.

Valores retornados

TRUE if the file is compressed within the Phar archive using Bzip2, FALSE if not.

Ejemplos

Ejemplo 1. A PharFileInfo->isCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedBZIP2());
    var_dump($file2->isCompressedBZIP2());
    var_dump($file3->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

El resultado del ejemplo seria:

bool(false)
bool(false)
bool(true)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()

Anterior | Inicio | Siguiente
PharFileInfo->isCompressed | Subir | PharFileInfo->isCompressedGZ


PharFileInfo->isCompressedGZ

(no version information, might be only in CVS)

PharFileInfo->isCompressedGZ -- Returns whether the entry is compressed using gz

Descripción

bool PharFileInfo->isCompressedGZ ( void )

This returns whether a file is compressed within a Phar archive with Gzip compression.

Valores retornados

TRUE if the file is compressed within the Phar archive using Gzip, FALSE if not.

Ejemplos

Ejemplo 1. A PharFileInfo->isCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedGZ());
    var_dump($file2->isCompressedGZ());
    var_dump($file3->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

El resultado del ejemplo seria:

bool(false)
bool(true)
bool(false)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressed()

Anterior | Inicio | Siguiente
PharFileInfo->isCompressedBZIP2 | Subir | PharFileInfo->isCRCChecked


PharFileInfo->isCRCChecked

(no version information, might be only in CVS)

PharFileInfo->isCRCChecked -- Returns whether file entry has had its CRC verified

Descripción

bool PharFileInfo->isCRCChecked ( void )

This returns whether a file within a Phar archive has had its CRC verified.

Valores retornados

TRUE if the file has had its CRC verified, FALSE if not.

Ejemplos

Ejemplo 1. A PharFileInfo->isCRCChecked() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCRCChecked());
} catch (Exception $e) {
    echo 'Create/modify operations failed on my.phar: ', $e;
}
?>

El resultado del ejemplo seria:

bool(true)

Anterior | Inicio | Siguiente
PharFileInfo->isCompressedGZ | Subir | PharFileInfo->setCompressedBZIP2


PharFileInfo->setCompressedBZIP2

(no version information, might be only in CVS)

PharFileInfo->setCompressedBZIP2 -- Compresses the current Phar entry within the phar using Bzip2 compression

Descripción

bool PharFileInfo->setCompressedBZIP2 ( void )

This method compresses the file inside the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using gzip compression, the zlib extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Errors/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2 extension is not available.

Ejemplos

Ejemplo 1. A PharFileInfo->setCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedBZIP2());
    $p['myfile.txt']->setCompressedBZIP2();
    var_dump($file->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

El resultado del ejemplo seria:

bool(false)
bool(true)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->compressAllFilesBZIP2()

Anterior | Inicio | Siguiente
PharFileInfo->isCRCChecked | Subir | PharFileInfo->setCompressedGZ


PharFileInfo->setCompressedGZ

(no version information, might be only in CVS)

PharFileInfo->setCompressedGZ -- Compresses the current Phar entry within the phar using gz compression

Descripción

bool PharFileInfo->setCompressedGZ ( void )

This method compresses the file inside the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Errors/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the zlib extension is not available.

Ejemplos

Ejemplo 1. A PharFileInfo->setCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedGZ());
    $p['myfile.txt']->setCompressedGZ();
    var_dump($file->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

El resultado del ejemplo seria:

bool(false)
bool(true)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressed()
Phar->compressAllFilesGZ()

Anterior | Inicio | Siguiente
PharFileInfo->setCompressedBZIP2 | Subir | PharFileInfo->setMetaData


PharFileInfo->setMetaData

(no version information, might be only in CVS)

PharFileInfo->setMetaData -- Sets file-specific meta-data saved with a file

Descripción

int PharFileInfo->setMetaData ( mixed metadata )

setMetaData() should only be used to store customized data in a file that cannot be represented with existing information stored with a file. Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a phar, although it is possible to set them with the PharFileInfo->chmod() method. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Some possible uses for meta-data include passing a user/group that should be set when a file is extracted from the phar to disk. Other uses could include explicitly specifying a MIME type to return. However, any useful data that describes a file, but should not be contained inside of it may be stored.

Lista de parámetros

metadata

Any PHP variable containing information to store alongside a file

Ejemplos

Ejemplo 1. A PharFileInfo->setMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

El resultado del ejemplo seria:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Ver también

PharFileInfo->getMetaData()

Anterior | Inicio | Siguiente
PharFileInfo->setCompressedGZ | Subir | PharFileInfo->setUncompressed


PharFileInfo->setUncompressed

(no version information, might be only in CVS)

PharFileInfo->setUncompressed -- Uncompresses the current Phar entry within the phar, if it is compressed

Descripción

bool PharFileInfo->setUncompressed ( void )

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Errors/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Ejemplos

Ejemplo 1. A PharFileInfo->setUncompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->setCompressedGZ();
    var_dump($file->isCompressed());
    $p['myfile.txt']->setUncompressed();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

El resultado del ejemplo seria:

bool(true)
bool(false)

Ver también

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->uncompressAllFiles()

Anterior | Inicio | Siguiente
PharFileInfo->setMetaData | Subir | Opciones e Información de PHP


posix_access

(PHP 5 >= 5.1.0RC1)

posix_access -- Determinar la accesibilidad de un archivo

Descripción

bool posix_access ( string archivo [, int modo] )

posix_access() verifica el permiso del usuario sobre un archivo.

Nota: Cuando safe-mode (modo-seguro) está activado, PHP comprueba si los archivos o directorios que va a utilizar tienen la misma UID que el script que está siendo ejecutado.

Lista de parámetros

archivo

El nombre del archivo a ser probado.

modo

Una máscara consistente de uno o más de los valores POSIX_F_OK, POSIX_R_OK, POSIX_W_OK y POSIX_X_OK. Su valor predeterminado es POSIX_F_OK.

POSIX_R_OK, POSIX_W_OK y POSIX_X_OK solicitan que se verifique si el archivo existe y tiene permisos de lectura, escritura y ejecución, respectivamente. POSIX_F_OK simplemente verifica la existencia del archivo.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Ejemplo de posix_access()

Este ejemplo verificará si el $archivo puede leerse y escribirse, de lo contrario imprimirá un mensaje de error.

<?php

$archivo = 'algun_archivo';

if (posix_access($archivo, POSIX_R_OK | POSIX_W_OK)) {
    echo 'El archivo puede leerse y escribirse!';

} else {
    $error = posix_get_last_error();

    echo "Error $error: " . posix_strerror($error);
}

?>

Ver también

posix_get_last_error()
posix_strerror()

Anterior | Inicio | Siguiente
Funciones POSIX | Subir | posix_ctermid


posix_mknod

(PHP 5 >= 5.1.0RC1)

posix_mknod -- Crear un archivo especial u ordinario (POSIX.1)

Descripción

bool posix_mknod ( string nombre_ruta, int modo [, int mayor [, int menor]] )

posix_mknod() crea un archivo especial u ordinario.

Lista de parámetros

nombre_ruta

El archivo a crear

modo

Este parámetro es construido por un valor OR a nivel de bits entre el tipo de archivo (uno de los siguientes valores: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO o POSIX_S_IFSOCK) y los permisos.

mayor

El identificador mayor de dispositivo de núcleo (requerido cuando se usa S_IFCHR o S_IFBLK).

menor

El identificador menor de dispositivo de núcleo (su valor predeterminado es 0).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Un ejemplo de posix_mknod()

<?php

$archivo  = '/tmp/archivo_tmp';  // nombre de archivo
$tipo     = POSIX_S_IFBLK;       // tipo de archivo
$permisos = 0777;                // octal
$mayor = 1;
$menor = 8;                      // /dev/random

if (!posix_mknod($archivo, $tipo | $permisos, $mayor, $menor)) {
    die('Error ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Ver también

posix_mkfifo()

Anterior | Inicio | Siguiente
posix_mkfifo | Subir | posix_setegid


preg_last_error

(no version information, might be only in CVS)

preg_last_error -- Returns the error code of the last PCRE regex execution

Descripción

int preg_last_error ( void )

Returns the error code of the last PCRE regex execution.

Valores retornados

Returns one of the following constants (explained on their own page):

PREG_NO_ERROR
PREG_INTERNAL_ERROR
PREG_BACKTRACK_LIMIT_ERROR (see also pcre.backtrack_limit)
PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit)
PREG_BAD_UTF8_ERROR

Anterior | Inicio | Siguiente
preg_grep | Subir | preg_match_all


property_exists

(PHP 5 >= 5.1.0RC1)

property_exists -- Verifica si el objeto o clase tiene una propiedad

Descripción

bool property_exists ( mixed clase, string propiedad )

Esta función verifica si la propiedad dada existe en la clase especificada (y si es accesible desde el contexto actual).

Nota: Al contrario que isset(), property_exists() devuelve TRUE incluso si la propiedad tiene el valor NULL.

Lista de parámetros

clase

El nombre de clase o un objeto de la clase para hacer la prueba

propiedad

El nombre de la propiedad

Valores retornados

Devuelve TRUE si la propiedad existe, FALSE si no existe o NULL en caso de un error.

Ejemplos

Ejemplo 1. Un ejemplo de property_exists()

<?php

class miClase {
    public $mia;
    private $xpto;

    static function prueba() {
        var_dump(property_exists('miClase', 'xpto')); // true, es accesible desde aquí
    }
}

var_dump(property_exists('miClase', 'mia'));   //true
var_dump(property_exists(new miClase, 'mia')); //true
var_dump(property_exists('miClase', 'xpto'));  //false, no es pública
miClase::prueba();

?>

Ver también

method_exists()

Anterior | Inicio | Siguiente
method_exists | Subir | Classkit Functions


ps_add_bookmark

(PECL)

ps_add_bookmark -- Add bookmark to current page

Descripción

int ps_add_bookmark ( resource psdoc, string text [, int parent [, int open]] )

Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in a hierarchical tree. Clicking on a bookmark will jump to the given page.

The bookmark has no meaning if the document is printed or viewed, but it will be used if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text used for displaying the bookmark.

parent

A bookmark previously created by this function which is used as the parent of the new bookmark.

open

If open is unequal to zero the bookmark will be shown open by the pdf viewer.

Valores retornados

The returned value is a reference for the bookmark. It is only used if the bookmark shall be used as a parent. The value is greater zero if the function succeeds. In case of an error zero will be returned.

Ver también

ps_add_launchlink()
ps_add_pdflink()
ps_add_weblink()

Anterior | Inicio | Siguiente
PostScript document creation | Subir | ps_add_launchlink


ps_add_launchlink

(PECL)

ps_add_launchlink -- Adds link which launches file

Descripción

bool ps_add_launchlink ( resource psdoc, float llx, float lly, float urx, float ury, string filename )

Places a hyperlink at the given position pointing to a file program which is being started when clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The path of the program to be started, when the link is clicked on.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_add_locallink()
ps_add_pdflink()
ps_add_weblink()

Anterior | Inicio | Siguiente
ps_add_bookmark | Subir | ps_add_locallink


ps_add_locallink

(PECL)

ps_add_locallink -- Adds link to a page in the same document

Descripción

bool ps_add_locallink ( resource psdoc, float llx, float lly, float urx, float ury, int page, string dest )

Places a hyperlink at the given position pointing to a page in the same document. Clicking on the link will jump to the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

page

The number of the page displayed when clicking on the link.

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_add_launchlink()
ps_add_pdflink()
ps_add_weblink()

Anterior | Inicio | Siguiente
ps_add_launchlink | Subir | ps_add_note


ps_add_note

(PECL)

ps_add_note -- Adds note to current page

Descripción

bool ps_add_note ( resource psdoc, float llx, float lly, float urx, float ury, string contents, string title, string icon, int open )

Adds a note at a certain position on the page. Notes are like little rectangular sheets with text on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If unfolded, the specified icon is used as a placeholder.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

contents

The text of the note.

title

The title of the note as displayed in the header of the note.

icon

The icon shown if the note is folded. This parameter can be set to comment, insert, note, paragraph, newparagraph, key, or help.

open

If open is unequal to zero the note will be shown unfolded after opening the document with a pdf viewer.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_add_pdflink()
ps_add_launchlink()
ps_add_locallink()
ps_add_weblink()

Anterior | Inicio | Siguiente
ps_add_locallink | Subir | ps_add_pdflink


ps_add_pdflink

(PECL)

ps_add_pdflink -- Adds link to a page in a second pdf document

Descripción

bool ps_add_pdflink ( resource psdoc, float llx, float lly, float urx, float ury, string filename, int page, string dest )

Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link will branch to the document at the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The name of the pdf document to be opened when clicking on this link.

page

The page number of the destination pdf document

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_add_launchlink()
ps_add_locallink()
ps_add_weblink()

Anterior | Inicio | Siguiente
ps_add_note | Subir | ps_add_weblink


ps_add_weblink

(PECL)

ps_add_weblink -- Adds link to a web location

Descripción

bool ps_add_weblink ( resource psdoc, float llx, float lly, float urx, float ury, string url )

Places a hyperlink at the given position pointing to a web page. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

url

The url of the hyperlink to be opened when clicking on this link, e.g. http://www.php.net.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_add_launchlink()
ps_add_locallink()
ps_add_pdflink()

Anterior | Inicio | Siguiente
ps_add_pdflink | Subir | ps_arc


ps_arc

(PECL)

ps_arc -- Draws an arc counterclockwise

Descripción

bool ps_arc ( resource psdoc, float x, float y, float radius, float alpha, float beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn counterclockwise (use ps_arcn() to draw clockwise). The subpath added to the current path starts on the arc at angle alpha and ends on the arc at angle beta.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The start angle given in degrees.

beta

The end angle given in degrees.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_arcn()

Anterior | Inicio | Siguiente
ps_add_weblink | Subir | ps_arcn


ps_arcn

(no version information, might be only in CVS)

ps_arcn -- Draws an arc clockwise

Descripción

bool ps_arcn ( resource psdoc, float x, float y, float radius, float alpha, float beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn clockwise (use ps_arc() to draw counterclockwise). The subpath added to the current path starts on the arc at angle beta and ends on the arc at angle alpha.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The starting angle given in degrees.

beta

The end angle given in degrees.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_arc()

Anterior | Inicio | Siguiente
ps_arc | Subir | ps_begin_page


ps_begin_page

(PECL)

ps_begin_page -- Start a new page

Descripción

bool ps_begin_page ( resource psdoc, float width, float height )

Starts a new page. Although the parameters width and height imply a different page size for each page, this is not possible in PostScript. The first call of ps_begin_page() will set the page size for the whole document. Consecutive calls will have no effect, except for creating a new page. The situation is different if you intent to convert the PostScript document into PDF. This function places pdfmarks into the document which can set the size for each page indiviually. The resulting PDF document will have different page sizes.

Though PostScript does not know different page sizes, pslib places a bounding box for each page into the document. This size is evaluated by some PostScript viewers and will have precedence over the BoundingBox in the Header of the document. This can lead to unexpected results when you set a BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will always have a lower left corner (0, 0) and overwrites the global setting.

Each page is encapsulated into save/restore. This means, that most of the settings made on one page will not be retained on the next page.

If there is up to the first call of ps_begin_page() no call of ps_findfont(), then the header of the PostScript document will be output and the bounding box will be set to the size of the first page. The lower left corner of the bounding box is set to (0, 0). If ps_findfont() was called before, then the header has been output already, and the document will not have a valid bounding box. In order to prevent this, one should call ps_set_info() to set the info field BoundingBox and possibly Orientation before any ps_findfont() or ps_begin_page() calls.

Nota: Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation, if it has been set before with ps_set_info() and ps_findfont() has not been called before.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the page in pixel, e.g. 596 for A4 format.

height

The height of the page in pixel, e.g. 842 for A4 format.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_end_page()
ps_findfont()
ps_set_info()

Anterior | Inicio | Siguiente
ps_arcn | Subir | ps_begin_pattern


ps_begin_pattern

(PECL)

ps_begin_pattern -- Start a new pattern

Descripción

int ps_begin_pattern ( resource psdoc, float width, float height, float xstep, float ystep, int painttype )

Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for filling areas. It is used like a color by calling ps_setcolor() and setting the color space to pattern.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the pattern in pixel.

height

The height of the pattern in pixel.

x-step

The distance in pixel of placements of the pattern in horizontal direction.

y-step

The distance in pixel of placements of the pattern in vertical direction.

painttype

Must be 1 or 2.

Valores retornados

The identifier of the pattern or FALSE in case of an error.

Ejemplos

Ejemplo 1. Creating and using a pattern

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Pattern example");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Ver también

ps_end_pattern()
ps_setcolor()
ps_shading_pattern()

Anterior | Inicio | Siguiente
ps_begin_page | Subir | ps_begin_template


ps_begin_template

(PECL)

ps_begin_template -- Start a new template

Descripción

int ps_begin_template ( resource psdoc, float width, float height )

Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing functions may be used within a template. The template will not be drawn until it is placed by ps_place_image().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the template in pixel.

height

The height of the template in pixel.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Creating and using a template

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Ver también

ps_end_template()

Anterior | Inicio | Siguiente
ps_begin_pattern | Subir | ps_circle


ps_circle

(PECL)

ps_circle -- Draws a circle

Descripción

bool ps_circle ( resource psdoc, float x, float y, float radius )

Draws a circle with its middle point at (x, y). The circle starts and ends at position (x+radius, y). If this function is called outside a path it will start a new path. If it is called within a path it will add the circle as a subpath. If the last drawing operation does not end in point (x+radius, y) then there will be a gap in the path.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_arc()
ps_arcn()

Anterior | Inicio | Siguiente
ps_begin_template | Subir | ps_clip


ps_clip

(PECL)

ps_clip -- Clips drawing to current path

Descripción

bool ps_clip ( resource psdoc )

Takes the current path and uses it to define the border of a clipping area. Everything drawn outside of that area will not be visible.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_closepath()

Anterior | Inicio | Siguiente
ps_circle | Subir | ps_close_image


ps_close

(PECL)

ps_close -- Closes a PostScript document

Descripción

bool ps_close ( resource psdoc )

Closes the PostScript document.

This function writes the trailer of the PostScript document. It also writes the bookmark tree. ps_close() does not free any resources, which is done by ps_delete().

This function is also called by ps_delete() if it has not been called before.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_open_file()
ps_delete()

Anterior | Inicio | Siguiente
ps_close_image | Subir | ps_closepath_stroke


ps_close_image

(PECL)

ps_close_image -- Closes image and frees memory

Descripción

void ps_close_image ( resource psdoc, int imageid )

Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

Resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

Valores retornados

Returns NULL on success or FALSE on failure.

Ver también

ps_open_image()
ps_open_image_file()

Anterior | Inicio | Siguiente
ps_clip | Subir | ps_close


ps_closepath

(PECL)

ps_closepath -- Closes path

Descripción

bool ps_closepath ( resource psdoc )

Connects the last point with the first point of a path. The resulting path can be used for stroking, filling, clipping, etc..

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_clip()
ps_closepath_stroke()

Anterior | Inicio | Siguiente
ps_closepath_stroke | Subir | ps_continue_text


ps_closepath_stroke

(PECL)

ps_closepath_stroke -- Closes and strokes path

Descripción

bool ps_closepath_stroke ( resource psdoc )

Connects the last point with first point of a path and draws the resulting closed line.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_closepath()

Anterior | Inicio | Siguiente
ps_close | Subir | ps_closepath


ps_continue_text

(PECL)

ps_continue_text -- Continue text in next line

Descripción

bool ps_continue_text ( resource psdoc, string text )

Output a text one line below the last line. The line spacing is taken from the value "leading" which must be set with ps_set_value(). The actual position of the text is determined by the values "textx" and "texty" which can be requested with ps_get_value()

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to output.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_show()
ps_show_xy()
ps_show_boxed()

Anterior | Inicio | Siguiente
ps_closepath | Subir | ps_curveto


ps_curveto

(PECL)

ps_curveto -- Draws a curve

Descripción

bool ps_curveto ( resource psdoc, float x1, float y1, float x2, float y2, float x3, float y3 )

Add a section of a cubic Bézier curve described by the three given control points to the current path.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x1

x-coordinate of first control point.

y1

y-coordinate of first control point.

x2

x-coordinate of second control point.

y2

y-coordinate of second control point.

x3

x-coordinate of third control point.

y3

y-coordinate of third control point.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_lineto()

Anterior | Inicio | Siguiente
ps_continue_text | Subir | ps_delete


ps_delete

(PECL)

ps_delete -- Deletes all resources of a PostScript document

Descripción

bool ps_delete ( resource psdoc )

Mainly frees memory used by the document. Also closes a file, if it was not closed before with ps_close(). You should in any case close the file with ps_close() before, because ps_close() not just closes the file but also outputs a trailor containing PostScript comments like the number of pages in the document and adding the bookmark hierarchy.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_close()

Anterior | Inicio | Siguiente
ps_curveto | Subir | ps_end_page


ps_end_page

(PECL)

ps_end_page -- End a page

Descripción

bool ps_end_page ( resource psdoc )

Ends a page which was started with ps_begin_page(). Ending a page will leave the current drawing context, which e.g. requires to reload fonts if they were loading within the page, and to set many other drawing parameters like the line width, or color..

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_begin_page()

Anterior | Inicio | Siguiente
ps_delete | Subir | ps_end_pattern


ps_end_pattern

(PECL)

ps_end_pattern -- End a pattern

Descripción

bool ps_end_pattern ( resource psdoc )

Ends a pattern which was started with ps_begin_pattern(). Once a pattern has been ended, it can be used like a color to fill areas.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_begin_pattern()

Anterior | Inicio | Siguiente
ps_end_page | Subir | ps_end_template


ps_end_template

(PECL)

ps_end_template -- End a template

Descripción

bool ps_end_template ( resource psdoc )

Ends a template which was started with ps_begin_template(). Once a template has been ended, it can be used like an image.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_begin_template()

Anterior | Inicio | Siguiente
ps_end_pattern | Subir | ps_fill_stroke


ps_fill

(PECL)

ps_fill -- Fills the current path

Descripción

bool ps_fill ( resource psdoc )

Fills the path constructed with previously called drawing functions like ps_lineto().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_fill_stroke()
ps_stroke()

Anterior | Inicio | Siguiente
ps_fill_stroke | Subir | ps_findfont


ps_fill_stroke

(PECL)

ps_fill_stroke -- Fills and strokes the current path

Descripción

bool ps_fill_stroke ( resource psdoc )

Fills and draws the path constructed with previously called drawing functions like ps_lineto().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_fill()
ps_stroke()

Anterior | Inicio | Siguiente
ps_end_template | Subir | ps_fill


ps_findfont

(PECL)

ps_findfont -- Loads a font

Descripción

int ps_findfont ( resource psdoc, string fontname, string encoding [, bool embed] )

Loads a font for later use. Before text is output with a loaded font it must be set with ps_setfont(). This function needs the adobe font metric file in order to calculate the space used up by the characters. A font which is loaded within a page will only be available on that page. Fonts which are to be used in the complete document have to be loaded before the first call of ps_begin_page(). Calling ps_findfont() between pages will make that font available for all following pages.

The name of the afm file must be fontname.afm. If the font shall be embedded the file fontname.pfb containing the font outline must be present as well.

Calling ps_findfont() before the first page requires to output the postscript header which includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first call of ps_begin_page() which now comes after ps_findfont(). Consequently the BoundingBox has not been set and a warning will be issued when ps_findfont() is called. In order to prevent this situation, one should call ps_set_parameter() to set the BoundingBox before ps_findfont() is called.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontname

The name of the font.

encoding

ps_findfont() will try to load the file passed in the parameter encoding. Encoding files are of the same syntax as those used by dvips(1). They contain a font encoding vector (which is currently not used but must be present) and a list of extra ligatures to extend the list of ligatures derived from the afm file.

encoding can be NULL or the empty string if the default encoding (TeXBase1) shall be used.

If the encoding is set to builtin then there will be no reencoding and the font specific encoding will be used. This is very useful with symbol fonts.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

Valores retornados

Returns the identifier of the font or zero in case of an error. The identifier is a positive number.

Ver también

ps_begin_page()
ps_setfont()

Anterior | Inicio | Siguiente
ps_fill | Subir | ps_get_buffer


ps_get_buffer

(PECL)

ps_get_buffer -- Fetches the full buffer containig the generated PS data

Descripción

string ps_get_buffer ( resource psdoc )

This function is not implemented yet. It will always return an empty string. The idea for a later implementation is to write the contents of the postscript file into an internal buffer if in memory creation is requested, and retrieve the buffer content with this function. Currently, documents created in memory are send to the browser without buffering.

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Ver también

ps_open_file()

Anterior | Inicio | Siguiente
ps_findfont | Subir | ps_get_parameter


ps_get_parameter

(PECL)

ps_get_parameter -- Gets certain parameters

Descripción

string ps_get_parameter ( resource psdoc, string name [, float modifier] )

Gets several parameters which were directly set by ps_set_parameter() or indirectly by one of the other functions. Parameters are by definition string values. This function cannot be used to retrieve resources which were also set by ps_set_parameter().

The parameter name can have the following values.

fontname

The name of the currently active font or the font whose identifier is passed in parameter modifier.

fontencoding

The encoding of the currently active font.

dottedversion

The version of the underlying pslib library in the format <major>.<minor>.<subminor>

scope

The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph.

ligaturedisolvechar

The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'.

imageencoding

The encoding used for encoding images. Can be either hex or 85. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding.

linenumbermode

Set to paragraph if lines are numbered within a paragraph or box if they are numbered within the surrounding box.

linebreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will add a line break.

parbreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will start a new paragraph.

hyphenation

Only used if text is output with ps_show_boxed(). If set to true the paragraph will be hyphenated if a hypen dictionary is set and exists.

hyphendict

Filename of the dictionary used for hyphenation pattern.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the parameter.

modifier

An identifier needed if a parameter of a resource is requested, e.g. the size of an image. In such a case the resource id is passed.

Valores retornados

Returns the value of the parameter or FALSE in case of an error.

Ver también

ps_set_parameter()

Anterior | Inicio | Siguiente
ps_get_buffer | Subir | ps_get_value


ps_get_value

(PECL)

ps_get_value -- Gets certain values

Descripción

float ps_get_value ( resource psdoc, string name [, float modifier] )

Gets several values which were set by ps_set_value(). Values are by definition float values.

The parameter name can have the following values.

fontsize

The size of the currently active font or the font whose identifier is passed in parameter modifier.

font

The currently active font itself.

imagewidth

The width of the image whose id is passed in the parameter modifier.

imageheight

The height of the image whose id is passed in the parameter modifier.

capheight

The height of a capital M in the currently active font or the font whose identifier is passed in parameter modifier.

ascender

The ascender of the currently active font or the font whose identifier is passed in parameter modifier.

descender

The descender of the currently active font or the font whose identifier is passed in parameter modifier.

italicangle

The italicangle of the currently active font or the font whose identifier is passed in parameter modifier.

underlineposition

The underlineposition of the currently active font or the font whose identifier is passed in parameter modifier.

underlinethickness

The underlinethickness of the currently active font or the font whose identifier is passed in parameter modifier.

textx

The current x-position for text output.

texty

The current y-position for text output.

textrendering

The current mode for text rendering.

textrise

The space by which text is risen above the base line.

leading

The distance between text lines in points.

wordspacing

The space between words as a multiple of the width of a space char.

charspacing

The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.

hyphenminchars

Minimum number of chars hyphenated at the end of a word.

parindent

Indention of the first n line in a paragraph.

numindentlines

Number of line in a paragraph to indent if parindent != 0.0.

parskip

Distance between paragraphs.

linenumberspace

Overall space in front of each line for the line number.

linenumbersep

Space between the line and the line number.

major

The major version number of pslib.

minor

The minor version number of pslib.

subminor, revision

The subminor version number of pslib.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the value.

modifier

The parameter modifier specifies the resource for which the value is to be retrieved. This can be the id of a font or an image.

Valores retornados

Returns the value of the parameter or FALSE.

Ver también

ps_set_value()

Anterior | Inicio | Siguiente
ps_get_parameter | Subir | ps_hyphenate


ps_hyphenate

(PECL)

ps_hyphenate -- Hyphenates a word

Descripción

array ps_hyphenate ( resource psdoc, string text )

Hyphenates the passed word. ps_hyphenate() evaluates the value hyphenminchars (set by ps_set_value()) and the parameter hyphendict (set by ps_set_parameter()). hyphendict must be set before calling this function.

This function requires the locale category LC_CTYPE to be set properly. This is done when the extension is initialized by using the environment variables. On Unix systems read the man page of locale for more information.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

text should not contain any non alpha characters. Possible positions for breaks are returned in an array of interger numbers. Each number is the position of the char in text after which a hyphenation can take place.

Valores retornados

An array of integers indicating the position of possible breaks in the text or FALSE in case of an error.

Ejemplos

Ejemplo 1. Hyphennate a text

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
  echo $word[$i];
  if(in_array($i, $hyphens))
    echo "-";
}
ps_delete($psdoc);
?>

El resultado del ejemplo seria:

Ko-ordi-na-ten-sys-tem

Ver también

ps_show_boxed()
locale(1)

Anterior | Inicio | Siguiente
ps_get_value | Subir | ps_lineto


ps_lineto

(PECL)

ps_lineto -- Draws a line

Descripción

bool ps_lineto ( resource psdoc, float x, float y )

Adds a straight line from the current point to the given coordinates to the current path. Use ps_moveto() to set the starting point of the line.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the end point of the line.

y

y-coordinate of the end point of the line.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Drawing a rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Lineto example");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Ver también

ps_moveto()

Anterior | Inicio | Siguiente
ps_hyphenate | Subir | ps_makespotcolor


ps_makespotcolor

(PECL)

ps_makespotcolor -- Create spot color

Descripción

int ps_makespotcolor ( resource psdoc, string name [, float reserved] )

Creates a spot color from the current fill color. The fill color must be defined in rgb, cmyk or gray colorspace. The spot color name can be an arbitrary name. A spot color can be set as any color with ps_setcolor(). When the document is not printed but displayed by an postscript viewer the given color in the specified color space is use.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the spot color, e.g. Pantone 5565.

Valores retornados

The id of the new spot color or 0 in case of an error.

Ejemplos

Ejemplo 1. Creating and using a spot color

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Spot color example");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example creates the spot color "PANTONE 5565 C" which is a darker green (olive) and fills a rectangle with 50% intensity.

Ver también

ps_setcolor()

Anterior | Inicio | Siguiente
ps_lineto | Subir | ps_moveto


ps_moveto

(PECL)

ps_moveto -- Sets current point

Descripción

bool ps_moveto ( resource psdoc, float x, float y )

Sets the current point to new coordinates. If this is the first call of ps_moveto() after a previous path has been ended then it will start a new path. If this function is called in the middle of a path it will just set the current point and start a subpath.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the point to move to.

y

y-coordinate of the point to move to.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_lineto()

Anterior | Inicio | Siguiente
ps_makespotcolor | Subir | ps_new


ps_new

(PECL)

ps_new -- Creates a new PostScript document object

Descripción

resource ps_new ( void )

Creates a new document instance. It does not create the file on disk or in memory, it just sets up everything. ps_new() is usually followed by a call of ps_open_file() to actually create the postscript document.

Valores retornados

Resource of PostScript document or FALSE on failure. The return value is passed to all other functions as the first argument.

Ver también

ps_delete()

Anterior | Inicio | Siguiente
ps_moveto | Subir | ps_open_file


ps_open_file

(PECL)

ps_open_file -- Opens a file for output

Descripción

bool ps_open_file ( resource psdoc [, string filename] )

Creates a new file on disk and writes the PostScript document into it. The file will be closed when ps_close() is called.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

filename

The name of the postscript file. If filename is not passed the document will be created in memory and all output will go straight to the browser.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_close()

Anterior | Inicio | Siguiente
ps_new | Subir | ps_open_image_file


ps_open_image

(PECL)

ps_open_image -- Reads an image for later placement

Descripción

int ps_open_image ( resource psdoc, string type, string source, string data, int lenght, int width, int height, int components, int bpc, string params )

Reads an image which is already available in memory. The parameter source is currently not evaluated and assumed to be memory. The image data is a sequence of pixels starting in th upper left corner and ending in the lower right corner. Each pixel consists of components color components, and each component has bpc bits.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

source

Not used.

data

The image data.

length

The length of the image data.

width

The width of the image.

height

The height of the image.

components

The number of components for each pixel. This can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba images).

bpc

Number of bits per component (quite often 8).

params

Valores retornados

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Ver también

ps_open_image_file()
ps_place_image()
ps_close_image()

Anterior | Inicio | Siguiente
ps_open_image_file | Subir | ps_place_image


ps_open_image_file

(PECL)

ps_open_image_file -- Opens image from file

Descripción

int ps_open_image_file ( resource psdoc, string type, string filename [, string stringparam [, int intparam]] )

Loads an image for later use.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

filename

The name of the file containing the image data.

stringparam

Not used.

intparam

Not used.

Valores retornados

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Ver también

ps_open_image()
ps_place_image()
ps_close_image()

Anterior | Inicio | Siguiente
ps_open_file | Subir | ps_open_image


ps_place_image

(PECL)

ps_place_image -- Places image on the page

Descripción

bool ps_place_image ( resource psdoc, int imageid, float x, float y, float scale )

Places a formerly loaded image on the page. The image can be scaled. If the image shall be rotated as well, you will have to rotate the coordinate system before with ps_rotate().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

The resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

x

x-coordinate of the lower left corner of the image.

y

y-coordinate of the lower left corner of the image.

scale

The scaling factor for the image. A scale of 1.0 will result in a resolution of 72 dpi, because each pixel is equivalent to 1 point.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_open_image()
ps_open_image_file()

Anterior | Inicio | Siguiente
ps_open_image | Subir | ps_rect


ps_rect

(PECL)

ps_rect -- Draws a rectangle

Descripción

bool ps_rect ( resource psdoc, float x, float y, float width, float height )

Draws a rectangle with its lower left corner at (x, y). The rectangle starts and ends in its lower left corner. If this function is called outside a path it will start a new path. If it is called within a path it will add the rectangle as a subpath. If the last drawing operation does not end in the lower left corner then there will be a gap in the path.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the lower left corner of the rectangle.

y

y-coordinate of the lower left corner of the rectangle.

width

The width of the image.

height

The height of the image.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_arc()
ps_cirle()
ps_lineto()

Anterior | Inicio | Siguiente
ps_place_image | Subir | ps_restore


ps_restore

(PECL)

ps_restore -- Restore previously save context

Descripción

bool ps_restore ( resource psdoc )

Restores a previously saved graphics context. Any call of ps_save() must be accompanied by a call to ps_restore(). All coordinate transformations, line style settings, color settings, etc. are being restored to the state before the call of ps_save().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_save()

Anterior | Inicio | Siguiente
ps_rect | Subir | ps_rotate


ps_rotate

(PECL)

ps_rotate -- Sets rotation factor

Descripción

bool ps_rotate ( resource psdoc, float rot )

Sets the rotation of the coordinate system.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

rot

Angle of rotation in degree.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Rotation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.

In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().

Ver también

ps_scale()
ps_translate()

Anterior | Inicio | Siguiente
ps_restore | Subir | ps_save


ps_save

(PECL)

ps_save -- Save current context

Descripción

bool ps_save ( resource psdoc )

Saves the current graphics context, containing colors, translation and rotation settings and some more. A saved context can be restored with ps_restore().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_restore()

Anterior | Inicio | Siguiente
ps_rotate | Subir | ps_scale


ps_scale

(PECL)

ps_scale -- Sets scaling factor

Descripción

bool ps_scale ( resource psdoc, float x, float y )

Sets horizontal and vertical scaling of the coordinate system.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

Scaling factor in horizontal direction.

y

Scaling factor in vertical direction.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_rotate()
ps_translate()

Anterior | Inicio | Siguiente
ps_save | Subir | ps_set_border_color


ps_set_border_color

(PECL)

ps_set_border_color -- Sets color of border for annotations

Descripción

bool ps_set_border_color ( resource psdoc, float red, float green, float blue )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the color of the rectangle's border line.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

red

The red component of the border color.

green

The green component of the border color.

blue

The blue component of the border color.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_set_border_dash()
ps_set_border_style()

Anterior | Inicio | Siguiente
ps_scale | Subir | ps_set_border_dash


ps_set_border_dash

(PECL)

ps_set_border_dash -- Sets length of dashes for border of annotations

Descripción

bool ps_set_border_dash ( resource psdoc, float black, float white )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the length of the black and white portion of a dashed border line.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

black

The length of the dash.

white

The length of the gap between dashes.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_set_border_color()
ps_set_border_style()

Anterior | Inicio | Siguiente
ps_set_border_color | Subir | ps_set_border_style


ps_set_border_style

(PECL)

ps_set_border_style -- Sets border style of annotations

Descripción

bool ps_set_border_style ( resource psdoc, string style, float width )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the appearance and width of the border line.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

style

style can be solid or dashed.

width

The line width of the border.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_set_border_color()
ps_set_border_dash()

Anterior | Inicio | Siguiente
ps_set_border_dash | Subir | ps_set_info


ps_set_info

(PECL)

ps_set_info -- Sets information fields of document

Descripción

bool ps_set_info ( resource p, string key, string val )

Sets certain information fields of the document. This fields will be shown as a comment in the header of the PostScript file. If the document is converted to pdf this fields will also be used for the document information.

The BoundingBox is usually set to the value given to the first page. This only works if ps_findfont() has not been called before. In such cases the BoundingBox would be left unset unless you set it explicitly with this function.

This function will have no effect anymore when the header of the postscript file has been already written. It must be called before the first page or the first call of ps_findfont().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

key

The name of the information field to set. The values which can be set are Keywords, Subject, Title, Creator, Author, BoundingBox, and Orientation. Be aware that some of them has a meaning to PostScript viewers.

value

The value of the information field. The field Orientation can be set to either Portrait or Landscape. The BoundingBox is a string consisting of four numbers. The first two numbers are the coordinates of the lower left corner of the page. The last two numbers are the coordinates of the upper right corner.

Nota: Up to version 0.2.6 of pslib, the BoundingBox and Orientation will be overwritten by ps_begin_page(), unless ps_findfont() has been called before.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_findfont()
ps_begin_page()

Anterior | Inicio | Siguiente
ps_set_border_style | Subir | ps_set_parameter


ps_set_parameter

(PECL)

ps_set_parameter -- Sets certain parameters

Descripción

bool ps_set_parameter ( resource psdoc, string name, string value )

Sets several parameters which are used by many functions. Parameters are by definition string values.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

For a list of possible names see ps_get_parameter().

value

The value of the parameter.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_get_parameters()
ps_set_value()

Anterior | Inicio | Siguiente
ps_set_info | Subir | ps_set_text_pos


ps_set_text_pos

(PECL)

ps_set_text_pos -- Sets position for text output

Descripción

bool ps_set_text_pos ( resource psdoc, float x, float y )

Set the position for the next text output. You may alternatively set the x and y value separately by calling ps_set_value() and choosing textx respectively texty as the value name.

If you want to output text at a certain position it is more convenient to use ps_show_xy() instead of setting the text position and calling ps_show().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the new text position.

y

y-coordinate of the new text position.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Placing text at a given position

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Text placement example");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Some text at (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Some text at (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Ver también

ps_set_value()
ps_show()

Anterior | Inicio | Siguiente
ps_set_parameter | Subir | ps_set_value


ps_set_value

(PECL)

ps_set_value -- Sets certain values

Descripción

bool ps_set_value ( resource psdoc, string name, float value )

Sets several values which are used by many functions. Parameters are by definition float values.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

The name can be one of the following:

textrendering

The way how text is shown.

textx

The x coordinate for text output.

texty

The y coordinate for text output.

wordspacing

The distance between words relative to the width of a space.

leading

The distance between lines in pixels.

value

The value of the parameter.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_get_value()
ps_set_parameter()

Anterior | Inicio | Siguiente
ps_set_text_pos | Subir | ps_setcolor


ps_setcolor

(PECL)

ps_setcolor -- Sets current color

Descripción

bool ps_setcolor ( resource psdoc, string type, string colorspace, float c1, float c2, float c3, float c4 )

Sets the color for drawing, filling, or both.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The parameter type can be both, fill, or fillstroke.

colorspace

The colorspace should be one of gray, rgb, cmyk, spot, pattern. Depending on the colorspace either only the first, the first three or all parameters will be used.

c1

Depending on the colorspace this is either the red component (rgb), the cyan component (cmyk), the gray value (gray), the identifier of the spot color or the identifier of the pattern.

c2

Depending on the colorspace this is either the green component (rgb), the magenta component (cmyk).

c3

Depending on the colorspace this is either the blue component (rgb), the yellow component (cmyk).

c4

This must only be set in cmyk colorspace and specifies the black component.

Bugs

The second parameter is currently not always evaluated. The color is sometimes set for filling and drawing just as if fillstroke were passed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ps_set_value | Subir | ps_setdash


ps_setdash

(PECL)

ps_setdash -- Sets appearance of a dashed line

Descripción

bool ps_setdash ( resource psdoc, float on, float off )

Sets the length of the black and white portions of a dashed line.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

on

The length of the dash.

off

The length of the gap between dashes.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_setpolydash()

Anterior | Inicio | Siguiente
ps_setcolor | Subir | ps_setflat


ps_setflat

(PECL)

ps_setflat -- Sets flatness

Descripción

bool ps_setflat ( resource psdoc, float value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The value must be between 0.2 and 1.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ps_setdash | Subir | ps_setfont


ps_setfont

(PECL)

ps_setfont -- Sets font to use for following output

Descripción

bool ps_setfont ( resource psdoc, int fontid, float size )

Sets a font, which has to be loaded before with ps_findfont(). Outputting text without setting a font results in an error.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontid

The font identifier as returned by ps_findfont().

size

The size of the font.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_findfont()
ps_set_text_pos() for an example.

Anterior | Inicio | Siguiente
ps_setflat | Subir | ps_setgray


ps_setgray

(no version information, might be only in CVS)

ps_setgray -- Sets gray value

Descripción

bool ps_setgray ( resource psdoc, float gray )

Sets the gray value for all following drawing operations.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

gray

The value must be between 0 (white) and 1 (black).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_setcolor()

Anterior | Inicio | Siguiente
ps_setfont | Subir | ps_setlinecap


ps_setlinecap

(PECL)

ps_setlinecap -- Sets appearance of line ends

Descripción

bool ps_setlinecap ( resource psdoc, int type )

Sets how line ends look like.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of line ends. Possible values are PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_setlinejoin()
ps_setlinewidth()
ps_setmiterlimit()

Anterior | Inicio | Siguiente
ps_setgray | Subir | ps_setlinejoin


ps_setlinejoin

(PECL)

ps_setlinejoin -- Sets how contected lines are joined

Descripción

bool ps_setlinejoin ( resource psdoc, int type )

Sets how lines are joined.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The way lines are joined. Possible values are PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_setlinecap()
ps_setlinewidth()
ps_setmiterlimit()

Anterior | Inicio | Siguiente
ps_setlinecap | Subir | ps_setlinewidth


ps_setlinewidth

(PECL)

ps_setlinewidth -- Sets width of a line

Descripción

bool ps_setlinewidth ( resource psdoc, float width )

Sets the line width for all following drawing operations.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of lines in points.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_setlinecap()
ps_setlinejoin()
ps_setmiterlimit()

Anterior | Inicio | Siguiente
ps_setlinejoin | Subir | ps_setmiterlimit


ps_setmiterlimit

(PECL)

ps_setmiterlimit -- Sets the miter limit

Descripción

bool ps_setmiterlimit ( resource psdoc, float value )

If two lines join in a small angle and the line join is set to PS_LINEJOIN_MITER, then the resulting spike will be very long. The miter limit is the maximum ratio of the miter length (the length of the spike) and the line width.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The maximum ratio between the miter length and the line width. Larger values (> 10) will result in very long spikes when two lines meet in a small angle. Keep the default unless you know what you are doing.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_setlinecap()
ps_setlinejoin()
ps_setlinewidth()

Anterior | Inicio | Siguiente
ps_setlinewidth | Subir | ps_setpolydash


ps_setpolydash

(PECL)

ps_setpolydash -- Sets appearance of a dashed line

Descripción

bool ps_setpolydash ( resource psdoc, float arr )

Sets the length of the black and white portions of a dashed line. ps_setpolydash() is used to set more complicated dash patterns.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

arr

arr is a list of length elements alternately for the black and white portion.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Drawing a dashed line

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
   print "Cannot open PostScript file\n";
     exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Poly dash example");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example draws a line with a 10 and 2 points long line, and gaps of 5 points inbetween.

Ver también

ps_setdash()

Anterior | Inicio | Siguiente
ps_setmiterlimit | Subir | ps_shading_pattern


ps_shading

(PECL)

ps_shading -- Creates a shading for later use

Descripción

int ps_shading ( resource psdoc, string type, float x0, float y0, float x1, float y1, float c1, float c2, float c3, float c4, string optlist )

Creates a shading, which can be used by ps_shfill() or ps_shading_pattern().

The color of the shading can be in any color space except for pattern.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of shading can be either radial or axial. Each shading starts with the current fill color and ends with the given color values passed in the parameters c1 to c4 (see ps_setcolor() for their meaning).

x0, x1, y0, y1

The coordinates x0, y0, x1, y1 are the start and end point of the shading. If the type of shading is radial the two points are the middle points of a starting and ending circle.

c1, c2, c3, c4

See ps_setcolor() for their meaning.

optlist

If the shading is of type radial the optlist must also contain the parameters r0 and r1 with the radius of the start and end circle.

Valores retornados

Returns the identifier of the pattern or FALSE in case of an error.

Ver también

ps_shading_pattern()
ps_shfill()

Anterior | Inicio | Siguiente
ps_shading_pattern | Subir | ps_shfill


ps_shading_pattern

(PECL)

ps_shading_pattern -- Creates a pattern based on a shading

Descripción

int ps_shading_pattern ( resource psdoc, int shadingid, string optlist )

Creates a pattern based on a shading, which has to be created before with ps_shading(). Shading patterns can be used like regular patterns.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

optlist

This argument is not currently used.

Valores retornados

The identifier of the pattern or FALSE in case of an error.

Ver también

ps_shading()
ps_shfill()

Anterior | Inicio | Siguiente
ps_setpolydash | Subir | ps_shading


ps_shfill

(PECL)

ps_shfill -- Fills an area with a shading

Descripción

bool ps_shfill ( resource psdoc, int shadingid )

Fills an area with a shading, which has to be created before with ps_shading(). This is an alternative way to creating a pattern from a shading ps_shading_pattern() and using the pattern as the filling color.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_shading()
ps_shading_pattern()

Anterior | Inicio | Siguiente
ps_shading | Subir | ps_show_boxed


ps_show

(PECL)

ps_show -- Output text

Descripción

bool ps_show ( resource psdoc, string text )

Output a text at the current text position. The text position can be set by storing the x and y coordinates into the values textx and texty with the function ps_set_value(). The function will issue an error if a font was not set before with ps_setfont().

ps_show() evaluates the following parameters and values as set by ps_set_parameter() and ps_set_value().

charspacing (value)

Distance between two consecutive glyphs. If this value is unequal to zero then all ligatures will be resolved. Values less than zero are allowed.

kerning (parameter)

Setting this parameter to "false" will turn off kerning. Kerning is turned on by default.

ligatures (parameter)

Setting this parameter to "false" will turn off the use of ligatures. Ligatures are turned on by default.

underline (parameter)

Setting this parameter to "true" will turn on underlining. Underlining is turned off by default.

overline (parameter)

Setting this parameter to "true" will turn on overlining. Overlining is turned off by default.

strikeout (parameter)

Setting this parameter to "true" will turn on striking out. Striking out is turned off by default.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_continue_text()
ps_show_xy()
ps_setfont()

Anterior | Inicio | Siguiente
ps_show_xy | Subir | ps_string_geometry


ps_show_boxed

(PECL)

ps_show_boxed -- Output text in a box

Descripción

int ps_show_boxed ( resource psdoc, string text, float left, float bottom, float width, float height, string hmode [, string feature] )

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to true and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to "true" if you want a carriage return to start a new line instead of treating it as a space. Defaults to "false".

parbreak (parameter)

Set to "true" if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to "true".

hyphenation (parameter)

Set to "true" in order to turn hyphenation on. This requires a dictionary to be set with the parameter "hyphendict". Defaults to "false".

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value "numindentlines".

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are "box" for numbering lines in the whole box or "paragraph" to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:

/usr/share/apps/koffice/hyphdicts/
/usr/lib/scribus/dicts/
/usr/lib/openoffice/share/dict/ooo/

Currently scribus appears to have the most complete hyphenation dictionaries.

Valores retornados

Number of characters that could not be written.

Ver también

ps_continue_text()

Anterior | Inicio | Siguiente
ps_shfill | Subir | ps_show_xy


ps_show_xy

(PECL)

ps_show_xy -- Output text at given position

Descripción

bool ps_show_xy ( resource psdoc, string text, float x, float y )

Output a text at the given text position.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

x

x-coordinate of the lower left corner of the box surrounding the text.

y

y-coordinate of the lower left corner of the box surrounding the text.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_continue_text()
ps_show()

Anterior | Inicio | Siguiente
ps_show_boxed | Subir | ps_show


ps_string_geometry

(PECL)

ps_string_geometry -- Gets geometry of a string

Descripción

array ps_string_geometry ( resource psdoc, string text [, int fontid [, float size]] )

This function is similar to ps_stringwidth() but returns an array of dimensions containing the width, ascender, and descender of the text.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the geometry is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Valores retornados

An array of the dimensions of a string. The element 'width' contains the width of the string as returned by ps_stringwidth(). The element 'descender' contains the maximum descender and 'ascender' the maximum ascender of the string.

Ver también

ps_continue_text()
ps_stringwidth()

Anterior | Inicio | Siguiente
ps_show | Subir | ps_stringwidth


ps_stringwidth

(PECL)

ps_stringwidth -- Gets width of a string

Descripción

float ps_stringwidth ( resource psdoc, string text [, int fontid [, float size]] )

Calculates the width of a string in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width. If kerning is turned on, it will be taken into account.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the width is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Valores retornados

Width of a string in points.

Ver también

ps_string_geometry()

Anterior | Inicio | Siguiente
ps_string_geometry | Subir | ps_stroke


ps_stroke

(PECL)

ps_stroke -- Draws the current path

Descripción

bool ps_stroke ( resource psdoc )

Draws the path constructed with previously called drawing functions like ps_lineto().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_closepath_stroke()
ps_fill()
ps_fill_stroke()

Anterior | Inicio | Siguiente
ps_stringwidth | Subir | ps_symbol_name


ps_symbol

(PECL)

ps_symbol -- Output a glyph

Descripción

bool ps_symbol ( resource psdoc, int ord )

Output the glyph at position ord in the font encoding vector of the current font. The font encoding for a font can be set when loading the font with ps_findfont().

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ps_symbol_name()
ps_symbol_width()

Anterior | Inicio | Siguiente
ps_symbol_width | Subir | ps_translate


ps_symbol_name

(PECL)

ps_symbol_name -- Gets name of a glyph

Descripción

string ps_symbol_name ( resource psdoc, int ord [, int fontid] )

This function needs an Adobe font metrics file to know which glyphs are available.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The parameter ord is the position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

Valores retornados

The name of a glyph in the given font.

Ver también

ps_symbol()
ps_symbol_width()

Anterior | Inicio | Siguiente
ps_stroke | Subir | ps_symbol_width


ps_symbol_width

(PECL)

ps_symbol_width -- Gets width of a glyph

Descripción

float ps_symbol_width ( resource psdoc, int ord [, int fontid [, float size]] )

Calculates the width of a glyph in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Valores retornados

The width of a glyph in points.

Ver también

ps_symbol()
ps_symbol_name()

Anterior | Inicio | Siguiente
ps_symbol_name | Subir | ps_symbol


ps_translate

(PECL)

ps_translate -- Sets translation

Descripción

bool ps_translate ( resource psdoc, float x, float y )

Sets a new initial point of the coordinate system.

Lista de parámetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the origin of the translated coordinate system.

y

y-coordinate of the origin of the translated coordinate system.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Translation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Translated example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_delete($ps);
?>

The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to undone after the graphic has been drawn.

On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate() the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle.

Ver también

ps_scale()
ps_rotate()

Anterior | Inicio | Siguiente
ps_symbol | Subir | Pspell Functions


px_close

(PECL)

px_close -- Closes a paradox database

Descripción

bool px_close ( resource pxdoc )

Closes the paradox database. This function will not close the file. You will have to call fclose() afterwards.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

px_open_fp()
The example at px_new()

Anterior | Inicio | Siguiente
Paradox File Access | Subir | px_create_fp


px_create_fp

(PECL)

px_create_fp -- Create a new paradox database

Descripción

bool px_create_fp ( resource pxdoc, resource file, array fielddesc )

Create a new paradox database file. The actual file has to be opened before with fopen(). Make sure the file is writable.

Nota: Calling this functions issues a warning about an empty tablename which can be safely ignored. Just set the tablename afterwards with px_set_parameter().

Nota: This function is highly experimental, due to insufficient documentation of the paradox file format. Database files created with this function can be opened by px_open_fp() and has been successfully opened by the Paradox software, but your milage may vary.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

File handle as returned by fopen().

fielddesc

fielddesc is an array containing one element for each field specification. A field specification is an array itself with either two or three elements.The first element is always a string value used as the name of the field. It may not be larger than ten characters. The second element contains the field type which is one of the constants listed in the table Constants for field types. In the case of a character field or bcd field, you will have to provide a third element specifying the length respectively the precesion of the field. If your field specification contains blob fields, you will have to make sure to either make the field large enough for all field values to fit or specify a blob file with px_set_blob_file() for storing the blobs. If this is not done the field data is truncated.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Creating a Paradox database with two fields

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Error handling */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Ver también

px_new()
px_put_record()
fopen()

Anterior | Inicio | Siguiente
px_close | Subir | px_date2string


px_date2string

(no version information, might be only in CVS)

px_date2string -- Converts a date into a string.

Descripción

string px_date2string ( resource pxdoc, int value, string format )

Turns a date as it stored in the paradox file into human readable format. Paradox dates are the number of days since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the example below.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

value

Value as stored in paradox database field of type PX_FIELD_DATE.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, L).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Turn a paradox date into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() outputs the same */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

El resultado del ejemplo seria:

7/15/1917
7/15/1917

Ver también

px_timestamp2string()
jdtogregorian()

Anterior | Inicio | Siguiente
px_create_fp | Subir | px_delete_record


px_delete

(PECL)

px_delete -- Deletes resource of paradox database

Descripción

bool px_delete ( resource pxdoc )

Deletes the resource of the paradox file and frees all memory.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
px_delete_record | Subir | px_get_field


px_delete_record

(PECL)

px_delete_record -- Deletes record from paradox database

Descripción

bool px_delete_record ( resource pxdoc, int num )

This function deletes a record from the database. It does not free the space in the database file but just marks it as deleted. Inserting a new record afterwards will reuse the space.

Nota: This function is only available if pxlib >= 0.6.0 is used.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Anterior | Inicio | Siguiente
px_date2string | Subir | px_delete


px_get_field

(PECL)

px_get_field -- Returns the specification of a single field

Descripción

array px_get_field ( resource pxdoc, int fieldno )

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

fieldno

Number of the field. The first field has number 0. Specifying a field number less than 0 and greater or equal the number of fields will trigger an error.

Valores retornados

Returns the specification of the fieldno'th database field as an associated array. The array contains three fields named name, type, and size.

Anterior | Inicio | Siguiente
px_delete | Subir | px_get_info


px_get_info

(PECL)

px_get_info -- Return lots of information about a paradox file

Descripción

array px_get_info ( resource pxdoc )

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valores retornados

Returns an associated array with lots of information about a paradox file. This array is likely to be extended in the future.

fileversion

Version of file multiplied by 10, e.g. 70.

tablename

Name of table as stored in the file. If the database was created by pxlib, then this will be the name of the file without the extension.

numrecords

Number of records in this table.

numfields

Number of fields in this table.

headersize

Number of bytes used for the header. This is usually 0x800.

recordsize

Number of bytes used for each record. This is the sum of all field sizes (available since version 1.4.2).

maxtablesize

This value multiplied by 0x400 is the size of a data block in bytes. The maximum number of records in a datablock is the integer part of (maxtablesize * 0x400 - 8) / recordsize.

numdatablocks

The number of data blocks in the file. Each data block contains a certain number of records which depends on the record size and the data block size (maxtablesize). Data blocks may not necessarily be completely filled.

numindexfields

Number of fields used for the primary index. The fields do always start with field number 1.

codepage

The DOS codepage which was used for encoding fields with character data. If the target encoding is not set with px_set_targetencoding() this will be the encoding for character fields when records are being accessed with px_get_record() or px_retrieve_record().

Ver también

px_numfields()
px_numrecords()

Anterior | Inicio | Siguiente
px_get_field | Subir | px_get_parameter


px_get_parameter

(PECL)

px_get_parameter -- Gets a parameter

Descripción

string px_get_parameter ( resource pxdoc, string name )

Gets various parameters.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

The name can be one of the following:

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields with px_get_record() or px_retrieve_record() is recoded into the targetencoding. If it is not set, then the data will be delivered as stored in the database file.

inputencoding

The encoding of the input data which is to be stored into the database. When storing data of character fields in the database, the data is expected to be delivered in this encoding.

Valores retornados

Returns the value of the parameter or FALSE on failure.

Anterior | Inicio | Siguiente
px_get_info | Subir | px_get_record


px_get_record

(PECL)

px_get_record -- Returns record of paradox database

Descripción

array px_get_record ( resource pxdoc, int num [, int mode] )

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys of the returned array into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp (PX_FIELD_TIMESTAMP) and date (PX_FIELD_DATE) are floating point respectively int values counting milliseconds respectively days starting at the beginning of julian calendar. Use the functions px-timestamp2string() and px-date2string() to convert them into a character representation.

Valores retornados

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Ver también

px_retrieve_record()

Anterior | Inicio | Siguiente
px_get_parameter | Subir | px_get_schema


px_get_schema

(PECL)

px_get_schema -- Returns the database schema

Descripción

array px_get_schema ( resource pxdoc [, int mode] )

px_get_schema() returns the database schema.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

mode

If the optional mode is PX_KEYTOLOWER or PX_KEYTOUPPER the keys of the returned array will be converted to lower or upper case. If mode is 0 or not passed at all, then the key name will be identical to the field name.

Valores retornados

Returns the schema of a database file as an associated array. The key name is equal to the field name. Each array element is itself an associated array containing the two fields type and size. type is one of the constants in table Constants for field types. size is the number of bytes this field consumes in the record. The total of all field sizes is equal to the record size as it can be retrieved with px-get-info().

Anterior | Inicio | Siguiente
px_get_record | Subir | px_get_value


px_get_value

(PECL)

px_get_value -- Gets a value

Descripción

float px_get_value ( resource pxdoc, string name )

Gets various values.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

Valores retornados

Returns the value of the parameter or FALSE on failure.

Anterior | Inicio | Siguiente
px_get_schema | Subir | px_insert_record


px_insert_record

(PECL)

px_insert_record -- Inserts record into paradox database

Descripción

int px_insert_record ( resource pxdoc, array data )

Inserts a new record into the database. The record is not necessarily inserted at the end of the database, but may be inserted at any position depending on where the first free slot is found.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Most field values can be passed as its equivalent php type e.g. a long value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and PX_FIELD_AUTOINC, a double values is used for fields of type PX_FIELD_CURRENCY and PX_FIELD_NUMBER. Field values for blob and alpha fields are passed as strings.

Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long value. In the first case this is the number of milliseconds since midnight. In the second case this is the number of days since 1.1.0000. Below there are two examples to convert the current date or timestamp into a value suitable for one of paradox's date/time fields.

Nota: This function is only available if pxlib >= 0.6.0 is used.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

Valores retornados

Returns FALSE on failure or the record number in case of success.

Ejemplos

Ejemplo 1. Set the date/time fields in a paradox database to the current date/time

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
    $rec = px_retrieve_record($px, $i);
    echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
    echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

El resultado del ejemplo seria:

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

Ver también

px_update_record()

Anterior | Inicio | Siguiente
px_get_value | Subir | px_new


px_new

(PECL)

px_new -- Create a new paradox object

Descripción

resource px_new ( void )

Create a new paradox object. You will have to call this function before any further functions. px_new() does not create any file on the disk, it just creates an instance of a paradox object. This function must not be called if the object oriented interface is used. Use new paradox_db() instead.

Valores retornados

Returns FALSE on failure.

Ejemplos

Ejemplo 1. Opening a Paradox database

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Error handling */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

If you prefer the object oriented API, then the above example will look like the following.

Ejemplo 2. Opening a Paradox database

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /* Error handling */
}
// ...
$pxdoc->close();
fclose($fp);
?>

Ver también

px_delete()
px_open_fp()

Anterior | Inicio | Siguiente
px_insert_record | Subir | px_numfields


px_numfields

(PECL)

px_numfields -- Returns number of fields in a database

Descripción

int px_numfields ( resource pxdoc )

Get the number of fields in a database file.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valores retornados

Returns the number of fields in a database file. The return value of this function is identical to the element numfields in the array returned by px_get_info().

Anterior | Inicio | Siguiente
px_new | Subir | px_numrecords


px_numrecords

(PECL)

px_numrecords -- Returns number of records in a database

Descripción

int px_numrecords ( resource pxdoc )

Get the number of records in a database file.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valores retornados

Returns the number of records in a database file. The return value of this function is identical to the element numrecords in the array returned by px_get_info().

Anterior | Inicio | Siguiente
px_numfields | Subir | px_open_fp


px_open_fp

(PECL)

px_open_fp -- Open paradox database

Descripción

bool px_open_fp ( resource pxdoc, resource file )

Open an existing paradox database file. The actual file has to be opened before with fopen(). This function can also be used to open primary index files and tread them like a paradox database. This is supported for those who would like to investigate a primary index. It cannot be used to accelerate access to a database file.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

file is the return value from fopen() with the actual database file as parameter. Make sure the database is writable if you plan to update or insert records.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

fopen()
The example at px_new()

Anterior | Inicio | Siguiente
px_numrecords | Subir | px_put_record


px_put_record

(PECL)

px_put_record -- Stores record into paradox database

Descripción

bool px_put_record ( resource pxdoc, array record [, int recpos] )

Stores a record into a paradox database. The record is always added at the end of the database, regardless of any free slots. Use px_insert_record() to add a new record into the first free slot found in the database.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

record

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

recpos

This optional parameter may be used to specify a record number greater than the current number of records in the database. The function will add as many empty records as needed. There is hardly any need for this parameter.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
px_open_fp | Subir | px_retrieve_record


px_retrieve_record

(PECL)

px_retrieve_record -- Returns record of paradox database

Descripción

array px_retrieve_record ( resource pxdoc, int num [, int mode] )

This function is very similar to px_get_record() but uses internally a different approach to retrieve the data. It relies on pxlib for reading each single field value, which usually results in support for more field types.

Nota: This function is only available if pxlib >= 0.6.0 is used.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp is a floating point value also counting milliseconds starting at the beginning of julian calendar.

Valores retornados

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Ver también

px_get_record()

Anterior | Inicio | Siguiente
px_put_record | Subir | px_set_blob_file


px_set_blob_file

(PECL)

px_set_blob_file -- Sets the file where blobs are read from

Descripción

bool px_set_blob_file ( resource pxdoc, string filename )

Sets the name of the file where blobs are going to be read from or written into. Without calling this function, px_get_record() or px_retrieve_record() will only return data in blob fields if the data is part of the record and not stored in the blob file. Blob data is stored in the record if it is small enough to fit in the size of the blob field.

Calling px_put_record(),
px_insert_record(), or
px_update_record() without calling
px_set_blob_file() will result in truncated blob fields
unless the data fits into the database file.

Calling this function twice will close the first blob file and open the new one.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

filename

The name of the file. Its extension should be .MB.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
px_retrieve_record | Subir | px_set_parameter


px_set_parameter

(PECL)

px_set_parameter -- Sets a parameter

Descripción

bool px_set_parameter ( resource pxdoc, string name, string value )

Sets various parameters.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

Depending on the parameter you want to set, name can be one of the following.

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

inputencoding

The encoding of the input data which is to be stored into the database.

value

The value of parameter to set. For inputencoding and targetencoding this must be the name of the encoding as understood by iconv or recode, e.g. iso-8859-1, utf-8, cp850.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

px_get_info() to determine the DOS code page.

Anterior | Inicio | Siguiente
px_set_blob_file | Subir | px_set_tablename


px_set_tablename

(PECL)

px_set_tablename -- Sets the name of a table (deprecated)

Descripción

void px_set_tablename ( resource pxdoc, string name )

Sets the table name of a paradox database, which was created with px_create_fp(). This function is deprecated use px_set_parameter() instead.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

tablename

The name of the table. If it is not set explicitly it will be set to the name of the database file.

Valores retornados

Returns NULL on success or FALSE on failure.

Ver también

px_set_parameter()

Anterior | Inicio | Siguiente
px_set_parameter | Subir | px_set_targetencoding


px_set_targetencoding

(PECL)

px_set_targetencoding -- Sets the encoding for character fields (deprecated)

Descripción

bool px_set_targetencoding ( resource pxdoc, string encoding )

Set the encoding for data retrieved from a character field. All character fields will be recoded to the encoding set by this function. If the encoding is not set, the character data will be returned in the DOS code page encoding as specified in the database file. The encoding can be any string identifier known to iconv or recode. On Unix systems run iconv -l for a list of available encodings.

This function is deprecated and should be replaced by calling px_set_parameter().

See also px_get_info() to determine the DOS code page as stored in the database file.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

encoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

Valores retornados

Returns FALSE if the encoding could not be set, e.g. the encoding is unknown, or pxlib does not support recoding at all. In the second case a warning will be issued.

Ver también

px_set_parameter()

Anterior | Inicio | Siguiente
px_set_tablename | Subir | px_set_value


px_set_value

(PECL)

px_set_value -- Sets a value

Descripción

bool px_set_value ( resource pxdoc, string name, float value )

Sets various values.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

value

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

px_set_parameter()

Anterior | Inicio | Siguiente
px_set_targetencoding | Subir | px_timestamp2string


px_timestamp2string

(PECL)

px_timestamp2string -- Converts the timestamp into a string.

Descripción

string px_timestamp2string ( resource pxdoc, float value, string format )

Turns a timestamp as it stored in the paradox file into human readable format. Paradox timestamps are the number of milliseconds since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the following example.

Lista de parámetros

pxdoc

Resource identifier of the paradox database.

value

Value as stored in paradox database field of type PX_FIELD_TIME, or PX_FIELD_TIMESTAMP.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Turn a paradox timestamp into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";

/* Turn it into a timestamp as it stored in a paradox database */
/* Timestamps are stored in milli seconds since 1.1.0000 */
$stamp = $days * 86400.0 * 1000.0;
/* Add one hour */
$stamp += 3600000.0;
/* The following will output '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

El resultado del ejemplo seria:

7/15/1917
7/15/1917 01:00:00

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

Ver también

px_date2string()
jdtogregorian()

Anterior | Inicio | Siguiente
px_set_value | Subir | px_update_record


px_update_record

(PECL)

px_update_record -- Updates record in paradox database

Descripción

bool px_update_record ( resource pxdoc, array data, int num )

Updates an exiting record in the database. The record starts at 0.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Nota: This function is only available if pxlib >= 0.6.0 is used.

Lista de parámetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated array containing the field values as returned by px_retrieve_record().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Ver también

px_insert_record()

Anterior | Inicio | Siguiente
px_timestamp2string | Subir | Parsekit Functions


radius_acct_open

(PECL)

radius_acct_open -- Creates a Radius handle for accounting

Descripción

resource radius_acct_open ( void )

Valores retornados

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

Ejemplos

Ejemplo 1. radius_acct_open() example

<?php
$res = radius_acct_open ()
    or die ("Could not create handle");
print("Handle successfully created");
?>

Anterior | Inicio | Siguiente
Radius | Subir | radius_add_server


radius_add_server

(PECL)

radius_add_server -- Adds a server

Descripción

bool radius_add_server ( resource radius_handle, string hostname, int port, string secret, int timeout, int max_tries )

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

Lista de parámetros

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br>";
    exit;
}
?>

Ver también

radius_config()

Anterior | Inicio | Siguiente
radius_acct_open | Subir | radius_auth_open


radius_auth_open

(PECL)

radius_auth_open -- Creates a Radius handle for authentication

Descripción

resource radius_auth_open ( void )

Valores retornados

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

Ejemplos

Ejemplo 1. radius_auth_open() example

<?php
$radh = radius_auth_open()
    or die ("Could not create handle");
echo "Handle successfully created";
?>

Anterior | Inicio | Siguiente
radius_add_server | Subir | radius_close


radius_close

(PECL)

radius_close -- Frees all ressources

Descripción

bool radius_close ( resource radius_handle )

It is not needed to call this function because php frees all resources at the end of each request.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
radius_auth_open | Subir | radius_config


radius_config

(PECL)

radius_config -- Causes the library to read the given configuration file

Descripción

bool radius_config ( resource radius_handle, string file )

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in radius.conf.

Lista de parámetros

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

radius_add_server()

Anterior | Inicio | Siguiente
radius_close | Subir | radius_create_request


radius_create_request

(PECL)

radius_create_request -- Create accounting or authentication request

Descripción

bool radius_create_request ( resource radius_handle, int type )

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

Nota: Attention: You must call this function, before you can put any attribute!

Lista de parámetros

radius_handle

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

type

Its description

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Ver también

radius_send_request()

Anterior | Inicio | Siguiente
radius_config | Subir | radius_cvt_addr


radius_cvt_addr

(PECL)

radius_cvt_addr -- Converts raw data to IP-Address

Descripción

string radius_cvt_addr ( string data )

Ejemplos

Ejemplo 1. radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP: $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASK: $mask<br>\n";
        break;
    }
}
?>

Ver también

radius_cvt_int()
radius_cvt_string()

Anterior | Inicio | Siguiente
radius_create_request | Subir | radius_cvt_int


radius_cvt_int

(PECL)

radius_cvt_int -- Converts raw data to integer

Descripción

int radius_cvt_int ( string data )

Ejemplos

Ejemplo 1. radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU: $mtu<br>\n";
        break;
    }
}
?>

Ver también

radius_cvt_addr()
radius_cvt_string()

Anterior | Inicio | Siguiente
radius_cvt_addr | Subir | radius_cvt_string


radius_cvt_string

(PECL)

radius_cvt_string -- Converts raw data to string

Descripción

string radius_cvt_string ( string data )

Ejemplos

Ejemplo 1. radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filter ID: $id<br>\n";
        break;
    }
}
?>

Ver también

radius_cvt_addr()
radius_cvt_int()

Anterior | Inicio | Siguiente
radius_cvt_int | Subir | radius_demangle_mppe_key


radius_demangle

(PECL)

radius_demangle -- Demangles data

Descripción

string radius_demangle ( resource radius_handle, string mangled )

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

Valores retornados

Returns the demangled string, or FALSE on error.

Anterior | Inicio | Siguiente
radius_demangle_mppe_key | Subir | radius_get_attr


radius_demangle_mppe_key

(PECL)

radius_demangle_mppe_key -- Derives mppe-keys from mangled data

Descripción

string radius_demangle_mppe_key ( resource radius_handle, string mangled )

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

Valores retornados

Returns the demangled string, or FALSE on error.

Anterior | Inicio | Siguiente
radius_cvt_string | Subir | radius_demangle


radius_get_attr

(PECL)

radius_get_attr -- Extracts an attribute

Descripción

mixed radius_get_attr ( resource radius_handle )

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

Valores retornados

Returns an associative array containing the attribute-type and the data, or error number <= 0.

Ejemplos

Ejemplo 1. radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Ver también

radius_put_attr()
radius_get_vendor_attr()
radius_put_vendor_attr()
radius_send_request()

Anterior | Inicio | Siguiente
radius_demangle | Subir | radius_get_vendor_attr


radius_get_vendor_attr

(PECL)

radius_get_vendor_attr -- Extracts a vendor specific attribute

Descripción

array radius_get_vendor_attr ( string data )

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

Valores retornados

Returns an associative array containing the attribute-type, vendor and the data, or FALSE on error.

Ejemplos

Ejemplo 1. radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

Ver también

radius_get_attr()
radius_put_vendor_attr()

Anterior | Inicio | Siguiente
radius_get_attr | Subir | radius_put_addr


radius_put_addr

(PECL)

radius_put_addr -- Attaches an IP-Address attribute

Descripción

bool radius_put_addr ( resource radius_handle, int type, string addr )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
radius_get_vendor_attr | Subir | radius_put_attr


radius_put_attr

(PECL)

radius_put_attr -- Attaches a binary attribute

Descripción

bool radius_put_attr ( resource radius_handle, int type, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Ver también

radius_get_attr()
radius_get_vendor_attr()
radius_put_vendor_attr()

Anterior | Inicio | Siguiente
radius_put_addr | Subir | radius_put_int


radius_put_int

(PECL)

radius_put_int -- Attaches an integer attribute

Descripción

bool radius_put_int ( resource radius_handle, int type, int value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'RadiusError:' . radius_strerror($res). "\n<br />";
   exit;
}
?>

Ver también

radius_put_string()
radius_put_vendor_int()
radius_put_vendor_string()

Anterior | Inicio | Siguiente
radius_put_attr | Subir | radius_put_string


radius_put_string

(PECL)

radius_put_string -- Attaches a string attribute

Descripción

bool radius_put_string ( resource radius_handle, int type, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Ver también

radius_put_int()
radius_put_vendor_int()
radius_put_vendor_string()

Anterior | Inicio | Siguiente
radius_put_int | Subir | radius_put_vendor_addr


radius_put_vendor_addr

(PECL)

radius_put_vendor_addr -- Attaches a vendor specific IP-Address attribute

Descripción

bool radius_put_vendor_addr ( resource radius_handle, int vendor, int type, string addr )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
radius_put_string | Subir | radius_put_vendor_attr


radius_put_vendor_attr

(PECL)

radius_put_vendor_attr -- Attaches a vendor specific binary attribute

Descripción

bool radius_put_vendor_attr ( resource radius_handle, int vendor, int type, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Anterior | Inicio | Siguiente
radius_put_vendor_addr | Subir | radius_put_vendor_int


radius_put_vendor_int

(PECL)

radius_put_vendor_int -- Attaches a vendor specific integer attribute

Descripción

bool radius_put_vendor_int ( resource radius_handle, int vendor, int type, int value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
radius_put_vendor_attr | Subir | radius_put_vendor_string


radius_put_vendor_string

(PECL)

radius_put_vendor_string -- Attaches a vendor specific string attribute

Descripción

bool radius_put_vendor_string ( resource radius_handle, int vendor, int type, string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
radius_put_vendor_int | Subir | radius_request_authenticator


radius_request_authenticator

(PECL)

radius_request_authenticator -- Returns the request authenticator

Descripción

string radius_request_authenticator ( resource radius_handle )

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

Valores retornados

Returns the request authenticator as string, or FALSE on error.

Ver también

radius_demangle()

Anterior | Inicio | Siguiente
radius_put_vendor_string | Subir | radius_send_request


radius_send_request

(PECL)

radius_send_request -- Sends the request and waites for a reply

Descripción

int radius_send_request ( resource radius_handle )

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

Valores retornados

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns FALSE.

Ver también

radius_create_request()

Anterior | Inicio | Siguiente
radius_request_authenticator | Subir | radius_server_secret


radius_server_secret

(PECL)

radius_server_secret -- Returns the shared secret

Descripción

string radius_server_secret ( resource radius_handle )

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

Valores retornados

Returns the server's shared secret as string, or FALSE on error.

Anterior | Inicio | Siguiente
radius_send_request | Subir | radius_strerror


radius_strerror

(PECL)

radius_strerror -- Returns an error message

Descripción

string radius_strerror ( resource radius_handle )

If Radius-functions fail then they record an error message. This error message can be retrieved with this function.

Valores retornados

Returns error messages as string from failed radius functions.

Anterior | Inicio | Siguiente
radius_server_secret | Subir | Rar Functions


require

Manual de PHP
Anterior Capítulo 16. Estructuras de Control Siguiente

require()

La sentencia require() incluye y evalua el archivo especificado.

require() incluye y evalua el archivo especificado. Información detallada de como esta inclusión funciona se puede encontrar en la documentación de la función include().

require() y include() son idénticas en todos los aspectos excepto en el modo de actuar ante un error. include() produce un Warning mientras que require() produce un Error Fatal. En otras palabras, no dude en utilizar require() si quiere que un fichero no encontrado cuelgue el procesamiento de la página. include() no se comporta de esta manera, el script seguirá funcionando de todas maneras. Asegurarse que include_path este configurado bien.

Ejemplo 16-2. ejemplos básicos de require()

<?php

require 'prepend.php';

require $somefile;

require ('somefile.txt');

?>

consultar la documentación de include() para más ejemplos.

Nota: Con anterioridad a PHP 4.0.2, se aplica lo siguiente: require() siempre intentará leer el fichero a incluir, incluso si la linea donde se encuentra require() nunca es ejecutada. Sin embargo, si la linea donde se encuentra require() no es ejecutada, tampoco lo hará el código incluido.

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Ver también include(),
 require_once(),
 include_once(), eval(),
 file(), readfile(),
 virtual() y include_path.

Anterior | Inicio | Siguiente
return | Subir | include()


require_once

Manual de PHP
Anterior Capítulo 16. Estructuras de Control Siguiente

require_once()

La función require_once() incluye y evalua el fichero especificado durante la ejecución del script. Se comporta de manera similar a require(), con la única diferencia que si el código ha sido ya incluido, no se volverá a incluir. Consultar la documentación de la función require() para obtener más información.

require_once() debería de usarse en casos en los que un mismo fichero puede ser incluido y evaluado más de una vez durante la ejecución de un script, y se quiere estar seguro que se incluye una sola vez para evitar problemas con redefiniciones de funciones, valores de funciones, etc.

Para consultar ejemplos que usen require_once() y include_once(), ver el código de PEAR incluido con las últimas versiones de PHP.

Nota: require_once() fue incorporado en PHP 4.0.1pl2

Nota: El comportamiento de de require_once() y include_once() puede que no sea el esperado en sistemas operativos en los que mayúsculas y minúsculas se traten igual (como en Windows)

Ejemplo 16-8. Con require_once() no importan las mayúsculas y minúsculas en Windows

<?php
require_once("a.php"); // this will include a.php
require_once("A.php"); // this will include a.php again on Windows!
?>

Aviso

Versiones de PHP para Windows anteriores a 4.3.0, no soportan el acceso remoto a archivos para esta función, no funcionará ni activando siquiera allow_url_fopen.

Ver también require(),
include(), include_once(),
get_required_files(),
get_included_files(),
readfile(), y virtual().


rpm_close

(no version information, might be only in CVS)

rpm_close -- Closes an RPM file

Descripción

bool rpm_close ( resource rpmr )

rpm_close() will close an RPM file pointer.

Lista de parámetros

rpmr

A file pointer resource successfully opened by rpm_open().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. rpm_close() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Ver también

rpm_open()

Anterior | Inicio | Siguiente
RPM Header Reading Functions | Subir | rpm_get_tag


rpm_get_tag

(no version information, might be only in CVS)

rpm_get_tag -- Retrieves a header tag from an RPM file

Descripción

mixed rpm_get_tag ( resource rpmr, int tagnum )

rpm_get_tag() will retrieve a given tag from the RPM file's header and return it.

Lista de parámetros

rpmr

A file pointer resource successfully opened by rpm_open().

tagnum

The tag number to retrieve from the RPM header. This value can be specified using the list of constants defined by this module.

Valores retornados

The return value can be of various types depending on the tagnum supplied to the function.

Ejemplos

Ejemplo 1. rpm_get_tag() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

$name = rpm_get_tag($rpmr, RPMREADER_NAME);
echo "$name<br>\n";

rpm_close($rpmr);

?>

Ver también

rpm_open()
rpm_close()

Anterior | Inicio | Siguiente
rpm_close | Subir | rpm_is_valid


rpm_is_valid

(no version information, might be only in CVS)

rpm_is_valid -- Tests a filename for validity as an RPM file

Descripción

bool rpm_is_valid ( string filename )

rpm_is_valid() will test an RPM file for validity as an RPM file. This is not the same as rpm_open() as it only checks the file for validity but does not return a file pointer to be used by further functions.

Lista de parámetros

filename

The filename of the RPM file you wish to check for validity.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. rpm_is_valid() example

<?php

$file = "/path/to/file.rpm";

if (rpm_is_valid($file)) {
    echo "File is recognized as an RPM file.<br>\n";
}
else {
    echo "File is not recognized as an RPM file.<br>\n";
}

?>

Anterior | Inicio | Siguiente
rpm_get_tag | Subir | rpm_open


rpm_open

(no version information, might be only in CVS)

rpm_open -- Opens an RPM file

Descripción

resource rpm_open ( string filename )

rpm_open() will open an RPM file and will determine if the file is a valid RPM file.

Lista de parámetros

filename

The filename of the RPM file you wish to open.

Valores retornados

If the open succeeds, then rpm_open() will return a file pointer resource to the newly opened file. On error, the function will return FALSE.

Ejemplos

Ejemplo 1. rpm_open() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Ver también

rpm_close()

Anterior | Inicio | Siguiente
rpm_is_valid | Subir | rpm_version


rpm_version

(no version information, might be only in CVS)

rpm_version -- Returns a string representing the current version of the rpmreader extension

Descripción

string rpm_version ( void )

rpm_version() will return the current version of the rpmreader extension.

Valores retornados

rpm_version() will return a string representing the rpmreader version currently loaded in PHP.

Ejemplos

Ejemplo 1. rpm_version() example

<?php

$rpmr_ver = rpm_version();

echo "$rpmr_ver<br />\n";

?>

Anterior | Inicio | Siguiente
rpm_open | Subir | runkit Functions


runkit_class_adopt

(PECL)

runkit_class_adopt -- Convert a base class to an inherited class, add ancestral methods when appropriate

Descripción

bool runkit_class_adopt ( string classname, string parentname )

Lista de parámetros

classname

Name of class to be adopted

parentname

Parent class which child class is extending

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A runkit_class_adopt() example

<?php
class myParent {
  function parentFunc() {
    echo "Parent Function Output\n";
  }
}

class myChild {
}

runkit_class_adopt('myChild','myParent');
myChild::parentFunc();
?>

El resultado del ejemplo seria:

Parent Function Output

Ver también

runkit_class_emancipate()

Anterior | Inicio | Siguiente
Runkit_Sandbox_Parent | Subir | runkit_class_emancipate


runkit_class_emancipate

(PECL)

runkit_class_emancipate -- Convert an inherited class to a base class, removes any method whose scope is ancestral

Descripción

bool runkit_class_emancipate ( string classname )

Lista de parámetros

classname

Name of class to emancipate

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A runkit_class_emancipate() example

<?php
class myParent {
  function parentFunc () {
    echo "Parent Function Output\n";
  }
}
class myChild extends myParent {
}

myChild::parentFunc();
runkit_class_emancipate('myChild');
myChild::parentFunc();
?>

El resultado del ejemplo seria:

Parent Function Output
Fatal error: Call to undefined function:  parentFunc() in example.php on line 12

Ver también

runkit_class_adopt()

Anterior | Inicio | Siguiente
runkit_class_adopt | Subir | runkit_constant_add


runkit_constant_add

(PECL)

runkit_constant_add -- Similar to define(), but allows defining in class definitions as well

Descripción

bool runkit_constant_add ( string constname, mixed value )

Lista de parámetros

constname

Name of constant to declare. Either a string to indicate a global constant, or classname::constname to indicate a class constant.

value

NULL, Bool, Long, Double, String, or Resource value to store in the new constant.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

define()
runkit_constant_redefine()
runkit_constant_remove()

Anterior | Inicio | Siguiente
runkit_class_emancipate | Subir | runkit_constant_redefine


runkit_constant_redefine

(PECL)

runkit_constant_redefine -- Redefine an already defined constant

Descripción

bool runkit_constant_redefine ( string constname, mixed newvalue )

Lista de parámetros

constname

Constant to redefine. Either string indicating global constant, or classname::constname indicating class constant.

newvalue

New value to assign to constant.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

runkit_constant_add()
runkit_constant_remove()

Anterior | Inicio | Siguiente
runkit_constant_add | Subir | runkit_constant_remove


runkit_constant_remove

(PECL)

runkit_constant_remove -- Remove/Delete an already defined constant

Descripción

bool runkit_constant_remove ( string constname )

Lista de parámetros

constname

Name of constant to remove. Either a string indicating a global constant, or classname::constname indicating a class constant.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

define()
runkit_constant_add()
runkit_constant_redefine()

Anterior | Inicio | Siguiente
runkit_constant_redefine | Subir | runkit_function_add


runkit_function_add

(PECL)

runkit_function_add -- Add a new function, similar to create_function()

Descripción

bool runkit_function_add ( string funcname, string arglist, string code )

Lista de parámetros

funcname

Name of function to be created

arglist

Comma separated argument list

code

Code making up the function

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A runkit_function_add() example

<?php
runkit_function_add('testme','$a,$b','echo "The value of a is $a\n"; echo "The value of b is $b\n";');
testme(1,2);
?>

El resultado del ejemplo seria:

The value of a is 1
The value of b is 2

Ver también

create_function()
runkit_function_redefine()
runkit_function_copy()
runkit_function_rename()
runkit_function_remove()
runkit_method_add()

Anterior | Inicio | Siguiente
runkit_constant_remove | Subir | runkit_function_copy


runkit_function_copy

(PECL)

runkit_function_copy -- Copy a function to a new function name

Descripción

bool runkit_function_copy ( string funcname, string targetname )

Lista de parámetros

funcname

Name of existing function

targetname

Name of new function to copy definition to

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A runkit_function_copy() example

<?php
function original() {
  echo "In a function\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

El resultado del ejemplo seria:

In a function
In a function

Ver también

runkit_function_add()
runkit_function_redefine()
runkit_function_rename()
runkit_function_remove()

Anterior | Inicio | Siguiente
runkit_function_add | Subir | runkit_function_redefine


runkit_function_redefine

(PECL)

runkit_function_redefine -- Replace a function definition with a new implementation

Descripción

bool runkit_function_redefine ( string funcname, string arglist, string code )

Nota: By default, only userspace functions may be removed, renamed, or modified. In order to override internal functions, you must enable the runkit.internal_override setting in the system-wide php.ini file.

Lista de parámetros

funcname

Name of function to redefine

arglist

New list of arguments to be accepted by function

code

New code implementation

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A runkit_function_redefine() example

<?php
function testme() {
  echo "Original Testme Implementation\n";
}
testme();
runkit_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

El resultado del ejemplo seria:

Original Testme Implementation
New Testme Implementation

Ver también

runkit_function_add()
runkit_function_copy()
runkit_function_rename()
runkit_function_remove()

Anterior | Inicio | Siguiente
runkit_function_copy | Subir | runkit_function_remove


runkit_function_remove

(PECL)

runkit_function_remove -- Remove a function definition

Descripción

bool runkit_function_remove ( string funcname )

Nota: By default, only userspace functions may be removed, renamed, or modified. In order to override internal functions, you must enable the runkit.internal_override setting in the system-wide php.ini file.

Lista de parámetros

funcname

Name of function to be deleted

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_rename()

Anterior | Inicio | Siguiente
runkit_function_redefine | Subir | runkit_function_rename


runkit_function_rename

(PECL)

runkit_function_rename -- Change a function's name

Descripción

bool runkit_function_rename ( string funcname, string newname )

Nota: By default, only userspace functions may be removed, renamed, or modified. In order to override internal functions, you must enable the runkit.internal_override setting in the system-wide php.ini file.

Lista de parámetros

funcname

Current function name

newname

New function name

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_remove()

Anterior | Inicio | Siguiente
runkit_function_remove | Subir | runkit_import


runkit_import

(PECL)

runkit_import -- Process a PHP file importing function and class definitions, overwriting where appropriate

Descripción

bool runkit_import ( string filename [, int flags] )

Similar to include() however any code residing outside of a function or class is simply ignored. Additionally, depending on the value of flags, any functions or classes which already exist in the currently running environment will be automatically overwritten by their new definitions.

Lista de parámetros

filename

Filename to import function and class definitions from

flags

Bitwise OR of the RUNKIT_IMPORT_* family of constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
runkit_function_rename | Subir | runkit_lint_file


runkit_lint

(PECL)

runkit_lint -- Check the PHP syntax of the specified php code

Descripción

bool runkit_lint ( string code )

The runkit_lint() function performs a syntax (lint) check on the specified php code testing for scripting errors. This is similar to using php -l from the command line except runkit_lint() accepts actual code rather than a filename.

Nota: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available with PHP 5.1 or specially patched versions of PHP 5.0 and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Lista de parámetros

code

PHP Code to be lint checked

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

runkit_lint_file()

Anterior | Inicio | Siguiente
runkit_lint_file | Subir | runkit_method_add


runkit_lint_file

(PECL)

runkit_lint_file -- Check the PHP syntax of the specified file

Descripción

bool runkit_lint_file ( string filename )

The runkit_lint_file() function performs a syntax (lint) check on the specified filename testing for scripting errors. This is similar to using php -l from the commandline.

Nota: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available with PHP 5.1 or specially patched versions of PHP 5.0 and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Lista de parámetros

filename

File containing PHP Code to be lint checked

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

runkit_lint()

Anterior | Inicio | Siguiente
runkit_import | Subir | runkit_lint


runkit_method_add

(PECL)

runkit_method_add -- Dynamically adds a new method to a given class

Descripción

bool runkit_method_add ( string classname, string methodname, string args, string code [, int flags] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

flags

The type of method to create, can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE

Nota: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. runkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

El resultado del ejemplo seria:

16

Ver también

runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_function_add()

Anterior | Inicio | Siguiente
runkit_lint | Subir | runkit_method_copy


runkit_method_copy

(PECL)

runkit_method_copy -- Copies a method from class to another

Descripción

bool runkit_method_copy ( string dClass, string dMethod, string sClass [, string sMethod] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. runkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

El resultado del ejemplo seria:

foo!

Ver también

runkit_method_add()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_function_copy()

Anterior | Inicio | Siguiente
runkit_method_add | Subir | runkit_method_redefine


runkit_method_redefine

(PECL)

runkit_method_redefine -- Dynamically changes the code of the given method

Descripción

bool runkit_method_redefine ( string classname, string methodname, string args, string code [, int flags] )

Nota: This function cannot be used to manipulate the currently running (or chained) method.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

flags

The redefined method can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE

Nota: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. runkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
runkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

El resultado del ejemplo seria:

Before: foo!
After: bar!

Ver también

runkit_method_add()
runkit_method_copy()
runkit_method_remove()
runkit_method_rename()
runkit_function_redefine()

Anterior | Inicio | Siguiente
runkit_method_copy | Subir | runkit_method_remove


runkit_method_remove

(PECL)

runkit_method_remove -- Dynamically removes the given method

Descripción

bool runkit_method_remove ( string classname, string methodname )

Nota: This function cannot be used to manipulate the currently running (or chained) method.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class in which to remove the method

methodname

The name of the method to remove

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. runkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
runkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

El resultado del ejemplo seria:

bar

Ver también

runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_rename()
runkit_function_remove()

Anterior | Inicio | Siguiente
runkit_method_redefine | Subir | runkit_method_rename


runkit_method_rename

(PECL)

runkit_method_rename -- Dynamically changes the name of the given method

Descripción

bool runkit_method_rename ( string classname, string methodname, string newname )

Nota: This function cannot be used to manipulate the currently running (or chained) method.

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. runkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
runkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

El resultado del ejemplo seria:

foo!

Ver también

runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_function_rename()

Anterior | Inicio | Siguiente
runkit_method_remove | Subir | runkit_return_value_used


runkit_return_value_used

(no version information, might be only in CVS)

runkit_return_value_used -- Determines if the current functions return value will be used

Descripción

bool runkit_return_value_used ( void )

Valores retornados

Returns TRUE if the function's return value is used by the calling scope, otherwise FALSE

Ejemplos

Ejemplo 1. runkit_return_value_used() example

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

El resultado del ejemplo seria:

bool(false)
bool(true)

Anterior | Inicio | Siguiente
runkit_method_rename | Subir | runkit_sandbox_output_handler


runkit_sandbox_output_handler

(PECL)

runkit_sandbox_output_handler -- Specify a function to capture and/or process output from a runkit sandbox

Descripción

mixed runkit_sandbox_output_handler ( object sandbox [, mixed callback] )

Ordinarily, anything output (such as with echo() or print()) will be output as though it were printed from the parent's scope. Using runkit_sandbox_output_handler() however, output generated by the sandbox (including errors), can be captured by a function outside of the sandbox.

Nota: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available with PHP 5.1 or specially patched versions of PHP 5.0 and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Deprecated: As of runkit version 0.5, this function is deprecated and is scheduled to be removed from the package prior to a 1.0 release. The output handler for a given Runkit_Sandbox instance may be read/set using the array offset syntax shown on the Runkit_Sandbox class definition page.

Lista de parámetros

sandbox

Object instance of Runkit_Sandbox class on which to set output handling.

callback

Name of a function which expects one parameter. Output generated by sandbox will be passed to this callback. Anything returned by the callback will be displayed normally. If this parameter is not passed then output handling will not be changed. If a non-truth value is passed, output handling will be disabled and will revert to direct display.

Valores retornados

Returns the name of the previously defined output handler callback, or FALSE if no handler was previously defined.

Ejemplos

Ejemplo 1. Feeding output to a variable

<?php
function capture_output($str) {
  $GLOBALS['sandbox_output'] .= $str;

  return '';
}

$sandbox_output = '';

$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Hello\n");
$php->eval('var_dump("Excuse me");');
$php->die("I lost myself.");
unset($php);

echo "Sandbox Complete\n\n";
echo $sandbox_output;
?>

El resultado del ejemplo seria:

Sandbox Complete

Hello
string(9) "Excuse me"
I lost myself.

Anterior | Inicio | Siguiente
runkit_return_value_used | Subir | runkit_superglobals


runkit_superglobals

(PECL)

runkit_superglobals -- Return numerically indexed array of registered superglobals

Descripción

array runkit_superglobals ( void )

Valores retornados

Returns a numerically indexed array of the currently registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Ver también

Variable Scope

Anterior | Inicio | Siguiente
runkit_sandbox_output_handler | Subir | SAM - Simple Asynchronous Messaging


SAMConnection->commit()

(no version information, might be only in CVS)

SAMConnection->commit() -- Commits (completes) the current unit of work.

Descripción

class SAMConnection {

bool commit ( void )

}

Calling the "commit" method on a Connection object commits (completes) all in-flight transactions that are part of the current unit of work.

Valores retornados

This method returns FALSE if an error occurs.

Ejemplos

Ejemplo 1. Committing the current unit of work

<?php
  if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
  }
?>

Ver también

SAMConnection->rollback()

Anterior | Inicio | Siguiente
SAM - Simple Asynchronous Messaging | Subir | SAMConnection->connect()


SAMConnection->connect()

(no version information, might be only in CVS)

SAMConnection->connect() -- Establishes a connection to a Messaging Server

Descripción

class SAMConnection {

bool connect ( string protocol [, array properties] )

}

Calling the "connect" method on a SAMConnection object connects the PHP script to a messaging server. No messages can be sent or received until a connection is made.

Lista de parámetros

protocol

A structured string identifying the protocol to be used when attempting to connect to the messaging server. The supported protocols are represented by constants which are normally used but if required the string may be composed dynamically by the script. The string is made up of 2 parts, the first being the protocol identifier and the second a protocol option. The two parts are seperated by a colon (:) character. Acceptable values are described by the following table:

Protocol string | Constant | Usage
mqtt | SAM_MQTT | Use the MQTT (MQ Telemetry Transport) protocol connecting as a client to a server.
wmq | SAM_WMQ | Use the IBM MQSeries protocol connecting as a client to a remote messaging server. This is equivalent to "wmq:client" (SAM_WMQ_CLIENT). At least a broker name (SAM_BROKER) must be specified in the options array.
wmq:client | SAM_WMQ_CLIENT | Use the IBM MQSeries protocol connecting as a client to a remote messaging server. At least a broker name (SAM_BROKER) must be specified in the options array.
wmq:bindings | SAM_WMQ_BINDINGS | Use the IBM MQSeries protocol connecting to a local messaging server and communicating via shared memory. At least a broker name (SAM_BROKER) must be specified in the options array.
wpm | SAM_WPM | Use the IBM WebSphere Platform Messaging protocol to connect to the messaging infrastructure of a WebSphere Application server or cluster. A bus name must be specified in the options array (SAM_BUS) and endpoint and target chain may also be specified.
rtt | SAM_RTT | Use the IBM Realtime transport protocol to connect to the messaging infrastructure.

properties

An optional associative array of properties to describe the details of the connection required. The following table lists the available property names and accepted values:

Property name | default | Usage
SAM_BROKER none The name of the broker or queue manager running on the messaging server.

This property must be set if using one of the variants of the WebSphere MQSeries protocol (SAM_WMQ, SAM_WMQ_CLIENT, SAM_WMQ_BINDINGS).

SAM_HOST | localhost | The hostname of the machine on which the messaging server is running.
SAM_PORT | 1414 for SAM_WMQ, 1506 for SAM_WPM, or 1883 for SAM_MQTT | The port number on which to attempt communication with the messaging server.
SAM_EXPIRE_AFTER 0 Time in milliseconds after which a message is deemed to have expired and can be deleted from queues. The default value is 0 indicating the message never expires.

Warning: Not yet implemented!

SAM_MESSAGE_PERSISTENCE none Selects whether messages are made persistent during delivery. The value may be SAM_PERSISTENT or SAM_NON_PERSISTENT. The default is dependant on the connection type and capabilities of the Messaging Server to which the connection is made.

Warning: Not yet implemented!

SAM_MQTT_CLEANSTART | FALSE | Optional connect option to indicate to an MQTT server that all previous connection data for this client should be removed and that subscriptions should be deleted when the client disconnects explicitly or unexpectedly. Setting the value to TRUE causes SAM to discard any subscription already in place for the client when it connects and also to discard subscription when the client disconnects. Setting the option to FALSE, or using the default, allows subscriptions to be durable and survive across client disconnects.
SAM_PASSWORD | none | The password to be used when the Messaging Server to which the connection is being made requires authentication.
SAM_TRANSACTIONS | SAM_AUTO | Indicates how transactions are handled on this connection. The value may be SAM_AUTO (the default) to allow automatic handling on a per operation basis or SAM_MANUAL to allow the PHP script to control the transaction boundaries. If SAM_MANUAL is used any in-flight transactions will be rolled back if the script is terminated or the connection is closed without a commit being executed.
SAM_USERID | none | The user id to be used when the Messaging Server to which the connection is being made requires authentication.
SAM_WPM_DUR_SUB_HOME | none | The name of the messaging engine where durable subscriptions are managed. (WPM ONLY).

Valores retornados

This method returns FALSE if an error occurs.

Ejemplos

Ejemplo 1. Creating a connection to a Messaging Server using the IBM MQSeries protocol (WMQ)

<?php

$conn->connect(SAM_WMQ, array(SAM_HOST => 'Myhost.myco.com', SAM_PORT => 1506, SAM_BROKER => 'MyBroker'));

?>

Ejemplo 2. Creating a connection with application transaction control and default host and port values

<?php

$conn->connect(SAM_WMQ, array(SAM_BROKER => 'MyBroker', SAM_TRANSACTIONS => SAM_MANUAL));

?>

Ejemplo 3. Creating a connection to a Messaging Server using the IBM WebSphere Platform Messaging protocol (WPM)

<?php

$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1', SAM_TARGETCHAIN => 'InboundBasicMessaging'));

?>

Ver también

SAMConnection->isConnected()
SAMConnection->disconnect()

Anterior | Inicio | Siguiente
SAMConnection->commit() | Subir | SAMConnection->__construct()


SAMConnection->__construct()

(no version information, might be only in CVS)

SAMConnection->__construct() -- Creates a new connection to a Messaging Server

Descripción

class SAMConnection {

__construct ( )

}

Creates a new SAMConnection object.

Ejemplos

Ejemplo 1. Creating a connection object and connecting to a Messaging Server

<?php

$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => localhost, SAM_PORT => 1414, SAM_BROKER => 'bull'));

?>

Anterior | Inicio | Siguiente
SAMConnection->connect() | Subir | SAMConnection->disconnect()


SAMConnection->disconnect()

(no version information, might be only in CVS)

SAMConnection->disconnect() -- Disconnects from a Messaging Server

Descripción

class SAMConnection {

bool disconnect ( void )

}

Calling the "disconnect" method on a SAMConnection object disconnects the PHP script from a messaging server. No messages can be sent or received after a connection has been disconnected.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Disconnecting from a Messaging Server

<?php

$conn->disconnect();

?>

Ver también

SAMConnection->isConnected()
SAMConnection->connect()

Anterior | Inicio | Siguiente
SAMConnection->__construct() | Subir | SAMConnection->errno


SAMConnection->errno

(no version information, might be only in CVS)

SAMConnection->errno -- Contains the unique numeric error code of the last executed SAM operation.

Description

class SAMConnection {

int errno

}

Contains the numeric error code of the last executed SAM operation on this connection. If the last operation completed successfully this property contains 0.

Valores retornados

An integer greater than zero indicates the last error type encountered on the connection. Zero indicates that the last operation on this connection completed successfully.

Ejemplos

Ejemplo 1. Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Ver también

SAMConnection->error

Anterior | Inicio | Siguiente
SAMConnection->disconnect() | Subir | SAMConnection->error


SAMConnection->error

(no version information, might be only in CVS)

SAMConnection->error -- Contains the text description of the last failed SAM operation.

Descripción

class SAMConnection {

string error

}

Contains the text description of the last failed SAM operation on this connection. If the last operation completed successfully this property contains an empty string.

Valores retornados

A string containing the text description of the last error type encountered on the connection. An empty string indicates that the last operation on this connection completed successfully.

Ejemplos

Ejemplo 1. Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Ver también

SAMConnection->errno

Anterior | Inicio | Siguiente
SAMConnection->errno | Subir | SAMConnection->isConnected()


SAMConnection->isConnected()

(no version information, might be only in CVS)

SAMConnection->isConnected() -- Queries whether a connection is established to a Messaging Server

Descripción

class SAMConnection {

bool isConnected ( void )

}

Calling the "isConnected" method on a Connection object will check whether the PHP script is connected to a messaging server. No messages can be sent or received unless a connection has been established with a Messaging server.

Valores retornados

This method returns TRUE if the SAMConnection object is successfully connected to a Messaging server or FALSE otherwise.

Ejemplos

Ejemplo 1. Checking whether there us a connection to a Messaging Server

<?php

if ($conn->isConnected()) {
  echo 'Connection is active.'
} else {
  echo 'No active connection!'
}

?>

Ver también

SAMConnection->disconnect()
SAMConnection->connect()

Anterior | Inicio | Siguiente
SAMConnection->error | Subir | SAMConnection->peek()


SAMConnection->peek()

(no version information, might be only in CVS)

SAMConnection->peek() -- Read a message from a queue without removing it from the queue.

Descripción

class SAMConnection {

SAMMessage peek ( string target [, array properties] )

}

Lista de parámetros

target

The identity of the queue from which to peek the message.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be peeked.

Valores retornados

This method returns a SAMMessage object or FALSE if an error occurs.

Ejemplos

Ejemplo 1. Retrieve the next message from a queue without removing it

<?php
$msg = $conn->peek('queue://receive/test');

if (!$msg) {
  // The peek failed!
  echo "Peek failed ($conn->errno) $conn->error";
}
?>

Ejemplo 2. Retrieve a specific message from a queue without removing it from the queue

<?php

$msg = $conn->peek('queue://receive/test', array(SAM_MESSAGEID => $messageId));

?>

Ver también

SAMConnection->peekAll()

Anterior | Inicio | Siguiente
SAMConnection->isConnected() | Subir | SAMConnection->peekAll()


SAMConnection->peekAll()

(no version information, might be only in CVS)

SAMConnection->peekAll() -- Read one or more messages from a queue without removing it from the queue.

Descripción

class SAMConnection {

array peekAll ( string target [, array properties] )

}

Lista de parámetros

target

The identity of the queue from which messages should be peeked.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of messages to be peeked. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of a message which is to be peeked.

Valores retornados

This method returns an array of SAMMessage objects or FALSE if an error occurs.

Ejemplos

Ejemplo 1. Retrieve all messages in a queue without removing them

<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
   foreach ( $msgArray as $key => $msg) {
       echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "PeekAll failed ($conn->errno) $conn->error";
}
?>

Ejemplo 2. Retrieve all messages from a queue with a matching correlation id

<?php

   $msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
   if ($msgArray) {

      foreach ( $msgArray as $key => $msg) {
            echo "Message $key: body = $msg->body\n";
         }
      }
   else
      echo "PeekAll failed ($conn->errno) $conn->error";
   }

?>

Ver también

SAMConnection->peek()

Anterior | Inicio | Siguiente
SAMConnection->peek() | Subir | SAMConnection->receive()


SAMConnection->receive()

(no version information, might be only in CVS)

SAMConnection->receive() -- Receive a message from a queue or subscription.

Descripción

class SAMConnection {

SAMMessage receive ( string target [, array properties] )

}

Lista de parámetros

target

The identity of the queue, topic or subscription from which to receive the message.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_CORRELID | Used to request selection of the message to receive based upon the correlation id string of the message.
SAM_MESSAGEID | Used to request selection of the message to receive based upon the message id string of the message.
SAM_WAIT | Timeout value in milliseconds to control how long the request should block waiting to receive a message before returning with a failure if no message is available on the queue or topic. The default value is 0 meaning wait indefinitely and should be used with caution as the request may wait until the overall PHP script processing time limit has expired if no message becomes available.

Valores retornados

This method returns a SAMMessage object or FALSE if an error occurs.

Ejemplos

Ejemplo 1. Receiving a message from a queue

<?php
$msg = $conn->receive('queue://receive/test');

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Ejemplo 2. Receiving a message from a queue with options

In this example the SAM_CORRELID option is used to specify a correlation id string to be used to identify the message to receive. A wait timeout of 10 seconds is also specified.

<?php

$msg = $conn->receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));

?>

Ejemplo 3. Receiving a message from a subscription

In this example we show how to receive a message from a subscription id.

<?php
$msg = $conn->receive($subscriptionName);

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Please note that $subscriptionName is a subscription id returned from an earlier subscribe call.

Ver también

SAMConnection->send()

Anterior | Inicio | Siguiente
SAMConnection->peekAll() | Subir | SAMConnection->remove()


SAMConnection->remove()

(no version information, might be only in CVS)

SAMConnection->remove() -- Remove a message from a queue.

Descripción

class SAMConnection {

SAMMessage remove ( string target [, array properties] )

}

Removes a message from a queue.

Lista de parámetros

target

The identity of the queue from which to remove the message.

properties

An optional associative array of properties describing other parameters to control the remove operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be removed.

Valores retornados

This method returns FALSE if an error occurs.

Ejemplos

Ejemplo 1. Removing a message from a queue by message id

<?php
if (!$conn->remove('queue://receive/test', array(SAM_MESSAGEID => $messageId))) {
  // The remove failed!
  echo "Remove failed ($conn->errno) $conn->error";
}
?>

Anterior | Inicio | Siguiente
SAMConnection->receive() | Subir | SAMConnection->rollback()


SAMConnection->rollback()

(no version information, might be only in CVS)

SAMConnection->rollback() -- Cancels (rolls back) an in-flight unit of work.

Descripción

class SAMConnection {

bool rollback ( void )

}

Rolls back an in-flight unit of work.

Valores retornados

This method returns FALSE if an error occurs.

Ejemplos

Ejemplo 1. Cancelling an in-flight unit of work

<?php
if (!$conn->rollback()) {
  // The rollback failed!
  echo "Rollback failed ($conn->errno) $conn->error";
}
?>

Ver también

SAMConnection->commit()

Anterior | Inicio | Siguiente
SAMConnection->remove() | Subir | SAMConnection->send()


SAMConnection->send()

(no version information, might be only in CVS)

SAMConnection->send() -- Send a message to a queue or publish an item to a topic.

Descripción

class SAMConnection {

string send ( string target, SAMMessage msg [, array properties] )

}

The "send" method is used to send a message to a specific queue or to publish to a specific topic. The method returns a correlation id that can be used as a selector to identify reply or response messages when these are requested.

Lista de parámetros

target

If sending a message, the identity of the queue (queue://queuename) or if publishing to a topic the identity of the topic (topic://topicname) to which the message is to be delivered.

msg

The message to be sent or published.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_DELIVERYMODE | Indicates whether the messaging server should enusre delivery or whether it is acceptable for messages to be lost in the case of system failures. The value of this property may be set to either SAM_PERSISTENT, to indicate that message loss is not acceptable, or SAM_NON_PERSISTENT, if message loss is acceptable. The resulting behaviour of the send will vary depending on the capabilities of the messaging server the PHP script is currently connected to. If the server does not support persistent messages and SAM_PERSISTENT is specified the send request will fail with an error indication showing the capability is not available.
SAM_PRIORITY | A numeric value between 0 and 9 indicating the desired message delivery priority. A priority value of 0 indicates the lowest priority while 9 indicates highest priority. If no priority is specified a default will be assigned which is dependent on the messaging server being used.
SAM_CORRELID | A string to be assigned as a correlation id for this message. If no value is given the messaging server may assign a value automatically.
SAM_TIMETOLIVE | A time in milliseconds indicating how long the messaging server should retain the message on a queue before discarding it. The default value is 0 indicating the message should be retained indefinitely.
SAM_WMQ_TARGET_CLIENT | This property is only valid when using WebSphere MQ and indicates whether or not an RFH2 header should be included with the message. This option may be set to either 'jms' or 'mq'. The default is 'jms' which means that an RFH2 header is included. If the value 'mq' is specified then no RFH2 is included with the message.

Valores retornados

A correlation id string that can be used in a subsequent receive call as a selector to obtain any reply or response that has been requested or FALSE if an error occurred.

Nota: A correlation id will only be returned for a successful send to a queue destination (queue://xxxx) in which case it will reflect the message identitiy of the message on the queue. In the case of a send being used to publish data to a topic the return value will be TRUE as no correlation id is availabe for return.

Ejemplos

Ejemplo 1. Send a message to a queue

<?php
$msg = new SAMMessage('This is a simple text message');
$correlId = $conn->send('queue://send/test', $msg);
if (!$correlId) {
    // The send failed!
    echo "Send failed ($conn->errno) $conn->error";
}

?>

Ejemplo 2. Publish a message to a topic

<?php
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Ejemplo 3. Send a request and receive a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
} else {
    $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Ver también

SAMConnection->receive()

Anterior | Inicio | Siguiente
SAMConnection->rollback() | Subir | SAMConnection::setDebug()


SAMConnection::setDebug()

(no version information, might be only in CVS)

SAMConnection::setDebug() -- Turn on or off additional debugging output.

Descripción

The "setdebug" method is used to turn on or off additional debugging output. The SAM framework will provide method/function entry and exit trace data plus additional information. Protocol specific implementations also provide extra output.

class SAMConnection {

void send ( bool switch )

}

Lista de parámetros

switch

If this parameter is set to TRUE additional debugging output will be provided. If the value is set to FALSE output of additional information will be stopped.

Ejemplos

Ejemplo 1. Turn on debugging output

<?php
$conn->setdebug(TRUE);
?>

Ejemplo 2. Turn off debugging output

<?php
$conn->setdebug(FALSE);
?>

Anterior | Inicio | Siguiente
SAMConnection->send() | Subir | SAMConnection->subscribe()


SAMConnection->subscribe()

(no version information, might be only in CVS)

SAMConnection->subscribe() -- Create a subscription to a specified topic.

Descripción

class SAMConnection {

string subscribe ( string targetTopic )

}

The "subscribe" method is used to create a new subscription to a specified topic.

Lista de parámetros

targetTopic

The identity of the topic (topic://topicname) to subscribe to.

Valores retornados

A subscription identifier that can be used in a subsequent receive call as a selector to obtain any topic data or FALSE if an error occurred. The subscription identifier should be used in the receive call in place of the simple topic name.

Ejemplos

Ejemplo 1. Subscribe to a topic

<?php
$subid = $conn->subscribe('topic://A');
if (!$subid) {
  // The subscribe failed!
  echo "Subscribe failed ($conn->errno) $conn->error";
}
?>

Ver también

SAMConnection->unsubscribe()

Anterior | Inicio | Siguiente
SAMConnection::setDebug() | Subir | SAMConnection->unsubscribe()


SAMConnection->unsubscribe()

(no version information, might be only in CVS)

SAMConnection->unsubscribe() -- Cancel a subscription to a specified topic.

Descripción

class SAMConnection {

bool unsubscribe ( string subscriptionId [, string targetTopic] )

}

The "unsubscribe" method is used to delete an existing subscription to a specified topic.

Lista de parámetros

subscriptionId

The identifier of an existing subscription as returned by a call to the subscribe method.

Valores retornados

This method returns FALSE if an error occurs.

Ejemplos

Ejemplo 1. Delete a subscription

<?php
if (!$conn->unsubscribe($subid)) {
    // The unsubscribe failed!
    echo "Unsubscribe failed ($conn->errno) $conn->error";
}
?>

Ver también

SAMConnection->subscribe()

Anterior | Inicio | Siguiente
SAMConnection->subscribe() | Subir | SAMMessage->body


SAMMessage->body

(no version information, might be only in CVS)

SAMMessage->body -- The body of the message.

Descripción

class SAMMessage {

string nody

}

The "body" property contains the actual body of the message. It may not always be set.

Ejemplos

Ejemplo 1. Setting a text string into the body of a message

<?php
$msg = new SAMMessage();
$msg->body = 'This is a simple message';

?>

Ver también

SAMMessage->header

Anterior | Inicio | Siguiente
SAMConnection->unsubscribe() | Subir | SAMMessage->__construct()


SAMMessage->__construct()

(no version information, might be only in CVS)

SAMMessage->__construct() -- Creates a new Message object

Descripción

class SAMMessage {

__construct ( [mixed body] )

}

Creates a new SAMMessage object optionally specifying a message body.

Lista de parámetros

body

The optional body for the message.

Ejemplos

Ejemplo 1. Creating a message

<?php

$msg = new SAMMessage();

?>

Ejemplo 2. Creating a message with a simple text payload

<?php

$msg = new SAMMessage('This is a simple text message');

?>

Anterior | Inicio | Siguiente
SAMMessage->body | Subir | SAMMessage->header


SAMMessage->header

(no version information, might be only in CVS)

SAMMessage->header -- The header properties of the message.

Descripción

class SAMMessage {

object header

}

The header property is a container for any system or user properties that area associated with the message.

Properties may be assigned by the sender of a message to control the way the messaging systems handles it or may be assigned by the messaging system itself to tell the recipient extra information about the message or the way in which it has been handled.

Some properties are understood by SAM in which case constants have been defined for them. The majority of properties however are ignored by the SAM implementation and simply passed through to the underlying messaging systems allowing the application to use messaging specific property names or to define its own "user" properties.

The SAM defined properties are as follows:

Property name | Possible values
SAM_MESSAGEID | When a message is received this field contains the unique identifier of the message as allocated by the underlying messaging system. When sending a message this field is ignored.
SAM_REPLY_TO | A string providing the identity of the queue on to which responses to this message should be posted.
SAM_TYPE

An indication of the type of message to be sent. The value may be SAM_TEXT indicating the contents of the message body is a text string, or SAM_BYTES indicating the contents of the message body are some application defined format.

The way in which this property is used may depend on the underlying messaging server. For instance a messaging server that supports the JMS (Java Message Service) specification may interpret this value and send messages of type "jms_text" and "jms_bytes". In addition, if the SAM_TYPE property is set to SAM_TEXT the data provided for the message body is expected to be a UTF8 encoded string.

When setting the values of properties it is often useful to give a hint as to the format in which the property should be delivered to the messaging system. By default property values are delivered as text and the following simple syntax may be used to set a value:

Ejemplo 1. Setting a text format property using the default syntax

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

Ejemplo 2. Setting a text format property using a type hint

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = array('textData', SAM_STRING);
?>

When passing a type hint the type entry should be one of the SAM defined constant values as defined by the following table:

Constant | Type description
SAM_BOOLEAN | Any value passed will be interpreted as logical true or false. If the value cannot be interpreted as a PHP boolean value the value passed to the messaging system is undefined.
SAM_BYTE | An 8-bit signed integer value. SAM will attempt to convert the property value specified into a single byte value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 8-bit signed binary value data may be lost in the conversion.
SAM_DOUBLE | A long floating point value. SAM will attempt to convert the property value specified into a floating point value with 15 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 15 digit floating point value data may be lost in the conversion.
SAM_FLOAT | A short floating point value. SAM will attempt to convert the property value specified into a floating point value with 7 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 7 digit floating point value data may be lost in the conversion.
SAM_INT | An 32-bit signed integer value. SAM will attempt to convert the property value specified into a 32-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 32-bit signed binary value data may be lost in the conversion.
SAM_LONG | An 64-bit signed integer value. SAM will attempt to convert the property value specified into a 64-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 64-bit signed binary value data may be lost in the conversion.
SAM_STRING | SAM will interpret the property value specified as a string and pass it to the messaging system accordingly.

Ejemplos

Ejemplo 3. Setting properties as the sender of a message

<?php
$msg = new SAMMessage('This is a test message');

// defining SAM specific properties...
$msg->header->SAM_REPLY_TO = 'queue://test/replyQueue';

// defining arbitrary properties...
//
// a default string property
$msg->header->myStringProp1 = 'a string property';
// a string property with a type hint
$msg->header->myStringProp2 = array('another string property', SAM_STRING);

// a boolean property
$msg->header->myBoolProp = array(FALSE, SAM_BOOL);

// numeric format properties
$msg->header->myIntProp = array(32768, SAM_INT);
$msg->header->myLongProp = array(9876543, SAM_LONG);
$msg->header->myByteProp1 = array(123, SAM_BYTE);
$msg->header->myByteProp2 = array('12', SAM_BYTE);
$msg->header->myFloatProp = array(3.141592, SAM_FLOAT);
$msg->header->myDoubleProp = array(3.14159265358979, SAM_DOUBLE);
?>

Ejemplo 4. Retreiving property values from a message

<?php

// accessing an application specific property
$intProp = $msg->header->'MyIntProp';

// accessing a messaging system specific property
$encoding = $msg->header->'JMS_IBM_Msgtype';

?>

Ver también

SAMMessage->body

Anterior | Inicio | Siguiente
SAMMessage->__construct() | Subir | Satellite CORBA client extension [deprecated]


satellite_caught_exception

(4.0.3 - 4.1.2 only, PECL)

satellite_caught_exception -- See if an exception was caught from the previous function

Descripción

bool satellite_caught_exception ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Valores retornados

This function returns TRUE if an exception has been caught, FALSE otherwise.

Ejemplos

Ejemplo 1. Sample IDL file

/* ++?????++ Out of Cheese Error. Redo From Start. */
exception OutOfCheeseError {
    int parameter;
}

interface AnotherInterface {
    void AskWhy() raises (OutOfCheeseError);
}

Ejemplo 2. PHP code for handling CORBA exceptions

<?php
$obj = new OrbitObject ($ior);

$obj->AskWhy();

if (satellite_caught_exception()) {
    if ("IDL:OutOfCheeseError:1.0" == satellite_exception_id()) {
        $exception = satellite_exception_value();
        echo $exception->parameter;
    }
}
?>

Anterior | Inicio | Siguiente
OrbitStruct | Subir | satellite_exception_id


satellite_exception_id

(4.0.3 - 4.1.2 only, PECL)

satellite_exception_id -- Get the repository id for the latest exception.

Descripción

string satellite_exception_id ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

For example usage see satellite_caught_exception().

Valores retornados

Return a repository id string. (E.g. "IDL:MyException:1.0".)

Anterior | Inicio | Siguiente
satellite_caught_exception | Subir | satellite_exception_value


satellite_exception_value

(4.0.3 - 4.1.2 only, PECL)

satellite_exception_value -- Get the exception struct for the latest exception

Descripción

OrbitStruct satellite_exception_value ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Return an exception struct. For example usage see satellite_caught_exception().

Anterior | Inicio | Siguiente
satellite_exception_id | Subir | satellite_get_repository_id


satellite_get_repository_id

(4.0.3 - 4.1.2 only, PECL)

satellite_get_repository_id -- NOT IMPLEMENTED

Descripción

int satellite_get_repository_id ( object obj )

Not implemented.

Anterior | Inicio | Siguiente
satellite_exception_value | Subir | satellite_load_idl


satellite_load_idl

(4.0.3 - 4.1.2 only, PECL)

satellite_load_idl -- Instruct the type manager to load an IDL file

Descripción

bool satellite_load_idl ( string file )

Load an IDL file into Satellite.

Anterior | Inicio | Siguiente
satellite_get_repository_id | Subir | satellite_object_to_string


satellite_object_to_string

(4.1.0 - 4.1.2 only, PECL)

satellite_object_to_string -- Convert an object to its string representation

Descripción

string satellite_object_to_string ( object obj )

Convert an object to its string representation (IOR).

Anterior | Inicio | Siguiente
satellite_load_idl | Subir | SCA Functions


SCA::createDataObject

(no version information, might be only in CVS)

SCA::createDataObject -- create an SDO

Descripción

SDO_DataObject SCA::createDataObject ( string type_namespace_uri, string type_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This method is used inside an SCA component that needs to create an SDO to return. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in one of the schema files which are specfied on the @types annotation within the component.

Lista de parámetros

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Valores retornados

Returns the newly created SDO_DataObject.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations.

Anterior | Inicio | Siguiente
SCA_SoapProxy::createDataObject | Subir | SCA::getService


SCA::getService

(no version information, might be only in CVS)

SCA::getService -- Obtain a proxy for a service

Descripción

mixed SCA::getService ( string target )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Examine the target and initialise and return a proxy of the appropriate sort. If the target is for a local PHP component the returned proxy will be an SCA_LocalProxy. If the target is for a WSDL file, the returned proxy will be a SCA_SoapProxy.

Lista de parámetros

target

An absolute or relative path to the PHP component, or to the WSDL file. A relative path, if specified, is resolved relative to the location of the script issuing the getService call, and not against the include_path or current working directory.

Valores retornados

The SCA_LocalProxy or SCA_SoapProxy.

Anterior | Inicio | Siguiente
SCA::createDataObject | Subir | SDO Functions


SCA_LocalProxy::createDataObject

(no version information, might be only in CVS)

SCA_LocalProxy::createDataObject -- create an SDO

Descripción

SDO_DataObject SCA_LocalProxy::createDataObject ( string type_namespace_uri, string type_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a local service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined in one of the schema files which are specfied on the @types annotation within the component for which the SCA_LocalProxy object is a proxy.

Lista de parámetros

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Valores retornados

Returns the newly created SDO_DataObject.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations within the component for which the SCA_LocalProxy object is a proxy..

Anterior | Inicio | Siguiente
SCA Functions | Subir | SCA_SoapProxy::createDataObject


SCA_SoapProxy::createDataObject

(no version information, might be only in CVS)

SCA_SoapProxy::createDataObject -- create an SDO

Descripción

SDO_DataObject SCA_SoapProxy::createDataObject ( string type_namespace_uri, string type_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a web service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined within the WSDL for the web service. If the web service is also an SCA component then the types will have been defined within one of the schema files which are specfied on the @types annotation within the component for which the SCA_SoapProxy object is a proxy.

Lista de parámetros

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Valores retornados

Returns the newly created SDO_DataObject.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type found in the WSDL that was used to initialise this SCA_SoapProxy.

Anterior | Inicio | Siguiente
SCA_LocalProxy::createDataObject | Subir | SCA::createDataObject


SDO_DAS_ChangeSummary::beginLogging

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::beginLogging -- Begin change logging

Descripción

void SDO_DAS_ChangeSummary::beginLogging ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Begin logging changes made to the SDO_DataObject.

Lista de parámetros

None.

Valores retornados

None.

Anterior | Inicio | Siguiente
SDO Functions | Subir | SDO_DAS_ChangeSummary::endLogging


SDO_DAS_ChangeSummary::endLogging

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::endLogging -- End change logging

Descripción

void SDO_DAS_ChangeSummary::endLogging ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

End logging changes made to an SDO_DataObject.

Lista de parámetros

None.

Valores retornados

None.

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::beginLogging | Subir | SDO_DAS_ChangeSummary::getChangeType


SDO_DAS_ChangeSummary::getChangedDataObjects

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::getChangedDataObjects -- Get the changed data objects from a change summary

Descripción

SDO_List SDO_DAS_ChangeSummary::getChangedDataObjects ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get an SDO_List of the SDO_DataObjects which have been changed. These data objects can then be used to identify the types of change made to each, along with the old values.

Lista de parámetros

None.

Valores retornados

Returns an SDO_List of SDO_DataObjects.

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::getChangeType | Subir | SDO_DAS_ChangeSummary::getOldContainer


SDO_DAS_ChangeSummary::getChangeType

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::getChangeType -- Get the type of change made to an SDO_DataObject

Descripción

int SDO_DAS_ChangeSummary::getChangeType ( SDO_DataObject dataObject )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the type of change which has been made to the supplied SDO_DataObject.

Lista de parámetros

dataObject

The SDO_DataObject which has been changed.

Valores retornados

The type of change which has been made. The change type is expressed as an enumeration and will be one of the following four values:

  • SDO_DAS_ChangeSummary::NONE

  • SDO_DAS_ChangeSummary::MODIFICATION

  • SDO_DAS_ChangeSummary::ADDITION

  • SDO_DAS_ChangeSummary::DELETION

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::endLogging | Subir | SDO_DAS_ChangeSummary::getChangedDataObjects


SDO_DAS_ChangeSummary::getOldContainer

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::getOldContainer -- Get the old container for a deleted SDO_DataObject

Descripción

SDO_DataObject SDO_DAS_ChangeSummary::getOldContainer ( SDO_DataObject data_object )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the old container (SDO_DataObject) for a deleted SDO_DataObject.

Lista de parámetros

data_object

The SDO_DataObject which has been deleted and whose container we wish to identify.

Valores retornados

The old containing data object of the deleted SDO_DataObject.

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::getChangedDataObjects | Subir | SDO_DAS_ChangeSummary::getOldValues


SDO_DAS_ChangeSummary::getOldValues

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::getOldValues -- Get the old values for a given changed SDO_DataObject

Descripción

SDO_List SDO_DAS_ChangeSummary::getOldValues ( SDO_DataObject data_object )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get a list of the old values for a given changed SDO_DataObject. Returns a list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject.

Lista de parámetros

data_object

The data object which has been changed.

Valores retornados

A list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject. If the change type is SDO_DAS_ChangeSummary::ADDITION, this list is empty.

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::getOldContainer | Subir | SDO_DAS_ChangeSummary::isLogging


SDO_DAS_ChangeSummary::isLogging

(no version information, might be only in CVS)

SDO_DAS_ChangeSummary::isLogging -- Test to see whether change logging is switched on

Descripción

bool SDO_DAS_ChangeSummary::isLogging ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see whether change logging is switched on.

Lista de parámetros

None.

Valores retornados

Returns TRUE if change logging is on, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::getOldValues | Subir | SDO_DAS_DataFactory::addPropertyToType


SDO_DAS_DataFactory::addPropertyToType

(no version information, might be only in CVS)

SDO_DAS_DataFactory::addPropertyToType -- Adds a property to a type

Descripción

void SDO_DAS_DataFactory::addPropertyToType ( string parent_type_namespace_uri, string parent_type_name, string property_name, string type_namespace_uri, string type_name [, array options] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Adds a property to a type. The type must already be known to the SDO_DAS_DataFactory (i.e. have been added using addType()). The property becomes a property of the type. This is how the graph model for the structure of an SDO_DataObject is built.

Lista de parámetros

parent_type_namespace_uri

The namespace URI for the parent type.

parent_type_name

The type name for the parent type.

property_name

The name by which the property will be known in the parent type.

type_namespace_uri

The namespace URI for the type of the property.

type_name

The type name for the type of the property

options

This array holds one or more key=>value pairs to set attribute values for the property. The optional keywords are:

many

A flag to say whether the property is many-valued. A value of 'true' adds the property as a many-valued property (default is 'false').

readOnly

A flag to say whether the property is read-only. A value of 'true' means the property value cannot be modified through the SDO application APIs (default is 'false').

containment

A flag to say whether the property is contained by the parent. A value of 'true' means the property is contained by the parent. A value of 'false' results in a non-containment reference (default is 'true'). This flag is only interpreted when adding properties which are data object types, otherwise it is ignored.

default

A default value for the property. Omitting this key means that the property does not have a default value. A property can only have a default value if it is a single-valued data type (primitive).

Valores retornados

None.

Registro de cambios

Versión | Descripción
0.5.2 | Optional parameters many, readOnly, and containment deprecated in favour of the options array.

Ejemplos

Ejemplo 1. A SDO_DAS_DataFactory::addPropertyToType() example

The following adds an 'addressline' property to a Person type. The person type is identified by its namespace, 'PersonNS', and type name, 'PersonType'. The type of the 'addressline' property is a many-valued SDO data type (primitive) with namespace 'commonj.sdo' and type name 'String'.

<?php
  $df->addPropertyToType('PersonNS', 'PersonType',
    'addressline', 'commonj.sdo', 'String', array('many'=>true));
?>

Anterior | Inicio | Siguiente
SDO_DAS_ChangeSummary::isLogging | Subir | SDO_DAS_DataFactory::addType


SDO_DAS_DataFactory::addType

(no version information, might be only in CVS)

SDO_DAS_DataFactory::addType -- Add a new type to a model

Descripción

void SDO_DAS_DataFactory::addType ( string type_namespace_uri, string type_name [, array options] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Add a new type to the SDO_DAS_DataFactory, defined by its namespace and type name. The type becomes part of the model of data objects that the data factory can create.

Lista de parámetros

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

options

This array holds one or more key=>value pairs to set attribute values for the type. The optional keywords are:

open

A flag to say whether the type is open. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content such as that described by an <xsd:any> element. The default value is 'false'.

sequenced

A flag to say whether the type is sequenced. Sequenced types can have the ordering across properties preserved and can contain unstructured text. The default value is 'false'. For more information on sequenced types see the section on Working with Sequenced Data Objects.

basetype

If specified, an array of namespace URI and type name strings for the type from which this type is derived. An example of the use of base types is when a type derived in an XML schema inherits from another type by using <extension base="...">.

Valores retornados

None.

Ejemplos

Ejemplo 1. A SDO_DAS_DataFactory::addType() example

The following adds a new data object type of 'CompanyType' where that type belongs to the namespace 'CompanyNS'.

<?php
  $df->addType('CompanyNS', 'CompanyType');
?>

Anterior | Inicio | Siguiente
SDO_DAS_DataFactory::addPropertyToType | Subir | SDO_DAS_DataFactory::getDataFactory


SDO_DAS_DataFactory::getDataFactory

(no version information, might be only in CVS)

SDO_DAS_DataFactory::getDataFactory -- Get a data factory instance

Descripción

SDO_DAS_DataFactory SDO_DAS_DataFactory::getDataFactory ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Static method to get an instance of an SDO_DAS_DataFactory. This instance is initially only configured with the basic SDO types. A Data Access Service is responsible for populating the data factory model and then allowing PHP applications to create SDOs based on the model through the SDO_DataFactory interface. PHP applications should always obtain a data factory from a configured Data Access Service, not through this interface.

Lista de parámetros

None.

Valores retornados

Returns an SDO_DAS_DataFactory.

Anterior | Inicio | Siguiente
SDO_DAS_DataFactory::addType | Subir | SDO_DAS_DataObject::getChangeSummary


SDO_DAS_DataObject::getChangeSummary

(no version information, might be only in CVS)

SDO_DAS_DataObject::getChangeSummary -- Get a data object's change summary

Descripción

SDO_DAS_ChangeSummary SDO_DAS_DataObject::getChangeSummary ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

Lista de parámetros

None.

Valores retornados

Returns the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

Anterior | Inicio | Siguiente
SDO_DAS_DataFactory::getDataFactory | Subir | SDO_DAS_Setting::getListIndex


SDO_DAS_Relational::applyChanges

(no version information, might be only in CVS)

SDO_DAS_Relational::applyChanges -- Applies the changes made to a data graph back to the database.

Descripción

void SDO_DAS_Relational::applyChanges ( PDO database_handle, SDODataObject root_data_object )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Given a PDO database handle and the special root object of a data graph, examine the change summary in the datagraph and applies the changes to the database. The changes that it can apply can be creations of data objects, deletes of data objects, and modifications to properties of data objects.

Lista de parámetros

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

root_data_object

The special root object which is at the top of every SDO data graph.

Valores retornados

None. Note however that the datagraph that was passed is still intact and usable. Furthermore, if data objects were created and written back to a table with autogenerated primary keys, then those primary keys will now be set in the data objects. If the changes were successfully written, then the change summary associated with the datagraph will have been cleared, so that it is possible to now make further changes to the data graph and apply those changes in turn. In this way it is possible to work with the same data graph and apply changes repeatedly.

Errors/Exceptions

SDO_DAS_Relational::applyChanges() can throw an SDO_DAS_Relational_Exception if it is unable to apply all the changes correctly.

The Relational DAS starts a database transaction before beginning to apply the changes and will commit the transaction only if they are all successful. The Relational DAS generates qualified update and delete statements which contain a where clause that specifies that the row to be updated or deleted must contain the same values that it did when the data was first retrieved. This is how the the optimistic concurrency is implemented. If any of the qualified update or delete statements fails to update or delete their target row, it may be because the data has been altered in the database in the meantime. In any event, if any update fails for any reason, the transaction is rolled back and an exception thrown. The exception will contain the generated SQL statement that failed.

The Relational DAS also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Ejemplos

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method. Please see also the section on Tracing to see how you can see what SQL statements are generated by the Relational DAS.

Anterior | Inicio | Siguiente
SDO Relational Data Access Service Functions | Subir | SDO_DAS_Relational::__construct


SDO_DAS_Relational::__construct

(no version information, might be only in CVS)

SDO_DAS_Relational::__construct -- Creates an instance of a Relational Data Access Service

Descripción

SDO_DAS_Relational SDO_DAS_Relational::__construct ( array database_metadata [, string application_root_type [, array SDO_containment_references_metadata]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Constructs an instance of a Relational Data Access Service from the passed metadata.

Lista de parámetros

database_metadata

An array containing one or more table definitions, each of which is an associative array containing the keys name, columns, PK, and optionally, FK. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

application_root_type

The root of each data graph is an object of a special root type and the application data objects come below that. Of the various application types in the SDO model, one has to be the the application type immediately below the root of the data graph. If there is only one table in the database metadata, so the application root type can be inferred, this argument can be omitted.

SDO_containment_references_metadata

An array containing one or more definitions of a containment relation, each of which is an associative array containing the keys parent and child. The containment relations describe how the types in the model are connected to form a tree. The type specified as the application root type must be present as one of the parent types in the containment references. If the application only needs to work with one table at a time, and there are no containment relations in the model, this argument can be omitted. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

Valores retornados

Returns an SDO_DAS_Relational object on success.

Errors/Exceptions

SDO_DAS_Relational::__construct() throws a SDO_DAS_Relational_Exception if any problems are found in the metadata.

Ejemplos

For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

Anterior | Inicio | Siguiente
SDO_DAS_Relational::applyChanges | Subir | SDO_DAS_Relational::createRootDataObject


SDO_DAS_Relational::createRootDataObject

(no version information, might be only in CVS)

SDO_DAS_Relational::createRootDataObject -- Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.

Descripción

SDODataObject SDO_DAS_Relational::createRootDataObject ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the special root object at the top of an otherwise empty data graph. This call is used when the application wants to create a data graph from scratch, without having called executeQuery() to create a data graph.

The special root object has one multi-valued containment property, with a name of the application root type that was passed when the Relational DAS was constructed. The property can take values of only that type. The only thing that the application can usefully do with the root type is to call createDataObject() on it, passing the name of the application root type, in order to create a data object of their own application type.

Lista de parámetros

None.

Valores retornados

The root object.

Errors/Exceptions

None.

Ejemplos

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

Anterior | Inicio | Siguiente
SDO_DAS_Relational::__construct | Subir | SDO_DAS_Relational::executePreparedQuery


SDO_DAS_Relational::executePreparedQuery

(no version information, might be only in CVS)

SDO_DAS_Relational::executePreparedQuery -- Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.

Descripción

SDODataObject SDO_DAS_Relational::executePreparedQuery ( PDO database_handle, PDOStatement prepared_statement, array value_list [, array column_specifier] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Executes a given query against the relational database, using the supplied PDO database handle. Differs from the simpler executeQuery() in that it takes a prepared statement and a list of values. This is the appropriate call to use either when the statement is to executed a number of times with different arguments, and there is therefore a performance benefit to be had from preparing the statement only once, or when the the SQL statement is to contain varying values taken from a source that cannot be completely trusted. In this latter case it may be unsafe to construct the SQL statement by simply concatenating the parts of the statement together, since the values may contain pieces of SQL. To guard against this, a so-called SQL injection attack, it is safer to prepare the SQL statement with placeholders (also known as parameter markers, denoted by '?') and supply a list of the values to be substituted as a separate argument. Otherwise this function is the same as executeQuery() in that it uses the model that it built from the the metadata to interpret the result set and returns a data graph.

Lista de parámetros

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

prepared_statement

A prepared SQL statement to be executed against the database. This will have been prepared by PDO's prepare() method.

value_list

An array of the values to be substituted into the SQL statement in place of the placeholders. In the event that there are no placeholders or parameter markers in the SQL statement then this argument can be specified as NULL or as an empty array;

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata, For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

Valores retornados

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

Errors/Exceptions

SDO_DAS_Relational::executePreparedQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Ejemplos

Ejemplo 1. Retrieving a data object using executePreparedQuery()

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

Other examples of the use of executePreparedQuery() can be found in the example code supplied in sdo/DAS/Relational/Scenarios .

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_reference_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 * Use a prepared query with a placeholder.
 ***************************************************************/
$name = 'Acme';
$pdo_stmt = $dbh->prepare('select name, id from company where name=?');
$root = $das->executePreparedQuery(
    $dbh,
    $pdo_stmt,
    array($name),
    array('company.name', 'company.id'));

/**************************************************************
 * Echo name and id
 ***************************************************************/
foreach ($root['company'] as $company) {
    echo "Company obtained from the database has name = " .
    $company['name'] . " and id " . $company['id'] . "\n";
}
?>

Anterior | Inicio | Siguiente
SDO_DAS_Relational::createRootDataObject | Subir | SDO_DAS_Relational::executeQuery


SDO_DAS_Relational::executeQuery

(no version information, might be only in CVS)

SDO_DAS_Relational::executeQuery -- Executes a given SQL query against a relational database and returns the results as a normalised data graph.

Descripción

SDODataObject SDO_DAS_Relational::executeQuery ( PDO database_handle, string SQL_statement [, array column_specifier] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Executes a given query against the relational database, using the supplied PDO database handle. Uses the model that it built from the the metadata to interpret the result set. Returns a data graph.

Lista de parámetros

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

SQL_statement

The SQL statement to be executed against the database.

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata. For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

Valores retornados

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

Errors/Exceptions

SDO_DAS_Relational::executeQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Ejemplos

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

Anterior | Inicio | Siguiente
SDO_DAS_Relational::executePreparedQuery | Subir | Funciones Semáforo y de memoria compartida


SDO_DAS_Setting::getListIndex

(no version information, might be only in CVS)

SDO_DAS_Setting::getListIndex -- Get the list index for a changed many-valued property

Descripción

int SDO_DAS_Setting::getListIndex ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the list index for a modification made to an element of a many-valued property. For example, if we modified the third element of a many-valued property we could obtain an SDO_DAS_Setting from the change summary corresponding to that modification. A call to getListIndex() on that setting would return the value 2 (lists are indexed from zero).

Lista de parámetros

None.

Valores retornados

The list index for the element of the many-valued property which has been changed.

Anterior | Inicio | Siguiente
SDO_DAS_DataObject::getChangeSummary | Subir | SDO_DAS_Setting::getPropertyIndex


SDO_DAS_Setting::getPropertyIndex

(no version information, might be only in CVS)

SDO_DAS_Setting::getPropertyIndex -- Get the property index for a changed property

Descripción

int SDO_DAS_Setting::getPropertyIndex ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the property index for the changed property. This index identifies the property which was modified in data object.

Lista de parámetros

None.

Valores retornados

The property index for a changed property.

Anterior | Inicio | Siguiente
SDO_DAS_Setting::getListIndex | Subir | SDO_DAS_Setting::getPropertyName


SDO_DAS_Setting::getPropertyName

(no version information, might be only in CVS)

SDO_DAS_Setting::getPropertyName -- Get the property name for a changed property

Descripción

string SDO_DAS_Setting::getPropertyName ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the property name for the changed property. This name identifies the property which was modified in data object.

Lista de parámetros

None.

Valores retornados

The property name for a changed property.

Anterior | Inicio | Siguiente
SDO_DAS_Setting::getPropertyIndex | Subir | SDO_DAS_Setting::getValue


SDO_DAS_Setting::getValue

(no version information, might be only in CVS)

SDO_DAS_Setting::getValue -- Get the old value for the changed property

Descripción

mixed SDO_DAS_Setting::getValue ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the old value for the changed property. This can be used by a Data Access Service when writing updates to a data source. The DAS uses the old value to detect conflicts by comparing it with the current value in the data source. If they do not match, then the data source has been updated since the data object was originally populated, and therefore writing any new updates risks compromising the integrity of the data.

Lista de parámetros

None.

Valores retornados

Returns the old value of the changed property.

Anterior | Inicio | Siguiente
SDO_DAS_Setting::getPropertyName | Subir | SDO_DAS_Setting::isSet


SDO_DAS_Setting::isSet

(no version information, might be only in CVS)

SDO_DAS_Setting::isSet -- Test whether a property was set prior to being modified

Descripción

bool SDO_DAS_Setting::isSet ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test whether a property was set prior to being modified. If it was set prior to being modified then the SDO_DAS_Setting will also contain the old value.

Lista de parámetros

None.

Valores retornados

Returns TRUE if the property was set prior to being modified, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_DAS_Setting::getValue | Subir | SDO_DataFactory::create


SDO_DAS_XML::addTypes

(no version information, might be only in CVS)

SDO_DAS_XML::addTypes -- To load a second or subsequent schema file to a SDO_DAS_XML object

Descripción

void SDO_DAS_XML::addTypes ( string xsd_file )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Load a second or subsequent schema file to an XML DAS that has already been created with the static method create(). Although the file may be any valid schema file, a likely reason for using this method is to add a schema file containing definitions of extra complex types, hence the name. See Example 4 of the parent document for an example.

Lista de parámetros

xsd_file

Path to XSD Schema file.

Valores retornados

None if successful, otherwise throws an exception as described below.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

Anterior | Inicio | Siguiente
SDO_DAS_XML_Document::setXMLVersion | Subir | SDO_DAS_XML::create


SDO_DAS_XML::create

(no version information, might be only in CVS)

SDO_DAS_XML::create -- To create SDO_DAS_XML object for a given schema file

Descripción

SDO_DAS_XML SDO_DAS_XML::create ( [string xsd_file] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This is the only static method of SDO_DAS_XML class. Used to instantiate SDO_DAS_XML object.

Lista de parámetros

xsd_file

Path to XSD Schema file. This is optional. If omitted a DAS will be created that only has the SDO base types defined. Schema files can then be loaded with the addTypes() method.

Valores retornados

Returns SDO_DAS_XML object on success otherwise throws an exception as described below.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

Anterior | Inicio | Siguiente
SDO_DAS_XML::addTypes | Subir | SDO_DAS_XML::createDataObject


SDO_DAS_XML::createDataObject

(no version information, might be only in CVS)

SDO_DAS_XML::createDataObject -- Creates SDO_DataObject for a given namespace URI and type name

Descripción

SDO_DataObject SDO_DAS_XML::createDataObject ( string namespace_uri, string type_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates SDO_DataObject for a given namespace URI and type name. The type should be defined in the underlying model otherwise SDO_TypeNotFoundException will be thrown.

Lista de parámetros

namespace_uri

Namespace URI of the type name.

type_name

Type Name.

Valores retornados

Returns SDO_DataObject on success.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

Anterior | Inicio | Siguiente
SDO_DAS_XML::create | Subir | SDO_DAS_XML::createDocument


SDO_DAS_XML::createDocument

(no version information, might be only in CVS)

SDO_DAS_XML::createDocument -- Creates an XML Document object from scratch, without the need to load a document from a file or string.

Descripción

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( [string document_element_name] )

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( string document_element_namespace_URI, string document_element_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates an XML Document object. This will contain just one empty root element on which none of the properties will have been set. The purpose of this call is to allow an application to create an XML document from scratch without the need to load a document from a file or string. The document that is created will be as if a document had been loaded that contained just a single empty document element with no attributes set or elements within it.

createDocument() may need to be told what the document element is. This will not be necessary in simple cases. When there is no ambiguity then no parameter need be passed to the method. However it is possible to load more than one schema file into the same XML DAS and in this case there may be more than one possible document element defined: furthermore it is even possible that there are two possible document elements that differ only in the namespace. To cope with these cases it is possible to specify either the document element name, or both the document element name and namespace to the method.

Lista de parámetros

document_element_name

The name of the document element. Only needed if there is more than one possibility.

document_element_namespace_URI

The namespace part of the document element name. Only needed if there is more than one possible document element with the same name.

Valores retornados

Returns an SDO_XML_DAS_Document object on success.

Errors/Exceptions

SDO_UnsupportedOperationException

Thrown if an element name or element name and namespace URI is passed, but not found in the underlying model.

Anterior | Inicio | Siguiente
SDO_DAS_XML::createDataObject | Subir | SDO_DAS_XML::loadFile


SDO_DAS_XML_Document::getRootDataObject

(no version information, might be only in CVS)

SDO_DAS_XML_Document::getRootDataObject -- Returns the root SDO_DataObject

Descripción

SDO_DataObject SDO_DAS_XML_Document::getRootDataObject ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the root SDO_DataObject.

Lista de parámetros

Valores retornados

Returns the root SDO_DataObject.

Anterior | Inicio | Siguiente
SDO XML Data Access Service Functions | Subir | SDO_DAS_XML_Document::getRootElementName


SDO_DAS_XML_Document::getRootElementName

(no version information, might be only in CVS)

SDO_DAS_XML_Document::getRootElementName -- Returns root element's name

Descripción

string SDO_DAS_XML_Document::getRootElementName ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns root element's name.

Lista de parámetros

Valores retornados

Returns root element's name.

Anterior | Inicio | Siguiente
SDO_DAS_XML_Document::getRootDataObject | Subir | SDO_DAS_XML_Document::getRootElementURI


SDO_DAS_XML_Document::getRootElementURI

(no version information, might be only in CVS)

SDO_DAS_XML_Document::getRootElementURI -- Returns root element's URI string

Descripción

string SDO_DAS_XML_Document::getRootElementURI ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns root element's URI string.

Lista de parámetros

Valores retornados

Returns root element's URI string.

Anterior | Inicio | Siguiente
SDO_DAS_XML_Document::getRootElementName | Subir | SDO_DAS_XML_Document::setEncoding


SDO_DAS_XML_Document::setEncoding

(no version information, might be only in CVS)

SDO_DAS_XML_Document::setEncoding -- Sets the given string as encoding

Descripción

void SDO_DAS_XML_Document::setEncoding ( string encoding )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the given string as encoding.

Lista de parámetros

encoding

Encoding string.

Valores retornados

None.

Anterior | Inicio | Siguiente
SDO_DAS_XML_Document::getRootElementURI | Subir | SDO_DAS_XML_Document::setXMLDeclaration


SDO_DAS_XML_Document::setXMLDeclaration

(no version information, might be only in CVS)

SDO_DAS_XML_Document::setXMLDeclaration -- Sets the xml declaration

Descripción

void SDO_DAS_XML_Document::setXMLDeclaration ( bool xmlDeclatation )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Controls whether an XML declaration will be generated at the start of the XML document. Set to true to generate the XML declaration, or false to suppress it.

Lista de parámetros

xmlDeclatation

Boolean value to set the XML declaration.

Valores retornados

None.

Anterior | Inicio | Siguiente
SDO_DAS_XML_Document::setEncoding | Subir | SDO_DAS_XML_Document::setXMLVersion


SDO_DAS_XML_Document::setXMLVersion

(no version information, might be only in CVS)

SDO_DAS_XML_Document::setXMLVersion -- Sets the given string as xml version

Descripción

void SDO_DAS_XML_Document::setXMLVersion ( string xmlVersion )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Sets the given string as xml version.

Lista de parámetros

xmlVersion

xml version string.

Valores retornados

None.

Anterior | Inicio | Siguiente
SDO_DAS_XML_Document::setXMLDeclaration | Subir | SDO_DAS_XML::addTypes


SDO_DAS_XML::loadFile

(no version information, might be only in CVS)

SDO_DAS_XML::loadFile -- Returns SDO_DAS_XML_Document object for a given path to xml instance document

Descripción

SDO_XMLDocument SDO_DAS_XML::loadFile ( string xml_file )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Constructs the tree of SDO_DataObjects from the given address to xml instance document. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

Lista de parámetros

xml_file

Path to Instance document. This can be a path to a local file or it can be a URL.

Valores retornados

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

Anterior | Inicio | Siguiente
SDO_DAS_XML::createDocument | Subir | SDO_DAS_XML::loadString


SDO_DAS_XML::loadString

(no version information, might be only in CVS)

SDO_DAS_XML::loadString -- Returns SDO_DAS_XML_Document for a given xml instance string

Descripción

SDO_DAS_XML_Document SDO_DAS_XML::loadString ( string xml_string )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Constructs the tree of SDO_DataObjects from the given xml instance string. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

Lista de parámetros

xml_string

xml string.

Valores retornados

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if the a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

Anterior | Inicio | Siguiente
SDO_DAS_XML::loadFile | Subir | SDO_DAS_XML::saveFile


SDO_DAS_XML::saveFile

(no version information, might be only in CVS)

SDO_DAS_XML::saveFile -- Saves the SDO_DAS_XML_Document object to a file

Descripción

void SDO_DAS_XML::saveFile ( SDO_XMLDocument xdoc, string xml_file [, int indent] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Saves the SDO_DAS_XML_Document object to a file.

Lista de parámetros

xdoc

SDO_DAS_XML_Document object.

xml_file

xml file.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

Valores retornados

None.

Errors/Exceptions

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

Anterior | Inicio | Siguiente
SDO_DAS_XML::loadString | Subir | SDO_DAS_XML::saveString


SDO_DAS_XML::saveString

(no version information, might be only in CVS)

SDO_DAS_XML::saveString -- Saves the SDO_DAS_XML_Document object to a string

Descripción

string SDO_DAS_XML::saveString ( SDO_XMLDocument xdoc [, int indent] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Saves the SDO_DAS_XML_Document object to string.

Lista de parámetros

xdoc

SDO_DAS_XML_Document object.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

Valores retornados

xml string.

Anterior | Inicio | Siguiente
SDO_DAS_XML::saveFile | Subir | SDO Relational Data Access Service Functions


SDO_DataFactory::create

(no version information, might be only in CVS)

SDO_DataFactory::create -- Create an SDO_DataObject

Descripción

void SDO_DataFactory::create ( string type_namespace_uri, string type_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Create a new SDO_DataObject given the data object's namespace URI and type name.

Lista de parámetros

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Valores retornados

Returns the newly created SDO_DataObject.

Errors/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type known to this data factory.

Anterior | Inicio | Siguiente
SDO_DAS_Setting::isSet | Subir | SDO_DataObject::clear


SDO_DataObject::clear

(no version information, might be only in CVS)

SDO_DataObject::clear -- Clear an SDO_DataObject's properties

Descripción

void SDO_DataObject::clear ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Clear an SDO_DataObject's properties. Read-only properties are unaffected. Subsequent calls to isset() for the data object will return FALSE.

Lista de parámetros

None.

Valores retornados

No return values.

Anterior | Inicio | Siguiente
SDO_DataFactory::create | Subir | SDO_DataObject::createDataObject


SDO_DataObject::createDataObject

(no version information, might be only in CVS)

SDO_DataObject::createDataObject -- Create a child SDO_DataObject

Descripción

SDO_DataObject SDO_DataObject::createDataObject ( mixed identifier )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Create a child SDO_DataObject of the default type for the property identified. The data object is automatically inserted into the tree and a reference to it is returned.

Lista de parámetros

identifier

Identifies the property for the data object type to be created. Can be either a property name (string), a property index (int), or an SDO_Model_Property.

Valores retornados

Returns the newly created SDO_DataObject.

Errors/Exceptions

SDO_PropertyNotFoundException

Thrown if the identifier does not correspond to a property of the data object.

Anterior | Inicio | Siguiente
SDO_DataObject::clear | Subir | SDO_DataObject::getContainer


SDO_DataObject::getContainer

(no version information, might be only in CVS)

SDO_DataObject::getContainer -- Get a data object's container

Descripción

SDO_DataObject SDO_DataObject::getContainer ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the data object which contains this data object.

Lista de parámetros

None.

Valores retornados

Returns the SDO_DataObject which contains this SDO_DataObject, or returns NULL if this is a root SDO_DataObject (i.e. it has no container).

Anterior | Inicio | Siguiente
SDO_DataObject::createDataObject | Subir | SDO_DataObject::getSequence


SDO_DataObject::getSequence

(no version information, might be only in CVS)

SDO_DataObject::getSequence -- Get the sequence for a data object

Descripción

SDO_Sequence SDO_DataObject::getSequence ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Return the SDO_Sequence for this SDO_DataObject. Accessing the SDO_DataObject through the SDO_Sequence interface acts on the same SDO_DataObject instance data, but preserves ordering across properties.

Lista de parámetros

None.

Valores retornados

The SDO_Sequence for this SDO_DataObject, or returns NULL if the SDO_DataObject is not of a type which can have a sequence.

Anterior | Inicio | Siguiente
SDO_DataObject::getContainer | Subir | SDO_DataObject::getTypeName


SDO_DataObject::getTypeName

(no version information, might be only in CVS)

SDO_DataObject::getTypeName -- Return the name of the type for a data object.

Descripción

string SDO_DataObject::getTypeName ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Return the name of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getName().

Lista de parámetros

None.

Valores retornados

The name of the type for the data object.

Anterior | Inicio | Siguiente
SDO_DataObject::getSequence | Subir | SDO_DataObject::getTypeNamespaceURI


SDO_DataObject::getTypeNamespaceURI

(no version information, might be only in CVS)

SDO_DataObject::getTypeNamespaceURI -- Return the namespace URI of the type for a data object.

Descripción

string SDO_DataObject::getTypeNamespaceURI ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Return the namespace URI of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getNamespaceURI().

Lista de parámetros

None.

Valores retornados

The namespace URI of the type for the data object.

Anterior | Inicio | Siguiente
SDO_DataObject::getTypeName | Subir | SDO_Exception::getCause


SDO_Exception::getCause

(no version information, might be only in CVS)

SDO_Exception::getCause -- Get the cause of the exception.

Descripción

mixed SDO_Exception::getCause ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the cause of this exception or NULL if the cause is nonexistent or unknown. Typically the cause will be an SDO_CPPException object, which may be used to obtain additional diagnostic information.

Lista de parámetros

None.

Valores retornados

Returns the cause of this exception or NULL if the cause is nonexistent or unknown.

Anterior | Inicio | Siguiente
SDO_DataObject::getTypeNamespaceURI | Subir | SDO_List::insert


SDO_List::insert

(no version information, might be only in CVS)

SDO_List::insert -- Insert into a list

Descripción

void SDO_List::insert ( mixed value [, int index] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Insert a new element at a specified position in the list. All subsequent list items are moved up.

Lista de parámetros

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

index

The position at which to insert the new element. If this argument is not specified then the new value will be appended.

Valores retornados

None.

Errors/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the list index is less than zero or greater than the size of the list.

SDO_InvalidConversionException

Thrown if the type of the new value does not match the type for the list (e.g. the type of the many-valued property that the list represents).

Anterior | Inicio | Siguiente
SDO_Exception::getCause | Subir | SDO_Model_Property::getContainingType


SDO_Model_Property::getContainingType

(no version information, might be only in CVS)

SDO_Model_Property::getContainingType -- Get the SDO_Model_Type which contains this property

Descripción

SDO_Model_Type SDO_Model_Property::getContainingType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the SDO_Model_Type which contains this property.

Lista de parámetros

None.

Valores retornados

Returns the SDO_Model_Type which contains this property.

Anterior | Inicio | Siguiente
SDO_List::insert | Subir | SDO_Model_Property::getDefault


SDO_Model_Property::getDefault

(no version information, might be only in CVS)

SDO_Model_Property::getDefault -- Get the default value for the property

Descripción

mixed SDO_Model_Property::getDefault ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the default value for the property. Only primitive data type properties can have default values.

Lista de parámetros

None.

Valores retornados

Returns the default value for the property.

Anterior | Inicio | Siguiente
SDO_Model_Property::getContainingType | Subir | SDO_Model_Property::getName


SDO_Model_Property::getName

(no version information, might be only in CVS)

SDO_Model_Property::getName -- Get the name of the SDO_Model_Property

Descripción

string SDO_Model_Property::getName ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the name of the SDO_Model_Property.

Lista de parámetros

None.

Valores retornados

Returns the name of the SDO_Model_Property.

Anterior | Inicio | Siguiente
SDO_Model_Property::getDefault | Subir | SDO_Model_Property::getType


SDO_Model_Property::getType

(no version information, might be only in CVS)

SDO_Model_Property::getType -- Get the SDO_Model_Type of the property

Descripción

SDO_Model_Type SDO_Model_Property::getType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the SDO_Model_Type of the property. The SDO_Model_Type describes the type information for the property, such as its type name, namespace URI, whether it is a primitive data type, and so on.

Lista de parámetros

None.

Valores retornados

Returns the SDO_Model_Type describing the property's type information.

Anterior | Inicio | Siguiente
SDO_Model_Property::getName | Subir | SDO_Model_Property::isContainment


SDO_Model_Property::isContainment

(no version information, might be only in CVS)

SDO_Model_Property::isContainment -- Test to see if the property defines a containment relationship

Descripción

bool SDO_Model_Property::isContainment ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see if the property corresponds to a containment relationship. Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

Lista de parámetros

None.

Valores retornados

Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

Anterior | Inicio | Siguiente
SDO_Model_Property::getType | Subir | SDO_Model_Property::isMany


SDO_Model_Property::isMany

(no version information, might be only in CVS)

SDO_Model_Property::isMany -- Test to see if the property is many-valued

Descripción

bool SDO_Model_Property::isMany ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see if the property is many-valued. Returns TRUE if this is a many-valued property, otherwise returns FALSE.

Lista de parámetros

None.

Valores retornados

Returns TRUE if this is a many-valued property, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_Model_Property::isContainment | Subir | SDO_Model_ReflectionDataObject::__construct


SDO_Model_ReflectionDataObject::__construct

(no version information, might be only in CVS)

SDO_Model_ReflectionDataObject::__construct -- Construct an SDO_Model_ReflectionDataObject

Descripción

SDO_Model_ReflectionDataObject SDO_Model_ReflectionDataObject::__construct ( SDO_DataObject data_object )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Construct an SDO_Model_ReflectionDataObject to reflect on an SDO_DataObject. Reflecting on an SDO_DataObject gives access to information about its model. The model contains information such as the data object's type, and whether that type is sequenced (preserves ordering across properties) or open (each instance can have its model extended). The model also holds information about the data object's properties, any default values they may have, and so on.

Lista de parámetros

data_object

The SDO_DataObject being reflected upon.

Valores retornados

None.

Anterior | Inicio | Siguiente
SDO_Model_Property::isMany | Subir | SDO_Model_ReflectionDataObject::export


SDO_Model_ReflectionDataObject::export

(no version information, might be only in CVS)

SDO_Model_ReflectionDataObject::export -- Get a string describing the SDO_DataObject.

Descripción

mixed SDO_Model_ReflectionDataObject::export ( SDO_Model_ReflectionDataObject rdo [, bool return] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get a string describing the SDO_DataObject. The default behaviour is to print the output, but if TRUE is specified for return, it is returned as a string.

Lista de parámetros

rdo

An SDO_Model_ReflectionDataObject.

return

If TRUE, return the output as a string, otherwise print it.

Valores retornados

Returns the output if TRUE is specified for return, otherwise NULL.

Anterior | Inicio | Siguiente
SDO_Model_ReflectionDataObject::__construct | Subir | SDO_Model_ReflectionDataObject::getContainmentProperty


SDO_Model_ReflectionDataObject::getContainmentProperty

(no version information, might be only in CVS)

SDO_Model_ReflectionDataObject::getContainmentProperty -- Get the property which defines the containment relationship to the data object

Descripción

SDO_Model_Property SDO_Model_ReflectionDataObject::getContainmentProperty ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the SDO_Model_Property that contains the SDO_DataObject. This method is used to navigate up to the parent's property which contains the data object which has been reflected upon.

Lista de parámetros

None.

Valores retornados

Returns the container's SDO_Model_Property which references the SDO_DataObject, or NULL if it is a root SDO_DataObject.

Anterior | Inicio | Siguiente
SDO_Model_ReflectionDataObject::export | Subir | SDO_Model_ReflectionDataObject::getInstanceProperties


SDO_Model_ReflectionDataObject::getInstanceProperties

(no version information, might be only in CVS)

SDO_Model_ReflectionDataObject::getInstanceProperties -- Get the instance properties of the SDO_DataObject

Descripción

array SDO_Model_ReflectionDataObject::getInstanceProperties ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the instance properties for the SDO_DataObject. The instance properties consist of all the properties defined on the data object's type, plus any instance properties from open content (if the data object is an open type).

Lista de parámetros

None.

Valores retornados

An array of SDO_Model_Property objects.

Anterior | Inicio | Siguiente
SDO_Model_ReflectionDataObject::getContainmentProperty | Subir | SDO_Model_ReflectionDataObject::getType


SDO_Model_ReflectionDataObject::getType

(no version information, might be only in CVS)

SDO_Model_ReflectionDataObject::getType -- Get the SDO_Model_Type for the SDO_DataObject

Descripción

SDO_Model_Type SDO_Model_ReflectionDataObject::getType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the SDO_Model_Type for the SDO_DataObject. The SDO_Model_Type holds all the information about the data object's type, such as namespace URI, type name, whether it is a primitive data type, and so on.

Lista de parámetros

None.

Valores retornados

Returns the SDO_Model_Type for the SDO_DataObject.

Anterior | Inicio | Siguiente
SDO_Model_ReflectionDataObject::getInstanceProperties | Subir | SDO_Model_Type::getBaseType


SDO_Model_Type::getBaseType

(no version information, might be only in CVS)

SDO_Model_Type::getBaseType -- Get the base type for this type

Descripción

SDO_Model_Type SDO_Model_Type::getBaseType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get the base type for this type. Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL. An example of when base types occur is when a type defined in XML schema inherits from another type by using <extension base="..."> .

Lista de parámetros

None.

Valores retornados

Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL.

Anterior | Inicio | Siguiente
SDO_Model_ReflectionDataObject::getType | Subir | SDO_Model_Type::getName


SDO_Model_Type::getName

(no version information, might be only in CVS)

SDO_Model_Type::getName -- Get the name of the type

Descripción

string SDO_Model_Type::getName ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the name of the type. The combination of type name and namespace URI is used to uniquely identify the type.

Lista de parámetros

None.

Valores retornados

Returns the name of the type.

Anterior | Inicio | Siguiente
SDO_Model_Type::getBaseType | Subir | SDO_Model_Type::getNamespaceURI


SDO_Model_Type::getNamespaceURI

(no version information, might be only in CVS)

SDO_Model_Type::getNamespaceURI -- Get the namespace URI of the type

Descripción

string SDO_Model_Type::getNamespaceURI ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Returns the namespace URI of the type. The combination of namespace URI and type name is used to uniquely identify the type.

Lista de parámetros

None.

Valores retornados

Returns the namespace URI of the type.

Anterior | Inicio | Siguiente
SDO_Model_Type::getName | Subir | SDO_Model_Type::getProperties


SDO_Model_Type::getProperties

(no version information, might be only in CVS)

SDO_Model_Type::getProperties -- Get the SDO_Model_Property objects defined for the type

Descripción

array SDO_Model_Type::getProperties ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get an array of SDO_Model_Property objects describing the properties defined for the SDO_Model_Type. Each SDO_Model_Property holds information such as the property name, default value, and so on.

Lista de parámetros

None.

Valores retornados

Returns an array of SDO_Model_Property objects.

Anterior | Inicio | Siguiente
SDO_Model_Type::getNamespaceURI | Subir | SDO_Model_Type::getProperty


SDO_Model_Type::getProperty

(no version information, might be only in CVS)

SDO_Model_Type::getProperty -- Get an SDO_Model_Property of the type

Descripción

SDO_Model_Property SDO_Model_Type::getProperty ( mixed identifier )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Get an SDO_Model_Property of the type, identified by its property index or property name.

Lista de parámetros

identifier

The property index or property name.

Valores retornados

Returns the SDO_Model_Property.

Anterior | Inicio | Siguiente
SDO_Model_Type::getProperties | Subir | SDO_Model_Type::isAbstractType


SDO_Model_Type::isAbstractType

(no version information, might be only in CVS)

SDO_Model_Type::isAbstractType -- Test to see if this SDO_Model_Type is an abstract data type

Descripción

bool SDO_Model_Type::isAbstractType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see if this SDO_Model_Type is an abstract data type. Returns TRUE if this type is abstract, that is, no SDO_DataObject of this type can be instantiated, though other types may inherit from it.

Lista de parámetros

None.

Valores retornados

Returns TRUE if this type is an abstract data type, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_Model_Type::getProperty | Subir | SDO_Model_Type::isDataType


SDO_Model_Type::isDataType

(no version information, might be only in CVS)

SDO_Model_Type::isDataType -- Test to see if this SDO_Model_Type is a primitive data type

Descripción

bool SDO_Model_Type::isDataType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see if this SDO_Model_Type is a primitive data type. Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

Lista de parámetros

None.

Valores retornados

Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_Model_Type::isAbstractType | Subir | SDO_Model_Type::isInstance


SDO_Model_Type::isInstance

(no version information, might be only in CVS)

SDO_Model_Type::isInstance -- Test for an SDO_DataObject being an instance of this SDO_Model_Type

Descripción

bool SDO_Model_Type::isInstance ( SDO_DataObject data_object )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test for an SDO_DataObject being an instance of this SDO_Model_Type. Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

Lista de parámetros

data_object

The SDO_DataObject to be tested.

Valores retornados

Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_Model_Type::isDataType | Subir | SDO_Model_Type::isOpenType


SDO_Model_Type::isOpenType

(no version information, might be only in CVS)

SDO_Model_Type::isOpenType -- Test to see if this type is an open type

Descripción

bool SDO_Model_Type::isOpenType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see if this type is open. Returns TRUE if this type is open, otherwise returns FALSE. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content, such as that defined by an <xsd:any> element.

Lista de parámetros

None.

Valores retornados

Returns TRUE if this type is open, otherwise returns FALSE.

Anterior | Inicio | Siguiente
SDO_Model_Type::isInstance | Subir | SDO_Model_Type::isSequencedType


SDO_Model_Type::isSequencedType

(no version information, might be only in CVS)

SDO_Model_Type::isSequencedType -- Test to see if this is a sequenced type

Descripción

bool SDO_Model_Type::isSequencedType ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Test to see if this is a sequenced type. Returns TRUE if this type is sequence, otherwise returns FALSE. Sequenced types can have the ordering across properties preserved and can contain unstructured text. For more information on sequenced types see the section on Working with Sequenced Data Objects.

Lista de parámetros

None.

Valores retornados

Returns TRUE if this type is sequence, otherwise return FALSE.

Anterior | Inicio | Siguiente
SDO_Model_Type::isOpenType | Subir | SDO_Sequence::getProperty


SDO_Sequence::getProperty

(no version information, might be only in CVS)

SDO_Sequence::getProperty -- Return the property for the specified sequence index.

Descripción

SDO_Model_Property SDO_Sequence::getProperty ( int sequence_index )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Return the property for the specified sequence index.

Lista de parámetros

sequence_index

The position of the element in the sequence.

Valores retornados

An SDO_Model_Property. A return value of NULL means the sequence element does not belong to a property and must therefore be unstructured text.

Errors/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

Anterior | Inicio | Siguiente
SDO_Model_Type::isSequencedType | Subir | SDO_Sequence::insert


SDO_Sequence::insert

(no version information, might be only in CVS)

SDO_Sequence::insert -- Insert into a sequence

Descripción

void SDO_Sequence::insert ( mixed value [, int sequenceIndex [, mixed propertyIdentifier]] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Insert a new element at a specified position in the sequence. All subsequent sequence items are moved up.

Lista de parámetros

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

sequenceIndex

The position at which to insert the new element. Default is NULL, which results in the new value being appended to the sequence.

propertyIdentifier

Either a property index, a property name, or an SDO_Model_Property, used to identify a property in the sequence's corresponding SDO_DataObject. A value of NULL signifies unstructured text.

Valores retornados

None.

Errors/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

SDO_InvalidConversionException

Thrown if the type of the new value cannot be juggled to match the type for the specified data object property.

Anterior | Inicio | Siguiente
SDO_Sequence::getProperty | Subir | SDO_Sequence::move


SDO_Sequence::move

(no version information, might be only in CVS)

SDO_Sequence::move -- Move an item to another sequence position

Descripción

void SDO_Sequence::move ( int toIndex, int fromIndex )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Modify the position of the item in the sequence, without altering the value of the property in the SDO_DataObject.

Lista de parámetros

toIndex

The destination sequence index. If this index is less than zero or greater than the size of the sequence then the value is appended.

fromIndex

The source sequence index.

Valores retornados

None.

Errors/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the fromIndex sequence index is less than zero or greater than the size of the sequence.

Anterior | Inicio | Siguiente
SDO_Sequence::insert | Subir | SDO XML Data Access Service Functions


session_pgsql_add_error

(PECL)

session_pgsql_add_error -- Increments error counts and sets last error message

Descripción

bool session_pgsql_add_error ( int error_level [, string error_message] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

error_level

error_message

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

session_pgsql_get_error()

Anterior | Inicio | Siguiente
PostgreSQL Session Save Handler | Subir | session_pgsql_get_error


session_pgsql_get_error

(PECL)

session_pgsql_get_error -- Returns number of errors and last error message

Descripción

array session_pgsql_get_error ( [bool with_error_message] )

Get the number of errors and optional the error messages.

Lista de parámetros

with_error_message

Set to TRUE the literal error message for each error is also returned.

Valores retornados

The number of errors are returned as array.

Ver también

session_pgsql_add_error()

Anterior | Inicio | Siguiente
session_pgsql_add_error | Subir | session_pgsql_get_field


session_pgsql_get_field

(PECL)

session_pgsql_get_field -- Get custom field value

Descripción

string session_pgsql_get_field ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

session_pgsql_set_field()

Anterior | Inicio | Siguiente
session_pgsql_get_error | Subir | session_pgsql_reset


session_pgsql_reset

(PECL)

session_pgsql_reset -- Reset connection to session database servers

Descripción

bool session_pgsql_reset ( void )

Reset the connection to the session database servers.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
session_pgsql_get_field | Subir | session_pgsql_set_field


session_pgsql_set_field

(PECL)

session_pgsql_set_field -- Set custom field value

Descripción

bool session_pgsql_set_field ( string value )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

value

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

session_pgsql_get_field()

Anterior | Inicio | Siguiente
session_pgsql_reset | Subir | session_pgsql_status


session_pgsql_status

(PECL)

session_pgsql_status -- Get current save handler status

Descripción

array session_pgsql_status ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
session_pgsql_set_field | Subir | Funciones para el manejo de sesiones


SimpleXMLElement->addAttribute()

(no version information, might be only in CVS)

SimpleXMLElement->addAttribute() -- Adds an attribute to the SimpleXML element

Descripción

class SimpleXMLElement {

void addAttribute ( string name, string value [, string namespace] )

}

Adds an attribute to the SimpleXML element.

Lista de parámetros

name

The name of the attribute to add.

value

The value of the attribute.

namespace

If specified, the namespace to which the attribute belongs.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Add attributes and children to a SimpleXML element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Ver también

SimpleXMLElement->addChild()

Anterior | Inicio | Siguiente
Funciones SimpleXML | Subir | SimpleXMLElement->addChild()


SimpleXMLElement->addChild()

(no version information, might be only in CVS)

SimpleXMLElement->addChild() -- Adds a child element to the XML node

Descripción

class SimpleXMLElement {

SimpleXMLElement addChild ( string name [, string value [, string namespace]] )

}

Adds a child element to the node and returns a SimpleXMLElement of the child.

Lista de parámetros

name

The name of the child element to add.

value

If specified, the value of the child element.

namespace

If specified, the namespace to which the child element belongs.

Valores retornados

The addChild method returns a SimpleXMLElement object representing the child added to the XML node.

Ejemplos

Ejemplo 1. Add attributes and children to a SimpleXML element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Ver también

SimpleXMLElement->addAttribute()

Anterior | Inicio | Siguiente
SimpleXMLElement->addAttribute() | Subir | SimpleXMLElement->asXML


SimpleXMLElement->__construct()

(no version information, might be only in CVS)

SimpleXMLElement->__construct() -- Creates a new SimpleXMLElement object

Descripción

class SimpleXMLElement {

__construct ( string data [, int options [, bool data_is_url [, string ns [, bool is_prefix]]]] )

}

Creates a new SimpleXMLElement object.

Lista de parámetros

data

A well-formed XML string or the path or URL to an XML document if data_is_url is TRUE.

options

Optionally used to specify additional Libxml parameters.

data_is_url

By default, data_is_url is FALSE. Use TRUE to specify that data is a path or URL to an XML document instead of string data.

ns

is_prefix

Valores retornados

Returns a SimpleXMLElement object representing data.

Errors/Exceptions

Produces an E_WARNING error message for each error found in the XML data and throws an exception if errors were detected.

Ejemplos

Ejemplo 1. Create a SimpleXMLElement object

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

Ejemplo 2. Create a SimpleXMLElement object from a URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Ver también

simplexml_load_string
simplexml_load_file

Anterior | Inicio | Siguiente
SimpleXMLElement->children | Subir | SimpleXMLElement->getDocNamespaces()


SimpleXMLElement->getDocNamespaces()

(no version information, might be only in CVS)

SimpleXMLElement->getDocNamespaces() -- Returns namespaces declared in document

Descripción

class SimpleXMLElement {

array getDocNamespaces ( [bool recursive] )

}

Returns namespaces declared in document

Lista de parámetros

recursive

If specified, returns all namespaces declared in parent and child nodes. Otherwise, returns only namespaces declared in root node.

Valores retornados

The getDocNamespaces method returns an array of namespace names with their associated URIs.

Ejemplos

Ejemplo 1. Get document namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

Ejemplo 2. Working with multiple namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person t:id="1">John Doe</p:person>
    <p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

Ver también

SimpleXMLElement->getNamespaces()
SimpleXMLElement->registerXPathNamespace()

Anterior | Inicio | Siguiente
SimpleXMLElement->__construct() | Subir | SimpleXMLElement->getName()


SimpleXMLElement->getName()

(no version information, might be only in CVS)

SimpleXMLElement->getName() -- Gets the name of the XML element

Descripción

class SimpleXMLElement {

string getName ( void )

}

Gets the name of the XML element.

Valores retornados

The getName method returns as a string the name of the XML tag referenced by the SimpleXMLElement object.

Ejemplos

Ejemplo 1. Get XML element names

<?php

$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

Anterior | Inicio | Siguiente
SimpleXMLElement->getDocNamespaces() | Subir | SimpleXMLElement->getNamespaces()


SimpleXMLElement->getNamespaces()

(no version information, might be only in CVS)

SimpleXMLElement->getNamespaces() -- Returns namespaces used in document

Descripción

class SimpleXMLElement {

array getNamespaces ( [bool recursive] )

}

Returns namespaces used in document

Lista de parámetros

recursive

If specified, returns all namespaces used in parent and child nodes. Otherwise, returns only namespaces used in root node.

Valores retornados

The getNamespaces method returns an array of namespace names with their associated URIs.

Ejemplos

Ejemplo 1. Get document namespaces in use

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

El resultado del ejemplo seria:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Ver también

SimpleXMLElement->getDocNamespaces()
SimpleXMLElement->registerXPathNamespace()

Anterior | Inicio | Siguiente
SimpleXMLElement->getName() | Subir | SimpleXMLElement->registerXPathNamespace()


SimpleXMLElement->registerXPathNamespace()

(no version information, might be only in CVS)

SimpleXMLElement->registerXPathNamespace() -- Creates a prefix/ns context for the next XPath query

Descripción

class SimpleXMLElement {

bool registerXPathNamespace ( string prefix, string ns )

}

Creates a prefix/ns context for the next XPath query. In particular, this is helpful if the provider of the given XML document alters the namespace prefixes. registerXPathNamespace will create a prefix for the associated namespace, allowing one to access nodes in that namespace without the need to change code to allow for the new prefixes dictated by the provider.

Lista de parámetros

prefix

The namespace prefix to use in the XPath query for the namespace given in ns.

ns

The namespace to use for the XPath query. This must match a namespace in use by the XML document or the XPath query using prefix will not return any results.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Setting a namespace prefix to use in an XPath query

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>My Book</title>
    <chapter id="1">
        <chap:title>Chapter 1</chap:title>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:title>Chapter 2</chap:title>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
  echo $title . "\n";
}

?>

Notice how the XML document shown in the example sets a namespace with a prefix of chap. Imagine that this document (or another one like it) may have used a prefix of c in the past for the same namespace. Since it has changed, the XPath query will no longer return the proper results and the query will require modification. Using registerXPathNamespace avoids future modification of the query even if the provider changes the namespace prefix.

Ver también

SimpleXMLElement->getDocNamespaces()
SimpleXMLElement->getNamespaces()

Anterior | Inicio | Siguiente
SimpleXMLElement->getNamespaces() | Subir | SimpleXMLElement->xpath


snmp_set_oid_output_format

(no version information, might be only in CVS)

snmp_set_oid_output_format -- Set the OID output format

Descripción

void snmp_set_oid_output_format ( int oid_format )

snmp_set_oid_output_format() sets the output format to be full or numeric.

Lista de parámetros

oid_format

Set it to SNMP_OID_OUTPUT_FULL if you want a full output, SNMP_OID_OUTPUT_NUMERIC otherwise.

Valores retornados

No value is returned.

Notes

Nota: snmp_set_oid_output_format() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

Anterior | Inicio | Siguiente
snmp_set_oid_numeric_print | Subir | snmp_set_quick_print


SoapClient->__call()

(no version information, might be only in CVS)

SoapClient->__call() -- Calls a SOAP function (deprecated)

Descripción

class SoapClient {

mixed __call ( string function_name, array arguments [, array options [, array input_headers [, array output_headers]]] )

}

This method is deprecated. Use SoapClient->__soapCall() instead of it.

Anterior | Inicio | Siguiente
is_soap_fault | Subir | SoapClient->__construct()


SoapClient->__construct()

(no version information, might be only in CVS)

SoapClient->__construct() -- SoapClient constructor

Descripción

class SoapClient {

__construct ( mixed wsdl [, array options] )

}

This constructor creates SoapClient objects in WSDL or non-WSDL mode.

Lista de parámetros

wsdl

URI of the WSDL file or NULL if working in non-WSDL mode.

Nota: During development stage, you may want to disable WSDL caching by the mean of the soap.wsdl_cache_ttl php.ini setting, otherwise changes made to the WSDL file will have no effect until soap.wsdl_cache_ttl is expired.

options

An array of options. If working in WSDL mode, this parameter is optional. If working in non-WSDL mode, you must set the location and uri options, where location is the URL to request and uri is the target namespace of the SOAP service.

The style and use options only work in non-WSDL mode. In WSDL mode, they come from the WSDL file.

The soap_version option specifies whether to use SOAP 1.1, or SOAP 1.2 client.

For HTTP authentication, you may use the login and password options. For making an HTTP connection through a proxy server, use the options proxy_host, proxy_port, proxy_login and proxy_password. For HTTPS client certificate authentication use local_cert and passphrase options.

The compression option allows to use compression of HTTP SOAP requests and responses.

The encoding option defines internal character encoding. This option does not change the encoding of SOAP requests (it is always utf-8), but converts strings into it.

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

Setting the boolean trace option enables use of the
methods
SoapClient->__getLastRequest,

SoapClient->__getLastRequestHeaders,

SoapClient->__getLastResponse and

SoapClient->__getLastResponseHeaders.

The exceptions option is a boolean value defining whether soap errors throw exceptions of type SoapFault.

The connection_timeout option defines a timeout in seconds for the connection to the SOAP service. This option does not define a timeout for services with slow responses. To limit the time to wait for calls to finish the default_socket_timeout setting is available.

Ejemplos

Ejemplo 1. SoapClient examples

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Anterior | Inicio | Siguiente
SoapClient->__call() | Subir | SoapClient->__doRequest()


SoapClient->__doRequest()

(no version information, might be only in CVS)

SoapClient->__doRequest() -- Performs a SOAP request

Descripción

class SoapClient {

string __doRequest ( string request, string location, string action, int version [, int one_way] )

}

Performs SOAP request over HTTP.

This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.

Lista de parámetros

request

The XML SOAP request.

location

The URL to request.

action

The SOAP action.

version

The SOAP version.

one_way

Valores retornados

The XML SOAP response.

Registro de cambios

Versión | Descripción
5.1.3 | The one_way parameter was added.

Ejemplos

Ejemplo 1. Some examples

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>

Anterior | Inicio | Siguiente
SoapClient->__construct() | Subir | SoapClient->__getFunctions()


SoapClient->__getFunctions()

(no version information, might be only in CVS)

SoapClient->__getFunctions() -- Returns list of SOAP functions

Descripción

class SoapClient {

array __getFunctions ( void )

}

Returns the list of SOAP functions.

Nota: This function works only in WSDL mode.

Valores retornados

The list of SOAP functions.

Ejemplos

Ejemplo 1. SoapClient->__getFunctions() example

<?php
$client = new SoapClient('some.wsdl');
var_dump($client->__getFunctions());
?>

Ver también

SoapClient->__construct()

Anterior | Inicio | Siguiente
SoapClient->__doRequest() | Subir | SoapClient->__getLastRequest()


SoapClient->__getLastRequest()

(no version information, might be only in CVS)

SoapClient->__getLastRequest() -- Returns last SOAP request

Descripción

class SoapClient {

string __getLastRequest ( void )

}

Nota: This method works only if the SoapClient object was created with the trace option.

Valores retornados

The last SOAP request.

Ejemplos

Ejemplo 1. SoapClient->__getLastRequest() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

Ver también

SoapClient->__construct()
SoapClient->__getLastRequestHeaders()
SoapClient->__getLastResponse()
SoapClient->__getLastResponseHeaders()

Anterior | Inicio | Siguiente
SoapClient->__getFunctions() | Subir | SoapClient->__getLastRequestHeaders()


SoapClient->__getLastRequestHeaders()

(no version information, might be only in CVS)

SoapClient->__getLastRequestHeaders() -- Returns last SOAP request headers

Descripción

class SoapClient {

string __getLastRequestHeaders ( void )

}

Nota: This method works only if the SoapClient object was created with the trace option.

Valores retornados

The last SOAP request headers.

Ver también

SoapClient->__construct()
SoapClient->__getLastRequest()
SoapClient->__getLastResponse()
SoapClient->__getLastResponseHeaders()

Anterior | Inicio | Siguiente
SoapClient->__getLastRequest() | Subir | SoapClient->__getLastResponse()


SoapClient->__getLastResponse()

(no version information, might be only in CVS)

SoapClient->__getLastResponse() -- Returns last SOAP response.

Descripción

class SoapClient {

string __getLastResponse ( void )

}

Nota: This method works only if the SoapClient object was created with the trace option.

Valores retornados

The last SOAP response.

Ejemplos

Ejemplo 1. SoapClient->__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE:\n" . $client->__getLastResponse() . "\n";
?>

Ver también

SoapClient->__construct()
SoapClient->__getLastResponseHeaders()
SoapClient->__getLastRequest()
SoapClient->__getLastRequestHeaders()

Anterior | Inicio | Siguiente
SoapClient->__getLastRequestHeaders() | Subir | SoapClient->__getLastResponseHeaders()


SoapClient->__getLastResponseHeaders()

(no version information, might be only in CVS)

SoapClient->__getLastResponseHeaders() -- Returns last SOAP response headers.

Descripción

class SoapClient {

string __getLastResponseHeaders ( void )

}

Nota: This method works only if the SoapClient object was created with the trace option.

Valores retornados

The last SOAP response headers.

Ver también

SoapClient->__construct()
SoapClient->__getLastResponse()
SoapClient->__getLastRequest()
SoapClient->__getLastRequestHeaders()

Anterior | Inicio | Siguiente
SoapClient->__getLastResponse() | Subir | SoapClient->__getTypes()


SoapClient->__getTypes()

(no version information, might be only in CVS)

SoapClient->__getTypes() -- Returns list of SOAP types

Descripción

class SoapClient {

array __getTypes ( void )

}

This function works only in WSDL mode.

Valores retornados

The list of SOAP types.

Ejemplos

Ejemplo 1. SoapClient->__getTypes() example

<?php
$client = new SoapClient("some.wsdl");
var_dump($client->__getTypes());
?>

Ver también

SoapClient->__construct()

Anterior | Inicio | Siguiente
SoapClient->__getLastResponseHeaders() | Subir | SoapClient->__setCookie()


SoapClient->__setCookie()

(no version information, might be only in CVS)

SoapClient->__setCookie() -- Sets the cookie that will be sent with the SOAP request

Descripción

class SoapClient {

void __setCookie ( string name [, string value] )

}

Defines a cookie to be sent along with the SOAP requests.

Nota: Calling this method will affect all following calls to SoapClient methods.

Lista de parámetros

name

The name of the cookie.

value

The value of the cookie. If not specified, the cookie will be deleted.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SoapClient->__getTypes() | Subir | SoapClient->__soapCall()


SoapClient->__soapCall()

(no version information, might be only in CVS)

SoapClient->__soapCall() -- Calls a SOAP function

Descripción

class SoapClient {

mixed __soapCall ( string function_name, array arguments [, array options [, mixed input_headers [, array &output_headers]]] )

}

This is a low level API function that is used to make a SOAP call. Usually, in WSDL mode, you can simply call SOAP functions as SoapClient methods. This method useful in non-WSDL mode when soapaction is unknown, uri differs from the default or when sending and/or receiving SOAP Headers.

On error, a call to a SOAP function can cause PHP to throw exceptions or return a SoapFault object if exceptions are disabled. To check if the function call failed to catch the SoapFault exceptions, check the result with is_soap_fault().

Valores retornados

SOAP functions may return one, or multiple values. If only one value is returned by the SOAP function, the return value of __soapCall will be a simple value (e.g. an integer, a string, etc). If multiple values are returned, __soapCall will return an associative array of named output parameters.

Ejemplos

Ejemplo 1. SoapClient->__soapCall() Examples

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

Ver también

SoapClient->__construct()
SoapParam->__construct()
SoapVar->__construct()
SoapHeader->__construct()
SoapFault->__construct()
is_soap_fault()

Anterior | Inicio | Siguiente
SoapClient->__setCookie() | Subir | SoapFault->__construct()


SoapFault->__construct()

(no version information, might be only in CVS)

SoapFault->__construct() -- SoapFault constructor

Descripción

class SoapFault {

__construct ( string faultcode, string faultstring [, string faultactor [, mixed detail [, string faultname [, SoapHeader headerfault]]]] )

}

This class is useful when you would like to send SOAP fault responses from the PHP handler. faultcode, faultstring, faultactor and details are standard elements of SOAP Fault;

Lista de parámetros

faultcode

The error code of the SoapFault.

faultstring

The error message of the SoapFault.

faultactor

A string identifying the actor that caused the error.

detail

faultname

Can be used to select the proper fault encoding from WSDL.

headerfault

Can be used during SOAP header handling to report an error in the response header.

Ejemplos

Ejemplo 1. Some examples

<?php
function test($x)
{
    return new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

It is possible to use PHP exception mechanism to throw SOAP Fault.

Ejemplo 2. Some examples

<?php
function test($x)
{
    throw new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Ver también

SoapClient->__construct()
SoapClient->__soapCall()
SoapVar->__construct()
SoapParam->__construct()
SoapFault->__construct()
is_soap_fault()

Anterior | Inicio | Siguiente
SoapClient->__soapCall() | Subir | SoapHeader->__construct()


SoapHeader->__construct()

(no version information, might be only in CVS)

SoapHeader->__construct() -- SoapHeader constructor

Descripción

class SoapHeader {

__construct ( string namespace, string name [, mixed data [, bool mustUnderstand [, mixed actor]]] )

}

Constructs a new SoapHeader object.

Lista de parámetros

namespace

The namespace of the SOAP header element.

name

The name of the SOAP header element.

data

A SOAP header's content. It can be a PHP value or a SoapVar object.

mustUnderstand

Value of the mustUnderstand attribute of the SOAP header element.

actor

Value of the actor attribute of the SOAP header element.

Ejemplos

Ejemplo 1. Some examples

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__call("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

Ver también

SoapClient->__soapCall()
SoapVar->__construct()
SoapParam->__construct()

Anterior | Inicio | Siguiente
SoapFault->__construct() | Subir | SoapParam->__construct()


SoapParam->__construct()

(no version information, might be only in CVS)

SoapParam->__construct() -- SoapParam constructor

Descripción

class SoapParam {

__construct ( mixed data, string name )

}

Constructs a new SoapParam object.

Lista de parámetros

data

The data to pass or return. You can pass this parameter directly as PHP value, but in this case it will be named as paramN and the SOAP Service may not understand it.

name

The parameter name.

Ejemplos

Ejemplo 1. Some examples

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Ver también

SoapClient->__soapCall()
SoapVar->__construct()

Anterior | Inicio | Siguiente
SoapHeader->__construct() | Subir | SoapServer->addFunction()


SoapServer->addFunction()

(no version information, might be only in CVS)

SoapServer->addFunction() -- Adds one or several functions those will handle SOAP requests

Descripción

class SoapServer {

void addFunction ( mixed functions )

}

Exports one or more functions for remote clients.

Lista de parámetros

functions

To export one function, pass the function name into this parameter as a string.

To export several functions, pass an array of function names.

To export all the functions, pass a special constant SOAP_FUNCTIONS_ALL.

Nota: functions must receive all input arguments in the same order as defined in the WSDL file (They should not receive any output parameters as arguments) and return one or more values. To return several values they must return an array with named output parameters.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Some examples

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Ver también

SoapServer->__construct()
SoapServer->setClass()

Anterior | Inicio | Siguiente
SoapParam->__construct() | Subir | SoapServer->__construct()


SoapServer->__construct()

(no version information, might be only in CVS)

SoapServer->__construct() -- SoapServer constructor

Descripción

class SoapServer {

__construct ( mixed wsdl [, array options] )

}

This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.

Lista de parámetros

wsdl

If you want the WSDL mode, you must set this to the URI of a WSDL file. In the other case, you must set this to NULL and set the uri option.

options

Allow setting a default SOAP version (soap_version), internal character encoding (encoding), and actor URI (actor). The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

Ejemplos

Ejemplo 1. Some examples

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Anterior | Inicio | Siguiente
SoapServer->addFunction() | Subir | SoapServer->fault()


SoapServer->fault()

(no version information, might be only in CVS)

SoapServer->fault() -- Issue SoapServer fault indicating an error

Descripción

class SoapServer {

void fault ( string code, string string [, string actor [, mixed details [, string name]]] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SoapFault->__construct()

Anterior | Inicio | Siguiente
SoapServer->__construct() | Subir | SoapServer->getFunctions()


SoapServer->getFunctions()

(no version information, might be only in CVS)

SoapServer->getFunctions() -- Returns list of defined functions

Descripción

class SoapServer {

array getFunctions ( void )

}

This method returns the list of all functions added by SoapServer->addFunction() or SoapServer->setClass().

Valores retornados

The list of all functions.

Ejemplos

Ejemplo 1. Some examples

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "This SOAP server can handle following functions: ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

Ver también

SoapServer->__construct()
SoapServer->addFunction()
SoapServer->setClass()

Anterior | Inicio | Siguiente
SoapServer->fault() | Subir | SoapServer->handle()


SoapServer->handle()

(no version information, might be only in CVS)

SoapServer->handle() -- Handles a SOAP request

Descripción

class SoapServer {

void handle ( [string soap_request] )

}

Processes a SOAP request, calls necessary functions, and sends a response back.

Lista de parámetros

soap_request

The SOAP request. If this argument is omitted, the request is supposed to be in the $HTTP_RAW_POST_DATA PHP variable.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Some examples

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Ver también

SoapServer->__construct()

Anterior | Inicio | Siguiente
SoapServer->getFunctions() | Subir | SoapServer->setClass()


SoapServer->setClass()

(no version information, might be only in CVS)

SoapServer->setClass() -- Sets class which will handle SOAP requests

Descripción

class SoapServer {

void setClass ( string class_name [, mixed args [, mixed ...]] )

}

Exports all methods from specified class.

The object can be made persistent across request for a given PHP session with the SoapServer->setPersistence() method.

Lista de parámetros

class_name

The name of the exported class.

args

These optional parameters will be passed to the default class constructor during object creation.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Some examples

<?php

class foo {
    function foo()
    {
    }
}
$server->setClass("foo");

class bar {
    function bar($x, $y)
    {
    }
}
$server->setClass("bar", $arg1, $arg2);

?>

Ver también

SoapServer->__construct()
SoapServer->addFunction()
SoapServer->setPersistence()

Anterior | Inicio | Siguiente
SoapServer->handle() | Subir | SoapServer->setPersistence()


SoapServer->setPersistence()

(no version information, might be only in CVS)

SoapServer->setPersistence() -- Sets persistence mode of SoapServer

Descripción

class SoapServer {

void setPersistence ( int mode )

}

This function allows saving data between requests in a PHP session. It works only with a server that exports functions from a class with SoapServer->setClass().

Lista de parámetros

mode

One of the SOAP_PERSISTENCE_XXX constants.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Some examples

<?php

$server->setPersistence(SOAP_PERSISTENCE_SESSION);

$server->setPersistence(SOAP_PERSISTENCE_REQUEST);

?>

Nota: The persistence SOAP_PERSISTENCE_SESSION makes persistent only object of given class, but not the class static data. You may use $this->bar instead of self::$bar.

Ver también

SoapServer->__construct()
SoapServer->setClass()

Anterior | Inicio | Siguiente
SoapServer->setClass() | Subir | SoapVar->__construct()


SoapVar->__construct()

(no version information, might be only in CVS)

SoapVar->__construct() -- SoapVar constructor

Descripción

class SoapVar {

__construct ( mixed data, int encoding [, string type_name [, string type_namespace [, string node_name [, string node_namespace]]]] )

}

Constructs a new SoapVar object.

Lista de parámetros

data

The data to pass or return.

encoding

The encoding ID, one of the XSD_... constants.

type_name

The type name.

type_namespace

The type namespace.

node_name

The XML node name.

node_namespace

The XML node namespace.

Ejemplos

Ejemplo 1. Some examples

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Ver también

SoapClient->__soapCall()
SoapParam->__construct()

Anterior | Inicio | Siguiente
SoapServer->setPersistence() | Subir | use_soap_error_handler


spl_autoload

(PHP 5 >= 5.1.0RC1)

spl_autoload -- Default implementation for __autoload()

Description

void spl_autoload ( string class_name [, string file_extensions] )

This function is intended to be used as a default implementation for __autoload(). If nothing else is specified and autoload_register() is called without any parameters then this functions will be used for any later call to __autoload(). By default it checks all include paths to contain failnames built up by the lowercase class name appended by the filename extensions .inc and .php.

Anterior | Inicio | Siguiente
spl_autoload_unregister | Subir | spl_classes


spl_autoload_call

(PHP 5 >= 5.1.0RC1)

spl_autoload_call -- Try all registered __autoload() function to load the requested class

Description

void spl_autoload_call ( string class_name )

This function can be used to manually search for a class or interface using the registered __autoload functions.

Anterior | Inicio | Siguiente
iterator_to_array | Subir | spl_autoload_extensions


spl_autoload_extensions

(PHP 5 >= 5.1.0RC1)

spl_autoload_extensions -- Register and return default file extensions for spl_autoload

Description

string spl_autoload_extensions ( [string file_extensions] )

This function allows to modify and check the file extensions the built in __autoload fallback function spl_autoload will be using. When calling without an argument it simply returns the current list of extensions each separated by comma. To modify the list of file extensions simply invoke the functions with the new list of file extensions to use in a single string with each extensions separated by comma.

Anterior | Inicio | Siguiente
spl_autoload_call | Subir | spl_autoload_functions


spl_autoload_functions

(PHP 5 >= 5.1.0RC1)

spl_autoload_functions -- Return all registered __autoload() functions

Description

array spl_autoload_functions ( void )

This function returns an array of all registered __autoload functions. If the autoload stack is not activated then the return value is false. If no function is registered the return value will be an empty array.

Anterior | Inicio | Siguiente
spl_autoload_extensions | Subir | spl_autoload_register


spl_autoload_register

(PHP 5 >= 5.1.0RC1)

spl_autoload_register -- Register given function as __autoload() implementation

Description

bool spl_autoload_register ( [mixed autoload_function] )

Register a function with the spl provided __autoload stack. If the stack is not yet activated it will be activated. If no parameter is provided the default implementation spl_autoload will be registered. When registering is successful the return value is true and upon failure false is being returned.

If your code has an existing __autoload function then this function must explicitly registered on the __autoload stack. This is because spl_autoload_register() will effectively replace the engine cache for the __autoload function by either spl_autoload() or spl_autoload_call().

Anterior | Inicio | Siguiente
spl_autoload_functions | Subir | spl_autoload_unregister


spl_autoload_unregister

(PHP 5 >= 5.1.0RC1)

spl_autoload_unregister -- Unregister given function as __autoload() implementation

Description

bool spl_autoload_unregister ( mixed autoload_function )

Unregister a function from the spl provided __autoload stack. If the stack is activated and empty after unregistering the given function then it will be deactivated. When unregistering is successful the return value is true and upon failure false is being returned.

When this function results in the autoload stack being activated an existing __autoload function will not be reactivated.

Anterior | Inicio | Siguiente
spl_autoload_register | Subir | spl_autoload


spl_object_hash

(PHP 5 >= 5.2.0)

spl_object_hash -- Return hash id for given object

Description

string spl_object_hash ( object obj )

This function returns an unique identifier for the object. This id can be used as a hash key for storing objects or for identifying an object.

Lista de parámetros

class

Any object.

Valores retornados

Returns string that is unique for each object and is always the same for the same object.

Ejemplos

Ejemplo 1. A spl_object_hash() example

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

Anterior | Inicio | Siguiente
spl_classes | Subir | Funciones SQLite


sqlite_key

(no version information, might be only in CVS)

sqlite_key

(no version information, might be only in CVS)

SQLiteResult->key -- Devuelve el índice de la fila actual

Descripción

int sqlite_key ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

int key ( void )

}

sqlite_key() devuelve el índice de la fila actual del resultado almacenado (buffered) indicado por el parámetro manejador_resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Valores retornados

Devuelve el índice de la fila actual del resultado almacenado (buffered) indicado por el parámetro manejador_resultado.

Registro de cambios

Versión | Descripción
5.0.4 | Antes de la versión de PHP 5.0.4, sqlite_key() solamente estaba disponible a través del objeto SQLiteResult.

Ver también

sqlite_next()
sqlite_current()
sqlite_rewind()

Anterior | Inicio | Siguiente
sqlite_has_prev | Subir | sqlite_last_error


sqlite_valid

(PHP 5)

sqlite_valid

(no version information, might be only in CVS)

SQLiteResult->valid

(no version information, might be only in CVS)

SQLiteUnbuffered->valid -- Indica si hay más filas disponibles en el resultado

Descripción

bool sqlite_valid ( resource manejador_resultado )

Método que sigue el estilo orientado a objetos:

class SQLiteResult {

bool valido ( void )

}class SQLiteUnbuffered {

bool valido ( void )

}

Indica si hay más filas disponibles en el resultado identificado por el parámetro manejador_resultado.

Lista de parámetros

manejador_resultado

El identificador del resultado de SQLite. Este parámetro no es obligatorio cuando se emplea el método orientado a objetos.

Nota: Esta funcion no puede usarse con resultados que no se encuentren almacenados en un almacenador intermedio (buffer).

Valores retornados

Devuelve TRUE si hay más filas disponibles en el resultado identificado por manejador_resultado o FALSE en cualquier otro caso.

Ver también

sqlite_num_rows()
sqlite_changes()

Anterior | Inicio | Siguiente
sqlite_unbuffered_query | Subir | SQLite Functions (PDO_SQLITE)


ssh2_auth_hostbased_file

(PECL)

ssh2_auth_hostbased_file -- Authenticate using a public hostkey

Description

bool ssh2_auth_hostbased_file ( resource session, string username, string hostname, string pubkeyfile, string privkeyfile [, string passphrase [, string local_username]] )

Authenticate using a public hostkey read from a file. If privkeyfile is encrypted (which it should be), the passphrase must be provided. If local_username is omitted, then the value for username will be used for it.

Ejemplo 1. Authentication using a public hostkey

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>

Nota: ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7

Anterior | Inicio | Siguiente
Secure Shell2 Functions | Subir | ssh2_auth_none


ssh2_auth_none

(PECL)

ssh2_auth_none -- Authenticate as "none"

Description

mixed ssh2_auth_none ( resource session, string username )

Attempt "none" authentication which usually will (and should) fail. As part of the failure, this function will return an array of accepted authentication methods. If the server does accept "none" as an authentication method for username, this function will simply return TRUE.

Ejemplo 1. Using ssh2_auth_none() to retreive a list of authentication methods.

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Server supports password based authentication\n";
}
?>

Anterior | Inicio | Siguiente
ssh2_auth_hostbased_file | Subir | ssh2_auth_password


ssh2_auth_password

(PECL)

ssh2_auth_password -- Authenticate over SSH using a plain password

Description

bool ssh2_auth_password ( resource session, string username, string password )

Authenticate over SSH using a plain password

Ejemplo 1. Authenticating with a password

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

Anterior | Inicio | Siguiente
ssh2_auth_none | Subir | ssh2_auth_pubkey_file


ssh2_auth_pubkey_file

(PECL)

ssh2_auth_pubkey_file -- Authenticate using a public key

Description

bool ssh2_auth_pubkey_file ( resource session, string username, string pubkeyfile, string privkeyfile [, string passphrase] )

Authenticate using a public key read from a file. If privkeyfile is encrypted (which it should be), the passphrase must be provided.

Ejemplo 1. Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

Anterior | Inicio | Siguiente
ssh2_auth_password | Subir | ssh2_connect


ssh2_connect

(PECL)

ssh2_connect -- Connect to an SSH server

Description

resource ssh2_connect ( string host [, int port [, array methods [, array callbacks]]] )

Establish a connection to a remote SSH server and return a resource on success, FALSE on error.

methods may be an associative array with up to four parameters as described below.

Tabla 1. methods may be an associative array with any or all of the following parameters.

Index | Meaning | Supported Values*
kex | List of key exchange methods to advertise, comma separated in order of preference. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1
hostkey | List of hostkey methods to advertise, come separated in order of preference. | ssh-rsa and ssh-dss
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server. |
server_to_client | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server. |

* - Supported Values are dependent on methods supported by underlying library. See libssh2 documentation for additional information.

Tabla 2. client_to_server and server_to_client may be an associative array with any or all of the following parameters.

Index | Meaning | Supported Values*
crypt | List of crypto methods to advertise, comma separated in order of preference. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**
comp | List of compression methods to advertise, comma separated in order of preference. | zlib and none
mac | List of MAC methods to advertise, come separated in order of preference. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Crypt and MAC method "none": For security reasons, none is disabled by the underlying libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

Tabla 3. callbackss may be an associative array with any or all of the following parameters.

Index | Meaning | Prototype
ignore | Name of function to call when an SSH2_MSG_IGNORE packet is received | void ignore_cb($message)
debug | Name of function to call when an SSH2_MSG_DEBUG packet is received | void debug_cb($message, $language, $always_display)
macerror | Name of function to call when a packet is received but the message authentication code failed. If the callback returns TRUE, the mismatch will be ignored, otherwise the connection will be terminated. | bool macerror_cb($packet)
disconnect | Name of function to call when an SSH2_MSG_DISCONNECT packet is received | void disconnect_cb($reason, $message, $language)

Ejemplo 1. Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

See Also:
ssh2_fingerprint(),
ssh2_auth_none(),
ssh2_auth_password(), and
ssh2_auth_pubkey_file()

Anterior | Inicio | Siguiente
ssh2_auth_pubkey_file | Subir | ssh2_exec


ssh2_exec

(PECL)

ssh2_exec -- Execute a command on a remote server

Description

resource ssh2_exec ( resource session, string command [, string pty [, array env [, int width [, int height [, int width_height_type]]]]] )

Execute a command at the remote end and allocate a channel for it. Returns a stream on success or FALSE on failure.

Ejemplo 1. Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

See Also:
ssh2_connect(),
ssh2_shell(), and
ssh2_tunnel()

Anterior | Inicio | Siguiente
ssh2_connect | Subir | ssh2_fetch_stream


ssh2_fetch_stream

(PECL)

ssh2_fetch_stream -- Fetch an extended data stream

Description

resource ssh2_fetch_stream ( resource channel, int streamid )

Fetches an alternate substream associated with an SSH2 channel stream identified by streamid. The SSH2 protocol currently defines only one substream, STDERR, which has a substream ID of SSH2_STREAM_STDERR (defined as 1).

Ejemplo 1. Opening a shell and retrieving the stderr stream associated with it.

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

See Also:
ssh2_shell(),
ssh2_exec(), and
ssh2_connect()

Anterior | Inicio | Siguiente
ssh2_exec | Subir | ssh2_fingerprint


ssh2_fingerprint

(PECL)

ssh2_fingerprint -- Retreive fingerprint of remote server

Description

string ssh2_fingerprint ( resource session [, int flags] )

Returns a server hostkey hash from an active session. Defaults to MD5 fingerprint encoded as ASCII hex values.

flags may be either of SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW. Defaults to SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX.

Ejemplo 1. Checking the fingerprint against a known value

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Possible Man-In-The-Middle Attack?");
}
?>

Anterior | Inicio | Siguiente
ssh2_fetch_stream | Subir | ssh2_methods_negotiated


ssh2_methods_negotiated

(PECL)

ssh2_methods_negotiated -- Return list of negotiated methods

Description

array ssh2_methods_negotiated ( resource session )

Returns list of negotiated methods.

Ejemplo 1. Determining what methods were negotiated

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Encryption keys were negotiated using: {$methods['kex']}\n";
echo "Server identified using an {$methods['hostkey']} with ";
echo "fingerprint: " . ssh2_fingerprint($connection) . "\n";

echo "Client to Server packets will use methods:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Server to Client packets will use methods:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

See Also: ssh2_connect()

Anterior | Inicio | Siguiente
ssh2_fingerprint | Subir | ssh2_publickey_add


ssh2_publickey_add

(PECL)

ssh2_publickey_add -- Add an authorized publickey

Descripción

bool ssh2_publickey_add ( resource pkey, string algoname, string blob [, bool overwrite [, array attributes]] )

Nota: The publickey subsystem is used for managing publickeys on a server to which the client is already authenticated. To authenticate to a remote system using publickey authentication, use the ssh2_auth_pubkey_file() function instead.

Lista de parámetros

pkey

Publickey Subsystem resource created by ssh2_publickey_init().

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

overwrite

If the specified key already exists, should it be overwritten?

attributes

Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Adding a publickey with ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($ssh2, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Ver también

ssh2_publickey_init()
ssh2_publickey_remove()
ssh2_publickey_list()

Anterior | Inicio | Siguiente
ssh2_methods_negotiated | Subir | ssh2_publickey_init


ssh2_publickey_init

(PECL)

ssh2_publickey_init -- Initialize Publickey subsystem

Descripción

resource ssh2_publickey_init ( resource session )

Request the Publickey subsystem from an already connected SSH2 server.

The publickey subsystem allows an already connected and authenticated client to manage the list of authorized public keys stored on the target server in an implementation agnostic manner. If the remote server does not support the publickey subsystem, the ssh2_publickey_init() function will return FALSE.

Nota: The publickey subsystem is used for managing publickeys on a server to which the client is already authenticated. To authenticate to a remote system using publickey authentication, use the ssh2_auth_pubkey_file() function instead.

Valores retornados

Returns an SSH2 Publickey Subsystem resource for use with all other ssh2_publickey_*() methods.

Ver también

ssh2_publickey_add()
ssh2_publickey_remove()
ssh2_publickey_list()

Anterior | Inicio | Siguiente
ssh2_publickey_add | Subir | ssh2_publickey_list


ssh2_publickey_list

(PECL)

ssh2_publickey_list -- List currently authorized publickeys

Descripción

array ssh2_publickey_list ( resource pkey )

Nota: The publickey subsystem is used for managing publickeys on a server to which the client is already authenticated. To authenticate to a remote system using publickey authentication, use the ssh2_auth_pubkey_file() function instead.

Lista de parámetros

pkey

Publickey Subsystem resource

Valores retornados

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

Tabla 1. Publickey elements

Array Key | Meaning
name | Name of algorithm used by this publickey, for example: ssh-dss or ssh-rsa.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is comment, which may be any freeform string.

Ejemplos

Ejemplo 1. Listing authorized keys with ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Key: {$key['name']}\n";
  echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

El resultado del ejemplo seria:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

Ver también

ssh2_publickey_init()
ssh2_publickey_add()
ssh2_publickey_remove()

Anterior | Inicio | Siguiente
ssh2_publickey_init | Subir | ssh2_publickey_remove


ssh2_publickey_remove

(PECL)

ssh2_publickey_remove -- Remove an authorized publickey

Descripción

bool ssh2_publickey_remove ( resource pkey, string algoname, string blob )

Nota: The publickey subsystem is used for managing publickeys on a server to which the client is already authenticated. To authenticate to a remote system using publickey authentication, use the ssh2_auth_pubkey_file() function instead.

Lista de parámetros

pkey

Publickey Subsystem Resource

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

ssh2_publickey_init()
ssh2_publickey_add()
ssh2_publickey_list()

Anterior | Inicio | Siguiente
ssh2_publickey_list | Subir | ssh2_scp_recv


ssh2_scp_recv

(PECL)

ssh2_scp_recv -- Request a file via SCP

Description

bool ssh2_scp_recv ( resource session, string remote_file, string local_file )

Copy a file from the remote server to the local filesystem using the SCP protocol.

Ejemplo 1. Downloading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

See Also: ssh2_scp_send(), and copy()

Anterior | Inicio | Siguiente
ssh2_publickey_remove | Subir | ssh2_scp_send


ssh2_scp_send

(PECL)

ssh2_scp_send -- Send a file via SCP

Description

bool ssh2_scp_send ( resource session, string local_file, string remote_file [, int create_mode] )

Copy a file from the local filesystem to the remote server using the SCP protocol. The file will be created with the mode specified by create_mode.

Ejemplo 1. Uploading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

See Also: ssh2_scp_recv(), and copy()

Anterior | Inicio | Siguiente
ssh2_scp_recv | Subir | ssh2_sftp_lstat


ssh2_sftp

(PECL)

ssh2_sftp -- Initialize SFTP subsystem

Description

resource ssh2_sftp ( resource session )

Request the SFTP subsystem from an already connected SSH2 server.

This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper.

Ejemplo 1. Opening a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

See Also: ssh2_scp_send(), and ssh2_scp_recv()

Anterior | Inicio | Siguiente
ssh2_sftp_unlink | Subir | ssh2_shell


ssh2_sftp_lstat

(PECL)

ssh2_sftp_lstat -- Stat a symbolic link

Description

array ssh2_sftp_lstat ( resource sftp, string path )

Stats a symbolic link on the remote filesystem without following the link. This function is similar to using the lstat() function with the ssh2.sftp:// wrapper in PHP5 and returns the same values. See the documentation for stat() for details on the values which may be returned.

Ejemplo 1. Stating a symbolic link via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

See Also:
ssh2_sftp_stat(),
lstat(), and
stat()

Anterior | Inicio | Siguiente
ssh2_scp_send | Subir | ssh2_sftp_mkdir


ssh2_sftp_mkdir

(PECL)

ssh2_sftp_mkdir -- Create a directory

Description

bool ssh2_sftp_mkdir ( resource sftp, string dirname [, int mode [, bool recursive]] )

Creates a directory on the remote file server with permissions set to mode. If recursive is TRUE any parent directories required for dirname will be automatically created as well. This function is similar to using mkdir() with the ssh2.sftp:// wrapper.

Ejemplo 1. Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Or:  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

See Also: mkdir(), and ssh2_sftp_rmdir()

Anterior | Inicio | Siguiente
ssh2_sftp_lstat | Subir | ssh2_sftp_readlink


ssh2_sftp_readlink

(PECL)

ssh2_sftp_readlink -- Return the target of a symbolic link

Description

string ssh2_sftp_readlink ( resource sftp, string link )

Returns the target of a symbolic link.

Ejemplo 1. Reading a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target is now (e.g.): '/var/run/mysql.sock' */
?>

See Also: readlink(), and ssh2_sftp_symlink()

Anterior | Inicio | Siguiente
ssh2_sftp_mkdir | Subir | ssh2_sftp_realpath


ssh2_sftp_realpath

(PECL)

ssh2_sftp_realpath -- Resolve the realpath of a provided path string

Description

string ssh2_sftp_realpath ( resource sftp, string filename )

Translates filename into the effective real path on the remote filesystem.

Ejemplo 1. Resolving a pathname

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath is now: '/etc/passwd' */
?>

See Also:
realpath(), and
ssh2_sftp_symlink()
ssh2_sftp_readlink()

Anterior | Inicio | Siguiente
ssh2_sftp_readlink | Subir | ssh2_sftp_rename


ssh2_sftp_rename

(PECL)

ssh2_sftp_rename -- Rename a remote file

Description

bool ssh2_sftp_rename ( resource sftp, string from, string to )

Renames a file on the remote filesystem.

Ejemplo 1. Renaming a file via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

See Also: rename()

Anterior | Inicio | Siguiente
ssh2_sftp_realpath | Subir | ssh2_sftp_rmdir


ssh2_sftp_rmdir

(PECL)

ssh2_sftp_rmdir -- Remove a directory

Description

bool ssh2_sftp_rmdir ( resource sftp, string dirname )

Removes a directory from the remote file server. This function is similar to using rmdir() with the ssh2.sftp:// wrapper.

Ejemplo 1. Removing a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Or:  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

See Also: rmdir(), and ssh2_sftp_mkdir()

Anterior | Inicio | Siguiente
ssh2_sftp_rename | Subir | ssh2_sftp_stat


ssh2_sftp_stat

(PECL)

ssh2_sftp_stat -- Stat a file on a remote filesystem

Description

array ssh2_sftp_stat ( resource sftp, string path )

Stats a file on the remote filesystem following any symbolic links. This function is similar to using the stat() function with the ssh2.sftp:// wrapper in PHP5 and returns the same values. See the documentation for stat() for details on the values which may be returned.

Ejemplo 1. Stating a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

See Also:
ssh2_sftp_lstat(),
lstat(), and
stat()

Anterior | Inicio | Siguiente
ssh2_sftp_rmdir | Subir | ssh2_sftp_symlink


ssh2_sftp_symlink

(PECL)

ssh2_sftp_symlink -- Create a symlink

Description

bool ssh2_sftp_symlink ( resource sftp, string target, string link )

Creates a symbolic link named link on the remote filesystem pointing to target.

Ejemplo 1. Creating a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

See Also: symlink(), and ssh2_sftp_readlink()

Anterior | Inicio | Siguiente
ssh2_sftp_stat | Subir | ssh2_sftp_unlink


ssh2_sftp_unlink

(PECL)

ssh2_sftp_unlink -- Delete a file

Description

bool ssh2_sftp_unlink ( resource sftp, string filename )

Deletes a file on the remote filesystem

Ejemplo 1. Deleting a file

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

See Also: unlink()

Anterior | Inicio | Siguiente
ssh2_sftp_symlink | Subir | ssh2_sftp


ssh2_shell

(PECL)

ssh2_shell -- Request an interactive shell

Description

resource ssh2_shell ( resource session [, string term_type [, array env [, int width [, int height [, int width_height_type]]]]] )

Open a shell at the remote end and allocate a stream for it. term_type should correspond to one of the entries in the target system's /etc/termcap file and defaults to vanilla. env may be passed as an associative array of name/value pairs to set in the target environment.

width, and height define the width and height of the virtual terminal allocated for the shell process. width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Ejemplo 1. Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

See Also:
ssh2_exec(),
ssh2_tunnel(), and
ssh2_fetch_stream()

Anterior | Inicio | Siguiente
ssh2_sftp | Subir | ssh2_tunnel


ssh2_tunnel

(PECL)

ssh2_tunnel -- Open a tunnel through a remote server

Description

resource ssh2_tunnel ( resource session, string host, int port )

Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

Ejemplo 1. Opening a tunnel to an arbitrary host

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

See Also: ssh2_connect(), and fsockopen()

Anterior | Inicio | Siguiente
ssh2_shell | Subir | Statistics Functions


stats_absolute_deviation

(PECL)

stats_absolute_deviation -- Returns the absolute deviation of an array of values

Descripción

float stats_absolute_deviation ( array a )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
Statistics Functions | Subir | stats_cdf_beta


stats_cdf_beta

(PECL)

stats_cdf_beta -- CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.

Descripción

float stats_cdf_beta ( float par1, float par2, float par3, int which )

Method Cumulative distribution function (P) is calculated directly by code associated with the following reference. DiDinato, A. R. and Morris, A. H. Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373. Computation of other parameters involve a search for a value that produces the desired value of P. The search relies on the monotinicity of P with the other parameter. Note The beta density is proportional to t^(A-1) * (1-t)^(B-1) Arguments P -- The integral from 0 to X of the chi-square distribution. Input range: [0, 1]. Q -- 1-P. Input range: [0, 1]. P + Q = 1.0. X -- Upper limit of integration of beta density. Input range: [0,1]. Search range: [0,1] Y -- 1-X. Input range: [0,1]. Search range: [0,1] X + Y = 1.0. A -- The first parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] B -- The second parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1 BOUND -- Undefined if STATUS is 0 Bound exceeded by parameter number I if STATUS is negative. Lower search bound if STATUS is 1. Upper search bound if STATUS is 2.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Integer indicating which of the next four argument values is to be calculated from the others. Legal range: 1..4 iwhich = 1 : Calculate P and Q from X,Y,A and B iwhich = 2 : Calculate X and Y from P,Q,A and B iwhich = 3 : Calculate A from P,Q,X,Y and B iwhich = 4 : Calculate B from P,Q,X,Y and A

Valores retornados

STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1

Anterior | Inicio | Siguiente
stats_absolute_deviation | Subir | stats_cdf_binomial


stats_cdf_binomial

(PECL)

stats_cdf_binomial -- Calculates any one parameter of the binomial distribution given values for the others.

Descripción

float stats_cdf_binomial ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_beta | Subir | stats_cdf_cauchy


stats_cdf_cauchy

(PECL)

stats_cdf_cauchy -- Not documented

Descripción

float stats_cdf_cauchy ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_binomial | Subir | stats_cdf_chisquare


stats_cdf_chisquare

(PECL)

stats_cdf_chisquare -- Calculates any one parameter of the chi-square distribution given values for the others.

Descripción

float stats_cdf_chisquare ( float par1, float par2, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_cauchy | Subir | stats_cdf_exponential


stats_cdf_exponential

(PECL)

stats_cdf_exponential -- Not documented

Descripción

float stats_cdf_exponential ( float par1, float par2, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_chisquare | Subir | stats_cdf_f


stats_cdf_f

(PECL)

stats_cdf_f -- Calculates any one parameter of the F distribution given values for the others.

Descripción

float stats_cdf_f ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_exponential | Subir | stats_cdf_gamma


stats_cdf_gamma

(PECL)

stats_cdf_gamma -- Calculates any one parameter of the gamma distribution given values for the others.

Descripción

float stats_cdf_gamma ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_f | Subir | stats_cdf_laplace


stats_cdf_laplace

(PECL)

stats_cdf_laplace -- Not documented

Descripción

float stats_cdf_laplace ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_gamma | Subir | stats_cdf_logistic


stats_cdf_logistic

(PECL)

stats_cdf_logistic -- Not documented

Descripción

float stats_cdf_logistic ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_laplace | Subir | stats_cdf_negative_binomial


stats_cdf_negative_binomial

(PECL)

stats_cdf_negative_binomial -- Calculates any one parameter of the negative binomial distribution given values for the others.

Descripción

float stats_cdf_negative_binomial ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_logistic | Subir | stats_cdf_noncentral_chisquare


stats_cdf_noncentral_chisquare

(PECL)

stats_cdf_noncentral_chisquare -- Calculates any one parameter of the non-central chi-square distribution given values for the others.

Descripción

float stats_cdf_noncentral_chisquare ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_negative_binomial | Subir | stats_cdf_noncentral_f


stats_cdf_noncentral_f

(PECL)

stats_cdf_noncentral_f -- Calculates any one parameter of the Non-central F distribution given values for the others.

Descripción

float stats_cdf_noncentral_f ( float par1, float par2, float par3, float par4, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

par4

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_noncentral_chisquare | Subir | stats_cdf_poisson


stats_cdf_poisson

(PECL)

stats_cdf_poisson -- Calculates any one parameter of the Poisson distribution given values for the others.

Descripción

float stats_cdf_poisson ( float par1, float par2, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_noncentral_f | Subir | stats_cdf_t


stats_cdf_t

(PECL)

stats_cdf_t -- Calculates any one parameter of the T distribution given values for the others.

Descripción

float stats_cdf_t ( float par1, float par2, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_poisson | Subir | stats_cdf_uniform


stats_cdf_uniform

(PECL)

stats_cdf_uniform -- Not documented

Descripción

float stats_cdf_uniform ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_t | Subir | stats_cdf_weibull


stats_cdf_weibull

(PECL)

stats_cdf_weibull -- Not documented

Descripción

float stats_cdf_weibull ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_uniform | Subir | stats_covariance


stats_covariance

(PECL)

stats_covariance -- Computes the covariance of two data sets

Descripción

float stats_covariance ( array a, array b )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

b

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_cdf_weibull | Subir | stats_den_uniform


stats_den_uniform

(no version information, might be only in CVS)

stats_den_uniform -- Not documented

Descripción

float stats_den_uniform ( float x, float a, float b )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

a

Its description

b

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_covariance | Subir | stats_dens_beta


stats_dens_beta

(PECL)

stats_dens_beta -- Not documented

Descripción

float stats_dens_beta ( float x, float a, float b )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

a

Its description

b

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_den_uniform | Subir | stats_dens_cauchy


stats_dens_cauchy

(PECL)

stats_dens_cauchy -- Not documented

Descripción

float stats_dens_cauchy ( float x, float ave, float stdev )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

ave

Its description

stdev

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_beta | Subir | stats_dens_chisquare


stats_dens_chisquare

(PECL)

stats_dens_chisquare -- Not documented

Descripción

float stats_dens_chisquare ( float x, float dfr )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

dfr

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_cauchy | Subir | stats_dens_exponential


stats_dens_exponential

(PECL)

stats_dens_exponential -- Not documented

Descripción

float stats_dens_exponential ( float x, float scale )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

scale

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_chisquare | Subir | stats_dens_f


stats_dens_f

(PECL)

stats_dens_f --

Descripción

float stats_dens_f ( float x, float dfr1, float dfr2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

dfr1

Its description

dfr2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_exponential | Subir | stats_dens_gamma


stats_dens_gamma

(PECL)

stats_dens_gamma -- Not documented

Descripción

float stats_dens_gamma ( float x, float shape, float scale )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

shape

Its description

scale

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_f | Subir | stats_dens_laplace


stats_dens_laplace

(PECL)

stats_dens_laplace -- Not documented

Descripción

float stats_dens_laplace ( float x, float ave, float stdev )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

ave

Its description

stdev

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_gamma | Subir | stats_dens_logistic


stats_dens_logistic

(PECL)

stats_dens_logistic -- Not documented

Descripción

float stats_dens_logistic ( float x, float ave, float stdev )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

ave

Its description

stdev

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_laplace | Subir | stats_dens_negative_binomial


stats_dens_negative_binomial

(no version information, might be only in CVS)

stats_dens_negative_binomial -- Not documented

Descripción

float stats_dens_negative_binomial ( float x, float n, float pi )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

n

Its description

pi

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_logistic | Subir | stats_dens_normal


stats_dens_normal

(PECL)

stats_dens_normal -- Not documented

Descripción

float stats_dens_normal ( float x, float ave, float stdev )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

ave

Its description

stdev

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_negative_binomial | Subir | stats_dens_pmf_binomial


stats_dens_pmf_binomial

(PECL)

stats_dens_pmf_binomial -- Not documented

Descripción

float stats_dens_pmf_binomial ( float x, float n, float pi )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

n

Its description

pi

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_normal | Subir | stats_dens_pmf_hypergeometric


stats_dens_pmf_hypergeometric

(PECL)

stats_dens_pmf_hypergeometric --

Descripción

float stats_dens_pmf_hypergeometric ( float n1, float n2, float N1, float N2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

n1

Its description

n2

Its description

N1

Its description

N2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_pmf_binomial | Subir | stats_dens_pmf_poisson


stats_dens_pmf_poisson

(PECL)

stats_dens_pmf_poisson -- Not documented

Descripción

float stats_dens_pmf_poisson ( float x, float lb )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

lb

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_pmf_hypergeometric | Subir | stats_dens_t


stats_dens_t

(PECL)

stats_dens_t -- Not documented

Descripción

float stats_dens_t ( float x, float dfr )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

dfr

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_pmf_poisson | Subir | stats_dens_weibull


stats_dens_weibull

(PECL)

stats_dens_weibull -- Not documented

Descripción

float stats_dens_weibull ( float x, float a, float b )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

a

Its description

b

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_t | Subir | stats_harmonic_mean


stats_harmonic_mean

(PECL)

stats_harmonic_mean -- Returns the harmonic mean of an array of values

Descripción

number stats_harmonic_mean ( array a )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_dens_weibull | Subir | stats_kurtosis


stats_kurtosis

(PECL)

stats_kurtosis -- Computes the kurtosis of the data in the array

Descripción

float stats_kurtosis ( array a )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_harmonic_mean | Subir | stats_rand_gen_beta


stats_rand_gen_beta

(PECL)

stats_rand_gen_beta -- Generates beta random deviate

Descripción

float stats_rand_gen_beta ( float a, float b )

Returns a random deviate from the beta distribution with parameters A and B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x <. Method R. C. H. Cheng.

Lista de parámetros

a

Its description

b

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_kurtosis | Subir | stats_rand_gen_chisquare


stats_rand_gen_chisquare

(PECL)

stats_rand_gen_chisquare -- Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.

Descripción

float stats_rand_gen_chisquare ( float df )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

df

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_beta | Subir | stats_rand_gen_exponential


stats_rand_gen_exponential

(PECL)

stats_rand_gen_exponential -- Generates a single random deviate from an exponential distribution with mean "av"

Descripción

float stats_rand_gen_exponential ( float av )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

av

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_chisquare | Subir | stats_rand_gen_f


stats_rand_gen_f

(PECL)

stats_rand_gen_f -- Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates

Descripción

float stats_rand_gen_f ( float dfn, float dfd )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

dfn

Its description

dfd

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_exponential | Subir | stats_rand_gen_funiform


stats_rand_gen_funiform

(PECL)

stats_rand_gen_funiform -- Generates uniform float between low (exclusive) and high (exclusive)

Descripción

float stats_rand_gen_funiform ( float low, float high )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

low

Its description

high

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_f | Subir | stats_rand_gen_gamma


stats_rand_gen_gamma

(PECL)

stats_rand_gen_gamma -- Generates random deviates from a gamma distribution

Descripción

float stats_rand_gen_gamma ( float a, float r )

Generates random deviates from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Lista de parámetros

a

location parameter of Gamma distribution (a > 0).

r

shape parameter of Gamma distribution (r > 0).

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_funiform | Subir | stats_rand_gen_ibinomial_negative


stats_rand_gen_ibinomial

(no version information, might be only in CVS)

stats_rand_gen_ibinomial -- Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE

Descripción

int stats_rand_gen_ibinomial ( int n, float pp )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

n

Its description

pp

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_ibinomial_negative | Subir | stats_rand_gen_int


stats_rand_gen_ibinomial_negative

(no version information, might be only in CVS)

stats_rand_gen_ibinomial_negative -- Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).

Descripción

int stats_rand_gen_ibinomial_negative ( int n, float p )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

n

Its description

p

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_gamma | Subir | stats_rand_gen_ibinomial


stats_rand_gen_int

(no version information, might be only in CVS)

stats_rand_gen_int -- Generates random integer between 1 and 2147483562

Descripción

int stats_rand_gen_int ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_ibinomial | Subir | stats_rand_gen_ipoisson


stats_rand_gen_ipoisson

(PECL)

stats_rand_gen_ipoisson -- Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).

Descripción

int stats_rand_gen_ipoisson ( float mu )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

mu

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_int | Subir | stats_rand_gen_iuniform


stats_rand_gen_iuniform

(PECL)

stats_rand_gen_iuniform -- Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

Descripción

int stats_rand_gen_iuniform ( int low, int high )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

low

Its description

high

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_ipoisson | Subir | stats_rand_gen_noncenral_chisquare


stats_rand_gen_noncenral_chisquare

(no version information, might be only in CVS)

stats_rand_gen_noncenral_chisquare -- Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0

Descripción

float stats_rand_gen_noncenral_chisquare ( float df, float xnonc )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

df

Its description

xnonc

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_iuniform | Subir | stats_rand_gen_noncentral_f


stats_rand_gen_noncentral_f

(no version information, might be only in CVS)

stats_rand_gen_noncentral_f -- Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.

Descripción

float stats_rand_gen_noncentral_f ( float dfn, float dfd, float xnonc )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

dfn

Its description

dfd

Its description

xnonc

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_noncenral_chisquare | Subir | stats_rand_gen_noncentral_t


stats_rand_gen_noncentral_t

(PECL)

stats_rand_gen_noncentral_t -- Generates a single random deviate from a noncentral T distribution

Descripción

float stats_rand_gen_noncentral_t ( float df, float xnonc )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

df

Its description

xnonc

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_noncentral_f | Subir | stats_rand_gen_normal


stats_rand_gen_normal

(PECL)

stats_rand_gen_normal -- Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.

Descripción

float stats_rand_gen_normal ( float av, float sd )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

av

Its description

sd

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_noncentral_t | Subir | stats_rand_gen_t


stats_rand_gen_t

(PECL)

stats_rand_gen_t -- Generates a single random deviate from a T distribution

Descripción

float stats_rand_gen_t ( float df )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

df

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_normal | Subir | stats_rand_get_seeds


stats_rand_get_seeds

(no version information, might be only in CVS)

stats_rand_get_seeds -- Not documented

Descripción

array stats_rand_get_seeds ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_gen_t | Subir | stats_rand_phrase_to_seeds


stats_rand_phrase_to_seeds

(PECL)

stats_rand_phrase_to_seeds -- generate two seeds for the RGN random number generator

Descripción

array stats_rand_phrase_to_seeds ( string phrase )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

phrase

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_get_seeds | Subir | stats_rand_ranf


stats_rand_ranf

(PECL)

stats_rand_ranf -- Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator

Descripción

float stats_rand_ranf ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_phrase_to_seeds | Subir | stats_rand_setall


stats_rand_setall

(PECL)

stats_rand_setall -- Not documented

Descripción

void stats_rand_setall ( int iseed1, int iseed2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

iseed1

Its description

iseed2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_ranf | Subir | stats_skew


stats_skew

(PECL)

stats_skew -- Computes the skewness of the data in the array

Descripción

float stats_skew ( array a )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_rand_setall | Subir | stats_standard_deviation


stats_standard_deviation

(PECL)

stats_standard_deviation -- Returns the standard deviation

Descripción

float stats_standard_deviation ( array a [, bool sample] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

sample

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_skew | Subir | stats_stat_binomial_coef


stats_stat_binomial_coef

(PECL)

stats_stat_binomial_coef -- Not documented

Descripción

float stats_stat_binomial_coef ( int x, int n )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

x

Its description

n

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_standard_deviation | Subir | stats_stat_correlation


stats_stat_correlation

(PECL)

stats_stat_correlation -- Not documented

Descripción

float stats_stat_correlation ( array arr1, array arr2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

arr1

Its description

arr2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_binomial_coef | Subir | stats_stat_gennch


stats_stat_gennch

(no version information, might be only in CVS)

stats_stat_gennch -- Not documented

Descripción

float stats_stat_gennch ( int n )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

n

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_correlation | Subir | stats_stat_independent_t


stats_stat_independent_t

(PECL)

stats_stat_independent_t -- Not documented

Descripción

float stats_stat_independent_t ( array arr1, array arr2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

arr1

Its description

arr2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_gennch | Subir | stats_stat_innerproduct


stats_stat_innerproduct

(PECL)

stats_stat_innerproduct --

Descripción

float stats_stat_innerproduct ( array arr1, array arr2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

arr1

Its description

arr2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_independent_t | Subir | stats_stat_noncentral_t


stats_stat_noncentral_t

(no version information, might be only in CVS)

stats_stat_noncentral_t -- Calculates any one parameter of the noncentral t distribution give values for the others.

Descripción

float stats_stat_noncentral_t ( float par1, float par2, float par3, int which )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

par1

Its description

par2

Its description

par3

Its description

which

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_innerproduct | Subir | stats_stat_paired_t


stats_stat_paired_t

(PECL)

stats_stat_paired_t -- Not documented

Descripción

float stats_stat_paired_t ( array arr1, array arr2 )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

arr1

Its description

arr2

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_noncentral_t | Subir | stats_stat_percentile


stats_stat_percentile

(PECL)

stats_stat_percentile -- Not documented

Descripción

float stats_stat_percentile ( float df, float xnonc )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

df

Its description

xnonc

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_paired_t | Subir | stats_stat_powersum


stats_stat_powersum

(PECL)

stats_stat_powersum -- Not documented

Descripción

float stats_stat_powersum ( array arr, float power )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

arr

Its description

power

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_percentile | Subir | stats_variance


stats_variance

(PECL)

stats_variance -- Returns the population variance

Descripción

float stats_variance ( array a [, bool sample] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

a

Its description

sample

Its description

Valores retornados

What the function returns, first on success, then on failure. See also the &return.success; entity

Anterior | Inicio | Siguiente
stats_stat_powersum | Subir | Funciones de Secuencias


str_getcsv

(no version information, might be only in CVS)

str_getcsv -- Parse a CSV string into an array

Descripción

array str_getcsv ( string input [, string delimiter [, string enclosure [, string escape]]] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
sscanf | Subir | str_ireplace


stream_bucket_append

(PHP 5)

stream_bucket_append -- Anexar cubo a una brigada

Descripción

void stream_bucket_append ( resource brigada, resource cubo )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
Funciones de Secuencias | Subir | stream_bucket_make_writeable


stream_bucket_make_writeable

(PHP 5)

stream_bucket_make_writeable -- Devolver un objeto tipo cubo de una brigada para operar sobre él

Descripción

object stream_bucket_make_writeable ( resource brigada )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
stream_bucket_append | Subir | stream_bucket_new


stream_bucket_new

(PHP 5)

stream_bucket_new -- Crear un nuevo cubo para su uso en la secuencia actual

Descripción

object stream_bucket_new ( resource secuencia, string bufer )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
stream_bucket_make_writeable | Subir | stream_bucket_prepend


stream_bucket_prepend

(PHP 5)

stream_bucket_prepend -- Agregar un cubo al comienzo de una brigada

Descripción

void stream_bucket_prepend ( resource brigada, resource cubo )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
stream_bucket_new | Subir | stream_context_create


stream_encoding

(no version information, might be only in CVS)

stream_encoding -- Set character set for stream encoding

Descripción

bool stream_encoding ( resource stream [, string encoding] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
stream_copy_to_stream | Subir | stream_filter_append


stream_resolve_include_path

(no version information, might be only in CVS)

stream_resolve_include_path -- Determine what file will be opened by calls to fopen() with a relative path

Descripción

string stream_resolve_include_path ( string filename [, resource context] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
stream_register_wrapper | Subir | stream_select


stream_socket_pair

(PHP 5 >= 5.1.0RC1)

stream_socket_pair -- Crea un par de secuencias de socket conectados e indistinguibles

Descripción

array stream_socket_pair ( int dominio, int tipo, int protocolo )

stream_socket_pair() crea un par de secuencias de socket conectados e indistinguibles. Esta función es usada comúnmente en Comunicación Inter-Procesos (IPC por sus siglas en inglés).

Lista de parámetros

dominio

La familia de protocolo a usar: STREAM_PF_INET, STREAM_PF_INET6 oo STREAM_PF_UNIX

tipo

El tipo de comunicación a usar: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET o STREAM_SOCK_STREAM

protocolo

El protocolo a usar: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP o STREAM_IPPROTO_UDP

Nota: Por favor consulte la Lista de constantes de secuencias para más detalles sobre cada constante.

Valores retornados

Devuelve un valor tipo array con los dos recursos de socket en caso de éxito, o FALSE si ocurre un error.

Ejemplos

Ejemplo 1. Un ejemplo de stream_socket_pair()

Este ejemplo muestra el uso básico de stream_socket_pair() en Comunicación Inter-Procesos.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('no se pudo bifurcar');

} else if ($pid) {
     /* padre */
    fclose($sockets[0]);

    fwrite($sockets[1], "PID hijo: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* hijo */
    fclose($sockets[1]);

    fwrite($sockets[0], "mensaje desde el hijo\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

El resultado del ejemplo seria algo similar a:

PID hijo: 1378
mensaje desde el hijo

Anterior | Inicio | Siguiente
stream_socket_get_name | Subir | stream_socket_recvfrom


stream_socket_shutdown

(no version information, might be only in CVS)

stream_socket_shutdown -- Shutdown a full-duplex connection

Descripción

int stream_socket_shutdown ( resource stream, int how )

Shutdowns (partially or not) a full-duplex connection.

Lista de parámetros

stream

An open stream (opened with stream_socket_client(), for example)

how

One of the following constants: STREAM_SHUT_RD (disable further receptions), STREAM_SHUT_WR (disable further transmissions) or STREAM_SHUT_RDWR (disable further receptions and transmissions).

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A stream_socket_shutdown() example

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // doesn't work now

?>

El resultado del ejemplo seria algo similar a:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Ver también

fclose()

Anterior | Inicio | Siguiente
stream_socket_server | Subir | stream_wrapper_register


SWFAction->__construct()

(no version information, might be only in CVS)

SWFAction->__construct() -- Creates a new SWFAction

Descripción

class SWFAction {

SWFAction __construct ( string script )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new SWFAction and compiles the given script in it.

Lista de parámetros

script

An ActionScript snippet to associate with the SWFAction. See SWFAction for more details.

Anterior | Inicio | Siguiente
SWFAction | Subir | SWFBitmap


SWFBitmap->__construct()

(no version information, might be only in CVS)

SWFBitmap->__construct() -- Loads Bitmap object

Descripción

class SWFBitmap {

SWFBitmap __construct ( mixed file [, mixed alphafile] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates the new SWFBitmap object from the given file.

Lista de parámetros

For both parameters you can provide a file pointer returned by fopen() or the image data, as a binary string.

file

Nota: We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

alphafile

An MSK file to be used as an alpha mask for a JPEG image.

Ejemplos

Ejemplo 1. Importing a DBL file

<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Ejemplo 2. Using an alpha mask

<?php

$s = new SWFShape();

// .msk file generated with "gif2mask" utility
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// draw checkerboard background
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFBitmap | Subir | SWFBitmap->getHeight()


SWFButton->addASound()

(no version information, might be only in CVS)

SWFButton->addASound() -- Associates a sound with a button transition

Descripción

class SWFButton {

SWFSoundInstance addASound ( SWFSound sound, int flags )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFButton->addAction() | Subir | SWFButton->addShape()


SWFButton->__construct()

(no version information, might be only in CVS)

SWFButton->__construct() -- Creates a new Button

Descripción

class SWFButton {

SWFButton __construct ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new Button.

Ejemplos

This simple example will show your usual interactions with buttons : rollover, rollon, mouseup, mousedown, noaction.

Ejemplo 1. Usual interactions with buttons

<?php

$f = new SWFFont("_serif");

$p = new SWFSprite();

function label($string)
{
  global $f;

  $t = new SWFTextField();
  $t->setFont($f);
  $t->addString($string);
  $t->setHeight(200);
  $t->setBounds(3200, 200);
  return $t;
}

function addLabel($string)
{
  global $p;

  $i = $p->add(label($string));
  $p->nextFrame();
  $p->remove($i);
}

$p->add(new SWFAction("stop();"));
addLabel("NO ACTION");
addLabel("SWFBUTTON_MOUSEUP");
addLabel("SWFBUTTON_MOUSEDOWN");
addLabel("SWFBUTTON_MOUSEOVER");
addLabel("SWFBUTTON_MOUSEOUT");
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
addLabel("SWFBUTTON_DRAGOVER");
addLabel("SWFBUTTON_DRAGOUT");

function rect($r, $g, $b)
{
  $s = new SWFShape();
  $s->setRightFill($s->addFill($r, $g, $b));
  $s->drawLine(600, 0);
  $s->drawLine(0, 600);
  $s->drawLine(-600, 0);
  $s->drawLine(0, -600);

  return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
          SWFBUTTON_MOUSEUP);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
      SWFBUTTON_MOUSEOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
      SWFBUTTON_MOUSEOUT);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
      SWFBUTTON_MOUSEUPOUTSIDE);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
      SWFBUTTON_DRAGOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
      SWFBUTTON_DRAGOUT);

$m = new SWFMovie();
$m->setDimension(4000, 3000);

$i = $m->add($p);
$i->setName("label");
$i->moveTo(400, 1900);

$i = $m->add($b);
$i->moveTo(400, 900);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

This simple example will enables you to drag draw a big red button on the windows. No drag-and-drop, just moving around.

Ejemplo 2. Drag example

<?php

$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->drawLine(1000,0);
$s->drawLine(0,1000);
$s->drawLine(-1000,0);
$s->drawLine(0,-1000);

$b = new SWFButton();
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' means don't lock to mouse
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("stopDrag();"),
      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

$p = new SWFSprite();
$p->add($b);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->setName('test');
$i->moveTo(1000,1000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFButton | Subir | SWFButton->addAction()


SWFButton->setMenu()

(no version information, might be only in CVS)

SWFButton->setMenu() -- enable track as menu button behaviour

Descripción

class SWFButton {

void setMenu ( int flag )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

flag

This parameter can be used for a slight different behavior of buttons. You can set it to 0 (off) or 1 (on).

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFButton->setHit() | Subir | SWFButton->setOver()


SWFDisplayItem->addAction()

(no version information, might be only in CVS)

SWFDisplayItem->addAction() -- Adds this SWFAction to the given SWFSprite instance

Descripción

class SWFDisplayItem {

void addAction ( SWFAction action, int flags )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

action

An SWFAction, returned by SWFAction->__construct().

flags

Valores retornados

No value is returned.

Ver también

SWFAction

Anterior | Inicio | Siguiente
SWFDisplayItem | Subir | SWFDisplayItem->addColor()


SWFDisplayItem->endMask()

(no version information, might be only in CVS)

SWFDisplayItem->endMask() -- Another way of defining a MASK layer

Descripción

class SWFDisplayItem {

void endMask ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFDisplayItem->addColor() | Subir | SWFDisplayItem->getRot()


SWFDisplayItem->getRot()

(no version information, might be only in CVS)

SWFDisplayItem->getRot() --

Descripción

class SWFDisplayItem {

float getRot ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFDisplayItem->endMask() | Subir | SWFDisplayItem->getX()


SWFDisplayItem->getX()

(no version information, might be only in CVS)

SWFDisplayItem->getX() --

Descripción

class SWFDisplayItem {

float getX ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFDisplayItem->getY()

Anterior | Inicio | Siguiente
SWFDisplayItem->getRot() | Subir | SWFDisplayItem->getXScale()


SWFDisplayItem->getXScale()

(no version information, might be only in CVS)

SWFDisplayItem->getXScale() --

Descripción

class SWFDisplayItem {

float getXScale ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFDisplayItem->getYScale()

Anterior | Inicio | Siguiente
SWFDisplayItem->getX() | Subir | SWFDisplayItem->getXSkew()


SWFDisplayItem->getXSkew()

(no version information, might be only in CVS)

SWFDisplayItem->getXSkew() --

Descripción

class SWFDisplayItem {

float getXSkew ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFDisplayItem->getYSkew()

Anterior | Inicio | Siguiente
SWFDisplayItem->getXScale() | Subir | SWFDisplayItem->getY()


SWFDisplayItem->getY()

(no version information, might be only in CVS)

SWFDisplayItem->getY() --

Descripción

class SWFDisplayItem {

float getY ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFDisplayItem->getX()

Anterior | Inicio | Siguiente
SWFDisplayItem->getXSkew() | Subir | SWFDisplayItem->getYScale()


SWFDisplayItem->getYScale()

(no version information, might be only in CVS)

SWFDisplayItem->getYScale() --

Descripción

class SWFDisplayItem {

float getYScale ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFDisplayItem->getXScale()

Anterior | Inicio | Siguiente
SWFDisplayItem->getY() | Subir | SWFDisplayItem->getYSkew()


SWFDisplayItem->getYSkew()

(no version information, might be only in CVS)

SWFDisplayItem->getYSkew() --

Descripción

class SWFDisplayItem {

float getYSkew ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFDisplayItem->getXSkew()

Anterior | Inicio | Siguiente
SWFDisplayItem->getYScale() | Subir | SWFDisplayItem->move()


SWFDisplayItem->setMaskLevel()

(no version information, might be only in CVS)

SWFDisplayItem->setMaskLevel() -- Defines a MASK layer at level

Descripción

class SWFDisplayItem {

void setMaskLevel ( int level )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFDisplayItem->setDepth() | Subir | SWFDisplayItem->setMatrix()


SWFDisplayItem->setMatrix()

(no version information, might be only in CVS)

SWFDisplayItem->setMatrix() -- Sets the item's transform matrix

Descripción

class SWFDisplayItem {

void setMatrix ( float a, float b, float c, float d, float x, float y )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFDisplayItem->setMaskLevel() | Subir | SWFDisplayItem->setName()


SWFFont->__construct()

(no version information, might be only in CVS)

SWFFont->__construct() -- Loads a font definition

Descripción

class SWFFont {

SWFFont __construct ( string filename )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

If filename is the name of an FDB file (i.e., it ends in ".fdb"), load the font definition found in said file. Otherwise, create a browser-defined font reference.

FDB ("font definition block") is a very simple wrapper for the SWF DefineFont2 block which contains a full description of a font. One may create FDB files from SWT Generator template files with the included makefdb utility- look in the util directory off the main ming distribution directory.

Browser-defined fonts don't contain any information about the font other than its name. It is assumed that the font definition will be provided by the movie player. The fonts _serif, _sans, and _typewriter should always be available. For example:

<?php
$f = newSWFFont("_sans");
?>
will give you the standard sans-serif font, probably the same as what you'd get with <font name="sans-serif"> in HTML.

Anterior | Inicio | Siguiente
SWFFont | Subir | SWFFont->getAscent()


SWFFont->getAscent()

(no version information, might be only in CVS)

SWFFont->getAscent() -- Returns the ascent of the font, or 0 if not available

Descripción

class SWFFont {

float getAscent ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFFont->getDescent()

Anterior | Inicio | Siguiente
SWFFont->__construct() | Subir | SWFFont->getDescent()


SWFFont->getDescent()

(no version information, might be only in CVS)

SWFFont->getDescent() -- Returns the descent of the font, or 0 if not available

Descripción

class SWFFont {

float getDescent ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFFont->getAscent()

Anterior | Inicio | Siguiente
SWFFont->getAscent() | Subir | SWFFont->getLeading()


SWFFont->getLeading()

(no version information, might be only in CVS)

SWFFont->getLeading() -- Returns the leading of the font, or 0 if not available

Descripción

class SWFFont {

float getLeading ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFFont->getDescent() | Subir | SWFFont->getShape()


SWFFont->getShape()

(no version information, might be only in CVS)

SWFFont->getShape() -- Returns the glyph shape of a char as a text string

Descripción

class SWFFont {

string getShape ( int code )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFFont->getLeading() | Subir | SWFFont->getUTF8Width()


SWFFont->getUTF8Width()

(no version information, might be only in CVS)

SWFFont->getUTF8Width() -- Calculates the width of the given string in this font at full height

Descripción

class SWFFont {

float getUTF8Width ( string string )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFFont->getWidth()

Anterior | Inicio | Siguiente
SWFFont->getShape() | Subir | SWFFont->getWidth()


SWFFontChar->addChars()

(no version information, might be only in CVS)

SWFFontChar->addChars() -- Adds characters to a font for exporting font

Descripción

class SWFFontChar {

void addChars ( string char )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFFontChar->addUTF8Chars()

Anterior | Inicio | Siguiente
SWFFontChar | Subir | SWFFontChar->addUTF8Chars()


SWFFontChar->addUTF8Chars()

(no version information, might be only in CVS)

SWFFontChar->addUTF8Chars() -- Adds characters to a font for exporting font

Descripción

class SWFFontChar {

void addUTF8Chars ( string char )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFFontChar->addChars()

Anterior | Inicio | Siguiente
SWFFontChar->addChars() | Subir | SWFGradient


SWFGradient->__construct()

(no version information, might be only in CVS)

SWFGradient->__construct() -- Creates a gradient object

Descripción

class SWFGradient {

SWFGradient __construct ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swfgradient() creates a new SWFGradient object.

After you've added the entries to your gradient, you can use the gradient in a shape fill with the swfshape->addfill() method.

SWFGradient has the following methods : swfgradient->addentry().

This simple example will draw a big black-to-white gradient as background, and a reddish disc in its center.

Ejemplo 1. swfgradient() example

<?php

  $m = new SWFMovie();
  $m->setDimension(320, 240);

  $s = new SWFShape();

  // first gradient- black to white
  $g = new SWFGradient();
  $g->addEntry(0.0, 0, 0, 0);
  $g->addEntry(1.0, 0xff, 0xff, 0xff);

  $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT);
  $f->scaleTo(0.01);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  $s = new SWFShape();

  // second gradient- radial gradient from red to transparent
  $g = new SWFGradient();
  $g->addEntry(0.0, 0xff, 0, 0, 0xff);
  $g->addEntry(1.0, 0xff, 0, 0, 0);

  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.005);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Anterior | Inicio | Siguiente
SWFGradient | Subir | SWFGradient->addEntry()


SWFMorph->__construct()

(no version information, might be only in CVS)

SWFMorph->__construct() -- Creates a new SWFMorph object

Descripción

class SWFMorph {

SWFMorph __construct ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new SWFMorph object.

Also called a "shape tween". This thing lets you make those tacky twisting things that make your computer choke. Oh, joy!

Ejemplos

This simple example will morph a big red square into a smaller blue black-bordered square.

Ejemplo 1. swfmorph() example

<?php
  $p = new SWFMorph();

  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);

  /* Note that this is backwards from normal shapes (left instead of right).
     I have no idea why, but this seems to work.. */

  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);

  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);

  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);

  $i = $m->add($p);
  $i->moveTo(1500,1000);

  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Anterior | Inicio | Siguiente
SWFMorph | Subir | SWFMorph->getShape1()


SWFMovie->addExport()

(no version information, might be only in CVS)

SWFMovie->addExport() --

Descripción

class SWFMovie {

void addExport ( SWFCharacter char, string name )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->add() | Subir | SWFMovie->addFont()


SWFMovie->addFont()

(no version information, might be only in CVS)

SWFMovie->addFont() --

Descripción

class SWFFontChar {

mixed addFont ( SWFFont font )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->addExport() | Subir | SWFMovie->importChar()


SWFMovie->__construct()

(no version information, might be only in CVS)

SWFMovie->__construct() -- Creates a new movie object, representing an SWF version 4 movie

Descripción

class SWFMovie {

SWFMovie __construct ( int version )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new movie object, representing an SWF movie.

Lista de parámetros

version

The desired SWF version. Default is 4.

Anterior | Inicio | Siguiente
SWFMovie | Subir | SWFMovie->add()


SWFMovie->importChar()

(no version information, might be only in CVS)

SWFMovie->importChar() --

Descripción

class SWFMovie {

SWFSprite importChar ( string libswf, string name )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFMovie->importFont()

Anterior | Inicio | Siguiente
SWFMovie->addFont() | Subir | SWFMovie->importFont()


SWFMovie->importFont()

(no version information, might be only in CVS)

SWFMovie->importFont() --

Descripción

class SWFMovie {

SWFFontChar importFont ( string libswf, string name )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFMovie->importChar()

Anterior | Inicio | Siguiente
SWFMovie->importChar() | Subir | SWFMovie->labelFrame()


SWFMovie->labelFrame()

(no version information, might be only in CVS)

SWFMovie->labelFrame() -- Labels a frame

Descripción

class SWFMovie {

void labelFrame ( string label )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->importFont() | Subir | SWFMovie->nextFrame()


SWFMovie->saveToFile()

(no version information, might be only in CVS)

SWFMovie->saveToFile() --

Descripción

class SWFMovie {

int saveToFile ( stream x [, int compression] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

X

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Valores retornados

Return the number of bytes written or FALSE on error.

Ver también

SWFMovie->output()
SWFMovie->save()

Anterior | Inicio | Siguiente
SWFMovie->save() | Subir | SWFMovie->setbackground()


SWFMovie->startSound()

(no version information, might be only in CVS)

SWFMovie->startSound() --

Descripción

class SWFMovie {

SWFSoundInstance startSound ( SWFSound sound )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFMovie->stopSound()

Anterior | Inicio | Siguiente
SWFMovie->setRate() | Subir | SWFMovie->stopSound()


SWFMovie->stopSound()

(no version information, might be only in CVS)

SWFMovie->stopSound() --

Descripción

class SWFMovie {

void stopSound ( SWFSound sound )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFMovie->startSound()

Anterior | Inicio | Siguiente
SWFMovie->startSound() | Subir | SWFMovie->streamMP3()


SWFMovie->writeExports()

(no version information, might be only in CVS)

SWFMovie->writeExports() --

Descripción

class SWFMovie {

void writeExports ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFMovie->streamMP3() | Subir | SWFPrebuiltClip


SWFPrebuiltClip->__construct()

(no version information, might be only in CVS)

SWFPrebuiltClip->__construct() -- Returns a SWFPrebuiltClip object

Descripción

class SWFPrebuiltClip {

SWFPrebuiltClip __construct ( [string file] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFPrebuiltClip | Subir | SWFShape


SWFShape->__construct()

(no version information, might be only in CVS)

SWFShape->__construct() -- Creates a new shape object

Descripción

class SWFShape {

SWFShape __construct ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Created a new SWFShape object.

Ejemplos

This simple example will draw a big red elliptic quadrant.

Ejemplo 1. swfshape() example

<?php
$s = new SWFShape();
$s->setLine(40, 0x7f, 0, 0);
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(200, 200);
$s->drawLineTo(6200, 200);
$s->drawLineTo(6200, 4600);
$s->drawCurveTo(200, 4600, 200, 200);

$m = new SWFMovie();
$m->setDimension(6400, 4800);
$m->setRate(12.0);
$m->add($s);
$m->nextFrame();

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFShape | Subir | SWFShape->addFill()


SWFShape->drawArc()

(no version information, might be only in CVS)

SWFShape->drawArc() -- Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock

Descripción

class SWFShape {

void drawArc ( float r, float startAngle, float endAngle )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFShape->drawCircle()

Anterior | Inicio | Siguiente
SWFShape->addFill() | Subir | SWFShape->drawCircle()


SWFShape->drawCircle()

(no version information, might be only in CVS)

SWFShape->drawCircle() -- Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

Descripción

class SWFShape {

void drawCircle ( float r )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFShape->drawArc() | Subir | SWFShape->drawCubic()


SWFShape->drawCubic()

(no version information, might be only in CVS)

SWFShape->drawCubic() -- Draws a cubic bezier curve using the current position and the three given points as control points

Descripción

class SWFShape {

int drawCubic ( float bx, float by, float cx, float cy, float dx, float dy )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFShape->drawCubicTo()

Anterior | Inicio | Siguiente
SWFShape->drawCircle() | Subir | SWFShape->drawCubicTo()


SWFShape->drawCubicTo()

(no version information, might be only in CVS)

SWFShape->drawCubicTo() -- Draws a cubic bezier curve using the current position and the three given points as control points

Descripción

class SWFShape {

int drawCubicTo ( float bx, float by, float cx, float cy, float dx, float dy )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFShape->drawCubic()

Anterior | Inicio | Siguiente
SWFShape->drawCubic() | Subir | SWFShape->drawCurve()


SWFShape->drawGlyph()

(no version information, might be only in CVS)

SWFShape->drawGlyph() -- Draws the first character in the given string into the shape using the glyph definition from the given font

Descripción

class SWFShape {

void drawGlyph ( SWFFont font, string character [, int size] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFShape->drawCurveTo() | Subir | SWFShape->drawLine()


SWFSound

(no version information, might be only in CVS)

SWFSound -- Returns a new SWFSound object from given file

Descripción

class SWFSound {

SWFSound __construct ( string filename, int flags )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFSound | Subir | SWFSoundInstance


SWFSoundInstance->loopCount()

(no version information, might be only in CVS)

SWFSoundInstance->loopCount() --

Descripción

class SWFSoundInstance {

void loopCount ( int point )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

point

Valores retornados

No value is returned.

Ver también

SWFSoundInstance->loopOutPoint()

Anterior | Inicio | Siguiente
SWFSoundInstance | Subir | SWFSoundInstance->loopInPoint()


SWFSoundInstance->loopInPoint()

(no version information, might be only in CVS)

SWFSoundInstance->loopInPoint() --

Descripción

class SWFSoundInstance {

void loopInPoint ( int point )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

point

Valores retornados

No value is returned.

Ver también

SWFSoundInstance->loopOutPoint()

Anterior | Inicio | Siguiente
SWFSoundInstance->loopCount() | Subir | SWFSoundInstance->loopOutPoint()


SWFSoundInstance->loopOutPoint()

(no version information, might be only in CVS)

SWFSoundInstance->loopOutPoint() --

Descripción

class SWFSoundInstance {

void loopOutPoint ( int point )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Lista de parámetros

point

Valores retornados

No value is returned.

Ver también

SWFSoundInstance->loopInPoint()

Anterior | Inicio | Siguiente
SWFSoundInstance->loopInPoint() | Subir | SWFSoundInstance->noMultiple()


SWFSoundInstance->noMultiple()

(no version information, might be only in CVS)

SWFSoundInstance->noMultiple() --

Descripción

class SWFSoundInstance {

void noMultiple ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFSoundInstance->loopOutPoint() | Subir | SWFSprite


SWFSprite->__construct()

(no version information, might be only in CVS)

SWFSprite->__construct() -- Creates a movie clip (a sprite)

Descripción

class SWFSprite {

SWFSprite __construct ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new SWFSprite object.

Anterior | Inicio | Siguiente
SWFSprite | Subir | SWFSprite->add()


SWFSprite->labelFrame()

(no version information, might be only in CVS)

SWFSprite->labelFrame() -- Labels frame

Descripción

class SWFSprite {

void labelFrame ( string label )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFSprite->add() | Subir | SWFSprite->nextFrame()


SWFSprite->startSound()

(no version information, might be only in CVS)

SWFSprite->startSound() --

Descripción

class SWFSprite {

SWFSoundInstance startSound ( SWFSound sount )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFSprite->stopSound()

Anterior | Inicio | Siguiente
SWFSprite->setFrames() | Subir | SWFSprite->stopSound()


SWFSprite->stopSound()

(no version information, might be only in CVS)

SWFSprite->stopSound() --

Descripción

class SWFSprite {

void stopSound ( SWFSound sount )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFSprite->startSound()

Anterior | Inicio | Siguiente
SWFSprite->startSound() | Subir | SWFText


SWFText->addUTF8String()

(no version information, might be only in CVS)

SWFText->addUTF8String() -- Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

Descripción

class SWFText {

void addUTF8String ( string text )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFText->addString()

Anterior | Inicio | Siguiente
SWFText->addString() | Subir | SWFText->getAscent()


SWFText->__construct()

(no version information, might be only in CVS)

SWFText->__construct() -- Creates a new SWFText object

Descripción

class SWFText {

void __construct ( void )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Creates a new SWFText object, fresh for manipulating.

Ejemplos

This simple example will draw a big yellow "PHP generates Flash with Ming" text, on white background.

Ejemplo 1. swftext() example

<?php
$f = new SWFFont("Techno.fdb");
$t = new SWFText();
$t->setFont($f);
$t->moveTo(200, 2400);
$t->setColor(0xff, 0xff, 0);
$t->setHeight(1200);
$t->addString("PHP generates Flash with Ming!!");

$m = new SWFMovie();
$m->setDimension(5400, 3600);

$m->add($t);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFText | Subir | SWFText->addString()


SWFText->getAscent()

(no version information, might be only in CVS)

SWFText->getAscent() -- Returns the ascent of the current font at its current size, or 0 if not available

Descripción

class SWFText {

float getAscent ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFText->getDescent()

Anterior | Inicio | Siguiente
SWFText->addUTF8String() | Subir | SWFText->getDescent()


SWFText->getDescent()

(no version information, might be only in CVS)

SWFText->getDescent() -- Returns the descent of the current font at its current size, or 0 if not available

Descripción

class SWFText {

float getDescent ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFText->getAscent()

Anterior | Inicio | Siguiente
SWFText->getAscent() | Subir | SWFText->getLeading()


SWFText->getLeading()

(no version information, might be only in CVS)

SWFText->getLeading() -- Returns the leading of the current font at its current size, or 0 if not available

Descripción

class SWFText {

float getLeading ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFText->getDescent() | Subir | SWFText->getUTF8Width()


SWFText->getUTF8Width()

(no version information, might be only in CVS)

SWFText->getUTF8Width() -- calculates the width of the given string in this text objects current font and size

Descripción

class SWFText {

float getUTF8Width ( string string )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Ver también

SWFText->getWidth()

Anterior | Inicio | Siguiente
SWFText->getLeading() | Subir | SWFText->getWidth()


SWFTextField->addChars()

(no version information, might be only in CVS)

SWFTextField->addChars() -- adds characters to a font that will be available within a textfield

Descripción

class SWFTextField {

void addChars ( string chars )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Ver también

SWFTextField->addString()

Anterior | Inicio | Siguiente
SWFTextField->__construct() | Subir | SWFTextField->addString()


SWFTextField->__construct()

(no version information, might be only in CVS)

SWFTextField->__construct() -- Creates a text field object

Descripción

class SWFTextField {

SWFTextField __construct ( [int flags] )

}

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

swftextfield() creates a new text field object. Text Fields are less flexible than swftext() objects- they can't be rotated, scaled non-proportionally, or skewed, but they can be used as form entries, and they can use browser-defined fonts.

The optional flags change the text field's behavior. It has the following possibles values :

  • SWFTEXTFIELD_DRAWBOX draws the outline of the textfield

  • SWFTEXTFIELD_HASLENGTH

  • SWFTEXTFIELD_HTML allows text markup using HTML-tags

  • SWFTEXTFIELD_MULTILINE allows multiple lines

  • SWFTEXTFIELD_NOEDIT indicates that the field shouldn't be user-editable

  • SWFTEXTFIELD_NOSELECT makes the field non-selectable

  • SWFTEXTFIELD_PASSWORD obscures the data entry

  • SWFTEXTFIELD_WORDWRAP allows text to wrap

Flags are combined with the bitwise OR operation. For example,
<?php
$t = newSWFTextField(SWFTEXTFIELD_PASSWORD | SWFTEXTFIELD_NOEDIT);
?>
creates a totally useless non-editable password field.

SWFTextField has the following methods : swftextfield->setfont(),
swftextfield->setbounds(), swftextfield->align(),
swftextfield->setheight(), swftextfield->setleftmargin(),
swftextfield->setrightmargin(), swftextfield->setmargins(),
swftextfield->setindentation(), swftextfield->setlinespacing(),
swftextfield->setcolor(), swftextfield->setname() and
swftextfield->addstring().

Anterior | Inicio | Siguiente
SWFTextField | Subir | SWFTextField->addChars()


SWFTextField->setPadding()

(no version information, might be only in CVS)

SWFTextField->setPadding() -- Sets the padding of this textfield

Descripción

class SWFTextField {

void setPadding ( float padding )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFTextField->setName() | Subir | SWFTextField->setRightMargin()


SWFVideoStream->__construct()

(no version information, might be only in CVS)

SWFVideoStream->__construct() -- Returns a SWFVideoStream object

Descripción

class SWFVideoStream {

SWFVideoStream __construct ( [string file] )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFVideoStream | Subir | SWFVideoStream->getNumFrames()


SWFVideoStream->getNumFrames()

(no version information, might be only in CVS)

SWFVideoStream->getNumFrames() --

Descripción

class SWFVideoStream {

int getNumFrames ( void )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SWFVideoStream->__construct() | Subir | SWFVideoStream->setDimension()


SWFVideoStream->setDimension()

(no version information, might be only in CVS)

SWFVideoStream->setDimension() --

Descripción

class SWFVideoStream {

void setDimension ( int x, int y )

}

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

No value is returned.

Anterior | Inicio | Siguiente
SWFVideoStream->getNumFrames() | Subir | ming_keypress


Swish::__construct

(no version information, might be only in CVS)

Swish::__construct -- Construct a Swish object

Descripción

void Swish::__construct ( string string index_names )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

index_names

The list of index files separated by spaces.

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. A Swish::__construct() example

<?php

try {
    $swish = new Swish("index1 index2");
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

foreach ($swish->indexes as $index) {
    var_dump($index["name"]);
    var_dump($index["headers"]["Total Words"]);
}

?>

El resultado del ejemplo seria algo similar a:

string(6) "index1"
int(1888)
string(6) "index2"
int(2429)

Anterior | Inicio | Siguiente
Swish Functions | Subir | Swish->getMetaList


Swish->getMetaList

(no version information, might be only in CVS)

Swish->getMetaList -- Get the list of meta entries for the index

Descripción

array Swish->getMetaList ( string index_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

index_name

The name of the index file.

Valores retornados

Returns an array of meta entries for the given index.

Ejemplos

Ejemplo 1. Basic Swish->getMetaList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    var_dump($swish->getMetaList("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

array(1) {
  [0]=>
  array(3) {
    ["Name"]=>
    string(12) "swishdefault"
    ["Type"]=>
    int(0)
    ["ID"]=>
    int(1)
  }
}

Anterior | Inicio | Siguiente
Swish::__construct | Subir | Swish->getPropertyList


Swish->getPropertyList

(no version information, might be only in CVS)

Swish->getPropertyList -- Get the list of properties for the index

Descripción

array Swish->getPropertyList ( string index_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

index_name

The name of the index file.

Valores retornados

Returns an array of properties for the given index.

Ejemplos

Ejemplo 1. Basic Swish->getPropertyList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $properties = $swish->getPropertyList("index.swish-e");
    foreach ($properties as $prop) {
        echo $prop["Name"],"\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

swishreccount
swishrank
swishfilenum
swishdbfile
swishdocpath
swishtitle
swishdocsize
swishlastmodified

Anterior | Inicio | Siguiente
Swish->getMetaList | Subir | Swish->prepare


Swish->prepare

(no version information, might be only in CVS)

Swish->prepare -- Prepare a search query

Descripción

object Swish->prepare ( [string query] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Prepare and return a search object, which you can later use for unlimited number of queries.

Lista de parámetros

query

Optional query string. The query can be also set using SwishSearch->execute() method.

Valores retornados

Returns SwishSearch object.

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. Basic Swish->prepare() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare("search query");
    $results = $search->execute();
    echo "Found: ", $results->hits, " hits\n";

    $results = $search->execute("new search");

    echo "Found: ", $results->hits, " hits\n";
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

Found: 2 hits
Found: 5 hits

Anterior | Inicio | Siguiente
Swish->getPropertyList | Subir | Swish->query


Swish->query

(no version information, might be only in CVS)

Swish->query -- Execute a query and return results object

Descripción

object Swish->query ( string query )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

A quick method to execute a search with default parameters.

Lista de parámetros

query

Query string.

Valores retornados

Returns SwishResults object.

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. Basic Swish->query() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test query");

    echo "Found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

Found: 1 hits

Anterior | Inicio | Siguiente
Swish->prepare | Subir | SwishResult->getMetaList


SwishResult->getMetaList

(no version information, might be only in CVS)

SwishResult->getMetaList -- Get a list of meta entries

Descripción

array SwishResult->getMetaList ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Valores retornados

Returns the same array as swish->getmetalist(), but uses the index file from the result handle.

Anterior | Inicio | Siguiente
Swish->query | Subir | SwishResult->stem


SwishResult->stem

(no version information, might be only in CVS)

SwishResult->stem -- Stems the given word

Descripción

array SwishResult->stem ( string word )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Stems the word based on the fuzzy mode used during indexing. Each result object is linked with its index, so the results are based on this index.

Lista de parámetros

word

The word to stem.

Valores retornados

Returns array containing the stemmed word variants (usually just one).

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. Basic () example

<?php

try {

    $swish = new Swish("ext/swish/tests/index.swish-e");
    $results = $swish->query("testing OR others");

    if ($result = $results->nextResult()) {
        var_dump($result->stem("testing")); //the results fully depend on the stemmer used in th index
        var_dump($result->stem("others"));
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

array(1) {
  [0]=>
  string(4) "test"
}
array(1) {
  [0]=>
  string(5) "other"
}

Anterior | Inicio | Siguiente
SwishResult->getMetaList | Subir | SwishResults->getParsedWords


SwishResults->getParsedWords

(no version information, might be only in CVS)

SwishResults->getParsedWords -- Get an array of parsed words

Descripción

array SwishResults->getParsedWords ( string index_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

indexi_name

The name of the index used to initialize Swish object.

Valores retornados

An array of parsed words with stopwords removed. The list of parsed words may be useful for highlighting search terms in the results.

Ejemplos

Ejemplo 1. Basic SwishResults->getParsedWords() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("'some characters' and numbers");

    var_dump($results->getParsedWords("index.swish-e"));
    var_dump($results->indexes[0]['parsed_words']); //same result in a different way

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}
array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}

Anterior | Inicio | Siguiente
SwishResult->stem | Subir | SwishResults->getRemovedStopwords


SwishResults->getRemovedStopwords

(no version information, might be only in CVS)

SwishResults->getRemovedStopwords -- Get an array of stopwords removed from the query

Descripción

array SwishResults->getRemovedStopwords ( string index_name )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

index_name

The name of the index used to initialize Swish object.

Valores retornados

Returns array of stopwords removed from the query.

Anterior | Inicio | Siguiente
SwishResults->getParsedWords | Subir | SwishResults->nextResult


SwishResults->nextResult

(no version information, might be only in CVS)

SwishResults->nextResult -- Get the next search result

Descripción

object SwishResults->nextResult ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Valores retornados

Returns the next SwishResult object in the result set or FALSE if there are no more results available.

Ejemplos

Ejemplo 1. Basic SwishResults->nextResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");
    while($result = $results->nextResult()) {
        /* do something with the result object */
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Anterior | Inicio | Siguiente
SwishResults->getRemovedStopwords | Subir | SwishResults->seekResult


SwishResults->seekResult

(no version information, might be only in CVS)

SwishResults->seekResult -- Set current seek pointer to the given position

Descripción

int SwishResults->seekResult ( int position )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

position

Zero-based position number. Cannot be less than zero.

Valores retornados

Returns new position value on success.

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. Basic SwishResults->seekResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");

    var_dump($results->seekResult(0)); //this will succeed
    var_dump($results->seekResult(100)); //this will fail

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

int(0)
Error: No more results

Anterior | Inicio | Siguiente
SwishResults->nextResult | Subir | SwishSearch->execute


SwishSearch->execute

(no version information, might be only in CVS)

SwishSearch->execute -- Execute the search and get the results

Descripción

object SwishSearch->execute ( [string query] )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Searches the index file(s) based on the parameters set in the search object.

Lista de parámetros

query

The query string is an optional parameter, it can be also set using Swish->prepare() method. The query string is preserved between executions, so you can set it once, but execute the search multiple times.

Valores retornados

Returns SwishResults object.

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. Basic SwishSearch->execute() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("query");
    echo "First query found: ", $results->hits, " hits\n";

    $results = $search->execute("new OR query");
    echo "Second query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

First query found: 2 hits
Second query found: 12 hits

Anterior | Inicio | Siguiente
SwishResults->seekResult | Subir | SwishSearch->resetLimit


SwishSearch->resetLimit

(no version information, might be only in CVS)

SwishSearch->resetLimit -- Reset the search limits

Descripción

void SwishSearch->resetLimit ( void )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Reset the search limits previous set by SwishSearch->setLimit.

Ejemplos

Ejemplo 1. Basic SwishSearch->resetLimit() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->resetLimit();
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

First query found: 5 hits
Second query found: 2 hits
Third query found: 5 hits

Anterior | Inicio | Siguiente
SwishSearch->execute | Subir | SwishSearch->setLimit


SwishSearch->setLimit

(no version information, might be only in CVS)

SwishSearch->setLimit -- Set the search limits

Descripción

void SwishSearch->setLimit ( string property, string low, string high )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

property

Search result property name.

low

The lowest value of the property.

high

The highest value of the property.

Errors/Exceptions

Throws SwishException on error.

Ejemplos

Ejemplo 1. Basic SwishSearch->setLimit() example

<?php
try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 2 hits
Hit #1 - 4261 bytes
Hit #2 - 4768 bytes

Anterior | Inicio | Siguiente
SwishSearch->resetLimit | Subir | SwishSearch->setPhraseDelimiter


SwishSearch->setPhraseDelimiter

(no version information, might be only in CVS)

SwishSearch->setPhraseDelimiter -- Set the phrase delimiter

Descripción

void SwishSearch->setPhraseDelimiter ( string delimiter )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

delimiter

Phrase delimiter character. The default delimiter is double-quotes.

Ejemplos

Ejemplo 1. Basic SwishSearch->setPhraseDelimiter() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute('"every time"'); //looking for "every time"
    echo "First query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter("'");
    $results = $search->execute("'every time'"); //the same query, but using different delimiter
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter('"');
    $results = $search->execute("'every time'"); //looking for "every" and "time"
    echo "Third query found: ", $results->hits, " hits\n";

    //let's look at parsed words
    var_dump($results->getParsedWords("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

First query found: 1 hits
Second query found: 1 hits
Third query found: 2 hits
array(2) {
  [0]=>
  string(5) "every"
  [1]=>
  string(4) "time"
}

Anterior | Inicio | Siguiente
SwishSearch->setLimit | Subir | SwishSearch->setSort


SwishSearch->setSort

(no version information, might be only in CVS)

SwishSearch->setSort -- Set the sort order

Descripción

void SwishSearch->setSort ( string sort )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

sort

Sort order of the results is a string containing name of a result property combined with sort direction ("asc" or "desc"). Examples: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.

Ejemplos

Ejemplo 1. Basic SwishSearch->setSort() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setSort("swishdocsize desc"); //sort by document size
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 5 hits
Hit #1 - 37937 bytes
Hit #2 - 15427 bytes
Hit #3 - 7126 bytes
Hit #4 - 4768 bytes
Hit #5 - 4261 bytes

Anterior | Inicio | Siguiente
SwishSearch->setPhraseDelimiter | Subir | SwishSearch->setStructure


SwishSearch->setStructure

(no version information, might be only in CVS)

SwishSearch->setStructure -- Set the structure flag in the search object

Descripción

void SwishSearch->setStructure ( int structure )

Aviso

Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Lista de parámetros

structure

The structure flag a bitmask is used to limit search to certain parts of HTML documents (like title, meta, body etc.). Its possible values are listed below. To combine several values use bitwise OR operator, see example below.

  • Swish::IN_FILE

  • Swish::IN_TITLE

  • Swish::IN_HEAD

  • Swish::IN_BODY

  • Swish::IN_COMMENTS

  • Swish::IN_HEADER

  • Swish::IN_EMPHASIZED

  • Swish::IN_META

Ejemplos

Ejemplo 1. Basic SwishSearch->setStructure() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_TITLE|Swish::IN_HEAD); //search in title and head
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_ALL); //search in whole document, the default value
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

First query found: 5 hits
Second query found: 0 hits
Third query found: 5 hits

Anterior | Inicio | Siguiente
SwishSearch->setSort | Subir | Funciones de Sybase


sys_get_temp_dir

(no version information, might be only in CVS)

sys_get_temp_dir -- Returns directory path used for temporary files

Descripción

string sys_get_temp_dir ( void )

Returns the path of the directory PHP stores temporary files in by default.

Valores retornados

Returns the path of the temporary directory.

Ver también

tmpfile()
tempnam()

Anterior | Inicio | Siguiente
set_time_limit | Subir | version_compare


sys_getloadavg

(no version information, might be only in CVS)

sys_getloadavg -- Gets system load average

Descripción

array sys_getloadavg ( void )

Returns three samples representing the average system load (the number of processes in the system run queue) over the last 1, 5 and 15 minutes, respectively.

Valores retornados

Returns an array with three samples (last 1, 5 and 15 minutes).

Ejemplos

Ejemplo 1. A sys_getloadavg() example

<?php
$load = sys_getloadavg();
if ($load[0] > 80) {
    header('HTTP/1.1 503 Too busy, try again later');
    die('Server too busy. Please try again later.');
}
?>

Notes

Nota: Esta función no está implementada en plataformas Windows.

Anterior | Inicio | Siguiente
sleep | Subir | time_nanosleep


tidy_get_opt_doc

(PHP 5 >= 5.1.0RC1)

tidy_get_opt_doc -- Returns the documentation for the given option name

Descripción

Procedural style:

string tidy_get_opt_doc ( tidy object, string optname )

Object oriented style:

string tidy->getOptDoc ( string optname )

tidy_get_opt_doc() returns the documentation for the given option name.

Nota: You need at least libtidy from 25 April, 2005 for this function be available.

Lista de parámetros

object

A tidy object

optname

The option name

Valores retornados

Returns a string if the option exists and has documentation available, or FALSE otherwise.

Ejemplos

Ejemplo 1. Print all options along with their documentation and default value

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'no documentation available!';

    $val = ($tidy->getOpt($opt) === true)  ? 'true'  : $val;
    $val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

    echo "<p><b>$opt</b> (default: '$val')<br />".
         "$doc</p><hr />\n";
}

?>

Ver también

tidy_get_config()
tidy_getopt()

Anterior | Inicio | Siguiente
tidy_get_html | Subir | tidy_get_output


tidyNode::getParent

(no version information, might be only in CVS)

tidyNode::getParent -- returns the parent node of the current node

Descripción

tidyNode tidyNode::getParent ( void )

Returns the parent node of the current node.

Valores retornados

Returns a tidyNode if the node has a parent, or NULL otherwise.

Anterior | Inicio | Siguiente
tidyNode->isText | Subir | Tokenizer Functions


tidyNode->hasChildren

(no version information, might be only in CVS)

tidyNode->hasChildren -- Returns true if this node has children

Description

bool tidyNode->hasChildren ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: This function was named tidy_node->has_children() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidy_warning_count | Subir | tidyNode->hasSiblings


tidyNode->hasSiblings

(no version information, might be only in CVS)

tidyNode->hasSiblings -- Returns true if this node has siblings

Description

bool tidyNode->hasSiblings ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: This function was named tidy_node->has_siblings() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->hasChildren | Subir | tidyNode->isAsp


tidyNode->isComment

(no version information, might be only in CVS)

tidyNode->isComment -- Returns true if this node represents a comment

Description

bool tidyNode->isComment ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: This function was named tidy_node->is_comment() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->isAsp | Subir | tidyNode->isHtml


tidyNode->isHtml

(no version information, might be only in CVS)

tidyNode->isHtml -- Returns true if this node is part of a HTML document

Description

bool tidyNode->isHtml ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: This function was named tidy_node->is_html() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->isComment | Subir | tidyNode->isJste


tidyNode->isJste

(no version information, might be only in CVS)

tidyNode->isJste -- Returns true if this node is JSTE

Description

bool tidyNode->isJste ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: This function was named tidy_node->is_jste() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->isHtml | Subir | tidyNode->isPhp


tidyNode->isText

(no version information, might be only in CVS)

tidyNode->isText -- Returns true if this node represents text (no markup)

Description

bool tidyNode->isText ( void )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Nota: This function was named tidy_node->is_text() in PHP 4/Tidy 1.

Anterior | Inicio | Siguiente
tidyNode->isPhp | Subir | tidyNode::getParent


time_sleep_until

(PHP 5 >= 5.1.0RC1)

time_sleep_until -- Hacer que el script duerma hasta la hora especificada

Descripción

bool time_sleep_until ( float marca_de_tiempo )

Esta función hará que el script duerma hasta la marca_de_tiempo especificada. Si la marca_de_tiempo especificada está en el pasado, time_sleep_until() generará un E_WARNING y devolverá FALSE.

Nota: Esta función no está implementada en plataformas Windows.

Lista de parámetros

marca_de_tiempo

La marca de tiempo del momento en el que el script deberá despertar.

Nota: Todas las señales serán entregadas después de que el script despierte.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Un ejemplo de time_sleep_until()

<?php

// devuelve false y genera una advertencia
var_dump(time_sleep_until(time()-1));

// puede que solo funcione en computadoras rápidas, dormirá hasta por 0,2 segundos
var_dump(time_sleep_until(time()+0.2));

?>

Ver también

sleep()
usleep()
time_nanosleep()

Anterior | Inicio | Siguiente
time_nanosleep | Subir | uniqid


timezone_abbreviations_list

(PHP 5 >= 5.1.0RC1)

timezone_abbreviations_list -- Returns associative array containing dst, offset and the timezone name

Descripción

array timezone_abbreviations_list ( void )

array DateTimeZone::listAbbreviations ( void )

Valores retornados

Returns array on success or FALSE on failure.

Ejemplos

Ejemplo 1. A timezone_abbreviations_list() example

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Ver también

timezone_identifiers_list()

Anterior | Inicio | Siguiente
time | Subir | timezone_identifiers_list


timezone_identifiers_list

(PHP 5 >= 5.1.0RC1)

timezone_identifiers_list -- Returns numerically index array with all timezone identifiers

Descripción

array timezone_identifiers_list ( void )

array DateTimeZone::listIdentifiers ( void )

Valores retornados

Returns array on success or FALSE on failure.

Ejemplos

Ejemplo 1. A timezone_identifiers_list() example

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

El resultado del ejemplo seria algo similar a:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmera

Ver también

timezone_abbreviations_list()

Anterior | Inicio | Siguiente
timezone_abbreviations_list | Subir | timezone_name_from_abbr


timezone_name_from_abbr

(no version information, might be only in CVS)

timezone_name_from_abbr -- Returns the timezone name from abbrevation

Descripción

string timezone_name_from_abbr ( string abbr [, int gmtOffset [, int isdst]] )

Lista de parámetros

abbr

Time zone abbreviation.

gmtOffset

Offset from GMT in seconds. Defaults to -1 which means that first found time zone corresponding to abbr is returned. Otherwise exact offset is searched and only if not found then the first time zone with any offset is returned.

isdst

Daylight saving time indicator. If abbr doesn't exist then the time zone is searched solely by offset and isdst.

Valores retornados

Returns time zone name on success or FALSE on failure.

Ejemplos

Ejemplo 1. A timezone_name_from_abbr() example

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

El resultado del ejemplo seria algo similar a:

Europe/Berlin
Europe/Paris

Ver también

timezone_abbreviations_list()

Anterior | Inicio | Siguiente
timezone_identifiers_list | Subir | timezone_name_get


timezone_name_get

(PHP 5 >= 5.1.0RC1)

timezone_name_get -- Returns the name of the timezone

Descripción

string timezone_name_get ( DateTimeZone object )

string DateTimeZone::getName ( void )

Lista de parámetros

object

DateTimeZone object.

Valores retornados

Returns time zone name on success or FALSE on failure.

Anterior | Inicio | Siguiente
timezone_name_from_abbr | Subir | timezone_offset_get


timezone_offset_get

(PHP 5 >= 5.1.0RC1)

timezone_offset_get -- Returns the timezone offset from GMT

Descripción

int timezone_offset_get ( DateTimeZone object, DateTime datetime )

int DateTimeZone::getOffset ( DateTime datetime )

This function returns the offset to GMT for the date/time specified in the datetime parameter. The GMT offset is calculated with the timezone information contained in the DateTime object being used.

Lista de parámetros

object

DateTimeZone object.

datetime

DateTime that contains the date/time to compute the offset from.

Valores retornados

Returns time zone offset in seconds on success or FALSE on failure.

Ejemplos

Ejemplo 1. timezone_offset_get() examples

<?php
// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

Anterior | Inicio | Siguiente
timezone_name_get | Subir | timezone_open


timezone_open

(PHP 5 >= 5.1.0RC1)

timezone_open -- Returns new DateTimeZone object

Descripción

DateTimeZone timezone_open ( string timezone )

DateTimeZone DateTimeZone::__construct ( string timezone )

Lista de parámetros

timezone

Time zone identifier as full name (e.g. Europe/Prague) or abbreviation (e.g. CET).

Valores retornados

Returns DateTimeZone object on success or FALSE on failure.

Anterior | Inicio | Siguiente
timezone_offset_get | Subir | timezone_transitions_get


timezone_transitions_get

(no version information, might be only in CVS)

timezone_transitions_get -- Returns all transitions for the timezone

Descripción

array timezone_transitions_get ( DateTimeZone object )

array DateTimeZone::getTransitions ( void )

Lista de parámetros

object

DateTimeZone object.

Valores retornados

Returns numerically indexed array containing associative array with all transitions on success or FALSE on failure.

Ejemplos

Ejemplo 1. A timezone_transitions_get() example

<?php
$timezone = new DateTimeZone("CET");
print_r(reset($timezone->getTransitions()));
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [ts] => -1693706400
    [time] => 1916-04-30T22:00:00+0000
    [offset] => 7200
    [isdst] => 1
    [abbr] => CEST
)

Anterior | Inicio | Siguiente
timezone_open | Subir | DB++ Functions


unicode_encode

(PHP 5 CVS only)

unicode_encode -- Set encoding of a unicode string

Descripción

string unicode_encode ( unicode input, string encoding, int flags )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Takes a unicode string and converts it to a string in the specified encoding.

Lista de parámetros

input

The unicode string that will be encoded.

encoding

The new encoding for input.

flags

Flags

Valores retornados

A string on success, or FALSE on failure.

Errors/Exceptions

Emits a E_WARNING level error if a converter cannot be created for the desired encoding.

Ejemplos

Ejemplo 1. A unicode_encode() example

Note: The characters will be seen instead of entities in the output.

<?php
header ('Content-Type: text/plain; charset=ISO-8859-2');

$encoded = unicode_encode ('\u0150\u0179', 'ISO-8859-2');

echo 'Unicode semantics: ', ini_get ('unicode_semantics'), PHP_EOL;
echo 'The string itself:', $encoded, PHP_EOL;
echo 'The length of the string: ', strlen ($encoded);
?>

El resultado del ejemplo seria algo similar a:

Unicode semantics: 1
The string itself: &#336;&#377;
The length of the string: 2

Ver también

unicode_symantics()

Anterior | Inicio | Siguiente
i18n_loc_set_default | Subir | unicode_semantics


unicode_semantics

(no version information, might be only in CVS)

unicode_semantics -- Check whether unicode semantics is enabled

Descripción

bool unicode_semantics ( void )

unicode_semantics() checks whether unicode semantics is enabled.

Valores retornados

Returns TRUE or FALSE.

Anterior | Inicio | Siguiente
unicode_encode | Subir | Funciones de URL


use_soap_error_handler

(PHP 5)

use_soap_error_handler -- Set whether to use the SOAP error handler and return the former value

Descripción

bool use_soap_error_handler ( [bool handler] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Anterior | Inicio | Siguiente
SoapVar->__construct() | Subir | Funciones de Socket


wddx_unserialize

(PHP 3 >= 3.0.7, PHP 5 CVS only)

wddx_unserialize -- Unserializes a WDDX packet

Descripción

mixed wddx_unserialize ( string packet )

Unserializes a WDDX packet.

Lista de parámetros

packet

A WDDX packet, as a string or stream.

Valores retornados

Returns the unserialized value which can be a string, a number or an array. Note that structures are unserialized into associative arrays.

Anterior | Inicio | Siguiente
wddx_serialize_vars | Subir | win32ps Functions


win32_create_service

(PECL)

win32_create_service -- Creates a new service entry in the SCM database

Descripción

int win32_create_service ( array details [, string machine] )

Lista de parámetros

details

An array of service details:

service

The short name of the service. This is the name that you will use to control the service using the net command. The service must be unique (no two services can share the same name), and, ideally, should avoid having spaces in the name.

display

The display name of the service. This is the name that you will see in the Services Applet.

user

The name of the user account under which you want the service to run. If omitted, the service will run as the LocalSystem account. If the username is specified, you must also provide a password.

password

The password that corresponds to the user.

path

The full path to the executable module that will be launched when the service is started. If omitted, the path to the current PHP process will be used.

params

Command line parameters to pass to the service when it starts. If you want to run a PHP script as the service, then the first parameter should be the full path to the PHP script that you intend to run.

load_order

Controls the load_order. This is not yet fully supported.

svc_type

Sets the service type. If omitted, the default value is WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.

start_type

Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START which means the the service will be launched when the machine starts up.

error_control

Informs the SCM what it should do when it detects a problem with the service. The default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.

machine

The optional machine name on which you want to create a service. If omitted, it will use the local machine.

Valores retornados

Returns TRUE on success, otherwise returns a win32 error code.

Ejemplos

Ejemplo 1. A win32_create_service() example

Any text that describes the purpose of the example, or what goes on in the example should go here (inside the

<?php
$x = win32_create_service(array(
        'service' => 'dummyphp',
        'display' => 'sample dummy PHP service',
        'params' => __FILE__ . ' run',
));
debug_zval_dump($x);
?>

Ver también

win32_delete_service()

Anterior | Inicio | Siguiente
win32service Functions | Subir | win32_delete_service


win32_delete_service

(PECL)

win32_delete_service -- Deletes a service entry from the SCM database

Descripción

int win32_delete_service ( string servicename [, string machine] )

Attempts to delete a service from the SCM database. Administrative privileges are required for this to succeed.

This function really just marks the service for deletion. If other processes (such as the Services Applet) are open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion, further attempts to delete it will fail, and attempts to create a new service with that name will also fail.

Lista de parámetros

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Valores retornados

Returns TRUE on success, or a win32 error code on failure.

Ejemplos

Ejemplo 1. A win32_delete_service() example

Deletes the dummyphp service.

<?php
win32_delete_service('dummyphp');
?>

Anterior | Inicio | Siguiente
win32_create_service | Subir | win32_get_last_control_message


win32_get_last_control_message

(PECL)

win32_get_last_control_message -- Returns the last control message that was sent to this service

Descripción

int win32_get_last_control_message ( void )

Returns the control code that was last sent to this service process. When running as a service you should periodically check this to determine if your service needs to stop running.

Valores retornados

Returns a control constant; one of WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_STOP, WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE, WIN32_SERVICE_CONTROL_POWEREVENT, WIN32_SERVICE_CONTROL_SESSIONCHANGE.

Ver también

win32_start_service_ctrl_dispatcher()

Anterior | Inicio | Siguiente
win32_delete_service | Subir | win32_query_service_status


win32_ps_list_procs

(no version information, might be only in CVS)

win32_ps_list_procs -- List running processes

Descripción

array win32_ps_list_procs ( void )

Retrieves statistics about all running processes.

Valores retornados

Returns FALSE on failure, or an array consisting of process statistics like win32_ps_stat_proc() returns for all running processes on success.

Ver también

win32_ps_stat_proc()

Anterior | Inicio | Siguiente
win32ps Functions | Subir | win32_ps_stat_mem


win32_ps_stat_mem

(no version information, might be only in CVS)

win32_ps_stat_mem -- Stat memory utilization

Descripción

array win32_ps_stat_mem ( void )

Retrieves statistics about the global memory utilization.

Valores retornados

Returns FALSE on failure, or an array consisting of the following information on success:

load

The current memory load in percent of physical memory.

unit

This is always 1024, and indicates that the following values are the count of 1024 bytes.

total_phys

The amount of total physical memory.

avail_phys

The amount of still available physical memory.

total_pagefile

The amount of total pageable memory (physical memory + paging file).

avail_pagefile

The amount of still available pageable memory (physical memory + paging file).

total_virtual

The amount of total virtual memory for a process.

avail_virtual

The amount of still available virtual memory for a process.

Anterior | Inicio | Siguiente
win32_ps_list_procs | Subir | win32_ps_stat_proc


win32_ps_stat_proc

(no version information, might be only in CVS)

win32_ps_stat_proc -- Stat process

Descripción

array win32_ps_stat_proc ( [int pid] )

Retrieves statistics about the process with the process id pid.

Lista de parámetros

pid

The process id of the process to stat. If omitted, the id of the current process.

Valores retornados

Returns FALSE on failure, or an array consisting of the following information on success:

pid

The process id.

exe

The path to the executable image.

mem

An array containing information about the following memory utilization indicators: page_fault_count, peak_working_set_size, working_set_size, quota_peak_paged_pool_usage, quota_paged_pool_usage, quota_peak_non_paged_pool_usage, quota_non_paged_pool_usage, pagefile_usage and peak_pagefile_usage.

tms

An array containing information about the following CPU time utilization indicators: created, kernel and user.

Ver también

win32_ps_list_procs()

Anterior | Inicio | Siguiente
win32_ps_stat_mem | Subir | win32service Functions


win32_query_service_status

(PECL)

win32_query_service_status -- Queries the status of a service

Descripción

mixed win32_query_service_status ( string servicename [, string machine] )

Queries the current status for a service, returning an array of information.

Lista de parámetros

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Valores retornados

Returns FALSE on failure, otherwise returns an array consisting of the following information:

ServiceType

The dwServiceType.

CurrentState

The dwCurrentState.

ControlsAccepted

Which service controls are accepted by the service.

Win32ExitCode

If the service exited, the return code from the process.

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here.

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags.

Anterior | Inicio | Siguiente
win32_get_last_control_message | Subir | win32_set_service_status


win32_set_service_status

(PECL)

win32_set_service_status -- Update the service status

Descripción

bool win32_set_service_status ( int status )

Informs the SCM of the current status of a running service. This call is only valid for a running service process.

Lista de parámetros

status

The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

win32_start_service_ctrl_dispatcher()

Anterior | Inicio | Siguiente
win32_query_service_status | Subir | win32_start_service_ctrl_dispatcher


win32_start_service

(PECL)

win32_start_service -- Starts a service

Descripción

int win32_start_service ( string servicename [, string machine] )

Attempts to start the named service. Usually requires administrative privileges.

Lista de parámetros

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Valores retornados

Returns WIN32_NO_ERROR on success, or some other win32 error code on failure.

Ver también

win32_stop_service()

Anterior | Inicio | Siguiente
win32_start_service_ctrl_dispatcher | Subir | win32_stop_service


win32_start_service_ctrl_dispatcher

(PECL)

win32_start_service_ctrl_dispatcher -- Registers the script with the SCM, so that it can act as the service with the given name

Descripción

bool win32_start_service_ctrl_dispatcher ( string name )

When launched via the Service Control Manager, a service process is required to "check-in" with it to establish service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle the lower-level communication with the service control manager.

Once started, the service process should continue to check-in with the service control manager so that it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message() and handling the return code appropriately.

Lista de parámetros

name

The short-name of the service, as registered by win32_create_service().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. A win32_start_service_ctrl_dispatcher() example

Any text that describes the purpose of the example, or what goes on in the example should go here (inside the

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("I'm probably not running under the service control manager");
}

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # do some work here, trying not to take more than around 30 seconds
  # before coming back into the loop again
}
?>

Ver también

win32_get_last_control_message()

Anterior | Inicio | Siguiente
win32_set_service_status | Subir | win32_start_service


win32_stop_service

(PECL)

win32_stop_service -- Stops a service

Descripción

int win32_stop_service ( string servicename [, string machine] )

Stops a named service. Requires administrative privileges.

Lista de parámetros

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Valores retornados

Returns WIN32_NO_ERROR on success, or a win32 error code on failure.

Ver también

win32_start_service()

Anterior | Inicio | Siguiente
win32_start_service | Subir | Funciones xattr


XMLReader::close

(no version information, might be only in CVS)

XMLReader::close -- Close the XMLReader input

Descripción

class XMLReader {

bool close ( void )

}

Closes the input the XMLReader object is currently parsing.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::open
XMLReader::XML

Anterior | Inicio | Siguiente
XMLReader functions | Subir | XMLReader::expand


XMLReader::expand

(no version information, might be only in CVS)

XMLReader::expand -- Returns a copy of the current node as a DOM object

Descripción

class XMLReader {

DOMNode expand ( void )

}

This method copies the current node and returns the appropriate DOM object.

Valores retornados

The resulting DOMNode or FALSE on error.

Anterior | Inicio | Siguiente
XMLReader::close | Subir | XMLReader::getAttribute


XMLReader::getAttribute

(no version information, might be only in CVS)

XMLReader::getAttribute -- Get the value of a named attribute

Descripción

class XMLReader {

string getAttribute ( string name )

}

Returns the value of a named attribute or an empty string if attribute does not exist or not positioned on an element node.

Lista de parámetros

name

The name of the attribute.

Valores retornados

The value of the attribute, or an empty string if no attribute with the given name is found or not positioned of element.

Ver también

XMLReader::getAttributeNo
XMLReader::getAttributeNs

Anterior | Inicio | Siguiente
XMLReader::expand | Subir | XMLReader::getAttributeNo


XMLReader::getAttributeNo

(no version information, might be only in CVS)

XMLReader::getAttributeNo -- Get the value of an attribute by index

Descripción

class XMLReader {

string getAttributeNo ( int index )

}

Returns the value of an attribute based on its position or an empty string if attribute does not exist or not positioned on an element node.

Lista de parámetros

index

The position of the attribute.

Valores retornados

The value of the attribute, or an empty string if no attribute exists at index or not positioned of element.

Ver también

XMLReader::getAttribute
XMLReader::getAttributeNs

Anterior | Inicio | Siguiente
XMLReader::getAttribute | Subir | XMLReader::getAttributeNs


XMLReader::getAttributeNs

(no version information, might be only in CVS)

XMLReader::getAttributeNs -- Get the value of an attribute by localname and URI

Descripción

class XMLReader {

string getAttributeNs ( string localName, string namespaceURI )

}

Returns the value of an attribute by name and namespace URI or an empty string if attribute does not exist or not positioned on an element node.

Lista de parámetros

localName

The local name.

namespaceURI

The namespace URI.

Valores retornados

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found or not positioned of element.

Ver también

XMLReader::getAttribute
XMLReader::getAttributeNo

Anterior | Inicio | Siguiente
XMLReader::getAttributeNo | Subir | XMLReader::getParserProperty


XMLReader::getParserProperty

(no version information, might be only in CVS)

XMLReader::getParserProperty -- Indicates if specified property has been set

Descripción

class XMLReader {

bool getParserProperty ( int property )

}

Indicates if specified property has been set.

Lista de parámetros

property

One of the parser option constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::setParserProperty

Anterior | Inicio | Siguiente
XMLReader::getAttributeNs | Subir | XMLReader::isValid


XMLReader::isValid

(no version information, might be only in CVS)

XMLReader::isValid -- Indicates if the parsed document is valid

Descripción

class XMLReader {

bool isValid ( void )

}

Returns a boolean indicating if the document being parsed is currently valid.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::setParserProperty
XMLReader::setRelaxNGSchema
XMLReader::setRelaxNGSchemaSource

Anterior | Inicio | Siguiente
XMLReader::getParserProperty | Subir | XMLReader::lookupNamespace


XMLReader::lookupNamespace

(no version information, might be only in CVS)

XMLReader::lookupNamespace -- Lookup namespace for a prefix

Descripción

class XMLReader {

bool lookupNamespace ( string prefix )

}

Lookup in scope namespace for a given prefix.

Lista de parámetros

prefix

String containing the prefix.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
XMLReader::isValid | Subir | XMLReader::moveToAttribute


XMLReader::moveToAttribute

(no version information, might be only in CVS)

XMLReader::moveToAttribute -- Move cursor to a named attribute

Descripción

class XMLReader {

bool moveToAttribute ( string name )

}

Positions cursor on the named attribute.

Lista de parámetros

name

The name of the attribute.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToElement
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

Anterior | Inicio | Siguiente
XMLReader::lookupNamespace | Subir | XMLReader::moveToAttributeNo


XMLReader::moveToAttributeNo

(no version information, might be only in CVS)

XMLReader::moveToAttributeNo -- Move cursor to an attribute by index

Descripción

class XMLReader {

bool moveToAttributeNo ( int index )

}

Positions cursor on attribute based on its position.

Lista de parámetros

index

The position of the attribute.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

Anterior | Inicio | Siguiente
XMLReader::moveToAttribute | Subir | XMLReader::moveToAttributeNs


XMLReader::moveToAttributeNs

(no version information, might be only in CVS)

XMLReader::moveToAttributeNs -- Move cursor to a named attribute

Descripción

class XMLReader {

bool moveToAttributeNs ( string localName, string namespaceURI )

}

Positions cursor on the named attribute in specified namespace.

Lista de parámetros

localName

The local name.

namespaceURI

The namespace URI.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToFirstAttribute

Anterior | Inicio | Siguiente
XMLReader::moveToAttributeNo | Subir | XMLReader::moveToElement


XMLReader::moveToElement

(no version information, might be only in CVS)

XMLReader::moveToElement -- Position cursor on the parent Element of current Attribute

Descripción

class XMLReader {

bool moveToElement ( void )

}

Moves cursor to the parent Element of current Attribute. Returns TRUE if successful and FALSE if it fails or not positioned on Attribute when this method is called.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

Anterior | Inicio | Siguiente
XMLReader::moveToAttributeNs | Subir | XMLReader::moveToFirstAttribute


XMLReader::moveToFirstAttribute

(no version information, might be only in CVS)

XMLReader::moveToFirstAttribute -- Position cursor on the first Attribute

Descripción

class XMLReader {

bool moveToFirstAttribute ( void )

}

Moves cursor to the first Attribute.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToNextAttribute

Anterior | Inicio | Siguiente
XMLReader::moveToElement | Subir | XMLReader::moveToNextAttribute


XMLReader::moveToNextAttribute

(no version information, might be only in CVS)

XMLReader::moveToNextAttribute -- Position cursor on the next Attribute

Descripción

class XMLReader {

bool moveToNextAttribute ( void )

}

Moves cursor to the next Attribute if positioned on an Attribute or moves to first attribute if positioned on an Element.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

Anterior | Inicio | Siguiente
XMLReader::moveToFirstAttribute | Subir | XMLReader::next


XMLReader::next

(no version information, might be only in CVS)

XMLReader::next -- Move cursor to next node skipping all subtrees

Descripción

class XMLReader {

bool next ( [string localname] )

}

Positions cursor on the next node skipping all subtrees.

Lista de parámetros

localname

The name of the next node to move to.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::next
XMLReader::moveToElement
XMLReader::moveToAttribute

Anterior | Inicio | Siguiente
XMLReader::moveToNextAttribute | Subir | XMLReader::open


XMLReader::open

(no version information, might be only in CVS)

XMLReader::open -- Set the URI containing the XML to parse

Descripción

class XMLReader {

bool open ( string URI [, string encoding [, int options]] )

}

Set the URI containing the XML document to be parsed.

Lista de parámetros

URI

URI pointing to the document.

encoding

The document encoding or NULL.

options

A bitmask of the XMLReader Options constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
5.2.0 | encoding and options were added.

Ver también

XMLReader::XML
XMLReader::close

Anterior | Inicio | Siguiente
XMLReader::next | Subir | XMLReader::read


XMLReader::read

(no version information, might be only in CVS)

XMLReader::read -- Move to next node in document

Descripción

class XMLReader {

bool read ( void )

}

Moves cursor to the next node in the document.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::next

Anterior | Inicio | Siguiente
XMLReader::open | Subir | XMLReader::setParserProperty


XMLReader::setParserProperty

(no version information, might be only in CVS)

XMLReader::setParserProperty -- Set or Unset parser options

Descripción

class XMLReader {

bool setParserProperty ( int property, bool value )

}

Set or Unset parser option for the parser. The options must be set
after xmlreader-open() or
xmlreader-xml() are called and before
the first xmlreader-read() call.

Lista de parámetros

property

One of the parser option constants.

value

If set to TRUE the option will be enabled otherwise will be disabled.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
XMLReader::read | Subir | XMLReader::setRelaxNGSchema


XMLReader::setRelaxNGSchema

(no version information, might be only in CVS)

XMLReader::setRelaxNGSchema -- Set the filename or URI for a RelaxNG Schema

Descripción

class XMLReader {

bool setRelaxNGSchema ( string filename )

}

Set the filename or URI for the RelaxNG Schema to use for validation.

Lista de parámetros

filename

filename or URI pointing to a RelaxNG Schema.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::setRelaxNGSchemaSource

Anterior | Inicio | Siguiente
XMLReader::setParserProperty | Subir | XMLReader::setRelaxNGSchemaSource


XMLReader::setRelaxNGSchemaSource

(no version information, might be only in CVS)

XMLReader::setRelaxNGSchemaSource -- Set the data containing a RelaxNG Schema

Descripción

class XMLReader {

bool setRelaxNGSchemaSource ( string source )

}

Set the data containing a RelaxNG Schema to use for validation.

Lista de parámetros

source

String containing the RelaxNG Schema.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLReader::setRelaxNGSchema

Anterior | Inicio | Siguiente
XMLReader::setRelaxNGSchema | Subir | XMLReader::XML


XMLReader::XML

(no version information, might be only in CVS)

XMLReader::XML -- Set the data containing the XML to parse

Descripción

class XMLReader {

bool open ( string source [, string encoding [, int options]] )

}

Set the data containing the XML to parse.

Lista de parámetros

source

String containing the XML to be parsed.

encoding

The document encoding or NULL.

options

A bitmask of the XMLReader Options constants.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Registro de cambios

Versión | Descripción
5.2.0 | encoding and options were added.

Ver también

XMLReader::open
XMLReader::close

Anterior | Inicio | Siguiente
XMLReader::setRelaxNGSchemaSource | Subir | XMLWriter Functions


XMLWriter::endAttribute

(no version information, might be only in CVS)

XMLWriter::endAttribute -- End attribute

Descripción

Object oriented style:

class XMLWriter {

bool endAttribute ( void )

}

Procedural style:

bool xmlwriter_end_attribute ( resource xmlwriter )

Ends the current attribute.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startAttribute
XMLWriter::startAttributeNS
XMLWriter::writeAttribute
XMLWriter::writeAttributeNS

Anterior | Inicio | Siguiente
XMLWriter Functions | Subir | XMLWriter::endCData


XMLWriter::endCData

(no version information, might be only in CVS)

XMLWriter::endCData -- End current CDATA

Descripción

Object oriented style:

class XMLWriter {

bool endCData ( void )

}

Procedural style:

bool xmlwriter_end_cdata ( resource xmlwriter )

Ends the current CDATA section.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startCData
XMLWriter::writeCData

Anterior | Inicio | Siguiente
XMLWriter::endAttribute | Subir | XMLWriter::endComment


XMLWriter::endComment

(no version information, might be only in CVS)

XMLWriter::endComment -- Create end comment

Descripción

Object oriented style:

class XMLWriter {

bool endComment ( void )

}

Procedural style:

bool xmlwriter_end_comment ( resource xmlwriter )

Ends the current comment.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startComment
XMLWriter::writeComment

Anterior | Inicio | Siguiente
XMLWriter::endCData | Subir | XMLWriter::endDocument


XMLWriter::endDocument

(no version information, might be only in CVS)

XMLWriter::endDocument -- End current document

Descripción

Object oriented style:

class XMLWriter {

bool endDocument ( void )

}

Procedural style:

bool xmlwriter_end_document ( resource xmlwriter )

Ends the current document.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDocument

Anterior | Inicio | Siguiente
XMLWriter::endComment | Subir | XMLWriter::endDTDAttlist


XMLWriter::endDTD

(no version information, might be only in CVS)

XMLWriter::endDTD -- End current DTD

Descripción

Object oriented style:

class XMLWriter {

bool endDTD ( void )

}

Procedural style:

bool xmlwriter_end_dtd ( resource xmlwriter )

Ends the DTD of the document.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTD
XMLWriter::writeDTD

Anterior | Inicio | Siguiente
XMLWriter::endDTDEntity | Subir | XMLWriter::endElement


XMLWriter::endDTDAttlist

(no version information, might be only in CVS)

XMLWriter::endDTDAttlist -- End current DTD AttList

Descripción

Object oriented style:

class XMLWriter {

bool endDTDAttlist ( void )

}

Procedural style:

bool xmlwriter_end_dtd_attlist ( resource xmlwriter )

Ends the current DTD attribute list.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTDAttlist
XMLWriter::writeDTDAttlist

Anterior | Inicio | Siguiente
XMLWriter::endDocument | Subir | XMLWriter::endDTDElement


XMLWriter::endDTDElement

(no version information, might be only in CVS)

XMLWriter::endDTDElement -- End current DTD element

Descripción

Object oriented style:

class XMLWriter {

bool endDTDElement ( void )

}

Procedural style:

bool xmlwriter_end_dtd_element ( resource xmlwriter )

Ends the current DTD element.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTDElement
XMLWriter::writeDTDElement

Anterior | Inicio | Siguiente
XMLWriter::endDTDAttlist | Subir | XMLWriter::endDTDEntity


XMLWriter::endDTDEntity

(no version information, might be only in CVS)

XMLWriter::endDTDEntity -- End current DTD Entity

Descripción

Object oriented style:

class XMLWriter {

bool endDTDEntity ( void )

}

Procedural style:

bool xmlwriter_end_dtd_entity ( resource xmlwriter )

Ends the current DTD entity.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTDEntity
XMLWriter::writeDTDEntity

Anterior | Inicio | Siguiente
XMLWriter::endDTDElement | Subir | XMLWriter::endDTD


XMLWriter::endElement

(no version information, might be only in CVS)

XMLWriter::endElement -- End current element

Descripción

Object oriented style:

class XMLWriter {

bool endElement ( void )

}

Procedural style:

bool xmlwriter_end_element ( resource xmlwriter )

Ends the current element.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startElement
XMLWriter::writeElement

Anterior | Inicio | Siguiente
XMLWriter::endDTD | Subir | XMLWriter::endPI


XMLWriter::endPI

(no version information, might be only in CVS)

XMLWriter::endPI -- End current PI

Descripción

Object oriented style:

class XMLWriter {

bool endPI ( void )

}

Procedural style:

bool xmlwriter_end_pi ( resource xmlwriter )

Ends the current processing instruction.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startPI
XMLWriter::writePI

Anterior | Inicio | Siguiente
XMLWriter::endElement | Subir | XMLWriter::flush


XMLWriter::flush

(no version information, might be only in CVS)

XMLWriter::flush -- Flush current buffer

Descripción

Object oriented style:

class XMLWriter {

mixed flush ( [bool empty] )

}

Procedural style:

mixed xmlwriter_flush ( resource xmlwriter [, bool empty] )

Flushes the current buffer.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

empty

Whether to empty the buffer or no. Default is TRUE.

Valores retornados

If you opened the writer in memory, this function returns the generated XML buffer, Else, if using URI, this function will write the buffer and return the number of written bytes.

Anterior | Inicio | Siguiente
XMLWriter::endPI | Subir | XMLWriter::fullEndElement


XMLWriter::fullEndElement

(no version information, might be only in CVS)

XMLWriter::fullEndElement -- End current element

Descripción

Object oriented style:

class XMLWriter {

bool fullEndElement ( void )

}

Procedural style:

bool xmlwriter_full_end_element ( resource xmlwriter )

End the current xml element. Writes an end tag even if the element is empty.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endElement

Anterior | Inicio | Siguiente
XMLWriter::flush | Subir | XMLWriter::openMemory


XMLWriter::openMemory

(no version information, might be only in CVS)

XMLWriter::openMemory -- Create new xmlwriter using memory for string output

Descripción

Object oriented style:

class XMLWriter {

bool openMemory ( void )

}

Procedural style:

resource xmlwriter_open_memory ( void )

Creates a new XMLWriter using memory for string output.

Lista de parámetros

Valores retornados

Object oriented style: Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo..

Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.

Ver también

XMLWriter::openURI

Anterior | Inicio | Siguiente
XMLWriter::fullEndElement | Subir | XMLWriter::openURI


XMLWriter::openURI

(no version information, might be only in CVS)

XMLWriter::openURI -- Create new xmlwriter using source uri for output

Descripción

Object oriented style:

class XMLWriter {

bool openURI ( string uri )

}

Procedural style:

resource xmlwriter_open_uri ( string uri )

Creates a new XMLWriter using uri for the output.

Lista de parámetros

uri

The URI of the resource for the output.

Valores retornados

Object oriented style: Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo..

Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.

Ver también

XMLWriter::openMemory

Anterior | Inicio | Siguiente
XMLWriter::openMemory | Subir | XMLWriter::outputMemory


XMLWriter::outputMemory

(no version information, might be only in CVS)

XMLWriter::outputMemory -- Returns current buffer

Descripción

Object oriented style:

class XMLWriter {

bool outputMemory ( [bool flush] )

}

Procedural style:

string xmlwriter_output_memory ( resource xmlwriter [, bool flush] )

Returns the current buffer.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

flush

Whether to flush the output buffer or no. Default is TRUE.

Valores retornados

Returns the current buffer as a string.

Ver también

XMLWriter::flush

Anterior | Inicio | Siguiente
XMLWriter::openURI | Subir | XMLWriter::setIndentString


XMLWriter::setIndent

(no version information, might be only in CVS)

XMLWriter::setIndent -- Toggle indentation on/off

Descripción

Object oriented style:

class XMLWriter {

bool setIndent ( bool indent )

}

Procedural style:

bool xmlwriter_set_indent ( resource xmlwriter, bool indent )

Toggles indentation on or off.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

indent

Whether indentation is enabled. Defaults to FALSE.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::setIndentString

Anterior | Inicio | Siguiente
XMLWriter::setIndentString | Subir | XMLWriter::startAttributeNS


XMLWriter::setIndentString

(no version information, might be only in CVS)

XMLWriter::setIndentString -- Set string used for indenting

Descripción

Object oriented style:

class XMLWriter {

bool setIndentString ( string indentString )

}

Procedural style:

bool xmlwriter_set_indent_string ( resource xmlwriter, string indentString )

Sets the string which will be used to indent each element/attribute of the resulting xml.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

indentString

The indentation string.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::setIndent

Anterior | Inicio | Siguiente
XMLWriter::outputMemory | Subir | XMLWriter::setIndent


XMLWriter::startAttribute

(no version information, might be only in CVS)

XMLWriter::startAttribute -- Create start attribute

Descripción

Object oriented style:

class XMLWriter {

bool startAttribute ( string name )

}

Procedural style:

bool xmlwriter_start_attribute ( resource xmlwriter, string name )

Starts an attribute.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The attribute name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startAttributeNS
XMLWriter::endAttribute
XMLWriter::writeAttribute
XMLWriter::writeAttributeNS

Anterior | Inicio | Siguiente
XMLWriter::startAttributeNS | Subir | XMLWriter::startCData


XMLWriter::startAttributeNS

(no version information, might be only in CVS)

XMLWriter::startAttributeNS -- Create start namespaced attribute

Descripción

Object oriented style:

class XMLWriter {

bool startAttributeNS ( string prefix, string name, string uri )

}

Procedural style:

bool xmlwriter_start_attribute_ns ( resource xmlwriter, string prefix, string name, string uri )

Starts a namespaced attribute.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The attribute name.

uri

The namespace URI.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startAttribute
XMLWriter::endAttribute
XMLWriter::writeAttribute
XMLWriter::writeAttributeNS

Anterior | Inicio | Siguiente
XMLWriter::setIndent | Subir | XMLWriter::startAttribute


XMLWriter::startCData

(no version information, might be only in CVS)

XMLWriter::startCData -- Create start CDATA tag

Descripción

Object oriented style:

class XMLWriter {

bool startCData ( void )

}

Procedural style:

bool xmlwriter_start_cdata ( resource xmlwriter )

Starts a CDATA.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endCData
XMLWriter::writeCData

Anterior | Inicio | Siguiente
XMLWriter::startAttribute | Subir | XMLWriter::startComment


XMLWriter::startComment

(no version information, might be only in CVS)

XMLWriter::startComment -- Create start comment

Descripción

Object oriented style:

class XMLWriter {

bool startComment ( void )

}

Procedural style:

bool xmlwriter_start_comment ( resource xmlwriter )

Starts a comment.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endComment
XMLWriter::writeComment

Anterior | Inicio | Siguiente
XMLWriter::startCData | Subir | XMLWriter::startDocument


XMLWriter::startDocument

(no version information, might be only in CVS)

XMLWriter::startDocument -- Create document tag

Descripción

Object oriented style:

class XMLWriter {

bool startDocument ( [string version [, string encoding [, string standalone]]] )

}

Procedural style:

bool xmlwriter_start_document ( resource xmlwriter [, string version [, string encoding [, string standalone]]] )

Starts a document.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

version

The version number of the document as part of the XML declaration. Defaults to 1.0.

encoding

The encoding of the document as part of the XML declaration. NULL by default.

standalone

yes or no. NULL by default.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endDocument

Anterior | Inicio | Siguiente
XMLWriter::startComment | Subir | XMLWriter::startDTDAttlist


XMLWriter::startDTD

(no version information, might be only in CVS)

XMLWriter::startDTD -- Create start DTD tag

Descripción

Object oriented style:

class XMLWriter {

bool startDTD ( string qualifiedName [, string publicId [, string systemId]] )

}

Procedural style:

bool xmlwriter_start_dtd ( resource xmlwriter, string qualifiedName [, string publicId [, string systemId]] )

Starts a DTD.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endDTD
XMLWriter::writeDTD

Anterior | Inicio | Siguiente
XMLWriter::startDTDEntity | Subir | XMLWriter::startElementNS


XMLWriter::startDTDAttlist

(no version information, might be only in CVS)

XMLWriter::startDTDAttlist -- Create start DTD AttList

Descripción

Object oriented style:

class XMLWriter {

bool startDTDAttlist ( string name )

}

Procedural style:

bool xmlwriter_start_dtd_attlist ( resource xmlwriter, string name )

Starts a DTD attribute list.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The attribute list name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endDTDAttlist
XMLWriter::writeDTDAttlist

Anterior | Inicio | Siguiente
XMLWriter::startDocument | Subir | XMLWriter::startDTDElement


XMLWriter::startDTDElement

(no version information, might be only in CVS)

XMLWriter::startDTDElement -- Create start DTD element

Descripción

Object oriented style:

class XMLWriter {

bool startDTDElement ( string qualifiedName )

}

Procedural style:

bool xmlwriter_start_dtd_element ( resource xmlwriter, string qualifiedName )

Starts a DTD element.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

qualifiedName

The qualified name of the document type to create.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endDTDElement
XMLWriter::writeDTDElement

Anterior | Inicio | Siguiente
XMLWriter::startDTDAttlist | Subir | XMLWriter::startDTDEntity


XMLWriter::startDTDEntity

(no version information, might be only in CVS)

XMLWriter::startDTDEntity -- Create start DTD Entity

Descripción

Object oriented style:

class XMLWriter {

bool startDTDEntity ( string name, bool isparam )

}

Procedural style:

bool xmlwriter_start_dtd_entity ( resource xmlwriter, string name, bool isparam )

Starts a DTD entity.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the entity.

isparam

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endDTDEntity
XMLWriter::writeDTDEntity

Anterior | Inicio | Siguiente
XMLWriter::startDTDElement | Subir | XMLWriter::startDTD


XMLWriter::startElement

(no version information, might be only in CVS)

XMLWriter::startElement -- Create start element tag

Descripción

Object oriented style:

class XMLWriter {

bool startElement ( string name )

}

Procedural style:

bool xmlwriter_start_element ( resource xmlwriter, string name )

Starts an element.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The element name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endElement
XMLWriter::writeElement

Anterior | Inicio | Siguiente
XMLWriter::startElementNS | Subir | XMLWriter::startPI


XMLWriter::startElementNS

(no version information, might be only in CVS)

XMLWriter::startElementNS -- Create start namespaced element tag

Descripción

Object oriented style:

class XMLWriter {

bool startElementNS ( string prefix, string name, string uri )

}

Procedural style:

bool xmlwriter_start_element_ns ( resource xmlwriter, string prefix, string name, string uri )

Starts a namespaced element.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The element name.

uri

The namespace URI.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endElement
XMLWriter::writeElementNS

Anterior | Inicio | Siguiente
XMLWriter::startDTD | Subir | XMLWriter::startElement


XMLWriter::startPI

(no version information, might be only in CVS)

XMLWriter::startPI -- Create start PI tag

Descripción

Object oriented style:

class XMLWriter {

bool startPI ( string target )

}

Procedural style:

bool xmlwriter_start_pi ( resource xmlwriter, string target )

Starts a processing instruction tag.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

target

The target of the processing instruction.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::endPI
XMLWriter::writePI

Anterior | Inicio | Siguiente
XMLWriter::startElement | Subir | XMLWriter::text


XMLWriter::text

(no version information, might be only in CVS)

XMLWriter::text -- Write text

Descripción

Object oriented style:

class XMLWriter {

bool text ( string content )

}

Procedural style:

bool xmlwriter_text ( resource xmlwriter, string content )

Writes a text.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the text.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
XMLWriter::startPI | Subir | XMLWriter::writeAttributeNS


XMLWriter::writeAttribute

(no version information, might be only in CVS)

XMLWriter::writeAttribute -- Write full attribute

Descripción

Object oriented style:

class XMLWriter {

bool writeAttribute ( string name, string value )

}

Procedural style:

bool xmlwriter_write_attribute ( resource xmlwriter, string name, string value )

Writes a full attribute.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the attribute.

value

The value of the attribute.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::writeAttributeNS
XMLWriter::startAttribute
XMLWriter::startAttributeNS
XMLWriter::endAttribute

Anterior | Inicio | Siguiente
XMLWriter::writeAttributeNS | Subir | XMLWriter::writeCData


XMLWriter::writeAttributeNS

(no version information, might be only in CVS)

XMLWriter::writeAttributeNS -- Write full namespaced attribute

Descripción

Object oriented style:

class XMLWriter {

bool writeAttributeNS ( string prefix, string name, string uri, string content )

}

Procedural style:

bool xmlwriter_write_attribute_ns ( resource xmlwriter, string prefix, string name, string uri, string content )

Writes a full namespaced attribute.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The attribute name.

uri

The namespace URI.

content

The attribute value.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::writeAttribute
XMLWriter::startAttribute
XMLWriter::startAttributeNS
XMLWriter::endAttribute

Anterior | Inicio | Siguiente
XMLWriter::text | Subir | XMLWriter::writeAttribute


XMLWriter::writeCData

(no version information, might be only in CVS)

XMLWriter::writeCData -- Write full CDATA tag

Descripción

Object oriented style:

class XMLWriter {

bool writeCData ( string content )

}

Procedural style:

bool xmlwriter_write_cdata ( resource xmlwriter, string content )

Writes a full CDATA.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the CDATA.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startCData
XMLWriter::endCData

Anterior | Inicio | Siguiente
XMLWriter::writeAttribute | Subir | XMLWriter::writeComment


XMLWriter::writeComment

(no version information, might be only in CVS)

XMLWriter::writeComment -- Write full comment tag

Descripción

Object oriented style:

class XMLWriter {

bool writeComment ( string content )

}

Procedural style:

bool xmlwriter_write_comment ( resource xmlwriter, string content )

Writes a full comment.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the comment.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startComment
XMLWriter::endComment

Anterior | Inicio | Siguiente
XMLWriter::writeCData | Subir | XMLWriter::writeDTDAttlist


XMLWriter::writeDTD

(no version information, might be only in CVS)

XMLWriter::writeDTD -- Write full DTD tag

Descripción

Object oriented style:

class XMLWriter {

bool writeDTD ( string name [, string publicId [, string systemId [, string subset]]] )

}

Procedural style:

bool xmlwriter_write_dtd ( resource xmlwriter, string name [, string publicId [, string systemId [, string subset]]] )

Writes a full DTD.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The DTD name.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

subset

The content of the DTD.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTD
XMLWriter::endDTD

Anterior | Inicio | Siguiente
XMLWriter::writeDTDEntity | Subir | XMLWriter::writeElementNS


XMLWriter::writeDTDAttlist

(no version information, might be only in CVS)

XMLWriter::writeDTDAttlist -- Write full DTD AttList tag

Descripción

Object oriented style:

class XMLWriter {

bool writeDTDAttlist ( string name, string content )

}

Procedural style:

bool xmlwriter_write_dtd_attlist ( resource xmlwriter, string name, string content )

Writes a DTD attribute list.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the DTD attribute list.

content

The content of the DTD attribute list.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTDAttlist
XMLWriter::endDTDAttlist

Anterior | Inicio | Siguiente
XMLWriter::writeComment | Subir | XMLWriter::writeDTDElement


XMLWriter::writeDTDElement

(no version information, might be only in CVS)

XMLWriter::writeDTDElement -- Write full DTD element tag

Descripción

Object oriented style:

class XMLWriter {

bool writeDTDElement ( string name, string content )

}

Procedural style:

bool xmlwriter_write_dtd_element ( resource xmlwriter, string name, string content )

Writes a full DTD element.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the DTD element.

content

The content of the element.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTDElement
XMLWriter::endDTDElement

Anterior | Inicio | Siguiente
XMLWriter::writeDTDAttlist | Subir | XMLWriter::writeDTDEntity


XMLWriter::writeDTDEntity

(no version information, might be only in CVS)

XMLWriter::writeDTDEntity -- Write full DTD Entity tag

Descripción

Object oriented style:

class XMLWriter {

bool writeDTDEntity ( string name, string content )

}

Procedural style:

bool xmlwriter_write_dtd_entity ( resource xmlwriter, string name, string content )

Writes a full DTD entity.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the entity.

content

The content of the entity.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startDTDEntity
XMLWriter::endDTDEntity

Anterior | Inicio | Siguiente
XMLWriter::writeDTDElement | Subir | XMLWriter::writeDTD


XMLWriter::writeElement

(no version information, might be only in CVS)

XMLWriter::writeElement -- Write full element tag

Descripción

Object oriented style:

class XMLWriter {

bool writeElement ( string name, string content )

}

Procedural style:

bool xmlwriter_write_element ( resource xmlwriter, string name, string content )

Writes a full element tag.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The element name.

content

The element contents.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startElement
XMLWriter::endElement
XMLWriter::writeElementNS

Anterior | Inicio | Siguiente
XMLWriter::writeElementNS | Subir | XMLWriter::writePI


XMLWriter::writeElementNS

(no version information, might be only in CVS)

XMLWriter::writeElementNS -- Write full namesapced element tag

Descripción

Object oriented style:

class XMLWriter {

bool writeElementNS ( string prefix, string name, string uri, string content )

}

Procedural style:

bool xmlwriter_write_element_ns ( resource xmlwriter, string prefix, string name, string uri, string content )

Writes a full namesapced element tag.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The element name.

uri

The namespace URI.

content

The element contents.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startElementNS
XMLWriter::endElement
XMLWriter::writeElement

Anterior | Inicio | Siguiente
XMLWriter::writeDTD | Subir | XMLWriter::writeElement


XMLWriter::writePI

(no version information, might be only in CVS)

XMLWriter::writePI -- Writes a PI

Descripción

Object oriented style:

class XMLWriter {

bool writePI ( string target, string content )

}

Procedural style:

bool xmlwriter_write_pi ( resource xmlwriter, string target, string content )

Writes a processing instruction.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

target

The target of the processing instruction.

content

The content of the processing instruction.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::startPI
XMLWriter::endPI

Anterior | Inicio | Siguiente
XMLWriter::writeElement | Subir | XMLWriter::writeRaw


XMLWriter::writeRaw

(no version information, might be only in CVS)

XMLWriter::writeRaw -- Write a raw XML text

Descripción

Object oriented style:

class XMLWriter {

bool writeRaw ( string content )

}

Procedural style:

bool xmlwriter_write_raw ( resource xmlwriter, string content )

Writes a raw xml text.

Lista de parámetros

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The text string to write.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

XMLWriter::text

Anterior | Inicio | Siguiente
XMLWriter::writePI | Subir | XSL functions


xpath_register_ns

(PHP 4 >= 4.2.0, PECL)

xpath_register_ns -- Registrar el espacio de nombres dado en el contexto XPath pasado

Descripción

bool xpath_register_ns ( XPathContext contexto_xpath, string prefijo, string uri )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

xpath_register_ns_auto()

Anterior | Inicio | Siguiente
xpath_register_ns_auto | Subir | xptr_eval


xpath_register_ns_auto

(PECL)

xpath_register_ns_auto -- Registrar el espacio de nombres dado en el contexto XPath pasado

Descripción

bool xpath_register_ns_auto ( XPathContext contexto_xpath [, object nodo_contexto] )

Aviso

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ver también

xpath_register_ns()

Anterior | Inicio | Siguiente
xpath_new_context | Subir | xpath_register_ns


XSLTProcessor::__construct

(no version information, might be only in CVS)

XSLTProcessor::__construct -- Creates a new XSLTProcessor object

Descripción

class XSLTProcessor {

__construct ( (void); )

}

Creates a new XSLTProcessor object.

Ejemplos

Ejemplo 1. Creating an XSLTProcessor

<?php

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load($xsl_filename);
$xsl->importStyleSheet($doc);

$doc->load($xml_filename);
echo $xsl->transformToXML($doc);

?>

Anterior | Inicio | Siguiente
XSL functions | Subir | XSLTProcessor::getParameter


yaz_es

(PECL)

yaz_es -- Prepares for an Extended Service Request

Descripción

void yaz_es ( resource id, string type, array args )

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

Nota: Many Z39.50 Servers do not support Extended Services.

The yaz_es() creates an Extended Service Request packages and puts it into a queue of operations. Use yaz_wait() to send the request(s) to the server. After completion of yaz_wait() the result of the Extended Service operation should be expected with a call to yaz_es_result().

Lista de parámetros

id

The connection resource returned by yaz_connect().

type

A string which represents the type of the Extended Service: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Each type is specified in the following section.

args

An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM Extended Services.

Valores retornados

No value is returned.

Ejemplos

Ejemplo 1. Record Update

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>some title</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Ver también

yaz_es_result()

Anterior | Inicio | Siguiente
yaz_es_result | Subir | yaz_get_option


ZipArchive::addFile

(no version information, might be only in CVS)

ZipArchive::addFile -- Adds a file to a ZIP archive from the given path

Descripción

bool ZipArchive::addFile ( string filename [, string localname] )

Adds a file to a ZIP archive from a given path

Lista de parámetros

filename

The path to the file to add.

localname

local name inside ZIP archive.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

This example opens a ZIP file archive test.zip and add the file /path/to/index.txt. as newname.txt.

Ejemplo 1. Open and extract

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
zip_read | Subir | ZipArchive::addFromString


ZipArchive::addFromString

(no version information, might be only in CVS)

ZipArchive::addFromString -- Add a file to a ZIP archive using its contents

Descripción

bool ZipArchive::addFromString ( string localname, string contents )

Add a file to a ZIP archive using its contents.

Lista de parámetros

localname

The name of the entry to create.

contents

The contents to use to create the entry. It is used in a binary safe mode.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Add an entry to a new archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Ejemplo 2. Add file to a directory inside an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::addFile | Subir | ZipArchive::close


ZipArchive::close

(no version information, might be only in CVS)

ZipArchive::close -- Close the active archive (opened or newly created)

Descripción

bool ZipArchive::close ( void )

Close opened or created archive and save changes. This method is automatically called at the end of the script.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ZipArchive::addFromString | Subir | ZipArchive::deleteIndex


ZipArchive::deleteIndex

(no version information, might be only in CVS)

ZipArchive::deleteIndex -- delete an entry in the archive using its index

Descripción

bool ZipArchive::deleteIndex ( int index )

Delete an entry in the archive using its index.

Lista de parámetros

index

Index of the entry to delete.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Delete file from archive using its index

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::close | Subir | ZipArchive::deleteName


ZipArchive::deleteName

(no version information, might be only in CVS)

ZipArchive::deleteName -- delete an entry in the archive using its name

Descripción

bool ZipArchive::deleteName ( string name )

Delete an entry in the archive using its name.

Lista de parámetros

name

Name of the entry to delete.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Delete file from archive using its name

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::deleteIndex | Subir | ZipArchive::extractTo


ZipArchive::extractTo

(no version information, might be only in CVS)

ZipArchive::extractTo -- Extract the archive contents

Descripción

mixed ZipArchive::extractTo ( string destination [, mixed entries] )

Extract the complete archive or the given files to the specified destination.

Lista de parámetros

destination

Location where to extract the files.

entries

The entries to extract. It accepts either a single entry name or an array of names.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

Ejemplo 1. Extract all entries

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Ejemplo 2. Extract only two entries

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::deleteName | Subir | ZipArchive::getArchiveComment


ZipArchive::getArchiveComment

(no version information, might be only in CVS)

ZipArchive::getArchiveComment -- Returns the Zip archive comment

Descripción

string ZipArchive::getArchiveComment ( void )

Returns the Zip archive comment.

Valores retornados

Returns the Zip archive comment or FALSE on failure.

Ejemplos

Ejemplo 1. Dump an archive comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip')
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Or using the archive property */
    var_dump($zip->comment);
} else {
    echo 'failed, code:' . $res;
}
?>

Anterior | Inicio | Siguiente
ZipArchive::extractTo | Subir | ZipArchive::getCommentIndex


ZipArchive::getCommentIndex

(no version information, might be only in CVS)

ZipArchive::getCommentIndex -- Returns the comment of an entry using the entry index

Descripción

string ZipArchive::getCommentIndex ( int index [, int flags] )

Returns the comment of an entry using the entry index.

Lista de parámetros

index

Index of the entry

flags

If flags is set to ZIPARCHIVE::FL_UNCHANGED, the original unchanged comment is returned.

Valores retornados

Returns the comment on success or FALSE on failure.

Ejemplos

Ejemplo 1. Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip')
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'failed, code:' . $res;
}
?>

Anterior | Inicio | Siguiente
ZipArchive::getArchiveComment | Subir | ZipArchive::getCommentName


ZipArchive::getCommentName

(no version information, might be only in CVS)

ZipArchive::getCommentName -- Returns the comment of an entry using the entry name

Descripción

string ZipArchive::getCommentName ( string name [, int flags] )

Returns the comment of an entry using the entry name.

Lista de parámetros

name

Name of the entry

flags

If flags is set to ZIPARCHIVE::FL_UNCHANGED, the original unchanged comment is returned.

Valores retornados

Returns the comment on success or FALSE on failure.

Ejemplos

Ejemplo 1. Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip')
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'failed, code:' . $res;
}
?>

Anterior | Inicio | Siguiente
ZipArchive::getCommentIndex | Subir | ZipArchive::getFromIndex


ZipArchive::getFromIndex

(no version information, might be only in CVS)

ZipArchive::getFromIndex -- Returns the entry contents using its index.

Descripción

mixed ZipArchive::getFromIndex ( int index [, int flags] )

Returns the entry contents using its index.

Lista de parámetros

index

Index of the entry

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Valores retornados

Returns the contents of the entry on success or FALSE on failure.

Ejemplos

Ejemplo 1. Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::getCommentName | Subir | ZipArchive::getFromName


ZipArchive::getFromName

(no version information, might be only in CVS)

ZipArchive::getFromName -- Returns the entry contents using its name.

Descripción

mixed ZipArchive::getFromName ( string name [, int flags] )

Returns the entry contents using its name.

Lista de parámetros

name

Name of the entry

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Valores retornados

Returns the contents of the entry on success or FALSE on failure.

Ejemplos

Ejemplo 1. Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'failed';
}
?>

Ejemplo 2. Convert an image from a zip entry

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>

Anterior | Inicio | Siguiente
ZipArchive::getFromIndex | Subir | ZipArchive::getNameIndex


ZipArchive::getNameIndex

(no version information, might be only in CVS)

ZipArchive::getNameIndex -- Returns the name of an entry using its index

Descripción

string ZipArchive::getNameIndex ( int index )

Returns the name of an entry using its index.

Lista de parámetros

index

Index of the entry.

Valores retornados

Returns the name on success or FALSE on failure.

Anterior | Inicio | Siguiente
ZipArchive::getFromName | Subir | ZipArchive::getStream


ZipArchive::getStream

(no version information, might be only in CVS)

ZipArchive::getStream -- Get a file handler to the entry defined by its name (read only).

Descripción

resource ZipArchive::getStream ( string name )

Get a file handler to the entry defined by its name. For now it only supports read operations.

Lista de parámetros

name

The name of the entry to use.

Valores retornados

Returns a file pointer (resource) on success or FALSE on failure.

Ejemplos

Ejemplo 1. Get the entry contents with fread and store it.

<?php
$content = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("failed\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "done.\n";
}
?>

Ejemplo 2. Same as the previous example but with fopen and the zip stream wrapper

<?php
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("cannot open\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
    echo "$contents\n";
}
fclose($fp);
echo "done.\n";
?>

Ejemplo 3. Stream wrapper and image, can be used with the xml function as well

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>

Anterior | Inicio | Siguiente
ZipArchive::getNameIndex | Subir | ZipArchive::locateName


ZipArchive::locateName

(no version information, might be only in CVS)

ZipArchive::locateName -- Returns the index of the entry in the archive

Descripción

mixed ZipArchive::locateName ( string name [, int flags] )

Locates an entry using its name.

Lista de parámetros

name

The name of the entry to look up

flags

The function returns the index of the file named fname in archive. The flags are specified by ORing the following values, or 0 for none of them.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

Valores retornados

Returns the index of the entry on success or FALSE on failure.

Ejemplos

Ejemplo 1. Create an archive and then use it with locateName

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZIPARCHIVE::CREATE) !== TRUE) {
    exit('failed');
}

$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');

if (!$zip->status == ZIPARCHIVE::ER_OK) {
    echo "failed to write zip\n";
}
$zip->close();

if ($zip->open($file) === TRUE) {
    exit('failed');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZIPARCHIVE::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR) . "\n";
$zip->close();

?>

Anterior | Inicio | Siguiente
ZipArchive::getStream | Subir | ZipArchive::open


ZipArchive::open

(no version information, might be only in CVS)

ZipArchive::open -- Open a ZIP file archive

Descripción

mixed ZipArchive::open ( string filename [, int flags] )

Opens a new zip archive for reading, writing or modifying.

Lista de parámetros

filename

The file name of the ZIP archive to open.

flags

The mode to use to open the archive.

  • ZIPARCHIVE::OVERWRITE

  • ZIPARCHIVE::CREATE

  • ZIPARCHIVE::EXCL

  • ZIPARCHIVE::CHECKCONS

Valores retornados

Error codes

Returns TRUE on success or the error code.

  • ZIPARCHIVE::ER_EXISTS

  • ZIPARCHIVE::ER_INCONS

  • ZIPARCHIVE::ER_INVAL

  • ZIPARCHIVE::ER_MEMORY

  • ZIPARCHIVE::ER_NOENT

  • ZIPARCHIVE::ER_NOZIP

  • ZIPARCHIVE::ER_OPEN

  • ZIPARCHIVE::ER_READ

  • ZIPARCHIVE::ER_SEEK

Ejemplos

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

Ejemplo 1. Open and extract

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Ejemplo 2. Create an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::locateName | Subir | ZipArchive::renameIndex


ZipArchive::renameIndex

(no version information, might be only in CVS)

ZipArchive::renameIndex -- Renames an entry defined by its index

Descripción

bool ZipArchive::renameIndex ( int index, string newname )

Renames an entry defined by its index.

Lista de parámetros

index

Index of the entry to rename.

newname

New name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Rename one entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    $zip->renameIndex(2,'newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Anterior | Inicio | Siguiente
ZipArchive::open | Subir | ZipArchive::renameName


ZipArchive::renameName

(no version information, might be only in CVS)

ZipArchive::renameName -- Renames an entry defined by its name

Descripción

bool ZipArchive::renameName ( string name, string newname )

Renames an entry defined by its index.

Lista de parámetros

name

Name of the entry to rename.

newname

New name.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Rename one entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('currentname.txt','newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Anterior | Inicio | Siguiente
ZipArchive::renameIndex | Subir | ZipArchive::setArchiveComment


ZipArchive::setArchiveComment

(no version information, might be only in CVS)

ZipArchive::setArchiveComment -- Set the comment of a ZIP archive

Descripción

mixed ZipArchive::setArchiveComment ( string comment )

Set the comment of a ZIP archive.

Lista de parámetros

comment

The contents of the comment.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Create an archive and set a comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $z->setArchiveComment('new archive comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::renameName | Subir | ZipArchive::setCommentIndex


ZipArchive::setCommentIndex

(no version information, might be only in CVS)

ZipArchive::setCommentIndex -- Set the comment of an entry defined by its index

Descripción

mixed ZipArchive::setCommentIndex ( int index, string comment )

Set the comment of an entry defined by its index.

Lista de parámetros

index

Index of the entry.

comment

The contents of the comment.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Open an archive and set a comment for an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $z->setCommentIndex(2, 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::setArchiveComment | Subir | ZipArchive::setCommentName


ZipArchive::setCommentName

(no version information, might be only in CVS)

ZipArchive::setCommentName -- Set the comment of an entry defined by its name

Descripción

mixed ZipArchive::setCommentIndex ( string name, string comment )

Set the comment of an entry defined by its name.

Lista de parámetros

name

Name of the entry.

comment

The contents of the comment.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Ejemplo 1. Open an archive and set a comment for an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $z->setCommentName('entry1.txt', 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Anterior | Inicio | Siguiente
ZipArchive::setCommentIndex | Subir | ZipArchive::statIndex


ZipArchive::statIndex

(no version information, might be only in CVS)

ZipArchive::statIndex -- Get the details of an entry defined by its index.

Descripción

mixed ZipArchive::statIndex ( int index [, int flags] )

The function obtains information about the entry defined by its index.

Lista de parámetros

index

Index of the entry

flags

ZIPARCHIVE::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

Valores retornados

Returns an array containing the entry details or FALSE on failure.

Ejemplos

Ejemplo 1. Dump the stat info of an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)

Anterior | Inicio | Siguiente
ZipArchive::setCommentName | Subir | ZipArchive::statName


ZipArchive::statName

(no version information, might be only in CVS)

ZipArchive::statName -- Get the details of an entry defined by its name.

Descripción

mixed ZipArchive::statName ( name name [, int flags] )

The function obtains information about the entry defined by its name.

Lista de parámetros

name

Name of the entry

flags

The flags argument specifies how the name lookup should be done. Also, ZIPARCHIVE::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

Valores retornados

Returns an array containing the entry details or FALSE on failure.

Ejemplos

Ejemplo 1. Dump the stat info of an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)

Anterior | Inicio | Siguiente
ZipArchive::statIndex | Subir | ZipArchive::unchangeAll


ZipArchive::unchangeAll

(no version information, might be only in CVS)

ZipArchive::unchangeAll -- Undo all changes done in the archive.

Descripción

mixed ZipArchive::unchangeAll ( void )

Undo all changes done in the archive.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ZipArchive::statName | Subir | ZipArchive::unchangeArchive


ZipArchive::unchangeArchive

(no version information, might be only in CVS)

ZipArchive::unchangeArchive -- Revert all global changes done in the archive.

Descripción

mixed ZipArchive::unchangeArchive ( void )

Revert all global changes to the archive archive. For now, this only reverts archive comment changes.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ZipArchive::unchangeAll | Subir | ZipArchive::unchangeIndex


ZipArchive::unchangeIndex

(no version information, might be only in CVS)

ZipArchive::unchangeIndex -- Revert all changes done to an entry at the given index.

Descripción

mixed ZipArchive::unchangeIndex ( int index )

Revert all changes done to an entry at the given index.

Lista de parámetros

index

Index of the entry.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ZipArchive::unchangeArchive | Subir | ZipArchive::unchangeName


ZipArchive::unchangeName

(no version information, might be only in CVS)

ZipArchive::unchangeName -- Revert all changes done to an entry with the given name.

Descripción

mixed ZipArchive::unchangeName ( string name )

Revert all changes done to an entry.

Lista de parámetros

name

Name of the entry.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Anterior | Inicio | Siguiente
ZipArchive::unchangeIndex | Subir | Funciones de Compresión Zlib


Configuration

(no version information, might be only in CVS)

Configuration -- http module configuration directives

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. HTTP Configuration Options

Name | Default | Changeable | Description
http.etag.mode | "MD5" | PHP_INI_ALL |
http.log.cache | "" | PHP_INI_ALL |
http.log.redirect | "" | PHP_INI_ALL |
http.log.not_found | "" | PHP_INI_ALL |
http.log.allowed_methods | "" | PHP_INI_ALL |
http.log.composite | "" | PHP_INI_ALL |
http.request.methods.allowed | "" | PHP_INI_ALL |
http.request.methods.custom | "" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
http.send.inflate.start_flags | "0" | PHP_INI_ALL |
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
http.send.deflate.start_flags | "0" | PHP_INI_ALL |
http.send.not_found_404 | "1" | PHP_INI_ALL |
http.only_exceptions | "0" | PHP_INI_ALL |
http.force_exit | "1" | PHP_INI_ALL |

Anterior | Inicio | Siguiente
Installation | Subir | Constants


Constants

(no version information, might be only in CVS)

Constants -- predefined http module constants

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Constants usable with http_support()

HTTP_SUPPORT (integer)

HTTP_SUPPORT_REQUESTS (integer)

HTTP_SUPPORT_MAGICMIME (integer)

HTTP_SUPPORT_ENCODINGS (integer)

HTTP_SUPPORT_SSLREQUESTS (integer)

Constants usable with http_parse_params()

HTTP_PARAMS_ALLOW_COMMA (integer)

HTTP_PARAMS_ALLOW_FAILURE (integer)

HTTP_PARAMS_RAISE_ERROR (integer)

HTTP_PARAMS_DEFAULT (integer)

Constants usable with http_parse_cookie() and its return value

HTTP_COOKIE_PARSE_RAW (integer)

HTTP_COOKIE_SECURE (integer)

HTTP_COOKIE_HTTPONLY (integer)

Constants usable with http_deflate() and HttpDeflateStream

HTTP_DEFLATE_LEVEL_DEF (integer)

HTTP_DEFLATE_LEVEL_MIN (integer)

HTTP_DEFLATE_LEVEL_MAX (integer)

HTTP_DEFLATE_TYPE_ZLIB (integer)

HTTP_DEFLATE_TYPE_GZIP (integer)

HTTP_DEFLATE_TYPE_RAW (integer)

HTTP_DEFLATE_STRATEGY_DEF (integer)

HTTP_DEFLATE_STRATEGY_FILT (integer)

HTTP_DEFLATE_STRATEGY_HUFF (integer)

HTTP_DEFLATE_STRATEGY_RLE (integer)

HTTP_DEFLATE_STRATEGY_FIXED (integer)

Constants usable with HttpDeflateStream and HttpInflateStream

HTTP_ENCODING_STREAM_FLUSH_NONE (integer)

HTTP_ENCODING_STREAM_FLUSH_SYNC (integer)

HTTP_ENCODING_STREAM_FLUSH_FULL (integer)

Constants used for error reporting and Exceptions

HTTP_E_RUNTIME (integer)

HTTP_E_INVALID_PARAM (integer)

HTTP_E_HEADER (integer)

HTTP_E_MALFORMED_HEADERS (integer)

HTTP_E_REQUEST_METHOD (integer)

HTTP_E_MESSAGE_TYPE (integer)

HTTP_E_ENCODING (integer)

HTTP_E_REQUEST (integer)

HTTP_E_REQUEST_POOL (integer)

HTTP_E_SOCKET (integer)

HTTP_E_RESPONSE (integer)

HTTP_E_URL (integer)

HTTP_E_QUERYSTRING (integer)

Constants usable with HttpMessage

HTTP_MSG_NONE (integer)

HTTP_MSG_REQUEST (integer)

HTTP_MSG_RESPONSE (integer)

Constants usable with HttpQueryString

HTTP_QUERYSTRING_TYPE_BOOL (integer)

HTTP_QUERYSTRING_TYPE_INT (integer)

HTTP_QUERYSTRING_TYPE_FLOAT (integer)

HTTP_QUERYSTRING_TYPE_STRING (integer)

HTTP_QUERYSTRING_TYPE_ARRAY (integer)

HTTP_QUERYSTRING_TYPE_OBJECT (integer)

Constants used for the httpauthtype request option

HTTP_AUTH_BASIC (integer)

HTTP_AUTH_DIGEST (integer)

HTTP_AUTH_NTLM (integer)

HTTP_AUTH_ANY (integer)

Constants used for the HTTP protocol version request option

HTTP_VERSION_NONE (integer)

HTTP_VERSION_1_0 (integer)

HTTP_VERSION_1_1 (integer)

Constants used for the proxytype request option

HTTP_PROXY_SOCKS4 (integer)

HTTP_PROXY_SOCKS5 (integer)

HTTP_PROXY_HTTP (integer)

Predefined HTTP request method constants

HTTP_METH_GET (integer)

HTTP_METH_HEAD (integer)

HTTP_METH_POST (integer)

HTTP_METH_PUT (integer)

HTTP_METH_DELETE (integer)

HTTP_METH_OPTIONS (integer)

HTTP_METH_TRACE (integer)

HTTP_METH_CONNECT (integer)

HTTP_METH_PROPFIND (integer)

HTTP_METH_PROPPATCH (integer)

HTTP_METH_MKCOL (integer)

HTTP_METH_COPY (integer)

HTTP_METH_MOVE (integer)

HTTP_METH_LOCK (integer)

HTTP_METH_UNLOCK (integer)

HTTP_METH_VERSION_CONTROL (integer)

HTTP_METH_REPORT (integer)

HTTP_METH_CHECKOUT (integer)

HTTP_METH_CHECKIN (integer)

HTTP_METH_UNCHECKOUT (integer)

HTTP_METH_MKWORKSPACE (integer)

HTTP_METH_UPDATE (integer)

HTTP_METH_LABEL (integer)

HTTP_METH_MERGE (integer)

HTTP_METH_BASELINE_CONTROL (integer)

HTTP_METH_MKACTIVITY (integer)

HTTP_METH_ACL (integer)

Constants usable with http_redirect()

HTTP_REDIRECT (integer)

HTTP_REDIRECT_PERM (integer)

HTTP_REDIRECT_FOUND (integer)

HTTP_REDIRECT_POST (integer)

HTTP_REDIRECT_PROXY (integer)

HTTP_REDIRECT_TEMP (integer)

Constants usable with http_build_url()

HTTP_URL_REPLACE (integer)

HTTP_URL_JOIN_PATH (integer)

HTTP_URL_JOIN_QUERY (integer)

HTTP_URL_STRIP_USER (integer)

HTTP_URL_STRIP_PASS (integer)

HTTP_URL_STRIP_AUTH (integer)

HTTP_URL_STRIP_PORT (integer)

HTTP_URL_STRIP_PATH (integer)

HTTP_URL_STRIP_QUERY (integer)

HTTP_URL_STRIP_FRAGMENT (integer)

HTTP_URL_STRIP_ALL (integer)

Anterior | Inicio | Siguiente
Configuration | Subir | HttpMessage


HttpDeflateStream

(no version information, might be only in CVS)

HttpDeflateStream -- HTTP Deflate Stream Class

Sinopsis

class HttpDeflateStream

Class Members

Constantes predefinidas

Tabla 1.

Type | Name | Description
int | TYPE_GZIP | gzip encoding
int | TYPE_ZLIB | zlib AKA deflate encoding
int | TYPE_RAW | raw deflate encoding
int | LEVEL_MIN | minimum compression level
int | TYPE_DEF | default compression level
int | LEVEL_MAX | maximum compression level
int | STRATEGY_DEF | default strategy
int | STRATEGY_FILT | filtered strategy
int | STRATEGY_HUFF | Huffman strategy
int | STRATEGY_RLE | RLE strategy
int | STRATEGY_FIXED | fixed strategy
int | FLUSH_NONE | no forced flush
int | FLUSH_SYNC | synching flush
int | FLUSH_FULL | full flush

Métodos

HttpDeflateStream::construct()
HttpDeflateStream::update()
HttpDeflateStream:: flush()
HttpDeflateStream::finish()

Anterior | Inicio | Siguiente
HttpQueryString::xlate | Subir | HttpDeflateStream::__construct


HttpInflateStream

(no version information, might be only in CVS)

HttpInflateStream -- HTTP Inflate Stream

Sinopsis

class HttpInflateStream

Class Members

Constants

Tabla 1.

Type | Name | Description
int | FLUSH_NONE | no forced flush
int | FLUSH_SYNC | synching flush
int | FLUSH_FULL | full flush

Nota: Flushing usually has no effect on inflate streams.

Métodos

HttpInflateStream::construct()
HttpInflateStream::update()
HttpInflateStream:: flush()
HttpInflateStream::finish()

Anterior | Inicio | Siguiente
HttpDeflateStream::finish | Subir | HttpInflateStream::__construct


HttpMessage

(no version information, might be only in CVS)

HttpMessage -- HTTP Message Class

Sinopsis

class HttpMessage implements Iterator, Countable, Serializable

Class Members

Propiedades

Tabla 1. Instance Properties

Modifiers | Type | Name | Description
protected | int | type | message type
protected | string | body | message body
protected | float | httpVersion | HTTP protocol version
protected | array | headers | message headers
protected | string | requestMethod | request method name
protected | requestUrl | string | request URL
protected | int | responseCode | response code
protected | string | responseStatus | response status message
protected | HttpMessage | parentMessage | reference to parent message

Nota: None of these default properties can be accessed by reference, array key/index notation nor be used in increment or decrement operations.

Constantes predefinidas

Tabla 2.

Type | Name | Description
int | TYPE_NONE | message has is of no specific type
int | TYPE_REQUEST | message is a request style HTTP message
int | TYPE_RESPONSE | message is a response style HTTP message

Métodos

HttpMessage::construct()
HttpMessage::fromString()
HttpMessage::toString()
HttpMessage::toMessageTypeObject()
HttpMessage::guessContentType()
HttpMessage::detach()
HttpMessage::prepend()
HttpMessage::reverse()
HttpMessage::send()
HttpMessage::getParentMessage()
HttpMessage:: getType()
HttpMessage:: setType()
HttpMessage::getHttpVersion()
HttpMessage::setHttpVersion()
HttpMessage::getHeaders()
HttpMessage::getHeader()
HttpMessage::addHeaders()
HttpMessage::setHeaders()
HttpMessage::getBody()
HttpMessage::setBody()
HttpMessage::getRequestMethod()
HttpMessage::setRequestMethod()
HttpMessage::getRequestUrl()
HttpMessage::setRequestUrl()
HttpMessage::getResponseCode()
HttpMessage::setResponseCode()
HttpMessage::getResponseStatus()
HttpMessage::setResponseStatus()

Anterior | Inicio | Siguiente
Constants | Subir | HttpMessage::__construct


HttpQueryString

(no version information, might be only in CVS)

HttpQueryString -- HTTP Query String Class

Sinopsis

class HttpQueryString implements Serializable, ArrayAccess

Class Members

Propiedades

Tabla 1. Instance Properties

Modifiers | Type | Name | Description
private | array | queryArray | query parameters
private | string | queryString | serialized query parameters

Tabla 2. Static Properties

Modifiers | Type | Name | Description
private | array | instance | holds singletons

Constantes predefinidas

Tabla 3.

Type | Name | Description
int | TYPE_BOOL | retrieve query param as bool
int | TYPE_INT | retrieve query param as int
int | TYPE_FLOAT | retrieve query param as float
int | TYPE_STRING | retrieve query param as string
int | TYPE_ARRAY | retrieve query param as array
int | TYPE_OBJECT | retrieve query param as object

Métodos

HttpQueryString::construct()
HttpQueryString::singleton()
HttpQueryString::get()
HttpQueryString::mod()
HttpQueryString::set()
HttpQueryString::toArray()
HttpQueryString::toString()
HttpQueryString::xlate()

Anterior | Inicio | Siguiente
HttpMessage::setResponseStatus | Subir | HttpQueryString::__construct


HttpRequest

(no version information, might be only in CVS)

HttpRequest -- HTTP Request Class

Sinopsis

class HttpRequest

Class Members

Propiedades

Tabla 1. Instance Properties

Modifiers | Type | Name | Description
protected | array | options |
protected | array | postFields |
protected | array | postFiles |
protected | array | responseInfo |
protected | array | responseData |
protected | HttpMessage | responseMessage |
protected | integer | responseCode |
protected | string | responseStatus |
protected | integer | method |
protected | string | url |
protected | string | contentType |
protected | string | rawPostData |
protected | string | queryData |
protected | string | putFile |
protected | string | putData |
protected | HttpMessage | history |
public | boolean | recordHistory |

Constantes predefinidas

Tabla 2.

Type | Name | Description
integer | METH_GET |
integer | METH_HEAD |
integer | METH_POST |
integer | METH_PUT |
integer | METH_DELETE |
integer | METH_OPTIONS |
integer | METH_TRACE |
integer | METH_CONNECT |
integer | METH_PROPFIND |
integer | METH_PROPPATCH |
integer | METH_MKCOL |
integer | METH_COPY |
integer | METH_MOVE |
integer | METH_LOCK |
integer | METH_UNLOCK |
integer | METH_VERSION_CONTROL |
integer | METH_REPORT |
integer | METH_CHECKOUT |
integer | METH_CHECKIN |
integer | METH_UNCHECKOUT |
integer | METH_MKWORKSPACE |
integer | METH_UPDATE |
integer | METH_LABEL |
integer | METH_MERGE |
integer | METH_BASELINE_CONTROL |
integer | METH_MKACTIVITY |
integer | METH_ACL |
integer | VERSION_1_0 |
integer | VERSION_1_1 |
integer | VERSION_NONE |
integer | AUTH_BASIC |
integer | AUTH_DIGEST |
integer | AUTH_NTLM |
integer | AUTH_ANY |
integer | PROXY_SOCKS4 |
integer | PROXY_SOCKS5 |
integer | PROXY_HTTP |

Métodos

HttpRequest::construct()
HttpRequest::getOptions()
HttpRequest::setOptions()
HttpRequest::getSslOptions()
HttpRequest::addSslOptions()
HttpRequest::setSslOptions()
HttpRequest::getUrl()
HttpRequest::setUrl()
HttpRequest::getMethod()
HttpRequest::setMethod()
HttpRequest::enableCookies()
HttpRequest::resetCookies()
HttpRequest::getCookies()
HttpRequest::addCookies()
HttpRequest::setCookies()
HttpRequest::getHeaders()
HttpRequest::addHeaders()
HttpRequest::setHeaders()
HttpRequest::getContentType()
HttpRequest::setContentType()
HttpRequest::getQueryData()
HttpRequest::addQueryData()
HttpRequest::setQueryData()
HttpRequest::getPostFields()
HttpRequest::addPostFields()
HttpRequest::setPostFields()
HttpRequest::getPostFiles()
HttpRequest::addPostFile()
HttpRequest::setPostFiles()
HttpRequest::getRawPostData()
HttpRequest::addRawPostData()
HttpRequest::setRawPostData()
HttpRequest::getPutData()
HttpRequest::addPutData()
HttpRequest::setPutData()
HttpRequest::getPutFile()
HttpRequest::setPutFile()
HttpRequest::send()
HttpRequest::getRequestMessage()
HttpRequest::getRawRequestMessage()
HttpRequest::getResponseMessage()
HttpRequest::getRawResponseMessage()
HttpRequest::getResponseCode()
HttpRequest::getResponseStatus()
HttpRequest::getResponseHeader()
HttpRequest::getResponseCookies()
HttpRequest::getResponseBody()
HttpRequest::getResponseData()
HttpRequest::getResponseInfo()
HttpRequest::clearHistory()
HttpRequest::getHistory()

Anterior | Inicio | Siguiente
HttpInflateStream::finish | Subir | HttpRequest::addCookies


HttpRequestPool

(no version information, might be only in CVS)

HttpRequestPool -- HTTP Request Pool Class

Sinopsis

class HttpRequest implements Iterator, Countable

Class Members

Propiedades

The HttpRequestPool class does not have any properties.

Constantes predefinidas

The HttpRequestPool class does not have any constants.

Métodos

HttpRequestPool::construct()
HttpRequestPool::destruct()
HttpRequestPool::attach()
HttpRequestPool::detach()
HttpRequestPool::getAttachedRequests()
HttpRequestPool::getFinishedRequests()
HttpRequestPool:: reset()
HttpRequestPool::send()
HttpRequestPool::socketPerform()
HttpRequestPool::socketSelect()

Anterior | Inicio | Siguiente
HttpRequest::setUrl | Subir | HttpRequestPool::attach


HttpResponse

(no version information, might be only in CVS)

HttpResponse -- HTTP Response Class

Sinopsis

static class HttpResponse

Class Members

Propiedades

Tabla 1. Static Properties

Modifiers | Type | Name | Description
private | boolean | sent |
private | boolean | catch |
private | integer | mode |
private | resource | stream |
private | string | file |
private | string | data |
protected | boolean | cache |
protected | boolean | gzip |
protected | string | eTag |
protected | integer | lastModified |
protected | string | cacheControl |
protected | string | contentType |
protected | string | contentDisposition |
protected | integer | bufferSize |
protected | double | throttleDelay |

Constantes predefinidas

Tabla 2.

Type | Name | Description
integer | REDIRECT |
integer | REDIRECT_PERM |
integer | REDIRECT_FOUND |
integer | REDIRECT_POST |
integer | REDIRECT_PROXY |
integer | REDIRECT_TEMP |

Métodos

HttpResponse::getBufferSize()
HttpResponse::setBufferSize()
HttpResponse::getCacheControl()
HttpResponse::setCacheControl()
HttpResponse::getCache()
HttpResponse::setCache()
HttpResponse::getContentDisposition()
HttpResponse::setContentDisposition()
HttpResponse::getContentType()
HttpResponse::setContentType()
HttpResponse::getData()
HttpResponse::setData()
HttpResponse::getETag()
HttpResponse::setETag()
HttpResponse::getFile()
HttpResponse::setFile()
HttpResponse::getGzip()
HttpResponse::setGzip()
HttpResponse::getHeader()
HttpResponse::setHeader()
HttpResponse::getLastModified()
HttpResponse::setLastModified()
HttpResponse::getStream()
HttpResponse::setStream()
HttpResponse::getThrottleDelay()
HttpResponse::setThrottleDelay()
HttpResponse::capture()
HttpResponse::send()
HttpResponse::guessContentType()

Anterior | Inicio | Siguiente
HttpRequestPool::socketSelect | Subir | HttpResponse::capture


Installation

(no version information, might be only in CVS)

Installation -- Installing and configuring the HTTP extension

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/pecl_http.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Installation requirements on Windows

In order to be able to load this extension on Windows, you additionally need to load the following PHP extensions: hash, iconv, SPL.

Installation requirements on other platforms

The extension must be built with libcurl support to enable request functionality (--with-http-curl-requests). A library version equal or greater to v7.12.3 is required.

To enable support for sending and receiving compressed responses, the extension must be built with zlib support (--with-http-zlib-compression). A library version equal or greater than v1.2.2 is required.

Content type quessing can be enabled by building this extension with libmagic support (--with-http-magic-mime).

Anterior | Inicio | Siguiente
HTTP | Subir | Configuration


Directivas de php.ini

Manual de PHP
Anterior Siguiente

Apéndice G. Directivas de php.ini

Tabla de contenidos
Lista de directivas de php.ini
Descripción de las directivas de núcleo en php.ini

Lista de directivas de php.ini

Esta lista incluye las directivas de php.ini que puede definir para configurar su instalación de PHP.

Tabla G-1. Opciones de configuración

Nombre | Predeterminado | Modificable | Cambios
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0.
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.3.4. Disponible a partir de PHP 4.0.4.
allow_url_include | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 5.2.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Disponible a partir de PHP 4.1.0.
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12p2
apc.enabled | "1" | PHP_INI_ALL |
apc.enable_cli | "0" | PHP_INI_SYSTEM |
apc.file_update_protection | "2" | PHP_INI_SYSTEM |
apc.filters | NULL | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.max_file_size | "1M" | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM |
apc.ttl | "0" | PHP_INI_SYSTEM |
apc.user_entries_hint | "100" | PHP_INI_SYSTEM |
apc.user_ttl | "0" | PHP_INI_SYSTEM |
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL |
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible a partir de PHP 4.0.5.
arg_separator.output | "&" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0.
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible a partir de PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
bcmath.scale | "0" | PHP_INI_ALL |
bcompiler.enabled | "1" | PHP_INI_ALL |
birdstep.max_links | "-1" | PHP_INI_ALL | Disponible desde PHP 4.2.0.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.0.
cgi.discard_path | "0" | PHP_INI_ALL | Disponible desde PHP 6.0.0.
cgi.fix_pathinfo | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_ALL | Disponible desde PHP 4.2.0.
cgi.nph | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.5.
cgi.redirect_status_env | NULL | PHP_INI_ALL | Disponible desde PHP 4.2.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
child_terminate | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
com.allow_dcom | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.5.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible a partir de PHP 4.1.0.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible a partir de PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible a partir de PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.5.
crack.default_dictionary | NULL | PHP_INI_PERDIR | Disponible a partir de PHP 4.0.5.
daffodildb.default_host | "localhost" | PHP_INI_ALL |
daffodildb.default_password | "daffodil" | PHP_INI_ALL |
daffodildb.default_socket | NULL | PHP_INI_ALL |
daffodildb.default_user | "DAFFODIL" | PHP_INI_ALL |
daffodildb.port | "3456" | PHP_INI_ALL |
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
date.sunrise_zenith | "90.83" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
date.sunset_zenith | "90.83" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponible a partir de PHP 5.1.0.
dba.default_handler | "" | PHP_INI_ALL | Disponible a partir de PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.3.0.
default_charset | "" | PHP_INI_ALL |
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
define_syslog_variables | "0" | PHP_INI_ALL |
disable_classes | "" | Solo en php.ini | Disponible a partir de PHP 4.3.2.
disable_functions | "" | Solo en php.ini | Disponible a partir de PHP 4.0.1.
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.0.3.
docref_ext | "" | PHP_INI_ALL | Disponible a partir de PHP 4.3.2.
docref_root | "" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM |
engine | "1" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
expect.logfile | "" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expose_php | "1" | Solo en php.ini |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
fastcgi.logging | "1" | PHP_INI_ALL | Disponible desde PHP 4.4.0.
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.2.0.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.batchsize | "1000" | PHP_INI_ALL | Disponible a partir de PHP 5.1.0.
fbsql.default_database | "" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.6.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.2.3. Disponible a partir de PHP 4.0.3.
filter.default | "string" | PHP_INI_ALL |
filter.default_flags | NULL | PHP_INI_ALL |
from | "" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible a partir de PHP 4.0.2.
http.allowed_methods | "" | PHP_INI_ALL |
http.allowed_methods_log | "" | PHP_INI_ALL |
http.cache_log | "" | PHP_INI_ALL |
http.composite_log | "" | PHP_INI_ALL |
http.etag_mode | "MD5" | PHP_INI_ALL |
http.force_exit | "1" | PHP_INI_ALL |
http.ob_deflate_auto | "0" | PHP_INI_PERDIR |
http.ob_deflate_flags | "0" | PHP_INI_ALL |
http.ob_inflate_auto | "0" | PHP_INI_PERDIR |
http.ob_inflate_flags | "0" | PHP_INI_ALL |
http.only_exceptions | "0" | PHP_INI_ALL |
http.redirect_log | "" | PHP_INI_ALL |
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.3.2.
hyperwave.default_port | "418" | PHP_INI_ALL |
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
ibase.default_db | NULL | PHP_INI_SYSTEM | Disponible a partir de PHP 5.0.0.
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM |
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
ifx.allow_persistent | "1" | PHP_INI_SYSTEM |
ifx.blobinfile | "1" | PHP_INI_ALL |
ifx.byteasvarchar | "0" | PHP_INI_ALL |
ifx.charasvarchar | "0" | PHP_INI_ALL |
ifx.default_host | NULL | PHP_INI_SYSTEM |
ifx.default_password | NULL | PHP_INI_SYSTEM |
ifx.default_user | NULL | PHP_INI_SYSTEM |
ifx.max_links | "-1" | PHP_INI_SYSTEM |
ifx.max_persistent | "-1" | PHP_INI_SYSTEM |
ifx.nullformat | "0" | PHP_INI_ALL |
ifx.textasvarchar | "0" | PHP_INI_ALL |
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
ignore_user_abort | "0" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR en PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.2.
ingres.blob_segment_length | "4096" | PHP_INI_ALL |
ingres.cursor_mode | "0" | PHP_INI_ALL |
ingres.default_database | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.2.
ingres.default_password | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.2.
ingres.default_user | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.2.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.2.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.0.2.
ingres.report_db_warnings | "1" | PHP_INI_ALL |
ingres.timeout | "-1" | PHP_INI_ALL |
ingres.trace_connect | "0" | PHP_INI_ALL |
ircg.control_user | "nobody" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
ircg.keep_alive_interval | "60" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
ircg.max_format_message_sets | "12" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
ircg.shared_mem_size | "6000000" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
ircg.work_dir | "/tmp/ircg" | PHP_INI_ALL | Disponible a partir de PHP 5.0.0.
last_modified | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.0.5.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
magic_quotes_runtime | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL |
mail.force_extra_parameters | NULL | PHP_INI_PERDIR | Disponible a partir de PHP 5.0.0.
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Disponible a partir de PHP 4.1.0.
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Disponible a partir de PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.6.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Disponible a partir de PHP 4.3.0.
mbstring.func_overload | "0" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible a partir de PHP 4.2.0.
mbstring.http_input | "pass" | PHP_INI_ALL | Disponible a partir de PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Disponible a partir de PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.6.
mbstring.language | "neutral" | PHP_INI_PERDIR | Disponible a partir de PHP 4.3.0.
mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Disponible a partir de PHP 5.1.2.
mbstring.substitute_character | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.6.
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Disponible a partir de PHP 4.0.2.
memory_limit | "8M" | PHP_INI_ALL |
mime_magic.debug | "0" | PHP_INI_SYSTEM | Disponible a partir de PHP 5.0.0.
mime_magic.magicfile | "/ruta/hacia/php/magic.mime" | PHP_INI_SYSTEM | Disponible a partir de PHP 4.3.0.
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Disponible a partir de PHP 4.0.4.
mssql.charset | "" | PHP_INI_ALL | Disponible desde PHP 5.1.2.
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Disponible desde PHP 4.2.0.
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_procs | "-1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0.
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.1.0.
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible desde PHP 4.3.0.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.1.
mysql.default_user | NULL | PHP_INI_ALL |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
mysqli.default_host | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Disponible desde PHP 5.0.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
namazu.debugmode | "0" | PHP_INI_ALL |
namazu.lang | NULL | PHP_INI_ALL |
namazu.loggingmode | "0" | PHP_INI_ALL |
namazu.sortmethod | NULL | PHP_INI_ALL |
namazu.sortorder | NULL | PHP_INI_ALL |
nsapi.read_timeout | "60" | PHP_INI_ALL | Disponible desde PHP 4.3.3.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.2.
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.default_db | NULL | PHP_INI_ALL |
odbc.default_pw | NULL | PHP_INI_ALL |
odbc.default_user | NULL | PHP_INI_ALL |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_SYSTEM |
oracle.allow_persistent | "-1" | PHP_INI_ALL |
oracle.max_links | "-1" | PHP_INI_ALL |
oracle.max_persistent | "-1" | PHP_INI_ALL |
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponible desde PHP 4.0.4.
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Disponible desde PHP 5.1.0.
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pfpro.defaultport | "443" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pfpro.proxyaddress | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pfpro.proxylogon | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pfpro.proxypassword | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pfpro.proxyport | "" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
precision | "14" | PHP_INI_ALL |
printer.default_printer | "" | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0.
report_memleaks | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
runkit.internal_override | "0" | PHP_INI_SYSTEM |
runkit.superglobal | "" | PHP_INI_PERDIR |
safe_mode | "0" | PHP_INI_SYSTEM |
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM |
safe_mode_exec_dir | "" | PHP_INI_SYSTEM |
safe_mode_gid | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.1.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Disponible desde PHP 4.1.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM |
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | NULL | PHP_INI_SYSTEM |
serialize_precision | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.2.
session.auto_start | "0" | PHP_INI_ALL |
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
session.hash_function | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
session.name | "PHPSESSID" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.save_path | "" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.2.3. PHP_INI_PERDIR en PHP < 5. Disponible desde PHP 4.0.3.
session_pgsql.create_table | "1" | PHP_INI_SYSTEM |
session_pgsql.db | "host=localhost dbname=php_session user=nobody" | PHP_INI_SYSTEM |
session_pgsql.disable | "0" | PHP_INI_SYSTEM |
session_pgsql.failover_mode | "0" | PHP_INI_SYSTEM |
session_pgsql.gc_interval | "3600" | PHP_INI_SYSTEM |
session_pgsql.keep_expired | "0" | PHP_INI_SYSTEM |
session_pgsql.sem_file_name | "/tmp/php_session_pgsql" | PHP_INI_SYSTEM |
session_pgsql.serializable | "0" | PHP_INI_SYSTEM |
session_pgsql.short_circuit | "0" | PHP_INI_SYSTEM |
session_pgsql.use_app_vars | "0" | PHP_INI_SYSTEM |
session_pgsql.vacuum_interval | "21600" | PHP_INI_SYSTEM |
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0.
simple_cvs.authMethod | "0" | PHP_INI_ALL |
simple_cvs.compressionLevel | "0" | PHP_INI_ALL |
simple_cvs.cvsRoot | "0" | PHP_INI_ALL |
simple_cvs.host | "0" | PHP_INI_ALL |
simple_cvs.moduleName | "0" | PHP_INI_ALL |
simple_cvs.userName | "0" | PHP_INI_ALL |
simple_cvs.workingDir | "0" | PHP_INI_ALL |
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite.assoc_case | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.compatability_mode | "0" | PHP_INI_ALL |
sybase.interface_file | "" | PHP_INI_ALL |
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible desde PHP 4.0.2.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
sybct.hostname | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sybct.login_timeout | "-1" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible desde PHP 4.0.2.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible desde PHP 4.0.2.
sybct.min_client_severity | "10" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sybct.min_server_severity | "10" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sybct.packet_size | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.5.
sybct.timeout | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.2.
sysvshm.init_mem | "10000" | PHP_INI_ALL |
tidy.clean_output | "0" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Disponible desde PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
unicode.fallback_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode.from_error_mode | "2" | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode.from_error_subst_char | "3f" | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode.http_input_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode.output_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode.runtime_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 6.0.0.
unicode_semantics | "off" | PHP_INI_PERDIR | Disponible desde PHP 6.0.0.
unserialize_callback_func | NULL | PHP_INI_ALL | Disponible desde PHP 4.2.0.
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponible desde PHP 4.0.4.
user_agent | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0.
user_dir | NULL | PHP_INI_SYSTEM |
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.0.5.
xbithack | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Disponible desde PHP 4.1.0.
xmms.path | "/usr/bin/xmms" | PHP_INI_ALL |
xmms.session | "0" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_file | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0.
yaz.log_mask | NULL | PHP_INI_ALL |
yaz.max_links | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.
zlib.output_compression | "0" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Disponible desde PHP 4.3.0.

Tabla G-2. Definición de constantes PHP_INI_*

Constante | Valor | Significado
PHP_INI_USER | 1 | La entrada puede definirse en scripts de usuario o en el registro de Windows
PHP_INI_PERDIR | 2 | La entrada puede definirse en php.ini, .htaccess o httpd.conf
PHP_INI_SYSTEM | 4 | La entrada puede definirse en php.ini o httpd.conf
PHP_INI_ALL | 7 | La entrada puede definirse en cualquier parte

Anterior | Inicio | Siguiente
Opciones de configuración | Subir | Descripción de las directivas de núcleo en php.ini


Descripción de las directivas de núcleo en php.ini

Esta lista incluye las directivas de núcleo en php.ini que puede definir para configurar su instalación de PHP. Las directivas gestionadas por extensiones son listadas en las páginas de documentación de las extensiones respectivamente. Por ejemplo, puede encontrarse información sobre las directivas de sesiones en la página de sesiones.

Opciones Httpd

Tabla G-3. Opciones Httpd

Nombre | Predeterminado | Modificable | Cambios
async_send | "0" | PHP_INI_ALL |

Opciones del Lenguaje

Tabla G-4. Opciones del Lenguaje y Configuración Variada

Nombre | Predeterminado | Modificable | Cambios
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
precision | "14" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0.
expose_php | "1" | sólo php.ini |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0.

A continuación se presenta una corta explicación de las directivas de configuración.

short_open_tag boolean

Indica si se permite el uso de la forma corta (<? ?>) de la etiqueta de apertura de PHP. Si desea usar PHP en conjunto con XML, puede deshabilitar esta opción, de modo que pueda usar <?xml ?> en forma directa. De otro modo, puede imprimir esta cadena con PHP, por ejemplo: <?php echo '<?xml version="1.0"'; ?>. Asimismo, si el parámetro está deshabilitado, debe usar la forma larga de la etiqueta de apertura de PHP (<?php ?>).

Nota: Esta directiva afecta también la contracción <?=, la cual es idéntica a <? echo. El uso de este atajo requiere que short_open_tag se encuentre habilitado.

asp_tags boolean

Habilita el uso de etiquetas <% %> tipo-ASP además de las etiquetas convencionales <?php ?>. Esto incluye el atajo para imprimir valores de variable <%= $valor %>. Para más información, vea Escapar desde HTML.

Nota: El soporte para etiquetas tipo-ASP fue agregado en 3.0.4.

precision integer

El número de dígitos significativos desplegados en números de punto flotante.

y2k_compliance boolean

Obligar compatibilidad con el año 2000 (causa problemas con navegadores no-compatibles)

allow_call_time_pass_reference boolean

Indica si se debe emitir una advertencia cuando se pasan argumentos por referencia al momento de efectuar llamados de función. Este método es considerado obsoleto y es posible que no sea soportado en versiones futuras de PHP/Zend. El método recomendado de especificar cuáles argumentos deben ser pasados por referencia se encuentra en la declaración de funciones. Es recomendable que proceda a deshabilitar esta opción y asegurarse de que sus scripts trabajen correctamente sin ella, de modo que pueda estar seguro de que trabajarán con versiones futuras del lenguaje (recibirá una advertencia cada vez que use esta característica).

Pasar argumentos por referencia al momento de llamar una función fue declarado obsoleto por razones de limpieza del código. La función puede modificar su argumento de una forma no documentada si no se declara que el argumento es pasado por referencia. Para prevenir efectos colaterales, es mejor especificar cuáles argumentos son pasados por referencia únicamente en la declaración de la función.

Vea también las Referencias Explicadas.

expose_php boolean

Decide si PHP debe exponer el hecho de que está instalado en el servidor (p.ej. agregando su firma en la cabecera del servidor Web). No constituye un riesgo de seguridad en ninguna forma, pero hace posible determinar si usted usa PHP es su servidor o no.

zend.ze1_compatibility_mode boolean

Habilita el modo de compatibilidad con el Motor Zend 1 (PHP 4). Afecta el modo de clonar, moldear (los objetos sin propiedades son moldeados a FALSE o 0) y comparar objetos. En este modo, los objetos son pasados de forma predeterminada por valor en lugar de hacerlo por referencia.

Vea también la sección titulada Migración de PHP 4 a PHP 5.

Límites de Recursos

Tabla G-5. Límites de Recursos

Nombre | Predeterminado | Modificable | Cambios
memory_limit | "8M" | PHP_INI_ALL |

A continuación se presenta una corta explicación de las directivas de configuración.

memory_limit integer

Este valor define la cantidad máxima de memoria en bytes que un script puede reservar. Esto ayuda a prevenir que scripts pobremente escritos terminen consumiendo toda la memoria disponible en un servidor. Para usar esta directiva, es necesario habilitarla en tiempo de compilación. De modo que la línea de llamado a configure debe incluir: --enable-memory-limit. Note que es necesario definir su valor a -1 si no desea imponer un límite a su memoria.

A partir de PHP 4.3.2, y siempre que memory_limit se encuentre habilitado, la función de PHP memory_get_usage() estará disponible.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

Vea también: max_execution_time.

Ajuste de Rendimiento

Tabla G-6. Ajuste de Rendimiento

Nombre | Predeterminado | Modificable | Registro de Cambios
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0.

A continuación se presenta una corta explicación de las directivas de configuración.

realpath_cache_size integer

Determina el tamaño del caché realpath a ser usado por PHP. Este valor debe ser incrementado en sistemas en los que PHP abre muchos archivos, para reflejar la cantidad de operaciones de archivo realizadas.

realpath_cache_ttl integer

Duración de tiempo (en segundos) para mantener en caché la información de realpath para un archivo o directorio dado. En sistemas en los que raramente cambian los archivos, considere incrementar este valor.

Manejo de Datos

Tabla G-7. Opciones de Configuración de Manejo de Datos

Nombre | Predeterminado | Modificable | Cambios
track_vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL | Disponible desde PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible desde PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.0.5.
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0.
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
gpc_order | "GPC" | PHP_INI_ALL |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.1.0.
allow_webdav_methods | "0" | PHP_INI_PERDIR |

A continuación se presenta una corta explicación de las directivas de configuración.

track_vars boolean

Si esta opción es habilitada, entonces las variables de Entorno, GET, POST, Cookies y Servidor pueden encontrarse en las matrices asociativas globales $_ENV, $_GET, $_POST, $_COOKIE, y $_SERVER.

Note que a partir de PHP 4.0.3, track_vars se encuentra habilitada siempre.

arg_separator.output string

El separador usado en URLs generadas por PHP para separar los argumentos.

arg_separator.input string

Lista de separadores usados por PHP para interpretar URLs de entrada en variables.

Nota: ¡Cada caracter en esta directiva es considerado como separador!

variables_order string

Establece el orden de procesamiento de variables EGPCS (Entorno, GET, POST, Cookie, y Servidor). Por ejemplo, si variables_order se define como "SP", entonces PHP creará las variables superglobals $_SERVER y $_POST, pero no creará $_ENV, $_GET, ni $_COOKIE. El valor "" quiere decir que ninguna variable superglobals será definida.

Si la directiva ahora obsoleta register_globals es habilitada (ésta ha sido removida para PHP 6), entonces variables_order también configura el orden en que las variables ENV, GET, POST, COOKIE and SERVER son pobladas en el contexto global. De modo que por ejemplo si variables_order se define como "EGPCS", register_globals es habilitado, y tanto $_GET['action'] como $_POST['action'] son definidos, entonces $action tendrá el valor de $_POST['action'] ya que P viene después de G en nuestro valor de ejemplo de la directiva.

Nota: El contenido y el orden de $_REQUEST es también afectado por esta directiva.

auto_globals_jit boolean

Cuando es habilitado el parámetro, las variables SERVER y ENV son creadas al usarse por primera vez ("Just In Time", o justo a tiempo) en lugar de hacerlo cuando el script inicia. Si estas variables no son usadas al interior del script, esta directiva resultará en una ganancia en rendimiento.

Las directivas de PHP register_globals, register_long_arrays, y register_argc_argv deben ser deshabilitadas para que esta directiva tenga efecto. A partir de PHP 5.1.3 no es necesario deshabilitar register_argc_argv.

register_globals boolean

Indica si las variables EGPCS (Entorno, GET, POST, Cookie, Servidor) deben registrarse como variables globales o no.

A partir de PHP 4.2.0, esta directiva tiene el valor predeterminado off.

Por favor lea el capítulo de seguridad sobre el Uso de register_globals para más información al respecto.

Por favor note que register_globals no puede ser definido en tiempo de ejecución (ini_set()). Sin embargo, puede usar .htaccess si su servidor huésped lo permite como se describe anteriormente. Un ejemplo de entrada en .htaccess: php_flag register_globals off.

Nota: El valor register_globals es afectado por la directiva variables_order.

Esta directiva fue eliminada en PHP 6.0.0.

register_argc_argv boolean

Le dice a PHP si declarar las variables argv y argc (que contendrían la información de GET).

Vea también la documentación sobre la línea de comandos. Asimismo, esta directiva se encuentra disponible desde PHP 4.0.0, y su valor siempre fue "on" anteriormente.

register_long_arrays boolean

Le dice a PHP si debe registrar o no las variables predeterminadas largas tipo $HTTP_*_VARS. Cuando su valor es On (predeterminado), las variables de PHP largas predefinidas como $HTTP_GET_VARS serán definidas. Si no las usa, se recomienda deshablitar esta opción, por razones de rendimiento. En su lugar, use las matrices superglobales, como $_GET.

Esta directiva se encuentra disponible a partir de PHP 5.0.0 y fue abandonada en PHP 6.0.0.

post_max_size integer

Define el tamaño máximo permitido de datos enviados mediante el método post. Este parámetro afecta también la carga de archivos. Para cargar archivos grandes, este valor debe ser mayor que upload_max_filesize.

Si el límite de memoria es habilitado mediante su script configure, memory_limit afecta también la carga de archivos. En general, memory_limit debería ser mayor que post_max_size.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

Si el tamaño de los datos post es mayor que post_max_size, las variables superglobales $_POST y $_FILES estarán vacías. Esto puede detectarse de varias maneras, p.ej. pasando la variable $_GET al script que procesa los datos, es decir <form action="editar.php?procesado=1">, y luego verificando que $_GET['procesado'] esté definido.

gpc_order string

Define el orden de procesamiento de variables GET/POST/COOKIE. El valor predeterminado de esta directiva es "GPC". Al definir este valor como "GP", por ejemplo, se causará que PHP ignore por completo las cookies y sobrescriba cualquier variables proveniente del método GET con variables del método POST que tengan el mismo nombre.

Nota: Esta opción no se encuentra disponible en PHP 4. Use variables_order en su lugar.

auto_prepend_file string

Especifica el nombre de un archivo que es interpretado automáticamente antes del archivo principal. El archivo es incluido como si fuera llamado con la función include(), de modo que se usa el valor de include_path.

El valor especial none deshabilita el preprocesamiento automático.

auto_append_file string

Especifica el nombre de un archivo que es interpretado automáticamente después del archivo principal. El archivo es incluido como si fuera llamado con la función include(), así que el valor de include_path es usado.

El valor especial none deshabilita el procesamiento posterior automático.

Nota: Si el script es terminado con exit(), el procesamionto posterior no occurirá.

default_mimetype string

default_charset string

A partir de 4.0.0, PHP siempre imprime de manera predeterminada una codificación de caracteres en la cabecera Content-type:. Para deshabilitar el envío del juego de caracteres, simplemente defina este valor como vacío.

always_populate_raw_post_data boolean

Poblar siempre $HTTP_RAW_POST_DATA, que centiene los datos POST puros. De otra forma, la variable es poblada solamente con los tipos de datos MIME no reconocidos. Sin embargo, el método preferido para acceder a los datos POST puros es php://input. $HTTP_RAW_POST_DATA no se encuentra disponible con enctype="multipart/form-data".

allow_webdav_methods boolean

Permitir el manejo de peticiones WebDAV http al interior de scripts PHP (p.ej. PROPFIND, PROPPATCH, MOVE, COPY, etc.). Esta directiva no existe a la altura de PHP 4.3.2. Si desea obtener los datos enviados desde tales peticiones, tiene que definir always_populate_raw_post_data también.

Vea también: magic_quotes_gpc, magic_quotes_runtime, y magic_quotes_sybase.

Rutas y Directorios

Tabla G-8. Opciones de Configuración de Rutas y Directorios

Nombre | Predeterminado | Modificable | Cambios
include_path | ".;/ruta/hacia/php/pear" | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/ruta/hacia/php" | PHP_INI_SYSTEM |
extension | NULL | php.ini solamente |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.0.
cgi.fix_pathinfo | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_ALL | Disponible desde PHP 4.2.0.
cgi.redirect_status_env | NULL | PHP_INI_ALL | Disponible desde PHP 4.2.0.
fastcgi.impersonate | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0.

A continuación se presenta una corta explicación de las directivas de configuración.

include_path string

Especifica una lista de directorios en donde las funciones require(), include(), fopen(), file(), readfile() y file_get_contents() buscan archivos. El formato es como aquel de la variable de entorno de sistema PATH: una lista de directorios separada con dos-puntos en Unix o punto-y-coma en Windows.

Ejemplo G-1. include_path en Unix

include_path=".:/php/includes"

Ejemplo G-2. include_path en Windows

include_path=".;c:\php\includes"

Mediante el uso de . en la ruta de inclusión es posible definir inclusiones relativas, ya que su valor se traduce como el directorio actual.

doc_root string

El "directorio raíz" de PHP en el servidor. Usado solamente si su valor no es vacío. Si PHP es configurado con safe mode, no se servirán archivos por fuera de este directorio. Si PHP no fue compilado con FORCE_REDIRECT, usted debería definir doc_root en caso de estar usando PHP como CGI bajo cualquier servidor web (diferente a IIS). La alternativa es usar el parámetro de configuración cgi.force_redirect descrito más adelante.

user_dir string

El nombre base del directorio usado en un directorio de usuario para archivos PHP, por ejemplo public_html.

extension_dir string

El directorio en donde PHP ha de buscar por extensiones cargadas dinámicamente. Vea también: enable_dl, y dl().

extension string

Cuáles extensiones de carga dinámica leer cuando PHP inicia.

cgi.check_shebang_line boolean

Controla si PHP CGI verifica la existencia de una línea que comienze con #! (la secuencia conocida como shebang) al inicio del script en ejecución. Esta línea puede necesitarse si el script soporta la ejecución tanto como script independiente como un script CGI. PHP en modo CGI ignora esta línea y su contenido si esta directiva es habilitada.

cgi.fix_pathinfo boolean

Ofrece un soporte real de PATH_INFO/PATH_TRANSLATED para CGI. El comportamiento anterior de PHP era definir PATH_TRANSLATED como SCRIPT_FILENAME, y no producir el valor PATH_INFO. Para más información sobre PATH_INFO, consulte las especificaciones sobre el estándar cgi. Definir este parámetro como 1 causará que el modo CGI de PHP fije su ruta para que cumpla con la especificación. Un valor de cero causa que PHP se comporte como lo hacía anteriormente. El valor predeterminado es cero. Es recomendable que arregle sus scripts para que usen SCRIPT_FILENAME en lugar de PATH_TRANSLATED.

cgi.force_redirect boolean

cgi.force_redirect es necesario para ofrecer seguridad cuando PHP es ejecutado como CGI bajo la mayoría de servidores web. Si no es definido, PHP habilita este parámetro por defecto. Es posible deshabilitarlo bajo su propio riesgo.

Nota: Usuarios de Windows: Es posible deshabilitar esta opción para IIS, de hecho, es necesario hacerlo. Para lograr que OmniHTTPD o Xitami funcionen es necesario deshabilitar este parámetro.

cgi.redirect_status_env string

Si cgi.force_redirect se encuentra habilitado, y no está usando servidores web Apache o Netscape (iPlanet), puede que necesite definir un nombre de variable de entorno que PHP use para saber si está bien continuar con la ejecución.

Nota: Definir esta variable puede causar problemas de seguridad, asegúrese de saber lo que hace primero.

fastcgi.impersonate string

FastCGI bajo IIS (en un SO basado en WINNT) soporta la habilidad de imitar tokens de seguridad del cliente que hace las peticiones. Esto permite que IIS defina el contexto de seguridad bajo el cual es ejecutada la petición. mod_fastcgi bajo apache no soporta esta característica por el momento (03/17/2002). Defina su valor como 1 si está usando IIS. Su valor predeterminado es cero.

cgi.rfc2616_headers int

Le dice a PHP qué tipo de cabeceras usar cuando envíe los códigos de respuesta HTTP. Si su valor es 0, PHP envía una cabecera Status: que es soportada por Apache y otros servidores web. Cuando esta opción tiene el valor de 1, PHP enviará cabeceras compatibles con el documento RFC 2616. Deje su valor en 0 a menos que sepa lo que está haciendo.

Carga de Archivos

Tabla G-9. Opciones de Configuración de Carga de Archivos

Nombre | Predeterminado | Modificable | Cambios
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.

A continuación se presenta una corta explicación de las directivas de configuración.

file_uploads boolean

Indica si se permite o no la carga de archivos HTTP. Vea también las directivas upload_max_filesize, upload_tmp_dir, y post_max_size.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

upload_tmp_dir string

El directorio temporal usado para almacenar archivos cuando se realiza carga de archivos. Debe tener permisos de escritura para el usuario bajo el que PHP es ejecutado. Si no se especifica, PHP usará el valor predeterminado del sistema.

upload_max_filesize integer

El tamaño máximo de un archivo cargado.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

SQL General

Tabla G-10. Opciones Generales de Configuración SQL

Nombre | Predeterminado | Modificable
sql.safe_mode | "0" | PHP_INI_SYSTEM

A continuación se presenta una corta explicación de las directivas de configuración.

sql.safe_mode boolean

Si es habilitado, las funciones de conexión a bases de datos que especifiquen valores predeterminados usarán esos valores en lugar de los argumentos ofrecidos. Para más información sobre los valores predeterminados, vea la documentación de las funciones de conexión de la base de datos relevante.

Directivas de Configuración del Depurador

Atención

Solo PHP 3 implementa un depurador predeterminado, para más información consulte Apéndice E.

debugger.host string

Nombre DNS o dirección IP del host usado por el depurador.

debugger.port string

Número de puerto usado por el depurador.

debugger.enabled boolean

Indica si el depurador se encuentra habilitado.

Anterior | Inicio | Siguiente
Directivas de php.ini | Subir | List of Supported Timezones


Instalación y configuración

Manual de PHP
Anterior Siguiente

II. Instalación y configuración

Tabla de contenidos
3. Consideraciones generales de instalación
4. Installation on Unix systems
5. Installation on Mac OS X
6. Installation on Windows systems
7. Installation of PECL extensions
8. Problemas?
9. Configuración del comportamiento de PHP

Anterior | Inicio | Siguiente
¿Y ahora qué? |  | Consideraciones generales de instalación


Consideraciones generales de instalación

Manual de PHP
Anterior Siguiente

Capítulo 3. Consideraciones generales de instalación

Antes de instalar PHP, necesitais saber porque quereis utilizarlo. Existen tres campos principales en donde PHP se puede usar, tal y como se describe en la sección Qué se puede hacer con PHP?:

  • Scripts en la parte del servidor

  • Scripts en linea de comandos

  • Aplicaciones gráficas clientes

El primero es el más tradicional y el principal campo de trabajo. Se necesitan tres cosas para que funcione. El analizador PHP (CGI ó módulo), un servidor web y un navegador. Dependiendo de la versión de sistema operativo que utiliceis, probablemente tengais un servidor web (p.ej: Apache en Linux y MacOS X ó IIS en Windows). También se puede alquilar espacio web en una empresa que ofrezca este servicio. De esta manera no se necesita instalar nada, solamente escribir los scripts PHP, subirlos al espacio alquilado y ver el resultado en vuestro navegador.

Teneis dos maneras de utilizar PHP, si instalais vosotros el servidor y PHP. Existen módulos directos (también llamados SAPI) para muchos servidores web, como Apache, Microsoft Internet Information Server, Netscape e iPlanet. Muchos otros servidores soportan ISAPI, (p.ej.:OmniHTTPd). Si PHP no soporta un módulo para tu servidor web, siempre se puede usar como binario CGI. Esto significa que el servidor se configura para usar el ejecutable para linea de comandos de PHP en el procesado de peticiones de ficheros PHP.

Si estais interesados en usar PHP desde la linea de comandos (p.ej.: para generar imagenes offline ó procesar ficheros de textos, etc) necesitais el ejecutable para linea de comandos. Para más información, lea la sección Usando PHP desde la línea de comandos. En este caso no se necesita ni servidor web, ni navegador.

Con PHP tambien se puede escribir aplicaciones gráficas usando la extensión PHP-GTK. Esta es una forma totalmente distinta de utilizar PHP que cuando se utiliza para escribir páginas web, ya que no se genera código HTML sino que se trabaja con ventanas y objetos dentro de las mismas. Para más información sobre PHP-GTK, visitar las páginas dedicadas a esta extensión. PHP-GTK no se incluye en la distribución oficial de PHP.

A partir de ahora, esta sección tratará sobre la configuración de PHP con servidores web, en Unix y Windows, tanto como módulo, como binario CGI.

PHP, el código fuente y distribuciones binarias para Windows se pueden encontrar en http://www.php.net/. Recomendamos utilizar un servidor espejo cerca de donde esteis para bajaros la versión de PHP que querais.

Anterior | Inicio | Siguiente
Instalación y configuración | Subir | Installation on Unix systems


Installation on Mac OS X

Manual de PHP
Anterior Siguiente

Capítulo 5. Installation on Mac OS X

Tabla de contenidos
Using Packages
Using the bundled PHP
Compiling for OS X Server
Compiling for MacOS X Client

This section contains notes and hints specific to installing PHP on Mac OS X. There are two slightly different versions of Mac OS X, Client and Server, our manual deals with installing PHP on both systems. Note that PHP is not available for MacOS 9 and earlier versions.

Using Packages

There are a few pre-packaged and pre-compiled versions of PHP for Mac OS X. This can help in setting up a standard configuration, but if you need to have a different set of features (such as a secure server, or a different database driver), you may need to build PHP and/or your web server yourself. If you are unfamiliar with building and compiling your own software, it's worth checking whether somebody has already built a packaged version of PHP with the features you need.

The following resources offer easy to install packages and precompiled binaries for PHP on Mac OS:

  • Darwin: http://darwinports.opendarwin.org/

  • Entropy: http://www.entropy.ch/software/macosx/php/

  • Fink: http://fink.sourceforge.net/

Anterior | Inicio | Siguiente
Debian GNU/Linux installation notes | Subir | Using the bundled PHP


Using the bundled PHP

PHP has come standard with Macs since OS X version 10.0.0. Enabling PHP with the default web server requires uncommenting a few lines in the Apache configuration file httpd.conf whereas the CGI and/or CLI are enabled by default (easily accessible via the Terminal program).

Enabling PHP using the instructions below is meant for quickly setting up a local development environment. It's highly recommended to always upgrade PHP to the newest version. Like most live software, newer versions are created to fix bugs and add features and PHP being is no different. See the appropriate MAC OS X installation documentation for further details. The following instructions are geared towards a beginner with details provided for getting a default setup to work. All users are encouraged to compile, or install a new packaged version.

The standard installation type is using mod_php, and enabling the bundled mod_php on Mac OS X for the Apache web server (the default web server, that is accessible via System Preferences) involves the following steps:

  1. Locate and open the Apache configuration file. By default, the location is as follows: /etc/httpd/httpd.conf

    Using Finder or Spotlight to find this file may prove difficult as by default it's private and owned by the root user.

    Nota: One way to open this is by using a Unix based text editor in the Terminal, for example nano, and because the file is owned by root we'll use the sudo command to open it (as root) so for example type the following into the Terminal Application (after, it will prompt for a password): sudo nano /etc/httpd/httpd.conf

    Noteworthy nano commands: ^w (search), ^o (save), and ^x (exit) where ^ represents the Ctrl key.

  2. With a text editor, uncomment the lines (by removing the #) that look similar to the following (these two lines are often not together, locate them both in the file):

    # LoadModule php4_module libexec/httpd/libphp4.so

# AddModule mod_php4.c
    Notice the location/path. When building PHP in the future, the above files should be replaced or commented out.

  3. Be sure the desired extensions will parse as PHP (examples: .php .html and .inc)

    Due to the following statement already existing in httpd.conf (as of Mac Panther), once PHP is enabled the .php files will automatically parse as PHP.

    <IfModule mod_php4.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

  4. Be sure the DirectoryIndex loads the desired default index file

    This is also set in httpd.conf. Typically index.php and index.html are used. By default index.php is enabled because it's also in the PHP check shown above. Adjust accordingly.

  5. Set the php.ini location or use the default

    A typical default location on Mac OS X is /usr/local/php/php.ini and a call to phpinfo() will reveal this information. If a php.ini is not used, PHP will use all default values. See also the related FAQ on finding php.ini.

  6. Locate or set the DocumentRoot

    This is the root directory for all the web files. Files in this directory are served from the web server so the PHP files will parse as PHP before outputting them to the browser. A typical default path is /Library/WebServer/Documents but this can be set to anything in httpd.conf. Alternatively, the default DocumentRoot for individual users is /Users/yourusername/Sites

  7. Create a phpinfo() file

    The phpinfo() function will display information about PHP. Consider creating a file in the DocumentRoot with the following PHP code:

    <?php phpinfo(); ?>

  8. Restart Apache, and load the PHP file created above

    To restart, either execute sudo apachectl graceful in the shell or stop/start the "Personal Web Server" option in the OS X System Preferences. By default, loading local files in the browser will have an URL like so: http://localhost/info.php Or using the DocumentRoot in the user directory is another option and would end up looking like: http://localhost/~yourusername/info.php

The CLI (or CGI in older versions) is appropriately named php and likely exists as /usr/bin/php. Open up the terminal, read the command line section of the PHP manual, and execute php -v to check the PHP version of this PHP binary. A call to phpinfo() will also reveal this information.

Anterior | Inicio | Siguiente
Installation on Mac OS X | Subir | Compiling for OS X Server


Compiling for MacOS X Client

The following instructions will help you install a PHP module for the Apache web server included in MacOS X. This version includes support for the MySQL and PostgreSQL databases. These instructions are graciously provided by Marc Liyanage.

Aviso

Be careful when you do this, you could screw up your Apache web server!

Do this to install:

  1. Open a terminal window.

  2. Type wget http://www.diax.ch/users/liyanage/software/macosx/libphp4.so.gz, wait for the download to finish.

  3. Type gunzip libphp4.so.gz.

  4. Type sudo apxs -i -a -n php4 libphp4.so

  5. Now type sudo open -a TextEdit /etc/httpd/httpd.conf. TextEdit will open with the web server configuration file. Locate these two lines towards the end of the file: (Use the Find command)

    #AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
    Remove the two hash marks (#), then save the file and quit TextEdit.

  6. Finally, type sudo apachectl graceful to restart the web server.

PHP should now be up and running. You can test it by dropping a file into your Sites folder which is called test.php. Into that file, write this line: <?php phpinfo() ?>.

Now open up 127.0.0.1/~your_username/test.php in your web browser. You should see a status table with information about the PHP module.

Anterior | Inicio | Siguiente
Compiling for OS X Server | Subir | Installation on Windows systems


Compiling for OS X Server

Mac OS X Server install.

  1. Get the latest distributions of Apache and PHP.

  2. Untar them, and run the configure program on Apache like so.

    ./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache

  3. If you want the compiler to do some optimization, you may also want to add this line:

    setenv OPTIM=-O2

  4. Next, go to the PHP 4 source directory and configure it.

    ./configure --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --mandir=/usr/share/man \
    --with-xml \
    --with-apache=/src/apache_1.3.12
    If you have any other additions (MySQL, GD, etc.), be sure to add them here. For the --with-apache string, put in the path to your apache source directory, for example /src/apache_1.3.12.

  5. Type make and make install. This will add a directory to your Apache source directory under src/modules/php4.

  6. Now, reconfigure Apache to build in PHP 4.

    ./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache \
--activate-module=src/modules/php4/libphp4.a
    You may get a message telling you that libmodphp4.a is out of date. If so, go to the src/modules/php4 directory inside your Apache source directory and run this command: ranlib libmodphp4.a. Then go back to the root of the Apache source directory and run the above configure command again. That'll bring the link table up to date. Run make and make install again.

  7. Copy and rename the php.ini-dist file to your bin directory from your PHP 4 source directory: cp php.ini-dist /usr/local/bin/php.ini or (if your don't have a local directory) cp php.ini-dist /usr/bin/php.ini.

Anterior | Inicio | Siguiente
Using the bundled PHP | Subir | Compiling for MacOS X Client


Installation of PECL extensions

Manual de PHP
Anterior Siguiente

Capítulo 7. Installation of PECL extensions

Tabla de contenidos
Introduction to PECL Installations
Downloading PECL extensions
PECL for Windows users
Compiling shared PECL extensions with PEAR
Compiling shared PECL extensions with phpize
Compiling PECL extensions statically into PHP

Introduction to PECL Installations

PECL is a repository of PHP extensions that are made available to you via the PEAR packaging system. This section of the manual is intended to demonstrate how to obtain and install PECL extensions.

These instructions assume /your/phpsrcdir/ is the path to the PHP source distribution, and that extname is the name of the PECL extension. Adjust accordingly. These instructions also assume a familiarity with the pear command.

To be useful, a shared extension must be built, installed, and loaded. The methods described below provide you with various instructions on how to build and install the extensions, but they do not automatically load them. Extensions can be loaded by adding an extension directive. To this php.ini file, or through the use of the dl() function.

When building PHP modules, it's important to have known-good versions of the required tools (autoconf, automake, libtool, etc.) See the Anonymous CVS Instructions for details on the required tools, and required versions.

Anterior | Inicio | Siguiente
Installation of extensions on Windows | Subir | Downloading PECL extensions


Downloading PECL extensions

There are several options for downloading PECL extensions, such as:

  • http://pecl.php.net

    The PECL web site contains information about the different extensions that are offered by the PHP Development Team. The information available here includes: ChangeLog, release notes, requirements and other similar details.

  • pecl download extname

    PECL extensions that have releases listed on the PECL web site are available for download and installation using the pear command. Specific revisions may also be specified.

  • CVS

    Most PECL extensions also reside in CVS. A web-based view may be seen at http://cvs.php.net/pecl/. To download straight from CVS, the following sequence of commands may be used. Note that phpfi is the password for user cvsread:

    $ cvs -d:pserver:cvsread@cvs.php.net:/repository login
$ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname

  • Windows downloads

    Windows users may find compiled PECL binaries by downloading the Collection of PECL modules from the PHP Downloads page, or by retrieving a PECL Snapshot or an extension DLL on PECL4WIN. To compile PHP under Windows, read the appropriate chapter.

Anterior | Inicio | Siguiente
Installation of PECL extensions | Subir | PECL for Windows users


Compiling shared PECL extensions with PEAR

PEAR makes it easy to create shared PHP extensions. Using the pear command, do the following:

$ pecl install extname

This will download the source for extname, compile, and install extname.so into your extension_dir. extname.so may then be loaded via php.ini

By default, the pear command will not install packages that are marked with the alpha or beta state. If no stable packages are available, you may install a beta package using the following command:

$ pecl install extname-beta

You may also install a specific version using this variant:

$ pecl install extname-0.1

Anterior | Inicio | Siguiente
PECL for Windows users | Subir | Compiling shared PECL extensions with phpize


Compiling shared PECL extensions with phpize

Sometimes, using the pear installer is not an option. This could be because you're behind a firewall, or it could be because the extension you want to install is not available as a PEAR compatible package, such as unreleased extensions from CVS. If you need to build such an extension, you can use the lower-level build tools to perform the build manually.

The phpize command is used to prepare the build environment for a PHP extension. In the following sample, the sources for an extension are in a directory named extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

A successful install will have created extname.so and put it into the PHP extensions directory. You'll need to and adjust php.ini and add an extension=extname.so line before you can use the extension.

If the system is missing the phpize command, and precompiled packages (like RPM's) are used, be sure to also install the appropriate devel version of the PHP package as they often include the phpize command along with the appropriate header files to build PHP and its extensions.

Execute phpize --help to display additional usage information.

Anterior | Inicio | Siguiente
Compiling shared PECL extensions with PEAR | Subir | Compiling PECL extensions statically into PHP


Compiling PECL extensions statically into PHP

You might find that you need to build a PECL extension statically into your PHP binary. To do this, you'll need to place the extension source under the php-src/ext/ directory and tell the PHP build system to regenerate its configure script.

$ cd /your/phpsrcdir/ext
$ pear download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

This will result in the following directory:

/your/phpsrcdir/ext/extname

From here, force PHP to rebuild the configure script, and then build PHP as normal:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Nota: To run the 'buildconf' script you need autoconf 2.13 and automake 1.4+ (newer versions of autoconf may work, but are not supported).

Whether --enable-extname or --with-extname is used depends on the extension. Typically an extension that does not require external libraries uses --enable. To be sure, run the following after buildconf:

$ ./configure --help | grep extname

Anterior | Inicio | Siguiente
Compiling shared PECL extensions with phpize | Subir | Problemas?


PECL for Windows users

As with any other PHP extension DLL, installation is as simple as copying the PECL extension DLLs into the extension_dir folder and loading them from php.ini. For example, add the following line to your php.ini:

extension=php_extname.dll

After doing this, restart the web server.

Anterior | Inicio | Siguiente
Downloading PECL extensions | Subir | Compiling shared PECL extensions with PEAR


Problemas?

Manual de PHP
Anterior Siguiente

Capítulo 8. Problemas?

Tabla de contenidos
Lee la FAQ
Otros problemas
Informes sobre Bugs

Lee la FAQ

Algunos problemas son más comunes que otros. Los más comunes se pueden consultar en la FAQ de PHP en este manual.

Anterior | Inicio | Siguiente
Compiling PECL extensions statically into PHP | Subir | Otros problemas


Informes sobre Bugs

Si creeis que habeis encontrado un bug (error de programación) en PHP, mandarnos un informe. Probablemente los desarrolladores de PHP no lo conozcan y si no informais sobre el mismo no podrá arreglarse. Podeis informar sobre bugs a traves del sistema de seguimiento de bugs en http://bugs.php.net/. No mandar informes a la lista de correos ó en mensajes privados a los desarrolladores. El sistema de seguimiento tambien se puede utilizar para pedir nuevas caracteristicas en versiones futuras.

Lea Como informar sobre un bug antes de mandar un informe.

Anterior | Inicio | Siguiente
Otros problemas | Subir | Configuración del comportamiento de PHP


Otros problemas

Si todavia teneis el mismo problema, alguien en la lista de correos sobre instalación de PHP, puede ayudaros. Primero, comprobar en los archivos de la lista si vuestro problema ya ha sido contestado. Los archivos se encuentran disponibles en las página de soporte http://www.php.net/support.php. Para subscribirse a esta lista de correos mandar un correo vacío a php-install-subscribe@lists.php.net. La dirección de la lista es php-install@lists.php.net.

Si quereis conseguir ayuda en la lista de correo, intentar describir lo más detalladamente posible vuestro problema, los datos sobre vuestro sistema (sistema operativo que utilizais, versión de PHP, servidor web, si usais PHP como binario CGI ó como módulo, safe mode, etc...) y a ser posible código suficiente para poder reproducir vuestro problema.

Anterior | Inicio | Siguiente
Problemas? | Subir | Informes sobre Bugs


Installation on Unix systems

Manual de PHP
Anterior Siguiente

Capítulo 4. Installation on Unix systems

Tabla de contenidos
Apache 1.3.x on Unix systems
Apache 2.0 on Unix systems
Caudium
fhttpd related notes
Sun, iPlanet and Netscape servers on Sun Solaris
CGI and command line setups
HP-UX specific installation notes
OpenBSD installation notes
Solaris specific installation tips
Debian GNU/Linux installation notes

This section will guide you through the general configuration and installation of PHP on Unix systems. Be sure to investigate any sections specific to your platform or web server before you begin the process.

As our manual outlines in the General Installation Considerations section, we are mainly dealing with web centric setups of PHP in this section, although we will cover setting up PHP for command line usage as well.

There are several ways to install PHP for the Unix platform, either with a compile and configure process, or through various pre-packaged methods. This documentation is mainly focused around the process of compiling and configuring PHP. Many Unix like systems have some sort of package installation system. This can assist in setting up a standard configuration, but if you need to have a different set of features (such as a secure server, or a different database driver), you may need to build PHP and/or your web server. If you are unfamiliar with building and compiling your own software, it is worth checking to see whether somebody has already built a packaged version of PHP with the features you need.

Prerequisite knowledge and software for compiling:

  • Basic Unix skills (being able to operate "make" and a C compiler)

  • An ANSI C compiler

  • flex: Version 2.5.4

  • bison: Version 1.28 (preferred), 1.35, or 1.75

  • A web server

  • Any module specific components (such as gd, pdf libs, etc.)

The initial PHP setup and configuration process is controlled by the use of the command line options of the configure script. You could get a list of all available options along with short explanations running ./configure --help. Our manual documents the different options separately. You will find the core options in the appendix, while the different extension specific options are descibed on the reference pages.

When PHP is configured, you are ready to build the module and/or executables. The command make should take care of this. If it fails and you can't figure out why, see the Problems section.

Apache 1.3.x on Unix systems

This section contains notes and hints specific to Apache installs of PHP on Unix platforms. We also have instructions and notes for Apache 2 on a separate page.

You can select arguments to add to the configure on line 10 below from the list of core configure options and from extension specific options described at the respective places in the manual. The version numbers have been omitted here, to ensure the instructions are not incorrect. You will need to replace the 'xxx' here with the correct values from your files.

Ejemplo 4-1. Installation Instructions (Apache Shared Module Version) for PHP

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure --help for a list of available options.  In our example
    we'll do a simple configure with Apache 1 and MySQL support.  Your
    path to apxs may differ from our example.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.

    Note that unless told otherwise, 'make install' will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.

13. Setup your php.ini file:

      cp php.ini-dist /usr/local/lib/php.ini

    You may edit your .ini file to set PHP options.  If you prefer your
    php.ini in another location, use --with-config-file-path=/some/path in
    step 10.

    If you instead choose php.ini-recommended, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

    For PHP 4:

      LoadModule php4_module libexec/libphp4.so

    For PHP 5:

      LoadModule php5_module libexec/libphp5.so

15. And in the AddModule section of httpd.conf, somewhere under the
    ClearModuleList, add this:

    For PHP 4:

      AddModule mod_php4.c

    For PHP 5:

      AddModule mod_php5.c

16. Tell Apache to parse certain extensions as PHP.  For example,
    let's have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We'll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It's also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:

      AddType application/x-httpd-php-source .phps

17. Use your normal procedure for starting the Apache server. (You must
    stop and restart the server, not just cause the server to reload by
    using a HUP or USR1 signal.)

Alternatively, to install PHP as a static object:

Ejemplo 4-2. Installation Instructions (Static Module Installation for Apache) for PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (The above line is correct! Yes, we know libphp5.a does not exist at this
    stage. It isn't supposed to. It will be created.)

12. make
    (you should now have an httpd binary which you can copy to your Apache bin dir if
    it is your first install then you need to "make install" as well)

13. cd ../php-5.x.y
14. cp php.ini-dist /usr/local/lib/php.ini

15. You can edit /usr/local/lib/php.ini file to set PHP options.
    Edit your httpd.conf or srm.conf file and add:
    AddType application/x-httpd-php .php

Nota: Replace php-5 by php-4 and php5 by php4 in PHP 4.

Depending on your Apache install and Unix variant, there are many possible ways to stop and restart the server. Below are some typical lines used in restarting the server, for different apache/unix installations. You should replace /path/to/ with the path to these applications on your systems.

Ejemplo 4-3. Example commands for restarting Apache

1. Several Linux and SysV variants:
/etc/rc.d/init.d/httpd restart

2. Using apachectl scripts:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl and httpsdctl (Using OpenSSL), similar to apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Using mod_ssl, or another SSL server, you may want to manually
stop and start:
/path/to/apachectl stop
/path/to/apachectl startssl

The locations of the apachectl and http(s)dctl binaries often vary. If your system has locate or whereis or which commands, these can assist you in finding your server control programs.

Different examples of compiling PHP for apache are as follows:

./configure --with-apxs --with-pgsql

This will create a libphp5.so (or libphp4.so in PHP 4) shared library that is loaded into Apache using a LoadModule line in Apache's httpd.conf file. The PostgreSQL support is embedded into this library.

./configure --with-apxs --with-pgsql=shared

This will create a libphp4.so shared library for Apache, but it will also create a pgsql.so shared library that is loaded into PHP either by using the extension directive in php.ini file or by loading it explicitly in a script using the dl() function.

./configure --with-apache=/path/to/apache_source --with-pgsql

This will create a libmodphp5.a library, a mod_php5.c and some accompanying files and copy this into the src/modules/php5 directory in the Apache source tree. Then you compile Apache using --activate-module=src/modules/php5/libphp5.a and the Apache build system will create libphp5.a and link it statically into the httpd binary (replace php5 by php4 in PHP 4). The PostgreSQL support is included directly into this httpd binary, so the final result here is a single httpd binary that includes all of Apache and all of PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Same as before, except instead of including PostgreSQL support directly into the final httpd you will get a pgsql.so shared library that you can load into PHP from either the php.ini file or directly using dl().

When choosing to build PHP in different ways, you should consider the advantages and drawbacks of each method. Building as a shared object will mean that you can compile apache separately, and don't have to recompile everything as you add to, or change, PHP. Building PHP into apache (static method) means that PHP will load and run faster. For more information, see the Apache web page on DSO support.

Nota: Apache's default httpd.conf currently ships with a section that looks like this:

User nobody
Group "#-1"

Unless you change that to "Group nogroup" or something like that ("Group daemon" is also very common) PHP will not be able to open files.

Nota: Make sure you specify the installed version of apxs when using --with-apxs=/path/to/apxs. You must NOT use the apxs version that is in the apache sources but the one that is actually installed on your system.

Anterior | Inicio | Siguiente
Consideraciones generales de instalación | Subir | Apache 2.0 on Unix systems


Apache 2.0 on Unix systems

This section contains notes and hints specific to Apache 2.0 installs of PHP on Unix systems.

Aviso

No usar Apache 2.0 y PHP en un sistema en produccion, tanto en Unix como en Windows. Consultar la FAQ

You are highly encouraged to take a look at the Apache Documentation to get a basic understanding of the Apache 2.0 Server.

PHP and Apache 2.0.x compatibility notes: The following versions of PHP are known to work with the most recent version of Apache 2.0.x:

  • PHP 4.3.0 or later available at http://www.php.net/downloads.php.
  • the latest stable development version. Get the source code http://snaps.php.net/php5-latest.tar.gz or download binaries for Windows http://snaps.php.net/win32/php5-win32-latest.zip.
  • a prerelease version downloadable from http://qa.php.net/.
  • you have always the option to obtain PHP through anonymous CVS.
These versions of PHP are compatible to Apache 2.0.40 and later.

Apache 2.0 SAPI-support started with PHP 4.2.0. PHP 4.2.3 works with Apache 2.0.39, don't use any other version of Apache with PHP 4.2.3. However, the recommended setup is to use PHP 4.3.0 or later with the most recent version of Apache2.

All mentioned versions of PHP will work still with Apache 1.3.x.

Download the most recent version of Apache 2.0 and a fitting PHP version from the above mentioned places. This quick guide covers only the basics to get started with Apache 2.0 and PHP. For more information read the Apache Documentation. The version numbers have been omitted here, to ensure the instructions are not incorrect. You will need to replace the 'NN' here with the correct values from your files.

Ejemplo 4-4. Installation Instructions (Apache 2 Shared Module Version)

1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    Now you have Apache 2.0.NN available under /usr/local/apache2,
    configured with loadable module support and the standard MPM prefork.
    To test the installation use your normal procedure for starting
    the Apache server, e.g.:
    /usr/local/apache2/bin/apachectl start
    and stop the server to go on with the configuration for PHP:
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php-NN

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure --help for a list of available options.  In our example
    we'll do a simple configure with Apache 2 and MySQL support.  Your
    path to apxs may differ, in fact, the binary may even be named apxs2 on
    your system.

      ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.

    Note that unless told otherwise, 'make install' will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.

13. Setup your php.ini

    cp php.ini-dist /usr/local/lib/php.ini

    You may edit your .ini file to set PHP options.  If you prefer having
    php.ini in another location, use --with-config-file-path=/some/path in
    step 10.

    If you instead choose php.ini-recommended, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

    For PHP 4:

      LoadModule php4_module modules/libphp4.so

    For PHP 5:

      LoadModule php5_module modules/libphp5.so

15. Tell Apache to parse certain extensions as PHP.  For example,
    let's have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We'll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It's also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:

      AddType application/x-httpd-php-source .phps

16. Use your normal procedure for starting the Apache server, e.g.:

      /usr/local/apache2/bin/apachectl start

Following the steps above you will have a running Apache 2.0 with support for PHP as SAPI module. Of course there are many more configuration options available for both, Apache and PHP. For more information use ./configure --help in the corresponding source tree. In case you wish to build a multithreaded version of Apache 2.0 you must overwrite the standard MPM-Module prefork either with worker or perchild. To do so append to your configure line in step 6 above either the option --with-mpm=worker or --with-mpm=perchild. Take care about the consequences and understand what you are doing. For more information read the Apache documentation about the MPM-Modules.

Nota: If you want to use content negotiation, read the Apache MultiViews FAQ.

Nota: To build a multithreaded version of Apache your system must support threads. This also implies to build PHP with experimental Zend Thread Safety (ZTS). Therefore not all extensions might be available. The recommended setup is to build Apache with the standard prefork MPM-Module.

Anterior | Inicio | Siguiente
Installation on Unix systems | Subir | Caudium


Caudium

PHP 4 can be built as a Pike module for the Caudium webserver. Note that this is not supported with PHP 3. Follow the simple instructions below to install PHP 4 for Caudium.

Ejemplo 4-5. Caudium Installation Instructions

1.  Make sure you have Caudium installed prior to attempting to
    install PHP 4. For PHP 4 to work correctly, you will need Pike
    7.0.268 or newer. For the sake of this example we assume that
    Caudium is installed in /opt/caudium/server/.
2.  Change directory to php-x.y.z (where x.y.z is the version number).
3.  ./configure --with-caudium=/opt/caudium/server
4.  make
5.  make install
6.  Restart Caudium if it's currently running.
7.  Log into the graphical configuration interface and go to the
    virtual server where you want to add PHP 4 support.
8.  Click Add Module and locate and then add the PHP 4 Script Support module.
9.  If the documentation says that the 'PHP 4 interpreter isn't
    available', make sure that you restarted the server. If you did
    check /opt/caudium/logs/debug/default.1 for any errors related to
    <filename>PHP4.so</filename>. Also make sure that
    <filename>caudium/server/lib/[pike-version]/PHP4.so</filename>
    is present.
10. Configure the PHP Script Support module if needed.

You can of course compile your Caudium module with support for the various extensions available in PHP 4. See the reference pages for extension specific configure options.

Nota: When compiling PHP 4 with MySQL support you must make sure that the normal MySQL client code is used. Otherwise there might be conflicts if your Pike already has MySQL support. You do this by specifying a MySQL install directory the --with-mysql option.

Anterior | Inicio | Siguiente
Apache 2.0 on Unix systems | Subir | fhttpd related notes


CGI and command line setups

The default is to build PHP as a CGI program. This creates a command line interpreter, which can be used for CGI processing, or for non-web-related PHP scripting. If you are running a web server PHP has module support for, you should generally go for that solution for performance reasons. However, the CGI version enables users to run different PHP-enabled pages under different user-ids.

Aviso

Al usar el modo CGI, vuestro servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

As of PHP 4.3.0, some important additions have happened to PHP. A new SAPI named CLI also exists and it has the same name as the CGI binary. What is installed at {PREFIX}/bin/php depends on your configure line and this is described in detail in the manual section named Using PHP from the command line. For further details please read that section of the manual.

Testing

If you have built PHP as a CGI program, you may test your build by typing make test. It is always a good idea to test your build. This way you may catch a problem with PHP on your platform early instead of having to struggle with it later.

Benchmarking

If you have built PHP 3 as a CGI program, you may benchmark your build by typing make bench. Note that if safe mode is on by default, the benchmark may not be able to finish if it takes longer then the 30 seconds allowed. This is because the set_time_limit() can not be used in safe mode. Use the max_execution_time configuration setting to control this time for your own scripts. make bench ignores the configuration file.

Nota: make bench is only available for PHP 3.

Using Variables

Some server supplied environment variables are not defined in the current CGI/1.1 specification. Only the following variables are defined there: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, and SERVER_SOFTWARE. Everything else should be treated as 'vendor extensions'.

Anterior | Inicio | Siguiente
Sun, iPlanet and Netscape servers on Sun Solaris | Subir | HP-UX specific installation notes


Debian GNU/Linux installation notes

This section contains notes and hints specific to installing PHP on Debian GNU/Linux.

Using APT

While you can just download the PHP source and compile it yourself, using Debian's packaging system is the simplest and cleanest method of installing PHP. If you are not familiar with building software on Linux, this is the way to go.

The first decision you need to make is whether you want to install Apache 1.3.x or Apache 2.x. The corresponding PHP packages are respectively named libapache-mod-php* and libapache2-mod-php*. The steps given below will use Apache 1.3.x. Please note that, as of this writing, there is no official Debian packages of PHP 5. Then the steps given below will install PHP 4.

PHP is available in Debian as CGI or CLI flavour too, named respectively php4-cgi and php4-cli. If you need them, you'll just have to reproduce the following steps with the good package names. Another special package you'd want to install is php4-pear. It contains a minimal PEAR installation and the pear commandline utility.

If you need more recent packages of PHP than the Debian's stable ones or if some PHP modules lacks the Debian official repository, perhaps you should take a look at http://www.apt-get.org/. One of the results found should be Dotdeb. This unofficial repository is maintained by Guillaume Plessis and contains Debian packages of the most recent versions of PHP 4 and PHP 5. To use it, just add the to following two lines to your /etc/apt/sources.lists and run apt-get update :

Ejemplo 4-7. The two Dotdeb related lines

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

The last thing to consider is whether your list of packages is up to date. If you have not updated it recently, you need to run apt-get update before anything else. This way, you will be using the most recent stable version of the Apache and PHP packages.

Now that everything is in place, you can use the following example to install Apache and PHP:

Ejemplo 4-8. Debian Install Example with Apache 1.3

# apt-get install libapache-mod-php4

APT will automatically install the PHP 4 module for Apache 1.3, and all its dependencies and then activate it. If you're not asked to restart Apache during the install process, you'll have to do it manually :

Ejemplo 4-9. Stopping and starting Apache once PHP 4 is installed

# /etc/init.d/apache stop
# /etc/init.d/apache start

Better control on configuration

In the last section, PHP was installed with only core modules. This may not be what you want and you will soon discover that you need more activated modules, like MySQL, cURL, GD, etc.

When you compile PHP from source yourself, you need to activate modules via the configure command. With APT, you just have to install additional packages. They're all named 'php4-*' (or 'php5-*' if you installed PHP 5 from a third party repository).

Ejemplo 4-10. Getting the list of PHP additional packages

# dpkg -l 'php4-*'

As you can see from the last output, there's a lot of PHP modules that you can install (excluding the php4-cgi, php4-cli or php4-pear special packages). Look at them closely and choose what you need. If you choose a module and you do not have the proper libraries, APT will automatically install all the dependencies for you.

If you choose to add the MySQL, cURL and GD support to PHP the command will look something like this:

Ejemplo 4-11. Install PHP with MySQL, cURL and GD

# apt-get install php4-mysql php4-curl php4-gd

APT will automatically add the appropriate lines to your different php.ini (/etc/php4/apache/php.ini, /etc/php4/cgi/php.ini, etc).

Ejemplo 4-12. These lines activate MySQL, cURL and GD into PHP

extension=mysql.so
extension=curl.so
extension=gd.so

You'll only have to stop/start Apache as previously to activate the modules.

Common Problems

  • If you see the PHP source instead of the result the script should produce, APT has probably not included /etc/apache/conf.d/php4 in your Apache 1.3 configuration. Please ensure that the following line is present in your /etc/apache/httpd.conf file then stop/start Apache:

    Ejemplo 4-13. This line activates PHP 4 into Apache

    # Include /etc/apache/conf.d/

  • If you installed an additional module and if its functions are not available in your scripts, please ensure that the appropriate line is present in your php.ini, as seen before. APT may fail during the installation of the additional module, due to a confusing debconf configuration.

Anterior | Inicio | Siguiente
Solaris specific installation tips | Subir | Installation on Mac OS X


fhttpd related notes

To build PHP as an fhttpd module, answer "yes" to "Build as an fhttpd module?" (the --with-fhttpd=DIR option to configure) and specify the fhttpd source base directory. The default directory is /usr/local/src/fhttpd. If you are running fhttpd, building PHP as a module will give better performance, more control and remote execution capability.

Nota: Support for fhttpd is no longer available as of PHP 4.3.0.

Anterior | Inicio | Siguiente
Caudium | Subir | Sun, iPlanet and Netscape servers on Sun Solaris


HP-UX specific installation notes

This section contains notes and hints specific to installing PHP on HP-UX systems.

There are two main options for installing PHP on HP-UX systems. Either compile it, or install a pre-compiled binary.

Official pre-compiled packages are located here: http://software.hp.com/

Until this manual section is rewritten, the documentation about compiling PHP (and related extensions) on HP-UX systems has been removed. For now, consider reading the following external resource: Building Apache and PHP on HP-UX 11.11

Anterior | Inicio | Siguiente
CGI and command line setups | Subir | OpenBSD installation notes


OpenBSD installation notes

This section contains notes and hints specific to installing PHP on OpenBSD 3.6.

Using Binary Packages

Using binary packages to install PHP on OpenBSD is the recommended and simplest method. The core package has been separated from the various modules, and each can be installed and removed independently from the others. The files you need can be found on your OpenBSD CD or on the FTP site.

The main package you need to install is php4-core-4.3.8.tgz, which contains the basic engine (plus gettext and iconv). Next, take a look at the module packages, such as php4-mysql-4.3.8.tgz or php4-imap-4.3.8.tgz. You need to use the phpxs command to activate and deactivate these modules in your php.ini.

Ejemplo 4-6. OpenBSD Package Install Example

# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
  (add in mysql)
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
  (add in imap)
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
  (remove mysql as a test)
# pkg_delete php4-mysql-4.3.8
# /usr/local/sbin/phpxs -r mysql
  (install the PEAR libraries)
# pkg_add php4-pear-4.3.8.tgz

Read the packages(7) manual page for more information about binary packages on OpenBSD.

Using Ports

You can also compile up PHP from source using the ports tree. However, this is only recommended for users familiar with OpenBSD. The PHP 4 port is split into two sub-directories: core and extensions. The extensions directory generates sub-packages for all of the supported PHP modules. If you find you do not want to create some of these modules, use the no_* FLAVOR. For example, to skip building the imap module, set the FLAVOR to no_imap.

Common Problems

  • The default install of Apache runs inside a chroot(2) jail, which will restrict PHP scripts to accessing files under /var/www. You will therefore need to create a /var/www/tmp directory for PHP session files to be stored, or use an alternative session backend. In addition, database sockets need to be placed inside the jail or listen on the localhost interface. If you use network functions, some files from /etc such as /etc/resolv.conf and /etc/services will need to be moved into /var/www/etc. The OpenBSD PEAR package automatically installs into the correct chroot directories, so no special modification is needed there. More information on the OpenBSD Apache is available in the OpenBSD FAQ.

  • The OpenBSD 3.6 package for the gd extension requires XFree86 to be installed. If you do not wish to use some of the font features that require X11, install the php4-gd-4.3.8-no_x11.tgz package instead.

Older Releases

Older releases of OpenBSD used the FLAVORS system to compile up a statically linked PHP. Since it is hard to generate binary packages using this method, it is now deprecated. You can still use the old stable ports trees if you wish, but they are unsupported by the OpenBSD team. If you have any comments about this, the current maintainer for the port is Anil Madhavapeddy (avsm at openbsd dot org).

Anterior | Inicio | Siguiente
HP-UX specific installation notes | Subir | Solaris specific installation tips


Solaris specific installation tips

This section contains notes and hints specific to installing PHP on Solaris systems.

Required software

Solaris installs often lack C compilers and their related tools. Read this FAQ for information on why using GNU versions for some of these tools is necessary. The required software is as follows:

  • gcc (recommended, other C compilers may work)

  • make

  • flex

  • bison

  • m4

  • autoconf

  • automake

  • perl

  • gzip

  • tar

  • GNU sed

In addition, you will need to install (and possibly compile) any additional software specific to your configuration, such as Oracle or MySQL.

Using Packages

You can simplify the Solaris install process by using pkgadd to install most of your needed components.

Anterior | Inicio | Siguiente
OpenBSD installation notes | Subir | Debian GNU/Linux installation notes


Sun, iPlanet and Netscape servers on Sun Solaris

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Sun Solaris.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

You can find more information about setting up PHP for the Netscape Enterprise Server (NES) here: http://benoit.noss.free.fr/php/install-php4.html

To build PHP with Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers, enter the proper install directory for the --with-nsapi=[DIR] option. The default directory is usually /opt/netscape/suitespot/. Please also read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.

  1. Install the following packages from http://www.sunfreeware.com/ or another download site:

    autoconf-2.13
    automake-1.4
    bison-1_25-sol26-sparc-local
    flex-2_5_4a-sol26-sparc-local
    gcc-2_95_2-sol26-sparc-local
    gzip-1.2.4-sol26-sparc-local
    m4-1_4-sol26-sparc-local
    make-3_76_1-sol26-sparc-local
    mysql-3.23.24-beta (if you want mysql support)
    perl-5_005_03-sol26-sparc-local
    tar-1.13 (GNU tar)

  2. Make sure your path includes the proper directories PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin and make it available to your system export PATH.

  3. gunzip php-x.x.x.tar.gz (if you have a .gz dist, otherwise go to 4).

  4. tar xvf php-x.x.x.tar

  5. Change to your extracted PHP directory: cd ../php-x.x.x

  6. For the following step, make sure /opt/netscape/suitespot/ is where your netscape server is installed. Otherwise, change to the correct path and run:

    ./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc

  7. Run make followed by make install.

After performing the base install and reading the appropriate readme file, you may need to perform some additional configuration steps.

Configuration Instructions for Sun/iPlanet/Netscape. Firstly you may need to add some paths to the LD_LIBRARY_PATH environment for the server to find all the shared libs. This can best done in the start script for your web server. The start script is often located in: /path/to/server/https-servername/start. You may also need to edit the configuration files that are located in: /path/to/server/https-servername/config/.

  1. Add the following line to mime.types (you can do that by the administration server):

    type=magnus-internal/x-httpd-php exts=php

  2. Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following, shlib will vary depending on your system, it will be something like /opt/netscape/suitespot/bin/libphp4.so. You should place the following lines after mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server config directory.

  3. Configure the default object in obj.conf (for virtual server classes [version 6.0+] in their vserver.obj.conf):

    <Object name="default">
.
.
.
.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLog' lines
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
.
.
</Object>
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  4. This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  5. Setup of authentication: PHP authentication cannot be used with any other authentication. ALL AUTHENTICATION IS PASSED TO YOUR PHP SCRIPT. To configure PHP Authentication for the entire server, add the following line to your default object:

    <Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>

  6. To use PHP Authentication on a single directory, add the following:

    <Object ppath="d:\path\to\authenticated\dir\*">
AuthTrans fn=php4_auth_trans
</Object>

Nota: The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP 3.x way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

Nota: Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. This function uses some undocumented features from the NSAPI library. On Unix the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Nota: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

Anterior | Inicio | Siguiente
fhttpd related notes | Subir | CGI and command line setups


Installation on Windows systems

Manual de PHP
Anterior Siguiente

Capítulo 6. Installation on Windows systems

Tabla de contenidos
Windows Installer (PHP 5.2 and later)
Windows Installer (PHP 5.1.0 and earlier)
Manual Installation Steps
ActiveScript
Microsoft IIS / PWS
Apache 1.3.x on Microsoft Windows
Apache 2.0.x on Microsoft Windows
Sun, iPlanet and Netscape servers on Microsoft Windows
OmniHTTPd Server
Sambar Server on Microsoft Windows
Xitami on Microsoft Windows
Building from source
Installation of extensions on Windows

This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP will not work on 16 bit platforms such as Windows 3.1 and sometimes we refer to the supported Windows platforms as Win32. Windows 95 is no longer supported as of PHP 4.3.0.

There are two main ways to install PHP for Windows: either manually or by using the installer.

If you have Microsoft Visual Studio, you can also build PHP from the original source code.

Once you have PHP installed on your Windows system, you may also want to load various extensions for added functionality.

Aviso

There are several all-in-one installers over the Internet, but none of those are endorsed by PHP.net, as we believe that the manual installation is the best choice to have your system secure and optimised.

Windows Installer (PHP 5.2 and later)

The Windows PHP installer for later versions of PHP is built using MSI technology using the Wix Toolkit (http://wix.sourceforge.net/). It will install and configure PHP and all the built-in and PECL extensions, as well as configure many of the popular web servers such as IIS, Apache, and Xitami.

First, install your selected HTTP (web) server on your system, and make sure that it works. Then proceed with one of the following install types.

Normal Install

Run the MSI installer and follow the instructions provided by the installation wizard. You will be prompted to select the Web Server you wish to configure first, along with any configuration details needed.

You will then be prompted to select which features and extensions you wish to install and enable. By selecting "Will be installed on local hard drive" in the drop-down menu for each item you can trigger whether to install the feature or not. By selecting "Entire feature will be installed on local hard drive", you will be able to install all sub-features of the included feature ( for example by selecting this options for the feature "PDO" you will install all PDO Drivers ).

Aviso

It is not recommended to install all extensions by default, since many other them require dependencies from outside PHP in order to function properly. Instead, use the Installation Repair Mode that can be triggered thru the 'Add/Remove Programs' control panel to enable or disable extensions and features after installation.

The installer then sets up PHP to be used in Windows and the php.ini file, and configures certain web servers to use PHP. The installer will currently configure IIS (CGI mode only), Apache, Xitami, and Sambar Server; if you are using a different web server you'll need to configure it manually.

Silent Install

The installer also supports a silent mode, which is helpful for Systems Administrators to deploy PHP easily. To use silent mode:

msiexec.exe /i php-VERSION-win32-install.msi /q

You can control the install directory by passing it as a parameter to the install. For example, to install to e:\php:

msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
You can also use the same syntax to specify the Apache Configuration Directory (APACHEDIR), the Sambar Server directory (SAMBARDIR), and the Xitami Server directory (XITAMIDIR).

You can also specify what features to install. For example, to install the mysqli extension and the CGI executable:

msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli

The current list of Features to install is as follows:

MainExecutable - php.exe executable
ScriptExecutable - php-win.exe executable
ext_php_* - the various extensions ( for example: ext_php_mysql for MySQL )
apache13 - Apache 1.3 module
apache20 - Apache 2.0 module
apache22 - Apache 2,2 module
apacheCGI - Apache CGI executable
iis4ISAPI - IIS ISAPI module
iis4CGI - IIS CGI executable
NSAPI - Sun/iPlanet/Netscape server module
Xitami - Xitami CGI executable
Sambar - Sambar Server ISAPI module
CGI - php-cgi.exe executable
PEAR - PEAR installer
Manual - PHP Manual in CHM Format

For more information on installing MSI installers from the command line, visit http://msdn.microsoft.com/library/en-us/msi/setup/command_line_options.asp

Anterior | Inicio | Siguiente
Compiling for MacOS X Client | Subir | Windows Installer (PHP 5.1.0 and earlier)


ActiveScript

This section contains notes specific to the ActiveScript installation.

ActiveScript is a Windows only SAPI that enables you to use PHP script in any ActiveScript compliant host, like Windows Script Host, ASP/ASP.NET, Windows Script Components or Microsoft Scriptlet control.

As of PHP 5.0.1, ActiveScript has been moved to the PECL repository. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Nota: You should read the manual installation steps first!

After installing PHP, you should download the ActiveScript DLL (php5activescript.dll) and place it in the main PHP folder (e.g. C:\php).

After having all the files needed, you must register the DLL on your system. To achieve this, open a Command Prompt window (located in the Start Menu). Then go to your PHP directory by typing something like cd C:\php. To register the DLL just type regsvr32 php5activescript.dll.

To test if ActiveScript is working, create a new file, named test.wsf (the extension is very important) and type:

<job id="test">

 <script language="PHPScript">
  $WScript->Echo("Hello World!");
 </script>

</job>
Save and double-click on the file. If you receive a little window saying "Hello World!" you're done.

Nota: In PHP 4, the engine was named 'ActivePHP', so if you are using PHP 4, you should replace 'PHPScript' with 'ActivePHP' in the above example.

Nota: ActiveScript doesn't use the default php.ini file. Instead, it will look only in the same directory as the .exe that caused it to load. You should create php-activescript.ini and place it in that folder, if you wish to load extensions, etc.

Anterior | Inicio | Siguiente
Manual Installation Steps | Subir | Microsoft IIS / PWS


Apache 1.3.x on Microsoft Windows

This section contains notes and hints specific to Apache 1.3.x installs of PHP on Microsoft Windows systems. There are also instructions and notes for Apache 2 on a separate page.

Nota: Please read the manual installation steps first!

There are two ways to set up PHP to work with Apache 1.3.x on Windows. One is to use the CGI binary (php.exe for PHP 4 and php-cgi.exe for PHP 5), the other is to use the Apache Module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP, and then restart the server.

It is worth noting here that now the SAPI module has been made more stable under Windows, we recommend it's use above the CGI binary, since it is more transparent and secure.

Although there can be a few variations of configuring PHP under Apache, these are simple enough to be used by the newcomer. Please consult the Apache Documentation for further configuration directives.

After changing the configuration file, remember to restart the server, for example, NET STOP APACHE followed by NET START APACHE, if you run Apache as a Windows Service, or use your regular shortcuts.

Nota: Recordar que cuando utiliceis valores de PATH en Windows con barras invertidas tal como c:\directory\file.ext, estas deben de ser convertidas a barras inclinadas, c:/directory/file.ext.

Installing as an Apache module

You should add the following lines to your Apache httpd.conf file:

Ejemplo 6-3. PHP as an Apache 1.3.x module

This assumes PHP is installed to c:\php. Adjust the path if this is not the case.

For PHP 4:

# Add to the end of the LoadModule section
# Don't forget to copy this file from the sapi directory!
LoadModule php4_module "C:/php/php4apache.dll"

# Add to the end of the AddModule section
AddModule mod_php4.c

For PHP 5:

# Add to the end of the LoadModule section
LoadModule php5_module "C:/php/php5apache.dll"

# Add to the end of the AddModule section
AddModule mod_php5.c

For both:

# Add this line inside the <IfModule mod_mime.c> conditional brace
AddType application/x-httpd-php .php

# For syntax highlighted .phps files, also add
AddType application/x-httpd-php-source .phps

Installing as a CGI binary

If you unzipped the PHP package to C:\php\ as described in the Manual Installation Steps section, you need to insert these lines to your Apache configuration file to set up the CGI binary:

Ejemplo 6-4. PHP and Apache 1.3.x as CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# specify the directory where php.ini is
SetEnv PHPRC C:/php
Note that the second line in the list above can be found in the actual versions of httpd.conf, but it is commented out. Remember also to substitute the c:/php/ for your actual path to PHP.

Aviso

Al usar el modo CGI, vuestro servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

If you would like to present PHP source files syntax highlighted, there is no such convenient option as with the module version of PHP. If you chose to configure Apache to use PHP as a CGI binary, you will need to use the highlight_file() function. To do this simply create a PHP script file and add this code: <?php highlight_file('some_php_script.php'); ?>.

Anterior | Inicio | Siguiente
Microsoft IIS / PWS | Subir | Apache 2.0.x on Microsoft Windows


Apache 2.0.x on Microsoft Windows

This section contains notes and hints specific to Apache 2.0.x installs of PHP on Microsoft Windows systems. We also have instructions and notes for Apache 1.3.x users on a separate page.

Nota: You should read the manual installation steps first!

Apache 2.2.x Support: Users of Apache 2.2.x may use the documentation below except the appropriate DLL file is named php5apache2_2.dll and it only exists as of PHP 5.2.0. See also http://snaps.php.net/

Aviso

No usar Apache 2.0 y PHP en un sistema en produccion, tanto en Unix como en Windows. Consultar la FAQ

You are highly encouraged to take a look at the Apache Documentation to get a basic understanding of the Apache 2.0.x Server. Also consider to read the Windows specific notes for Apache 2.0.x before reading on here.

PHP and Apache 2.0.x compatibility notes: The following versions of PHP are known to work with the most recent version of Apache 2.0.x:

  • PHP 4.3.0 or later available at http://www.php.net/downloads.php.
  • the latest stable development version. Get the source code http://snaps.php.net/php5-latest.tar.gz or download binaries for Windows http://snaps.php.net/win32/php5-win32-latest.zip.
  • a prerelease version downloadable from http://qa.php.net/.
  • you have always the option to obtain PHP through anonymous CVS.
These versions of PHP are compatible to Apache 2.0.40 and later.

Apache 2.0 SAPI-support started with PHP 4.2.0. PHP 4.2.3 works with Apache 2.0.39, don't use any other version of Apache with PHP 4.2.3. However, the recommended setup is to use PHP 4.3.0 or later with the most recent version of Apache2.

All mentioned versions of PHP will work still with Apache 1.3.x.

Aviso

Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or Windows XP. At this time, support for Windows 9x is incomplete. Apache 2.0.x is not expected to work on those platforms at this time.

Download the most recent version of Apache 2.0.x and a fitting PHP version. Follow the Manual Installation Steps and come back to go on with the integration of PHP and Apache.

There are two ways to set up PHP to work with Apache 2.0.x on Windows. One is to use the CGI binary the other is to use the Apache module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP and then restart the server.

Nota: Recordar que cuando utiliceis valores de PATH en Windows con barras invertidas tal como c:\directory\file.ext, estas deben de ser convertidas a barras inclinadas, c:/directory/file.ext.

Installing as a CGI binary

You need to insert these three lines to your Apache httpd.conf configuration file to set up the CGI binary:

Ejemplo 6-5. PHP and Apache 2.0 as CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

Aviso

Al usar el modo CGI, vuestro servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

Installing as an Apache module

You need to insert these two lines to your Apache httpd.conf configuration file to set up the PHP module for Apache 2.0:

Ejemplo 6-6. PHP and Apache 2.0 as Module

# For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
# Don't forget to copy the php4apache2.dll file from the sapi directory!
AddType application/x-httpd-php .php

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Nota: Remember to substitute your actual path to PHP for the c:/php/ in the above examples. Take care to use either php4apache2.dll or php5apache2.dll in your LoadModule directive and not php4apache.dll or php5apache.dll as the latter ones are designed to run with Apache 1.3.x.

Nota: If you want to use content negotiation, read related FAQ.

Aviso

Don't mix up your installation with DLL files from different PHP versions. You have the only choice to use the DLL's and extensions that ship with your downloaded PHP version.

Anterior | Inicio | Siguiente
Apache 1.3.x on Microsoft Windows | Subir | Sun, iPlanet and Netscape servers on Microsoft Windows


Building from source

This chapter teaches how to compile PHP from sources on windows, using Microsoft's tools. To compile PHP with cygwin, please refer to Capítulo 4.

Requisitos

To compile and build PHP you need a Microsoft Development Environment. Microsoft Visual C++ 6.0 is recommended, though Visual C++ .NET versions will also work. Since PHP 5 the free Microsoft .NET toolchain is also supported (you need to install Windows Platform SDK, Visual C++ Toolkit and .NET Framework SDK).

To extract the downloaded files you will also need a ZIP extraction utility. Windows XP and newer already include this functionality built-in.

Before you get started, you have to download:

  • the win32 buildtools from the PHP site at http://www.php.net/extra/win32build.zip.

  • the source code for the DNS name resolver used by PHP from http://www.php.net/extra/bindlib_w32.zip. This is a replacement for the resolv.lib library included in win32build.zip.

  • If you plan to compile PHP as a Apache module you will also need the Apache sources.

Finally, you are going to need the source to PHP itself. You can get the latest development version using anonymous CVS, a snapshot or the most recent released source tarball.

Putting it all together

After downloading the required packages you have to extract them in a proper place:

  • Create a working directory where all files end up after extracting, e.g: C:\work.

  • Create the directory win32build under your working directory (C:\work) and unzip win32build.zip into it.

  • Create the directory bindlib_w32 under your working directory (C:\work) and unzip bindlib_w32.zip into it.

  • Extract the downloaded PHP source code into your working directory (C:\work).

  • Build the libraries you are going to need (or download the binaries if available) and place the headers and libs in the C:\work\win32build\include and C:\work\win32build\lib directories, respectively.

  • If you don't have cygwin installed with bison and flex, you also need to make the C:\work\win32build\bin directory available in the PATH, so that thoses tools can be found by the configure script.

Following this steps your directory structure looks like this:
+--C:\work
|  |
|  +--bindlib_w32
|  |  |
|  |  +--arpa
|  |  |
|  |  +--conf
|  |  |
|  |  +--...
|  |
|  +--php-5.x.x
|  |  |
|  |  +--build
|  |  |
|  |  +--...
|  |  |
|  |  +--win32
|  |  |
|  |  +--...
|  |
|  +--win32build
|  |  |
|  |  +--bin
|  |  |
|  |  +--include
|  |  |
|  |  +--lib

If you aren't using Cygwin, you must also create the directories C:\usr\local\lib and then copy bison.simple from C:\work\win32build\bin to C:\usr\local\lib.

Nota: If you want to use PEAR and the comfortable command line installer, the CLI-SAPI is mandatory. For more information about PEAR and the installer read the documentation at the PEAR website.

Build resolv.lib

You must build the resolv.lib library. Decide whether you want to have debug symbols available (bindlib - Win32 Debug) or not (bindlib - Win32 Release), but please remember the choice you made, because the debug build will only link with PHP when it is also built in debug mode. Build the appropriate configuration:

  • For GUI users, launch VC++, by double-clicking in C:\work\bindlib_w32\bindlib.dsw. Then select Build=>Rebuild All.

  • For command line users, make sure that you either have the C++ environment variables registered, or have run vcvars.bat, and then execute one of the following commands:

    • msdev bindlib.dsp /MAKE "bindlib - Win32 Debug"

    • msdev bindlib.dsp /MAKE "bindlib - Win32 Release"

At this point, you should have a usable resolv.lib in either your C:\work\bindlib_w32\Debug or Release subdirectories. Copy this file into your C:\work\win32build\lib directory over the file by the same name found in there.

Building PHP using the new build system [PHP >=5 only]

This chapter explains how to compile PHP >=5 using the new build system, which is CLI-based and very similar with the main PHP's Unix build system.

Nota: This build system isn't available in PHP 4. Please refer to la sección de nombre Building PHP using DSW files [PHP 4] instead.

Before starting, be sure you have read la sección de nombre Putting it all together and you have built all needed libraries, like Libxml or ICU (needed for PHP >= 6).

First you should open a Visual Studio Command Prompt, which should be available under the Start menu. A regular Command Prompt window shouldn't work, as probably it doesn't have the necessary environment variables set. Then type something like cd C:\work\php-5.x.x to enter in the PHP source dir. Now you are ready to start configuring PHP.

The second step is running the buildconf batch file to make the configure script, by scanning the folder for config.w32 files. By default this command will also search in the following directories: pecl; ..\pecl; pecl\rpc; ..\pecl\rpc. Since PHP 5.1.0, you can change this behaviour by using the --add-modules-dir argument (e.g. cscript /nologo win32/build/buildconf.js --add-modules-dir=../php-gtk2 --add-modules-dir=../pecl).

The third step is configuring. To view the list of the available configuration options type cscript /nologo configure.js --help. After choosing the options that you will enable/disable, type something like: cscript /nologo configure.js --disable-foo --enable-fun-ext. Using --enable-foo=shared will attempt to build the 'foo' extension as a shared, dynamically loadable module.

The last step is compiling. To achieve this just issue the command nmake. The generated files (e.g. .exe and .dll) will be placed in either Release_TS or Debug_TS directories (if built with Thread safety), or in the Release or Debug directories otherwise.

Optionally you may also run PHP's test suite, by typing nmake test. If you want to run just a specific test, you may use the 'TESTS' variable (e.g. nmake /D TESTS=ext/sqlite/tests test - will only run sqlite's tests). To delete the files that were created during the compilation, you can use the nmake clean command.

A very useful configure option to build snapshots is --enable-snapshot-build, which add a new compiling mode (nmake build-snap). This tries to build every extension available (as shared, by default), but it will ignore build errors in individual extensions or SAPI.

Building PHP using DSW files [PHP 4]

Compiling PHP using the DSW files isn't supported as of PHP 5, as a much more flexible system was made available. Anyway, you can still use them, but keep in mind that they are not maintained very often, so you can have compiling problems. To compile PHP 4 for windows, this is the only available way though.

Configure MVC ++

The first step is to configure MVC++ to prepare for compiling. Launch Microsoft Visual C++, and from the menu select Tools => Options. In the dialog, select the directories tab. Sequentially change the dropdown to Executables, Includes, and Library files. Your entries should look like this:

  • Executable files: C:\work\win32build\bin, Cygwin users: C:\cygwin\bin

  • Include files: C:\work\win32build\include

  • Library files: C:\work\win32build\lib

Compiling

The best way to get started is to build the CGI version:

  • For GUI users, launch VC++, and then select File => Open Workspace and select C:\work\php-4.x.x\win32\php4ts.dsw. Then select Build=>Set Active Configuration and select the desired configuration, either php4ts - Win32 Debug_TS or php4ts - Win32 Release_TS. Finally select Build=>Rebuild All.

  • For command line users, make sure that you either have the C++ environment variables registered, or have run vcvars.bat, and then execute one of the following commands from the C:\work\php-4.x.x\win32 directory:

    • msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"

    • msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"

    • At this point, you should have a usable php.exe in either your C:\work\php-4.x.x\Debug_TS or Release_TS subdirectories.

It is possible to do minor customization to the build process by editing the main/config.win32.h file. For example you can change the default location of php.ini, the built-in extensions, and the default location for your extensions.

Next you may want to build the CLI version which is designed to use PHP from the command line. The steps are the same as for building the CGI version, except you have to select the php4ts_cli - Win32 Debug_TS or php4ts_cli - Win32 Release_TS project file. After a successful compiling run you will find the php.exe in either the directory Release_TS\cli\ or Debug_TS\cli\.

In order to build the SAPI module (php4isapi.dll) for integrating PHP with Microsoft IIS, set your active configuration to php4isapi-whatever-config and build the desired dll.

Anterior | Inicio | Siguiente
Xitami on Microsoft Windows | Subir | Installation of extensions on Windows


Installation of extensions on Windows

After installing PHP and a web server on Windows, you will probably want to install some extensions for added functionality. You can choose which extensions you would like to load when PHP starts by modifying your php.ini. You can also load a module dynamically in your script using dl().

The DLLs for PHP extensions are prefixed with php_.

Many extensions are built into the Windows version of PHP. This means additional DLL files, and the extension directive, are not used to load these extensions. The Windows PHP Extensions table lists extensions that require, or used to require, additional PHP DLL files. Here's a list of built in extensions:

In PHP 4 (updated PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML, y Zlib

In PHP 5 (updated PHP 5.0.4), the following changes exist. Built in: DOM, LibXML, Iconv, SimpleXML, SPL, y SQLite. And the following are no longer built in: MySQL and Overload.

The default location PHP searches for extensions is C:\php4\extensions in PHP 4 and C:\php5 in PHP 5. To change this setting to reflect your setup of PHP edit your php.ini file:

  • You will need to change the extension_dir setting to point to the directory where your extensions lives, or where you have placed your php_*.dll files. For example:

    extension_dir = C:\php\extensions

  • Enable the extension(s) in php.ini you want to use by uncommenting the extension=php_*.dll lines in php.ini. This is done by deleting the leading ; from the extension you want to load.

    Ejemplo 6-8. Enable Bzip2 extension for PHP-Windows

    // change the following line from ...
;extension=php_bz2.dll

// ... to
extension=php_bz2.dll

  • Some of the extensions need extra DLLs to work. Couple of them can be found in the distribution package, in the C:\php\dlls\ folder in PHP 4 or in the main folder in PHP 5, but some, for example Oracle (php_oci8.dll) require DLLs which are not bundled with the distribution package. If you are installing PHP 4, copy the bundled DLLs from C:\php\dlls folder to the main C:\php folder. Don't forget to include C:\php in the system PATH (this process is explained in a separate FAQ entry).

  • Some of these DLLs are not bundled with the PHP distribution. See each extensions documentation page for details. Also, read the manual section titled Installation of PECL extensions for details on PECL. An increasingly large number of PHP extensions are found in PECL, and these extensions require a separate download.

Nota: If you are running a server module version of PHP remember to restart your web server to reflect your changes to php.ini.

The following table describes some of the extensions available and required additional dlls.

Tabla 6-1. PHP Extensions

Extension | Description | Notes
php_bz2.dll | bzip2 compression functions | None
php_calendar.dll | Calendar conversion functions | Built in since PHP 4.0.3
php_cpdf.dll | ClibPDF functions | None
php_crack.dll | Crack functions | None
php_ctype.dll | ctype family functions | Built in since PHP 4.3.0
php_curl.dll | CURL, Client URL library functions | Requires: libeay32.dll, ssleay32.dll (bundled)
php_cybercash.dll | Cybercash payment functions | PHP <= 4.2.0
php_db.dll | DBM functions | Deprecated. Use DBA instead (php_dba.dll)
php_dba.dll | DBA: DataBase (dbm-style) Abstraction layer functions | None
php_dbase.dll | dBase functions | None
php_dbx.dll | dbx functions |
php_domxml.dll | DOM XML functions | PHP <= 4.2.0 requires: libxml2.dll (bundled) PHP >= 4.3.0 requires: iconv.dll (bundled)
php_dotnet.dll | .NET functions | PHP <= 4.1.1
php_exif.dll | EXIF functions | php_mbstring.dll. And, php_exif.dll must be loaded after php_mbstring.dll in php.ini.
php_fbsql.dll | FrontBase functions | PHP <= 4.2.0
php_fdf.dll | FDF: Forms Data Format functions. | Requires: fdftk.dll (bundled)
php_filepro.dll | filePro functions | Read-only access
php_ftp.dll | FTP functions | Built-in since PHP 4.0.3
php_gd.dll | GD library image functions | Removed in PHP 4.3.2. Also note that truecolor functions are not available in GD1, instead, use php_gd2.dll.
php_gd2.dll | GD library image functions | GD2
php_gettext.dll | Gettext functions | PHP <= 4.2.0 requires gnu_gettext.dll (bundled), PHP >= 4.2.3 requires libintl-1.dll, iconv.dll (bundled).
php_hyperwave.dll | HyperWave functions | None
php_iconv.dll | ICONV characterset conversion | Requires: iconv-1.3.dll (bundled), PHP >=4.2.1 iconv.dll
php_ifx.dll | Informix functions | Requires: Informix libraries
php_iisfunc.dll | IIS management functions | None
php_imap.dll | IMAP POP3 and NNTP functions | None
php_ingres.dll | Ingres II functions | Requires: Ingres II libraries
php_interbase.dll | InterBase functions | Requires: gds32.dll (bundled)
php_java.dll | Java functions | PHP <= 4.0.6 requires: jvm.dll (bundled)
php_ldap.dll | LDAP functions | PHP <= 4.2.0 requires libsasl.dll (bundled), PHP >= 4.3.0 requires libeay32.dll, ssleay32.dll (bundled)
php_mbstring.dll | Multi-Byte String functions | None
php_mcrypt.dll | Mcrypt Encryption functions | Requires: libmcrypt.dll
php_mhash.dll | Mhash functions | PHP >= 4.3.0 requires: libmhash.dll (bundled)
php_mime_magic.dll | Mimetype functions | Requires: magic.mime (bundled)
php_ming.dll | Ming functions for Flash | None
php_msql.dll | mSQL functions | Requires: msql.dll (bundled)
php_mssql.dll | MSSQL functions | Requires: ntwdblib.dll (bundled)
php_mysql.dll | MySQL functions | PHP >= 5.0.0, requires libmysql.dll (bundled)
php_mysqli.dll | MySQLi functions | PHP >= 5.0.0, requires libmysql.dll (libmysqli.dll in PHP <= 5.0.2) (bundled)
php_oci8.dll | Oracle 8 functions | Requires: Oracle 8.1+ client libraries
php_openssl.dll | OpenSSL functions | Requires: libeay32.dll (bundled)
php_oracle.dll | Oracle functions | Requires: Oracle 7 client libraries
php_overload.dll | Object overloading functions | Built in since PHP 4.3.0
php_pdf.dll | PDF functions | None
php_pgsql.dll | PostgreSQL functions | None
php_printer.dll | Printer functions | None
php_shmop.dll | Shared Memory functions | None
php_snmp.dll | SNMP get and walk functions | NT only!
php_soap.dll | SOAP functions | PHP >= 5.0.0
php_sockets.dll | Socket functions | None
php_sybase_ct.dll | Sybase functions | Requires: Sybase client libraries
php_tidy.dll | Tidy functions | PHP >= 5.0.0
php_tokenizer.dll | Tokenizer functions | Built in since PHP 4.3.0
php_w32api.dll | W32api functions | None
php_xmlrpc.dll | XML-RPC functions | PHP >= 4.2.1 requires: iconv.dll (bundled)
php_xslt.dll | XSLT functions | PHP <= 4.2.0 requires sablot.dll, expat.dll (bundled). PHP >= 4.2.1 requires sablot.dll, expat.dll, iconv.dll (bundled).
php_yaz.dll | YAZ functions | Requires: yaz.dll (bundled)
php_zip.dll | Zip File functions | Read only access
php_zlib.dll | ZLib compression functions | Built in since PHP 4.3.0

Anterior | Inicio | Siguiente
Building from source | Subir | Installation of PECL extensions


Microsoft IIS / PWS

This section contains notes and hints specific to IIS (Microsoft Internet Information Server).

Aviso

Al usar el modo CGI, vuestro servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

General considerations for all installations of PHP with IIS or PWS

  • First, read the Manual Installation Instructions. Do not skip this step as it provides crucial information for installing PHP on Windows.

  • CGI users must set the cgi.force_redirect PHP directive to 0 inside php.ini. Read the faq on cgi.force_redirect for important details. Also, CGI users may want to set the cgi.redirect_status_env directive. When using directives, be sure these directives aren't commented out inside php.ini.

  • The PHP 4 CGI is named php.exe while in PHP 5 it's php-cgi.exe. In PHP 5, php.exe is the CLI, and not the CGI.

  • Modify the Windows PATH environment variable to include the PHP directory. This way the PHP DLL files and PHP executables can all remain in the PHP directory without cluttering up the Windows system directory. For more details, see the FAQ on Setting the PATH.

  • The IIS user (usually IUSR_MACHINENAME) needs permission to read various files and directories, such as php.ini, docroot, and the session tmp directory.

  • Be sure the extension_dir and doc_root PHP directives are appropriately set in php.ini. These directives depend on the system that PHP is being installed on. In PHP 4, the extension_dir is extensions while with PHP 5 it's ext. So, an example PHP 5 extensions_dir value is "c:\php\ext" and an example IIS doc_root value is "c:\Inetpub\wwwroot".

  • PHP extension DLL files, such as php_mysql.dll and php_curl.dll, are found in the zip package of the PHP download (not the PHP installer). In PHP 5, many extensions are part of PECL and can be downloaded in the "Collection of PECL modules" package. Files such as php_zip.dll and php_ssh2.dll. Download PHP files here.

  • When defining the executable, the 'check that file exists' box may also be checked. For a small performance penalty, the IIS (or PWS) will check that the script file exists and sort out authentication before firing up PHP. This means that the web server will provide sensible 404 style error messages instead of CGI errors complaining that PHP did not output any data.

Windows NT/200x/XP and IIS 4 or newer

PHP may be installed as a CGI binary, or with the ISAPI module. In either case, you need to start the Microsoft Management Console (may appear as 'Internet Services Manager', either in your Windows NT 4.0 Option Pack branch or the Control Panel=>Administrative Tools under Windows 2000/XP). Then right click on your Web server node (this will most probably appear as 'Default Web Server'), and select 'Properties'.

If you want to use the CGI binary, do the following:

  • Under 'Home Directory', 'Virtual Directory', or 'Directory', do the following:

  • Change the Execute Permissions to 'Scripts only'

  • Click on the 'Configuration' button, and choose the Application Mappings tab. Click Add and set the Executable path to the appropriate CGI file. An example PHP 5 value is: C:\php\php-cgi.exe Supply .php as the extension. Leave 'Method exclusions' blank, and check the 'Script engine' checkbox. Now, click OK a few times.

  • Set up the appropriate security. (This is done in Internet Service Manager), and if your NT Server uses NTFS file system, add execute rights for I_USR_ to the directory that contains php.exe / php-cgi.exe.

To use the ISAPI module, do the following:

  • If you don't want to perform HTTP Authentication using PHP, you can (and should) skip this step. Under ISAPI Filters, add a new ISAPI filter. Use PHP as the filter name, and supply a path to the php4isapi.dll / php5isapi.dll.

  • Under 'Home Directory', 'Virtual Directory', or 'Directory', do the following:

  • Change the Execute Permissions to 'Scripts only'

  • Click on the 'Configuration' button, and choose the Application Mappings tab. Click Add and set the Executable path to the appropriate ISAPI DLL. An example PHP 5 value is: C:\php\php5isapi.dll Supply .php as the extension. Leave 'Method exclusions' blank, and check the 'Script engine' checkbox. Now, click OK a few times.

  • Stop IIS completely (NET STOP iisadmin)

  • Start IIS again (NET START w3svc)

With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service Extensions, choose "Add a new Web service extension", enter in a name such as PHP, choose the Add button and for the value browse to either the ISAPI file (php4isapi.dll or php5isapi.dll) or CGI (php.exe or php-cgi.exe) then check "Set extension status to Allowed" and click OK.

In order to use index.php as a default content page, do the following: From within the Documents tab, choose Add. Type in index.php and click OK. Adjust the order by choosing Move Up or Move Down. This is similar to setting DirectoryIndex with Apache.

The steps above must be repeated for each extension that is to be associated with PHP scripts. .php is the most common although .php3 may be required for legacy applications.

If you experience 100% CPU usage after some time, turn off the IIS setting Cache ISAPI Application.

Windows and PWS 4

PWS 4 does not support ISAPI, only PHP CGI should be used.

  • Edit the enclosed pws-php4cgi.reg / pws-php5cgi.reg file (look into the SAPI folder for PHP 4, or in the main folder for PHP 5) to reflect the location of your php.exe / php-cgi.exe. Backslashes should be escaped, for example: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\php.exe" (change to C:\\php\\php-cgi.exe if you are using PHP 5) Now merge this registery file into your system; you may do this by double-clicking it.

  • In the PWS Manager, right click on a given directory you want to add PHP support to, and select Properties. Check the 'Execute' checkbox, and confirm.

Windows and PWS/IIS 3

The recommended method for configuring these servers is to use the REG file included with the distribution (pws-php4cgi.reg in the SAPI folder for PHP 4, or pws-php5cgi.reg in the main folder for PHP 5). You may want to edit this file and make sure the extensions and PHP install directories match your configuration. Or you can follow the steps below to do it manually.

Aviso

These steps involve working directly with the Windows registry. One error here can leave your system in an unstable state. We highly recommend that you back up your registry first. The PHP Development team will not be held responsible if you damage your registry.

  • Run Regedit.

  • Navigate to: HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap.

  • On the edit menu select: New->String Value.

  • Type in the extension you wish to use for your php scripts. For example .php

  • Double click on the new string value and enter the path to php.exe in the value data field. ex: C:\php\php.exe "%s" %s for PHP 4, or C:\php\php-cgi.exe "%s" %s for PHP 5.

  • Repeat these steps for each extension you wish to associate with PHP scripts.

The following steps do not affect the web server installation and only apply if you want your PHP scripts to be executed when they are run from the command line (ex. run C:\myscripts\test.php) or by double clicking on them in a directory viewer window. You may wish to skip these steps as you might prefer the PHP files to load into a text editor when you double click on them.

  • Navigate to: HKEY_CLASSES_ROOT

  • On the edit menu select: New->Key.

  • Name the key to the extension you setup in the previous section. ex: .php

  • Highlight the new key and in the right side pane, double click the "default value" and enter phpfile.

  • Repeat the last step for each extension you set up in the previous section.

  • Now create another New->Key under HKEY_CLASSES_ROOT and name it phpfile.

  • Highlight the new key phpfile and in the right side pane, double click the "default value" and enter PHP Script.

  • Right click on the phpfile key and select New->Key, name it Shell.

  • Right click on the Shell key and select New->Key, name it open.

  • Right click on the open key and select New->Key, name it command.

  • Highlight the new key command and in the right side pane, double click the "default value" and enter the path to php.exe. ex: c:\php\php.exe -q %1. (don't forget the %1).

  • Exit Regedit.

  • If using PWS on Windows, reboot to reload the registry.

PWS and IIS 3 users now have a fully operational system. IIS 3 users can use a nifty tool from Steven Genusa to configure their script maps.

Anterior | Inicio | Siguiente
ActiveScript | Subir | Apache 1.3.x on Microsoft Windows


Windows Installer (PHP 5.1.0 and earlier)

The Windows PHP installer is available from the downloads page at http://www.php.net/downloads.php. This installs the CGI version of PHP and for IIS, PWS, and Xitami, it configures the web server as well. The installer does not include any extra external PHP extensions (php_*.dll) as you'll only find those in the Windows Zip Package and PECL downloads.

Nota: While the Windows installer is an easy way to make PHP work, it is restricted in many aspects as, for example, the automatic setup of extensions is not supported. Use of the installer isn't the preferred method for installing PHP.

First, install your selected HTTP (web) server on your system, and make sure that it works.

Run the executable installer and follow the instructions provided by the installation wizard. Two types of installation are supported - standard, which provides sensible defaults for all the settings it can, and advanced, which asks questions as it goes along.

The installation wizard gathers enough information to set up the php.ini file, and configure certain web servers to use PHP. One of the web servers the PHP installer does not configure for is Apache, so you'll need to configure it manually.

Once the installation has completed, the installer will inform you if you need to restart your system, restart the server, or just start using PHP.

Aviso

Be aware, that this setup of PHP is not secure. If you would like to have a secure PHP setup, you'd better go on the manual way, and set every option carefully. This automatically working setup gives you an instantly working PHP installation, but it is not meant to be used on online servers.

Anterior | Inicio | Siguiente
Installation on Windows systems | Subir | Manual Installation Steps


Manual Installation Steps

This install guide will help you manually install and configure PHP with a web server on Microsoft Windows. To get started you'll need to download the zip binary distribution from the downloads page at http://www.php.net/downloads.php.

Although there are many all-in-one installation kits, and we also distribute a PHP installer for Microsoft Windows, we recommend you take the time to setup PHP yourself as this will provide you with a better understanding of the system, and enables you to install PHP extensions easily when needed.

Upgrading from a previous PHP version: Previous editions of the manual suggest moving various ini and DLL files into your SYSTEM (i.e. C:\WINDOWS) folder and while this simplifies the installation procedure it makes upgrading difficult. We advise you remove all of these files (like php.ini and PHP related DLLs from the Windows SYSTEM folder) before moving on with a new PHP installation. Be sure to backup these files as you might break the entire system. The old php.ini might be useful in setting up the new PHP as well. And as you'll soon learn, the preferred method for installing PHP is to keep all PHP related files in one directory and have this directory available to your systems PATH.

MDAC requirements: If you use Microsoft Windows 98/NT4 download the latest version of the Microsoft Data Access Components (MDAC) for your platform. MDAC is available at http://msdn.microsoft.com/data/. This requirement exists because ODBC is built into the distributed Windows binaries.

The following steps should be completed on all installations before any server specific instructions are performed:

Extract the distribution file into a directory of your choice. If you are installing PHP 4, extract to C:\, as the zip file expands to a foldername like php-4.3.7-Win32. If you are installing PHP 5, extract to C:\php as the zip file doesn't expand as in PHP 4. You may choose a different location but do not have spaces in the path (like C:\Program Files\PHP) as some web servers will crash if you do.

The directory structure extracted from the zip is different for PHP versions 4 and 5 and look like as follows:

Ejemplo 6-1. PHP 4 package structure

c:\php
   |
   +--cli
   |  |
   |  |-php.exe           -- CLI executable - ONLY for command line scripting
   |
   +--dlls                -- support DLLs required by some extensions
   |  |
   |  |-expat.dll
   |  |
   |  |-fdftk.dll
   |  |
   |  |-...
   |
   +--extensions          -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-..
   |
   +--mibs                -- support files for SNMP
   |
   +--openssl             -- support files for Openssl
   |
   +--pdf-related         -- support files for PDF
   |
   +--sapi                -- SAPI (server module support) DLLs
   |  |
   |  |-php4apache.dll
   |  |
   |  |-php4apache2.dll
   |  |
   |  |-..
   |
   +--PEAR                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-..
   |
   |-php.exe              -- CGI executable
   |
   |-..
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php4ts.dll           -- core PHP DLL
   |
   |-...

Or:

Ejemplo 6-2. PHP 5 package structure

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib
   |
   +--ext                 -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-..
   |
   +--extras
   |  |
   |  +--mibs             -- support files for SNMP
   |  |
   |  +--openssl          -- support files for Openssl
   |  |
   |  +--pdf-related      -- support files for PDF
   |  |
   |  |-mime.magic
   |
   +--pear                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-fdftk.dll
   |
   |-..
   |
   |-php-cgi.exe          -- CGI executable
   |
   |-php-win.exe          -- executes scripts without an opened command prompt
   |
   |-php.exe              -- CLI executable - ONLY for command line scripting
   |
   |-..
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php5activescript.dll
   |
   |-php5apache.dll
   |
   |-php5apache2.dll
   |
   |-..
   |
   |-php5ts.dll           -- core PHP DLL
   |
   |-...

Notice the differences and similarities. Both PHP 4 and PHP 5 have a CGI executable, a CLI executable, and server modules, but they are located in different folders and/or have different names. While PHP 4 packages have the server modules in the sapi folder, PHP 5 distributions have no such directory and instead they're in the PHP folder root. The supporting DLLs for the PHP 5 extensions are also not in a seperate directory.

Nota: In PHP 4, you should move all files located in the dll and sapi folders to the main folder (e.g. C:\php).

Here is a list of server modules shipped with PHP 4 and PHP 5:

  • sapi/php4activescript.dll (php5activescript.dll) - ActiveScript engine, allowing you to embed PHP in your Windows applications.

  • sapi/php4apache.dll (php5apache.dll) - Apache 1.3.x module.

  • sapi/php4apache2.dll (php5apache2.dll) - Apache 2.0.x module.

  • sapi/php5apache2_2.dll - Apache 2.2.x module.

  • sapi/php4isapi.dll (php5isapi.dll) - ISAPI Module for ISAPI compliant web servers like IIS 4.0/PWS 4.0 or newer.

  • sapi/php4nsapi.dll (php5nsapi.dll) - Sun/iPlanet/Netscape server module.

  • sapi/php4pi3web.dll (no equivalent in PHP 5) - Pi3Web server module.

Server modules provide significantly better performance and additional functionality compared to the CGI binary. The CLI version is designed to let you use PHP for command line scripting. More information about CLI is available in the chapter about using PHP from the command line.

Aviso

The SAPI modules have been significantly improved as of the 4.1 release, however, in older systems you may encounter server errors or other server modules failing, such as ASP.

The CGI and CLI binaries, and the web server modules all require the php4ts.dll (php5ts.dll) file to be available to them. You have to make sure that this file can be found by your PHP installation. The search order for this DLL is as follows:

  • The same directory from where php.exe is called, or in case you use a SAPI module, the web server's directory (e.g. C:\Program Files\Apache Group\Apache2\bin).

  • Any directory in your Windows PATH environment variable.

To make php4ts.dll / php5ts.dll available you have three options: copy the file to the Windows system directory, copy the file to the web server's directory, or add your PHP directory, C:\php to the PATH. For better maintenance, we advise you to follow the last option, add C:\php to the PATH, because it will be simpler to upgrade PHP in the future. Read more about how to add your PHP directory to PATH in the corresponding FAQ entry (and then don't forget to restart the computer - logoff isn't enough).

The next step is to set up a valid configuration file for PHP, php.ini. There are two ini files distributed in the zip file, php.ini-dist and php.ini-recommended. We advise you to use php.ini-recommended, because we optimized the default settings in this file for performance, and security. Read this well documented file carefully because it has changes from php.ini-dist that will drastically affect your setup. Some examples are display_errors being off and magic_quotes_gpc being off. In addition to reading these, study the ini settings and set every element manually yourself. If you would like to achieve the best security, then this is the way for you, although PHP works fine with these default ini files. Copy your chosen ini-file to a directory that PHP is able to find and rename it to php.ini. PHP searches for php.ini in the locations described in la sección de nombre El archivo de configuración en Capítulo 9 section.

If you are running Apache 2, the simpler option is to use the PHPIniDir directive (read the installation on Apache 2 page), otherwise your best option is to set the PHPRC environment variable. This process is explained in the following FAQ entry.

Nota: If you're using NTFS on Windows NT, 2000, XP or 2003, make sure that the user running the web server has read permissions to your php.ini (e.g. make it readable by Everyone).

The following steps are optional:

  • Edit your new php.ini file. If you plan to use OmniHTTPd, do not follow the next step. Set the doc_root to point to your web servers document_root. For example:

    doc_root = c:\inetpub\wwwroot // for IIS/PWS

doc_root = c:\apache\htdocs // for Apache

  • Choose the extensions you would like to load when PHP starts. See the section about Windows extensions, about how to set up one, and what is already built in. Note that on a new installation it is advisable to first get PHP working and tested without any extensions before enabling them in php.ini.

  • On PWS and IIS, you can set the browscap configuration setting to point to: c:\windows\system\inetsrv\browscap.ini on Windows 9x/Me, c:\winnt\system32\inetsrv\browscap.ini on NT/2000, and c:\windows\system32\inetsrv\browscap.ini on XP. For an up-to-date browscap.ini, read the following FAQ.

PHP is now setup on your system. The next step is to choose a web server, and enable it to run PHP. Choose a web server from the table of contents.

Anterior | Inicio | Siguiente
Windows Installer (PHP 5.1.0 and earlier) | Subir | ActiveScript


OmniHTTPd Server

This section contains notes and hints specific to OmniHTTPd on Windows.

Nota: You should read the manual installation steps first!

Aviso

Al usar el modo CGI, vuestro servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

You need to complete the following steps to make PHP work with OmniHTTPd. This is a CGI executable setup. SAPI is supported by OmniHTTPd, but some tests have shown that it is not so stable to use PHP as an ISAPI module.

Important for CGI users: Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0.

  1. Install OmniHTTPd server.

  2. Right click on the blue OmniHTTPd icon in the system tray and select Properties

  3. Click on Web Server Global Settings

  4. On the 'External' tab, enter: virtual = .php | actual = c:\php\php.exe (use php-cgi.exe if installing PHP 5), and use the Add button.

  5. On the Mime tab, enter: virtual = wwwserver/stdcgi | actual = .php, and use the Add button.

  6. Click OK

Repeat steps 2 - 6 for each extension you want to associate with PHP.

Nota: Some OmniHTTPd packages come with built in PHP support. You can choose at setup time to do a custom setup, and uncheck the PHP component. We recommend you to use the latest PHP binaries. Some OmniHTTPd servers come with PHP 4 beta distributions, so you should choose not to set up the built in support, but install your own. If the server is already on your machine, use the Replace button in Step 4 and 5 to set the new, correct information.

Anterior | Inicio | Siguiente
Sun, iPlanet and Netscape servers on Microsoft Windows | Subir | Sambar Server on Microsoft Windows


Sambar Server on Microsoft Windows

This section contains notes and hints specific to the Sambar Server for Windows.

Nota: You should read the manual installation steps first!

This list describes how to set up the ISAPI module to work with the Sambar server on Windows.

  • Find the file called mappings.ini (in the config directory) in the Sambar install directory.

  • Open mappings.ini and add the following line under [ISAPI]:

    Ejemplo 6-7. ISAPI configuration of Sambar

    #for PHP 4
*.php = c:\php\php4isapi.dll

#for PHP 5
*.php = c:\php\php5isapi.dll
    (This line assumes that PHP was installed in c:\php.)

  • Now restart the Sambar server for the changes to take effect.

Nota: If you intend to use PHP to communicate with resources which are held on a different computer on your network, then you will need to alter the account used by the Sambar Server Service. The default account used for the Sambar Server Service is LocalSystem which will not have access to remote resources. The account can be amended by using the Services option from within the Windows Control Panel Administation Tools.

Anterior | Inicio | Siguiente
OmniHTTPd Server | Subir | Xitami on Microsoft Windows


Sun, iPlanet and Netscape servers on Microsoft Windows

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Windows.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

CGI setup on Sun, iPlanet and Netscape servers

To install PHP as a CGI handler, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a dummy shellcgi directory and remove it just after (this step creates 5 important lines in obj.conf and allow the web server to handle shellcgi scripts).

  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php).

  • Do it for each web server instance you want PHP to run

More details about setting up PHP as a CGI executable can be found here: http://benoit.noss.free.fr/php/install-php.html

NSAPI setup on Sun, iPlanet and Netscape servers

To install PHP with NSAPI, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/x-httpd-php, File Suffix: php).

  • Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following: You should place the lines after mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server configuration directory.

  • Configure the default object in obj.conf (for virtual server classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the <Object name="default"> section, place this line necessarily after all 'ObjectType' and before all 'AddLog' lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  • This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  • Restart your web service and apply changes

  • Do it for each web server instance you want PHP to run

Nota: More details about setting up PHP as an NSAPI filter can be found here: http://benoit.noss.free.fr/php/install-php4.html

Nota: The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP 3.x way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

Nota: Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. The problem is, that this function uses some undocumented features from the NSAPI library.

Under Unix this is not a problem, because the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Under Windows limitations in the DLL handling need the use of a automatic detection of the most recent ns-httpdXX.dll file. This is tested for servers till version 6.1. If a newer version of the Sun server is used, the detection fails and nsapi_virtual() is disabled.

If this is the case, try the following: Add the following parameter to php4_init in magnus.conf/obj.conf:

Init fn=php4_init ... server_lib="ns-httpdXX.dll"
where XX is the correct DLL version number. To get it, look in the server-root for the correct DLL name. The DLL with the biggest filesize is the right one.

You can check the status by using the phpinfo() function.

Nota: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

Anterior | Inicio | Siguiente
Apache 2.0.x on Microsoft Windows | Subir | OmniHTTPd Server


Xitami on Microsoft Windows

This section contains notes and hints specific to Xitami on Windows.

Nota: You should read the manual installation steps first!

This list describes how to set up the PHP CGI binary to work with Xitami on Windows.

Important for CGI users: Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0. If you want to use $_SERVER['PHP_SELF'] you have to enable the cgi.fix_pathinfo directive.

Aviso

Al usar el modo CGI, vuestro servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.

  • Make sure the web server is running, and point your browser to xitamis admin console (usually http://127.0.0.1/admin), and click on Configuration.

  • Navigate to the Filters, and put the extension which PHP should parse (i.e. .php) into the field File extensions (.xxx).

  • In Filter command or script put the path and name of your PHP CGI executable i.e. C:\php\php.exe for PHP 4, or C:\php\php-cgi.exe for PHP 5.

  • Press the 'Save' icon.

  • Restart the server to reflect changes.

Anterior | Inicio | Siguiente
Sambar Server on Microsoft Windows | Subir | Building from source


PHP and Zend Engine Internals

Manual de PHP
Anterior Siguiente

VII. PHP and Zend Engine Internals

Si está a punto de empezar a desarrollar extensiones de PHP o Zend, necesita prepararse para el entorno de programación ofrecido por las varias APIs. Esta sección de la documentación intenta introducir las APIs ofrecidas por las diferentes versiones disponibles del Motor Zend y PHP. Dado que la mayoría de la información disponible aquí está un poco desactualizada, es recomendable que lea los varios archivos que se encuentran en el código fuente de PHP, como README.SELF-CONTAINED-EXTENSIONS y README.EXT_SKEL, además del manual.

Tabla de contenidos
44. API de Secuencia para Autores de Extensiones PHP
45. PDO Driver How-To
46. Zend API: Hacking the Core of PHP
47. TSRM API
48. Extensión de PHP 3

Anterior | Inicio | Siguiente
zlib_get_coding_type |  | API de Secuencia para Autores de Extensiones PHP


PDO Driver How-To

Manual de PHP
Anterior Siguiente

Capítulo 45. PDO Driver How-To

Tabla de contenidos
A brief note about this How-To
Prerequisites
Preparation and Housekeeping
Fleshing out your skeleton
Building
Testing
Packaging and distribution
pdo_dbh_t definition
pdo_stmt_t definition
Constants
Error handling

A brief note about this How-To

The original version of this PDO driver specification was written by Bill Abt and Rick McGuire of IBM and contributed to the PHP community to assist in the development of drivers for more databases and to encourage the emerging standard for database access in PHP.

Anterior | Inicio | Siguiente
Opciones de apertura de secuencia | Subir | Prerequisites


Building

The build process is designed to work with PEAR (see http://pear.php.net/ for more information about PEAR). There are two files that are used to assist in configuring your package for building. The first is config.m4 which is the autoconf configuration file for all platforms except Win32. The second is config.w32 which a build configuration file for use on Win32. Skeleton files for these are built for you when you first set up your project. You then need to customize them to fit the needs of your project. Once you've customized your config files, you can build your driver using the following sequence of commands:

Before first build:

$ sudo pear install PDO

For each build:

$ cd pdo_SKEL
$ phpize
$ ./configure
$ make
$ sudo make install

The process can then be repeated as necessary during the development process.

Anterior | Inicio | Siguiente
Fleshing out your skeleton | Subir | Testing


Constants

Tabla 45-1. Database and Statement Attributes Table

Attribute

Valid value(s)

PDO_ATTR_AUTOCOMMIT

BOOL

TRUE if autocommit is set, FALSE otherwise.

dbh->auto_commit contains value. Processed by PDO directly.

PDO_ATTR_PREFETCH

LONG

Value of the prefetch size in drivers that support it.

PDO_ATTR_TIMEOUT

LONG

How long to wait for a db operation before timing out.

PDO_ATTR_ERRMODE

LONG

Processed and handled by PDO

PDO_ATTR_SERVER_VERSION

STRING

The "human-readable" string representing the Server/Version this driver is currently connected to.

PDO_ATTR_CLIENT_VERSION

STRING

The "human-readable" string representing the Client/Version this driver supports.

PDO_ATTR_SERVER_INFO

STRING

The "human-readable" description of the Server.

PDO_ATTR_CONNECTION_STATUS

LONG

Values not yet defined

PDO_ATTR_CASE

LONG

Processed and handled by PDO.

PDO_ATTR_CURSOR_NAME

STRING

String representing the name for a database cursor for use in "where current in <name>" SQL statements.

PDO_ATTR_CURSOR

LONG

PDO_CURSOR_FWDONLY

Forward only cursor

PDO_CURSOR_SCROLL

Scrollable cursor

The values for the attributes above are all defined in terms of the Zend API. The Zend API contains macros that can be used to convert a *zval to a value. These macros are defined in the Zend header file, zend_API.h in the Zend directory of your PHP build directory. Some of these attributes can be used with the statement attribute handlers such as the PDO_ATTR_CURSOR and PDO_ATTR_CURSOR_NAME. See the statement attribute handling functions for more information.

Anterior | Inicio | Siguiente
pdo_stmt_t definition | Subir | Error handling


Error handling

Error handling is implemented using a hand-shaking protocol between PDO and the database driver code. The database driver code signals PDO than an error has occurred via a failure (0) return from any of the interface functions. If a zero is returned, the field error_code in the control block appropriate to the context (either the pdo_dbh_t or pdo_stmt_t block). In practice, it is probably a good idea to set the field in both blocks to the same value to ensure the correct one is getting used.

The error_mode field is a six-byte field containing a 5 character ASCIIZ SQLSTATE identifier code. This code drives the error message process. The SQLSTATE code is used to look up an error message in the internal PDO error message table (see pdo_sqlstate.c for a list of error codes and their messages). If the code is not known to PDO, a default "Unknown Message" value will be used.

In addition to the SQLSTATE code and error message, PDO will call the driver-specific fetch_err() routine to obtain supplemental data for the particular error condition. This routine is passed an array into which the driver may place additional information. This array has slot positions assigned to particular types of supplemental info:

  1. A native error code. This will frequently be an error code obtained from the database API.

  2. A descriptive string. This string can contain anything additional information related to the failure. Database drivers typically include information such as an error message, code location of the failure, and any additional descriptive information the driver developer feels worthy of inclusion. It is generally a good idea to include all diagnostic information obtainable from the database interface at the time of the failure. For driver-detected errors (such as memory allocation problems), the driver developer can define whatever error information that seems appropriate.

Anterior | Inicio | Siguiente
Constants | Subir | Zend API: Hacking the Core of PHP


Fleshing out your skeleton

Major Structures and Attributes

The major structures, pdo_dbh_t and pdo_stmt_t are defined and explained in Appendix A and B respectively. Database and Statement attributes are defined in Appendix C. Error handling is explained in Appendix D.

pdo_SKEL.c: PHP extension glue

function entries

static function_entry pdo_SKEL_functions[] = {
  { NULL, NULL, NULL }
};

This structure is used to register functions into the global php function namespace. PDO drivers should try to avoid doing this, so it is recommended that you leave this structure initialized to NULL, as shown in the synopsis above.

Module entry

/* {{{ pdo_SKEL_module_entry */
#if ZEND_EXTENSION_API_NO >= 220050617
static zend_module_dep pdo_SKEL_deps[] = {
    ZEND_MOD_REQUIRED("pdo")
    {NULL, NULL, NULL}
};
#endif
/* }}} */

zend_module_entry pdo_SKEL_module_entry = {
#if ZEND_EXTENSION_API_NO >= 220050617
    STANDARD_MODULE_HEADER_EX, NULL,
    pdo_SKEL_deps,
#else
    STANDARD_MODULE_HEADER,
#endif
    "pdo_SKEL",
    pdo_SKEL_functions,
    PHP_MINIT(pdo_SKEL),
    PHP_MSHUTDOWN(pdo_SKEL),
    NULL,
    NULL,
    PHP_MINFO(pdo_SKEL),
    PHP_PDO_<DB>_MODULE_VERSION,
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_PDO_<DB>
ZEND_GET_MODULE(pdo_db)
#endif

A structure of type zend_module_entry called pdo_SKEL_module_entry must be declared and should include reference to the pdo_SKEL_functions table defined previously.

Standard PHP Module Extension Functions

PHP_MINIT_FUNCTION

/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(pdo_SKEL)
{
    return php_pdo_register_driver(&pdo_SKEL_driver);
}
/* }}} */

This standard PHP extension function should be used to register your driver with the PDO layer. This is done by calling the php_pdo_register_driver() function passing a pointer to a structure of type pdo_driver_t typically named pdo_SKEL_driver. A pdo_driver_t contains a header that is generated using the PDO_DRIVER_HEADER(SKEL) macro and pdo_SKEL_handle_factory() function pointer. The actual function is described during the discussion of the SKEL_dbh.c unit.

PHP_MSHUTDOWN_FUNCTION

/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(pdo_SKEL)
{
    php_pdo_unregister_driver(&pdo_SKEL_driver);
    return SUCCESS;
}
/* }}} */

This standard PHP extension function is used to unregister your driver from the PDO layer. This is done by calling the php_pdo_unregister_driver() function, passing the same pdo_SKEL_driver structure that was passed in the init function above.

PHP_MINFO_FUNCTION

This is again a standard PHP extension function. Its purpose is to display information regarding the module when the phpinfo() is called from a script. The convention is to display the version of the module and also what version of the db you are dependent on, along with any other configuration style information that might be relevant.

SKEL_driver.c: Driver implementation

This unit implements all of the database handling methods that support the PDO database handle object. It also contains the error fetching routines. All of these functions will typically need to access the global variable pool. Therefore, it is necessary to use the Zend macro TSRMLS_DC macro at the end of each of these statements. Consult the Zend programmer documentation for more information on this macro.

pdo_SKEL_error

static int pdo_SKEL_error(pdo_dbh_t *dbh,
  pdo_stmt_t *stmt, const char *file, int line TSRMLS_DC)

The purpose of this function is to be used as a generic error handling function within the driver. It is called by the driver when an error occurs within the driver. If an error occurs that is not related to SQLSTATE, the driver should set either dbh->error_code or stmt->error_code to an SQLSTATE that most closely matches the error or the generic SQLSTATE error "HY000". The file pdo_sqlstate.c in the PDO source contains a table of commonly used SQLSTATE codes that the PDO code explicitly recognizes. This setting of the error code should be done prior to calling this function.; This function should set the global pdo_err variable to the error found in either the dbh or the stmt (if the variable stmt is not NULL).

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the current statement or NULL. If NULL, the error is derived by error code found in the dbh.

file

The source file where the error occurred or NULL if not available.

line

The line number within the source file if available.

If the dbh member methods is NULL (which implies that the error is being raised from within the PDO constructor), this function should call the zend_throw_exception_ex() function otherwise it should return the error code. This function is usually called using a helper macro that customizes the calling sequence for either database handling errors or statement handling errors.

Ejemplo 45-1. Example macros for invoking pdo_SKEL_error

#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)
#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)

For more info on error handling, see la sección de nombre Error handling.

Nota: Despite being documented here, the PDO driver interface does not specify that his function be present; it is merely a convenient way to handle errors, and it just happens to be equally convenient for the majority of database client library APIs to structure your driver implementation in this way.

pdo_SKEL_fetch_error_func

static int pdo_SKEL_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt,
    zval *info TSRMLS_DC)

The purpose of this function is to obtain additional information about the last error that was triggered. This includes the driver specific error code and a human readable string. It may also include additional information if appropriate. This function is called as a result of the PHP script calling the PDO::errorInfo() method.

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the most current statement or NULL. If NULL, the error translated is derived by error code found in the dbh.

info

A hash table containing error codes and messages.

The error_func should return two pieces of information as successive array elements. The first item is expected to be a numeric error code, the second item is a descriptive string. The best way to set this item is by using add_next_index. Note that the type of the first argument need not be long; use whichever type most closely matches the error code returned by the underlying database API.

/* now add the error information. */
/* These need to be added in a specific order */
add_next_index_long(info, error_code);   /* driver specific error code */
add_next_index_string(info, message, 0); /* readable error message */

This function should return 1 if information is available, 0 if the driver does not have additional info.

SKEL_handle_closer

static int SKEL_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to close an open database.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to close the open database. PDO ignores the return value from this function.

SKEL_handle_preparer

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)

This function will be called by PDO in response to PDO::query() and PDO::prepare() calls from the PHP script. The purpose of the function is to prepare raw SQL for execution, storing whatever state is appropriate into the stmt that is passed in.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

Stmt

Pointer to the returned statement or NULL if an error occurs.

driver_options

Any driver specific/defined options.

This function is essentially the constructor for a stmt object. This function is responsible for processing statement options, and setting driver-specific option fields in the pdo_stmt_t structure.

PDO does not process any statement options on the driver's behalf before calling the preparer function. It is your responsibility to process them before you return, raising an error for any unknown options that are passed.

One very important responsibility of this function is the processing of SQL statement parameters. At the time of this call, PDO does not if your driver supports binding parameters into prepared statements, nor does it know if it supports named or positional parameter naming conventions.

Your driver is responsible for setting stmt->supports_placeholders as appropriate for the underlying database. This may involved some run-time determination on the part of your driver, if this setting depends on the version of the database server to which it is connected. If your driver doesn't directly support both named and positional parameter conventions, you should use the pdo_parse_params() API to have PDO rewrite the query to take advantage of the support provided by your database.

Ejemplo 45-2. Using pdo_parse_params

int ret;
    char *nsql = NULL;
    int nsql_len = 0;

    /* before we prepare, we need to peek at the query; if it uses named parameters,
     * we want PDO to rewrite them for us */
    stmt->supports_placeholders = PDO_PLACEHOLDER_POSITIONAL;
    ret = pdo_parse_params(stmt, (char*)sql, sql_len, &nsql, &nsql_len TSRMLS_CC);

    if (ret == 1) {
        /* query was re-written */
        sql = nsql;
    } else if (ret == -1) {
        /* couldn't grok it */
        strcpy(dbh->error_code, stmt->error_code);
        return 0;
    }

    /* now proceed to prepare the query in "sql" */

Possible values for supports_placeholders are: PDO_PLACEHOLDER_NAMED, PDO_PLACEHOLDER_POSITIONAL and PDO_PLACEHOLDER_NONE. If the driver doesn't support prepare statements at all, then this function should simply allocate any state that it might need, and then return:

Ejemplo 45-3. implementing preparer for drivers that don't support native prepared statements

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
    long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
{
    pdo_SKEL_db_handle *H = (pdo_SKEL_db_handle *)dbh->driver_data;
    pdo_SKEL_stmt *S = ecalloc(1, sizeof(pdo_SKEL_stmt));

    S->H = H;
    stmt->driver_data = S;
    stmt->methods = &SKEL_stmt_methods;
    stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;

    return 1;
}

This function returns 1 on success or 0 on failure.

SKEL_handle_doer

static long SKEL_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_DC)

This function will be called by PDO to execute a raw SQL statement. No pdo_stmt_t is created.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

This function returns 1 on success or 0 on failure.

SKEL_handle_quoter

static int SKEL_handle_quoter(pdo_dbh_t *dbh, const char *unquoted,
  int unquoted_len, char **quoted, int quoted_len, enum pdo_param_type param_type TSRMLS_DC)

This function will be called by PDO to turn an unquoted string into a quoted string for use in a query.

dbh

Pointer to the database handle initialized by the handle factory

unquoted

Pointer to a character string containing the string to be quoted.

unquoted_len

The length of the string to be quoted.

quoted

Pointer to the address where a pointer to the newly quoted string will be returned.

quoted_len

The length of the new string.

param_type

A driver specific hint for driver that have alternate quoting styles

This function is called in response to a call to PDO::quote() or when the driver has set supports_placeholder to PDO_PLACEHOLDER_NONE. The purpose is to quote a parameter when building SQL statements.

If your driver does not support native prepared statements, implementation of this function is required.

This function returns 1 if the quoting process reformatted the string, and 0 if it was not necessary to change the string. The original string will be used unchanged with a 0 return.

SKEL_handle_begin

static int SKEL_handle_begin(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to begin a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to begin a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_commit

static int SKEL_handle_commit(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to end a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to commit a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_rollback

static int SKEL_handle_rollback( pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to rollback a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to rollback a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_get_attribute

static int SKEL_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value TSRMLS_DC)

This function will be called by PDO to retrieve a database attribute.

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Tabla 45-1 for valid attributes.

return_value

The returned value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to supply this function. PDO driver handles the PDO_ATTR_PERSISTENT, PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_set_attribute

static int SKEL_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to set a database attribute, usually in response to a script calling PDO::setAttribute().

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Tabla 45-1 for valid attributes.

val

The new value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to provide this function if it does not need to support additional attributes. The PDO driver handles the PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_last_id

static char * SKEL_handle_last_id(pdo_dbh_t *dbh, const char *name, unsigned int len TSRMLS_DC)

This function will be called by PDO to retrieve the ID of the last inserted row.

dbh

Pointer to the database handle initialized by the handle factory

name

string representing a table or sequence name.

len

the length of the name parameter.

This function returns a character string containing the id of the last inserted row on success or NULL on failure. This is an optional function.

SKEL_check_liveness

static int SKEL_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to test whether or not a persistent connection to a database is alive and ready for use.

dbh

Pointer to the database handle initialized by the handle factory

This function returns 1 if the database connection is alive and ready for use, otherwise it should return 0 to indicate failure or lack of support.

Nota: This is an optional function.

SKEL_get_driver_methods

static function_entry *SKEL_get_driver_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)

This function will be called by PDO in response to a call to any method that is not a part of either the PDO or PDOStatement classes. It's purpose is to allow the driver to provide additional driver specific methods to those classes.

dbh

Pointer to the database handle initialized by the handle factory

kind

One of the following:

PDO_DBH_DRIVER_METHOD_KIND_DBH

Set when the method call was attempted on an instance of the PDO class. The driver should return a pointer a function_entry table for any methods it wants to add to that class, or NULL if there are none.

PDO_DBH_DRIVER_METHOD_KIND_STMT

Set when the method call was attempted on an instance of the PDOStatement class. The driver should return a pointer to a function_entry table for any methods it wants to add to that class, or NULL if there are none.

This function returns a pointer to the function_entry table requested, or NULL there are no driver specific methods.

SKEL_handle_factory

static int SKEL_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC)

This function will be called by PDO to create a database handle. For most databases this involves establishing a connection to the database. In some cases, a persistent connection may be requested, in other cases connection pooling may be requested. All of these are database/driver dependent.

dbh

Pointer to the database handle initialized by the handle factory

driver_options

An array of driver options, keyed by integer option number. See Tabla 45-1 for a list of possible attributes.

This function should fill in the passed database handle structure with its driver specific information on success and return 1, otherwise it should return 0 to indicate failure.

PDO processes the AUTOCOMMIT and PERSISTENT driver options before calling the handle_factory. It is the handle factory's responsibility to process other options.

Driver method table

A static structure of type pdo_dbh_methods named SKEL_methods must be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

pdo_SKEL_driver

A structure of type pdo_driver_t named pdo_SKEL_driver should be declared. The PDO_DRIVER_HEADER(SKEL) macro should be used to declare the header and the function pointer to the handle factory function should set.

SKEL_statement.c: Statement implementation

This unit implements all of the database statement handling methods that support the PDO statement object.

SKEL_stmt_dtor

static int SKEL_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to destroy a previously constructed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This should do whatever is necessary to free up any driver specific storage allocated for the statement. The return value from this function is ignored.

SKEL_stmt_execute

static int SKEL_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to execute the prepared SQL statement in the passed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_fetch

static int SKEL_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
   long offset TSRMLS_DC)

This function will be called by PDO to fetch a row from a previously executed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

ori

One of PDO_FETCH_ORI_xxx which will determine which row will be fetched.

offset

If ori is set to PDO_FETCH_ORI_ABS or PDO_FETCH_ORI_REL, offset represents the row desired or the row relative to the current position, respectively. Otherwise, this value is ignored.

The results of this fetch are driver dependent and the data is usually stored in the driver_data member of pdo_stmt_t object. The ori and offset parameters are only meaningful if the statement represents a scrollable cursor. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_param_hook

static int SKEL_stmt_param_hook(pdo_stmt_t *stmt,
  struct pdo_bound_param_data *param, enum pdo_param_event event_type TSRMLS_DC)

This function will be called by PDO for handling of both bound parameters and bound columns.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

param

The structure describing either a statement parameter or a bound column.

event_type

The type of event to occur for this parameter, one of the following:

PDO_PARAM_EVT_ALLOC

Called when PDO allocates the binding. Occurs as part of PDOStatement::bindParam(), PDOStatement::bindValue() or as part of an implicit bind when calling PDOStatement::execute(). This is your opportunity to take some action at this point; drivers that implement native prepared statements will typically want to query the parameter information, reconcile the type with that requested by the script, allocate an appropriately sized buffer and then bind the parameter to that buffer. You should not rely on the type or value of the zval at param->parameter at this point in time.

PDO_PARAM_EVT_FREE

Called once per parameter as part of cleanup. You should release any resources associated with that parameter now.

PDO_PARAM_EXEC_PRE

Called once for each parameter immediately before calling SKEL_stmt_execute; take this opportunity to make any final adjustments ready for execution. In particular, you should note that variables bound via PDOStatement::bindParam() are only legal to touch now, and not any sooner.

PDO_PARAM_EXEC_POST

Called once for each parameter immediately after calling SKEL_stmt_execute; take this opportunity to make any post-execution actions that might be required by your driver.

PDO_PARAM_FETCH_PRE

Called once for each parameter immediately prior to calling SKEL_stmt_fetch.

PDO_PARAM_FETCH_POST

Called once for each parameter immediately after calling SKEL_stmt_fetch.

This hook will be called for each bound parameter and bound column in the statement. For ALLOC and FREE events, a single call will be made for each parameter or column. The param structure contains a driver_data field that the driver can use to store implementation specific information about each of the parameters.

For all other events, PDO may call you multiple times as the script issues PDOStatement::execute() and PDOStatement::fetch() calls.

If this is a bound parameter, the is_param flag in the param structure, otherwise, the param structure refers to a bound column.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_describe_col

static int SKEL_stmt_describe_col(pdo_stmt_t *stmt, int colno TSRMLS_DC)

This function will be called by PDO to query information about a particular column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

The driver should populate the pdo_stmt_t member columns(colno) with the appropriate information. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_get_col_data

static int SKEL_stmt_get_col_data(pdo_stmt_t *stmt, int colno,
  char **ptr, unsigned long *len, int *caller_frees TSRMLS_DC)

This function will be called by PDO to retrieve data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

ptr

Pointer to the retrieved data.

len

The length of the data pointed to by ptr.

caller_frees

If set, ptr should point to emalloc'd memory and the main PDO driver will free it as soon as it is done with it. Otherwise, it will be the responsibility of the driver to free any allocated memory as a result of this call.

The driver should return the resultant data and length of that data in the ptr and len variables respectively. It should be noted that the main PDO driver expects the driver to manage the lifetime of the data. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_set_attr

static int SKEL_stmt_set_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to allow the setting of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Tabla 45-1 for valid attributes.

val

The new value for the attribute.

This function is driver dependent and allows the driver the capability to set database specific attributes for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional settable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_attr

static int SKEL_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval
   *return_value TSRMLS_DC)

This function will be called by PDO to allow the retrieval of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Tabla 45-1 for valid attributes.

return_value

The returned value for the attribute.

This function is driver dependent and allows the driver the capability to retrieve a previously set database specific attribute for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional gettable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_col_meta

static int SKEL_stmt_get_col_meta(pdo_stmt_t *stmt, int colno,
   zval *return_value TSRMLS_DC)

Aviso

This function is not well defined and is subject to change.

This function will be called by PDO to retrieve meta-data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number for which data is to be retrieved.

return_value

Holds the returned meta data.

The driver author should consult the documentation for this function that can be found in the php_pdo_driver.h header as this will be the most current. This function returns 1 for success or 0 in the event of failure. The database driver does not need to provide this function.

Statement handling method table

A static structure of type pdo_stmt_methods named SKEL_stmt_methods should be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

Anterior | Inicio | Siguiente
Preparation and Housekeeping | Subir | Building


Packaging and distribution

Creating a package

PDO drivers are released via PECL; all the usual rules for PECL extensions apply. Packaging is accomplished by creating a valid package.xml file and then running:

$ pear package

This will create a tarball named PDO_SKEL-X.Y.Z.tgz.

Before releasing the package, you should test that it builds correctly; if you've made a mistake in your config.m4 or package.xml files, the package may not function correctly. You can test the build, without installing anything, using the following invocation:

$ pear build package.xml

Once this is proven to work, you can test installation:

$ pear package
$ sudo pear install PDO_SKEL-X.Y.X.tgz

Full details about package.xml can be found in the PEAR Programmer's documentation (http://pear.php.net/manual/).

Releasing the package

A PDO driver is released via the PHP Extension Community Library (PECL). Information about PECL can be found at http://pecl.php.net/index.php.

Anterior | Inicio | Siguiente
Testing | Subir | pdo_dbh_t definition


pdo_dbh_t definition

All fields should be treated as read-only by the driver, unless explicitly stated otherwise.

Figura 45-1. pdo_dbh_t

/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;      (1)
    /* driver specific data */
    void *driver_data;                    (2)

    /* credentials */
    char *username, *password;            (3)

    /* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;             (4)

    /* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;               (5)

    /* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;         (6)

    /* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;

    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;     (7)

    /* data source string used to open this handle */
    const char *data_source;              (8)
    unsigned long data_source_len;

    /* the global error code. */
    pdo_error_type error_code;            (9)

    enum pdo_case_conversion native_case  (10) , desired_case;
};
The driver must set this during SKEL_handle_factory().
This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
The username and password that were passed into the PDO constructor. The driver should use these values when it initiates a connection to the database.
If this is set to 1, then any data that is referenced by the dbh, including whatever structure your driver allocates, MUST be allocated persistently. This is easy to achieve; rather than using the usual emalloc() simply use pemalloc() and pass the value of this flag as the last parameter. Failure to use the appropriate kind of memory can lead to serious memory faults, resulting (in the best case) a hard crash, and in the worst case, an exploitable memory problem.

If, for whatever reason, your driver is not suitable to run persistently, you MUST check this flag in your SKEL_handle_factory() and raise an appropriate error.

You should check this value in your SKEL_handle_doer() and SKEL_stmt_execute() functions; if it evaluates to true, you must attempt to commit the query now. Most database implementations offer an auto-commit mode that handles this automatically.
If your database client library API operates by fetching data into a caller-supplied buffer, you should set this flag to 1 during your SKEL_handle_factory(). When set, PDO will call your SKEL_stmt_describer() earlier that it would otherwise. This early call allows you to determine those buffer sizes and issue appropriate calls to the database client library.

If your database client library API simply returns pointers to its own internal buffers for you to copy after each fetch call, you should leave this value set to 0.

If your driver doesn't support native prepared statements (supports_placeholders is set to PDO_PLACEHOLDER_NONE), you must set this value to the maximum length that can be taken up by a single character when it is quoted by your SKEL_handle_quoter() function. This value is used to calculate the amount of buffer space required when PDO it executes the statement.
This holds the value of the DSN that was passed into the PDO constructor. If your driver implementation needed to modify the DSN for whatever reason, it should update this member during SKEL_handle_factory(). Modifying this member should be avoided. If you do change it, you must ensure that data_source_len is also correct.
Whenever an error occurs during a call to one of your driver methods, you should set this member to the SQLSTATE code that best describes the error and return an error. In this HOW-TO, the suggested practice is to call SKEL_handle_error() when an error is detected, and have it set the error code.
Your driver should set this during SKEL_handle_factory(); the value should reflect how the database returns the names of the columns in result sets. If the name matches the case that was used in the query, set it to PDO_CASE_NATURAL (this is actually the default). If the column names are always returned in upper case, set it to PDO_CASE_UPPER. If the column names are always return in lower case, set it to PDO_CASE_LOWER. The value you set it used to determine if PDO should perform case folding when the user sets the PDO_ATTR_CASE attribute.

Anterior | Inicio | Siguiente
Packaging and distribution | Subir | pdo_stmt_t definition


pdo_stmt_t definition

All fields should be treated as read-only unless explicitly stated otherwise.

Figura 45-2. pdo_stmt_t

/* represents a prepared statement */
struct _pdo_stmt_t {
    /* driver specifics */
    struct pdo_stmt_methods *methods;     (1)
    void *driver_data;                    (2)

    /* if true, we've already successfully executed this statement at least
     * once */
    unsigned executed:1;                  (3)
    /* if true, the statement supports placeholders and can implement
     * bindParam() for its prepared statements, if false, PDO should
     * emulate prepare and bind on its behalf */
    unsigned supports_placeholders:2;     (4)

    /* the number of columns in the result set; not valid until after
     * the statement has been executed at least once.  In some cases, might
     * not be valid until fetch (at the driver level) has been called at least once.
     * */
    int column_count;                     (5)
    struct pdo_column_data *columns;      (6)

    /* points at the dbh that this statement was prepared on */
    pdo_dbh_t *dbh;

    /* keep track of bound input parameters.  Some drivers support
     * input/output parameters, but you can't rely on that working */
    HashTable *bound_params;
    /* When rewriting from named to positional, this maps positions to names */
    HashTable *bound_param_map;
    /* keep track of PHP variables bound to named (or positional) columns
     * in the result set */
    HashTable *bound_columns;

    /* not always meaningful */
    long row_count;

    /* used to hold the statement's current query */
    char *query_string;
    int query_stringlen;

    /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */
    char *active_query_string;
    int active_query_stringlen;

    /* the cursor specific error code. */
    pdo_error_type error_code;

    /* used by the query parser for driver specific
     * parameter naming (see pgsql driver for example) */
    const char *named_rewrite_template;
};
The driver must set this during SKEL_handle_preparer().
This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
This is set by PDO after the statement has been executed for the first time. Your driver can inspect this value to determine if it can skip one-time actions as an optimization.
Discussed in more detail in la sección de nombre SKEL_handle_preparer
Your driver is responsible for setting this field to the number of columns available in a result set. This is usually set during SKEL_stmt_execute() but with some database implementations, the column count may not be available until SKEL_stmt_fetch() has been called at least once. Drivers that SKEL_stmt_next_rowset() should update the column count when a new rowset is available.
PDO will allocate this field based on the value that you set for the column count. You are responsible for populating each column during SKEL_stmt_describe(). You must set the precision, maxlen, name, namelen and param_type members for each column. The name is expected to be allocated using emalloc(); PDO will efree() at the appropriate time.

Anterior | Inicio | Siguiente
pdo_dbh_t definition | Subir | Constants


Preparation and Housekeeping

Source directory layout

The source directory for a typical PDO driver is laid out as follows, where SKEL represents a shortened form of the name of the database that the driver is going to connect to. Even though SKEL is presented here in uppercase (for clarity), the convention is to use lowercase characters.

pdo_SKEL/
  config.m4                    (1)
  config.w32                   (2)
  CREDITS
  package.xml                  (3)
  pdo_SKEL.c             (4)
  php_pdo_SKEL.h
  php_pdo_SKEL_int.h     (5)
  SKEL_dbh.c             (6)
  SKEL_stmt.c            (7)
unix build script
win32 build script
meta information about the package
standard PHP extension glue
driver private header
contains the implementation of the PDO driver interface
contains the implementation of the PDO statement interface

The contents of these files are defined later in this document.

Creating a skeleton

The easiest way to get started is to use the ext_skel shell script found in the PHP build tree in the ext directory. This will build a skeleton directory containing a lot of the files listed above. It can be build by executing the following command from within the ext directory:

./ext_skel --extname=pdo_SKEL

This will generate a directory called pdo_SKEL containing the skeleton files that you can then modify. This directory should then be moved out of the php extension directory . PDO is a PECL extension and should not be included in the standard extension directory. As long as you have PHP and PDO installed, you should be able to build from any directory.

Standard Includes

Build Specific Headers

The header file config.h is generated by the configure process for the platform for the which the driver is being built. If this header is present, the HAVE_CONFIG_H compiler variable is set. This variable should be tested for and if set, the file config.h should be included in the compilation unit.

PHP Headers

The following standard public php headers should be included in each source module:

  1. php.h

  2. php_ini.h

  3. ext/standard/info.h

PDO Interface Headers

The following standard public PDO header files are also included in each source module:

pdo/php_pdo.h

This header file contains definitions of the initialization and shutdown functions in the main driver as well as definitions of global PDO variables.

pdo/php_pdo_driver.h

This header contains the types and API contracts that are used to write a PDO driver. It also contains method signature for calling back into the PDO layer and registering/unregistering your driver with PDO. Most importantly, this header file contains the type definitions for PDO database handles and statements. The two main structures a driver has to deal with, pdo_dbh_t and pdo_stmt_t, are described in more detail in Appendix A and B.

Driver Specific Headers

The typical PDO driver has two header files that are specific to the database implementation. This does not preclude the use of more depending on the implementation. The following two headers are, by convention, standard:

php_pdo_SKEL.h

This header file is virtually an exact duplicate in functionality and content of the previously defined pdo/php_pdo.h that has been specifically tailored for your database. If your driver requires the use of global variables they should be defined using the ZEND_BEGIN_MODULE_GLOBALS and ZEND_END_MODULE_GLOBALS macros. Macros are then used to access these variables. This macro is usually named PDO_SKEL_G(v) where v is global variable to be accessed. Consult the Zend programmer documentation for more information.

php_pdo_SKEL_int.h

This header file typically contains type definitions and function declarations specific to the driver implementation. It also should contain the db specific definitions of a pdo_SKEL_handle and pdo_SKEL_stmt structures. These are the names of the private data structures that are then referenced by the driver_data members of the handle and statement structures.

Optional Headers

Depending on the implementation details for a particular driver it may be necessary to include the following header:

#include <zend_exceptions.h>

Anterior | Inicio | Siguiente
Prerequisites | Subir | Fleshing out your skeleton


Prerequisites

The following is list of prerequisites and assumptions needed for writing a PDO database driver:

  1. A working target database, examples, demos, etc. working as per vendor specifications;

  2. A working development environment:

    1. Other Unix: standard development tools supplied by vendor plus the GNU development tool set;

    2. Win32: Visual Studio compiler suite;

    3. Linux: standard development tools, gcc, ld, make, autoconf, automake, etc., versions dependent on distribution;

  3. A working PHP environment version 5.0.3 or higher with a working PEAR extension version 1.3.5 or higher;

  4. A working PDO environment (can be installed using 'sudo pear install PDO'), including the headers which will be needed to access the PDO type definitions and function declarations;

  5. A good working knowledge of the 'C' programming language;

  6. A good working knowledge of the way to write a PHP extension; George Schlossnagle's Advanced PHP Programming (published by Developer's Library, chapters 21 and 22) is recommended;

  7. Finally, a familiarity with the Zend API that forms the heart of PHP, in particular paying attention to the memory management aspects.

Anterior | Inicio | Siguiente
PDO Driver How-To | Subir | Preparation and Housekeeping


Testing

PDO has a set of "core" tests that all drivers should pass before being released. They're designed to run from the PHP source distribution, so running the tests for your driver requires moving things around a bit. The suggested procedure is to obtain the latest PHP 5.1 snapshot and perform the following step:

$ cp -r pdo_SKEL /path/to/php-5.1/ext

This will allow the test harness to run your tests. The next thing you need to do is create a test that will redirect into the PDO common core tests. The convention is to name this file common.phpt; it should be placed in the tests subdirectory that was created by ext_skel when you created your extension skeleton. The content of this file should look something like the following:

--TEST--
SKEL
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_SKEL')) print 'skip'; ?>
--REDIRECTTEST--
if (false !== getenv('PDO_SKEL_TEST_DSN')) {
# user set them from their shell
   $config['ENV']['PDOTEST_DSN'] = getenv('PDO_SKEL_TEST_DSN');
   $config['ENV']['PDOTEST_USER'] = getenv('PDO_SKEL_TEST_USER');
   $config['ENV']['PDOTEST_PASS'] = getenv('PDO_SKEL_TEST_PASS');
   if (false !== getenv('PDO_SKEL_TEST_ATTR')) {
      $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_SKEL_TEST_ATTR');
   }
   return $config;
}
return array(
   'ENV' => array(
           'PDOTEST_DSN' => 'SKEL:dsn',
           'PDOTEST_USER' => 'username',
           'PDOTEST_PASS' => 'password'
       ),
   'TESTS' => 'ext/pdo/tests'
   );

This will cause the common core tests to be run, passing the values of PDOTEST_DSN, PDOTEST_USER and PDOTEST_PASS to the PDO constructor as the dsn, username and password parameters. It will first check the environment, so that appropriate values can be passed in when the test harness is run, rather than hard-coding the database credentials into the test file.

The test harness can be invoked as follows:

$ cd /path/to/php-5.1
$ make TESTS=ext/pdo_SKEL/tests PDO_SKEL_TEST_DSN="skel:dsn" \
 PDO_SKEL_TEST_USER=user PDO_SKEL_TEST_PASS=pass test

Anterior | Inicio | Siguiente
Building | Subir | Packaging and distribution


extends

Con frecuencia es necesario tener clases con variables y funciones similares a otra clase existente. De hecho, es una buena práctica definir una clase genérica que pueda ser usada en todos sus proyectos y adaptar esta clase para las necesidades de cada uno de sus proyectos específicos. Para facilitar esto, las clases pueden ser extensiones de otras clases. La clase extendida o derivada tiene todas las variables y funciones de la clase base (esto es llamado 'herencia', a pesar del hecho de que nadie muera) y lo que se agregue en la definición extendida. No es posible substraer de una clase, es decir, remover la definición de cualquier función o variable existente. Una clase extendida siempre depende de una clase base única, lo que quiere decir que no se soporta herencia múltiple. Las clases son extendidas usando la palabra clave 'extends'.

<?php
class Carrito_Con_Nombre extends Carrito {
    var $duenyo;

    function definir_duenyo ($nombre) {
        $this->duenyo = $nombre;
    }
}
?>

Esto define una clase Carrito_Con_Nombre que tiene todas las variables y funciones de Carrito, más una variable adicional $duenyo y una función adicional definir_duenyo(). Se crea un carrito con nombre en la forma usual y ahora es posible definir y obtener el dueño del carrito. Aun es posible usar las funciones normales de un carrito sobre los carritos con nombre:

<?php
$carrito_n = new Carrito_Con_Nombre;  // Crear un carrito con nombre
$carrito_n->definir_duenyo("kris");   // Nombrar el carrito
print $carrito_n->duenyo;             // imprimir el nombre del dueño
$carrito_n->agregar_item("10", 1);    // (funcionalidad heredada de carrito)
?>

Esto también se conoce como una relación "padre-hijo". Se crea una clase, padre, y se usa extends para crear una clase basada en la clase padre: la clase hija. Es posible incluso usar esta nueva clase hija y crear otra clase basada en esta clase hija.

Nota: ¡Las clases deben ser definidas antes de ser usadas! Si desea que la clase Carrito_Con_Nombre extienda la clase Carrito, tendrá que definir la clase Carrito primero. Si desea crear otra clase llamada Carrito_amarillo_con_nombre basada en la clase Carrito_Con_Nombre, debe definir Carrito_Con_Nombre primero. Resumiendo: el orden en que se definen las clases es importante.

Anterior | Inicio | Siguiente
Clases y Objetos (PHP 4) | Subir | Constructores


Operador de Resolución de Contexto (::)

Atención

Lo siguiente es válido únicamente para PHP 4 y versiones posteriores.

Algunas veces es útil referirse a funciones y variables en clases base o referirse a funciones en clases que no tienen aun alguna instancia. El operador :: es usado en tales casos.

<?php
class A {
    function ejemplo() {
        echo "Soy la función original A::ejemplo().<br />\n";
    }
}

class B extends A {
    function ejemplo() {
        echo "Soy la función redefinida B::ejemplo().<br />\n";
        A::ejemplo();
    }
}

// no hay un objeto de la clase A.
// esto imprime
//   Soy la función original A::ejemplo().<br />
A::ejemplo();

// crear un objeto de clase B.
$b = new B;

// esto imprime
//   Soy la función redefinida B::ejemplo().<br />
//   Soy la función original A::ejemplo().<br />
$b->ejemplo();
?>

El ejemplo anterior llama la función ejemplo() en la clase A, pero no hay un objeto de la clase A, así que no podemos escribir $a->ejemplo() o algo semejante. En su lugar llamamos ejemplo() como una 'función de clase', es decir, una función de la clase misma, no de un objeto de tal clase.

Existen funciones de clase, pero no existen variables de clase. De hecho, no hay un objeto en absoluto al momento de la llamada. Por lo tanto, una función de clase no puede usar variables del objeto (pero puede usar variables locales y globales), y quizás no pueda usar $this en absoluto.

En el ejemplo anterior, la clase B redefine la función ejemplo(). La definición original en la clase A es cubierta y ya no se encuentra disponible, a menos que haga referencia específicamente a la implementación de ejemplo() en la clase A usando el operador ::. Escriba A::ejemplo() para hacerlo (en realidad, debería usar parent::ejemplo(), como se muestra en la siguiente sección).

En este contexto, hay un objeto actual y puede tener variables de objeto. Por lo tanto, cuando se usa DESDE EL INTERIOR de una función de objeto, es posible usar $this y variables de objeto.

Anterior | Inicio | Siguiente
Constructores | Subir | parent


parent

Es posible que se encuentre escribiendo código que hace referencia a variables y funciones de las clases base. Esto es particularmente cierto si su clase derivada es una refinación o especialización del código en su clase base.

En lugar de usar el nombre literal de la clase base en su código, debería usar el nombre especial parent, el cual hace referencia al nombre de su clase base tal y como se entrega en la declaración extends de su clase. Al hacer esto, evita usar el nombre de su clase base en más de un lugar. Llegado el caso de que su árbol de jerarquía cambie durante la implementación, el cambio se puede efectuar con facilidad simplemente modificando la declaración extends de su clase.

<?php
class A {
    function ejemplo() {
        echo "Soy A::ejemplo() y ofrezco funcionalidad básica.<br />\n";
    }
}

class B extends A {
    function ejemplo() {
        echo "Soy B::ejemplo() y ofrezco funcionalidad adicional.<br />\n";
        parent::ejemplo();
    }
}

$b = new B;

// Esto hace la llamada a B::ejemplo(), la cual llama a su vez a A::ejemplo().
$b->ejemplo();
?>

Anterior | Inicio | Siguiente
Operador de Resolución de Contexto (::) | Subir | Seriación de objetos, objetos en sesiones


Excepciones

Manual de PHP
Anterior Siguiente

Capítulo 20. Excepciones

Tabla de contenidos
Extendiendo excepciones

PHP 5 tiene un modelo de excepciones similar al de otros lenguajes de programación. Una excepción puede ser lanzada, intentada o capturada en PHP. Un bloque de intento (try) debe incluir por lo menos un bloque de captura (catch). Los bloques de captura múltiples pueden ser usados para capturar diferentes tipos de clases; la ejecución continuará después del último bloque de captura definido. Las excepciones pueden ser lanzadas dentro de bloques de captura.

Cuando es lanzada una excepción, la siguiente línea de código no será ejecutada y PHP intentará encontrar el primer bloque de captura de excepciones. Si una excepción no es capturada se despliega un error fatal de PHP con un mensaje de que la excepción no fue capturada, a menos que exista un manejador de errores definido como set_exception_handler().

Ejemplo 20-1. Lanzando una Excepción

<?php
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

Extendiendo excepciones

Una clase de definición de excepciones del usuario puede ser definida extendiendo la clase de excepciones incorporado. Los miembros y propiedades mencionados en seguida, muestran lo que está accesible dentro de la clase "hijo" que se deriba de la clase de excepciones incorporados.

Ejemplo 20-2. La clase de excepciones incorporada

<?php
class Exception
{
    protected $message = 'Unknown exception';   // exception message
    protected $code = 0;                        // user defined exception code
    protected $file;                            // source filename of exception
    protected $line;                            // source line of exception

    function __construct($message = null, $code = 0);

    final function getMessage();                // message of exception
    final function getCode();                   // code of exception
    final function getFile();                   // source filename
    final function getLine();                   // source line
    final function getTrace();                  // an array of the backtrace()
    final function getTraceAsString();          // formated string of trace

    /* Overrideable */
    function __toString();                       // formated string for display
}
?>

Si una clase se extiende de la clase Exception incorporada y redefine el constructor, es altamente recomendado que también llame parent::__construct() para asegurarse que todos los datos disponibles han sido asignados apropiadamente. El método __toString() puede ser evitado para proveer una salida personalizada cuando el objeto es presentado como una cadena.

Ejemplo 20-3. Extendiendo la clase Exception

<?php
/**
 * Define a custom exception class
 */
class MyException extends Exception
{
    // Redefine the exception so message isn't optional
    public function __construct($message, $code = 0) {
        // some code

        // make sure everything is assigned properly
        parent::__construct($message, $code);
    }

    // custom string representation of object */
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "A Custom function for this type of exception\n";
    }
}

/**
 * Create a class to test the exception
 */
class TestException
{
    public $var;

    const THROW_NONE    = 0;
    const THROW_CUSTOM  = 1;
    const THROW_DEFAULT = 2;

    function __construct($avalue = self::THROW_NONE) {

        switch ($avalue) {
            case self::THROW_CUSTOM:
                // throw custom exception
                throw new MyException('1 is an invalid parameter', 5);
                break;

            case self::THROW_DEFAULT:
                // throw default one.
                throw new Exception('2 isnt allowed as a parameter', 6);
                break;

            default:
                // No exception, object will be created.
                $this->var = $avalue;
                break;
        }
    }
}

// Example 1
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) {      // Will be caught
    echo "Caught my exception\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Skipped
    echo "Caught Default Exception\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";

// Example 2
try {
    $o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) {      // Doesn't match this type
    echo "Caught my exception\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Will be caught
    echo "Caught Default Exception\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";

// Example 3
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {        // Will be caught
    echo "Default Exception caught\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";

// Example 4
try {
    $o = new TestException();
} catch (Exception $e) {        // Skipped, no exception
    echo "Default Exception caught\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";
?>

Anterior | Inicio | Siguiente
Type Hinting | Subir | Explicando las Referencias


Constructores

Los constructores son funciones en una clase que son llamadas automáticamente cuando se crea una nueva instancia de una clase con new. Una función se convierte en constructor cuando tiene el mismo nombre que la clase. Si una clase no tiene constructor, el constructor de la clase base será llamado, si existe.

<?php
class Auto_Carrito extends Carrito {
    function Auto_Carrito() {
        $this->agregar_item("10", 1);
    }
}
?>

Esto define una clase Auto_Carrito que es un Carrito más un constructor que inicializa el carrito con un item del número de artículo "10" cada vez que un nuevo Auto_Carrito se crea con "new". Los constructores pueden recibir argumentos y tales argumentos pueden ser opcionales, lo que los hace mucho más útiles. Para poder usar aun la clase sin parámetros, todos los parámetros deben ser opcionales, al proveer valores predeterminados.

<?php
class Constructor_Carrito extends Carrito {
    function Constructor_Carrito($item = "10", $num = 1) {
        $this->agregar_item ($item, $num);
    }
}

// Comprar lo mismo de antes.
$carrito_predeterminado = new Constructor_Carrito;

// Comprar esta vez en serio...
$carrito_diferente = new Constructor_Carrito("20", 17);
?>

También puede usar el operador @ para callar los errores que ocurren en el constructor, p.ej. @new.

<?php
class A
{
    function A()
    {
        echo "Soy el constructor de A.<br />\n";
    }

    function B()
    {
        echo "Soy una función regular llamada B en la clase A.<br />\n";
        echo "No soy un constructor en A.<br />\n";
    }
}

class B extends A
{
}

// Esto llama a B() como un constructor
$b = new B;
?>

La función B() en la clase A se convertirá de repente en un constructor en la clase B, aun cuando nunca fue esa la intención. A PHP 4 no le importa si la función está siendo definida en la clase B, o si ha sido heredada.

Atención

PHP 4 no llama constructores de la clase base automáticamente desde un constructor de una clase derivada. Es su responsabilidad propagar la llamada a constructores más arriba en la jerarquía cuando sea apropiado.

Los destructores son funciones que son llamadas automáticamente cuando un objeto es destruido, ya sea con unset() o simplemente al finalizarse su contexto. No hay destructores en PHP. Es posible usar register_shutdown_function() en su lugar para simular la mayoría de efectos de los destructores.

Anterior | Inicio | Siguiente
extends | Subir | Operador de Resolución de Contexto (::)


Las funciones mágicas __sleep y __wakeup

serialize() revisa si su clase tiene una función con el nombre mágico __sleep. De ser así, esa función es ejecutada antes de cualquier intento de seriación. Puede limpiar el objeto y su intención es que devuelva una matriz con los nombres de todas las variables de ese objeto que deberían ser seriadas.

El uso planeado para __sleep es cerrar todas las conexiones de bases de datos que pueda tener el objeto, aplicando datos pendientes o realizando tareas similares de limpieza. Asimismo, la función resulta útil si tiene objetos bastante grandes que no necesitan ser guardados en su totalidad.

De forma semejante, unserialize() revisa por la presencia de una función con el nombre mágico __wakeup. Si está presente, esta función puede reconstruir cualquier recurso que el objeto pueda tener.

El uso planeado para __wakeup es reestablecer cualquier conexión con bases de datos que hayan podido perderse durante la seriación y realizar otras tareas de reinicialización.

Anterior | Inicio | Siguiente
Seriación de objetos, objetos en sesiones | Subir | Las referencias al interior del constructor


empty("0")

Quizás el cambio de comportamiento más controversial ha ocurrido con el modo en que trabaja empty(). Una cadena que contenga solo el caracter '0' (cero) es considerada vacía, mientras que en PHP 3 no era así.

Este nuevo comportamiento tiene sentido en aplicaciones web, dado que todos los campos de entrada devuelven cadenas incluso si se solicitan valores numéricos, y dadas las capacidades de conversión automática de tipos de PHP. Pero, por otra parte, puede dañar su código en formas sutiles, causando comportamientos exóticos que son difíciles de rastrear si no sabe qué buscar.

Anterior | Inicio | Siguiente
Inicializadores | Subir | Funciones faltantes


old_function

La sentencia old_function le permite declarar una función usando una sintaxis idéntica a PHP/FI2 (excepto en que debe reemplazar 'function' con 'old_function').

Esta es una característica considerada como obsoleta, y debe ser usada únicamente por el programa de conversión PHP/FI2->PHP 3.

Aviso

Las funciones declaradas como old_function no pueden ser llamadas desde el código interno de PHP. Entre otras cosas, esto quiere decir que no puede usarlas en funciones como usort(), array_walk(), y register_shutdown_function(). Puede evitar esta limitación escribiendo una función de envoltura (en la forma normal de PHP 3) para llamar a old_function.

Anterior | Inicio | Siguiente
Migración desde PHP/FI 2 hacia PHP 3 | Subir | Etiquetas de inicio/final


Valores de retorno de función TRUE/FALSE

La mayoría de funciones internas han sido rescritas de modo que devuelvan TRUE de tener éxito y FALSE cuando fallan, en contraste a los valores 0 y -1 de PHP/FI 2.0, respectivamente. El nuevo comportamiente permite la implementación de código más lógico, como $da = fopen("/su/archivo") or fail("¡diablos!");. Dado que PHP/FI 2.0 no disponía de reglas claras sobre el valor que debían devolver las funciones cuando fallan, la mayoría de tales scripts probablemente deban revisarse manualmente después de usar el programa de conversión de 2.0 a 3.0.

Ejemplo D-9. Migración desde 2.0: valores de retorno, código antiguo

$da = fopen($archivo, "r");
if ($da == -1);
    echo("No pudo abrirse $archivo para lectura<br />\n");
endif;

Ejemplo D-10. Migración desde 2.0: valores de retorno, código nuevo

$da = @fopen($archivo, "r") or print("No pudo abrirse $archivo para lectura<br />\n");

Anterior | Inicio | Siguiente
Evaluación booleana de corto-circuito | Subir | Otras incompatibilidades


SWFAction

(PHP 4 >= 4.0.5)

SWFAction -- SWFAction Class

Descripción

The script syntax is based on the C language, but with a lot taken out- the SWF bytecode machine is just too simpleminded to do a lot of things we might like. For instance, we can't implement function calls without a tremendous amount of hackery because the jump bytecode has a hardcoded offset value. No pushing your calling address to the stack and returning- every function would have to know exactly where to return to.

So what's left? The compiler recognises the following tokens:

  • break

  • for

  • continue

  • if

  • else

  • do

  • while

There is no typed data; all values in the SWF action machine are stored as strings. The following functions can be used in expressions:

time()

Returns the number of milliseconds (?) elapsed since the movie started.

random(seed)

Returns a pseudo-random number in the range 0-seed.

length(expr)

Returns the length of the given expression.

int(number)

Returns the given number rounded down to the nearest integer.

concat(expr, expr)

Returns the concatenation of the given expressions.

ord(expr)

Returns the ASCII code for the given character

chr(num)

Returns the character for the given ASCII code

substr(string, location, length)

Returns the substring of length length at location location of the given string string.

Additionally, the following commands may be used:

duplicateClip(clip, name, depth)

Duplicate the named movie clip (aka sprite). The new movie clip has name name and is at depth depth.

removeClip(expr)

Removes the named movie clip.

trace(expr)

Write the given expression to the trace log. Doubtful that the browser plugin does anything with this.

startDrag(target, lock, [left, top, right, bottom])

Start dragging the movie clip target. The lock argument indicates whether to lock the mouse (?)- use 0 (FALSE) or 1 (TRUE). Optional parameters define a bounding area for the dragging.

stopDrag()

Stop dragging my heart around. And this movie clip, too.

callFrame(expr)

Call the named frame as a function.

getURL(url, target, [method])

Load the given URL into the named target. The target argument corresponds to HTML document targets (such as "_top" or "_blank"). The optional method argument can be POST or GET if you want to submit variables back to the server.

loadMovie(url, target)

Load the given URL into the named target. The target argument can be a frame name (I think), or one of the magical values "_level0" (replaces current movie) or "_level1" (loads new movie on top of current movie).

nextFrame()

Go to the next frame.

prevFrame()

Go to the last (or, rather, previous) frame.

play()

Start playing the movie.

stop()

Stop playing the movie.

toggleQuality()

Toggle between high and low quality.

stopSounds()

Stop playing all sounds.

gotoFrame(num)

Go to frame number num. Frame numbers start at 0.

gotoFrame(name)

Go to the frame named name. Which does a lot of good, since I haven't added frame labels yet.

setTarget(expr)

Sets the context for action. Or so they say- I really have no idea what this does.

And there's one weird extra thing. The expression frameLoaded(num) can be used in if statements and while loops to check if the given frame number has been loaded yet. Well, it's supposed to, anyway, but I've never tested it and I seriously doubt it actually works. You can just use /:framesLoaded instead.

Movie clips (all together now- aka sprites) have properties. You can read all of them (or can you?), you can set some of them, and here they are:

  • x

  • y

  • xScale

  • yScale

  • currentFrame - (read-only)

  • totalFrames - (read-only)

  • alpha - transparency level

  • visible - 1=on, 0=off (?)

  • width - (read-only)

  • height - (read-only)

  • rotation

  • target - (read-only) (???)

  • framesLoaded - (read-only)

  • name

  • dropTarget - (read-only) (???)

  • url - (read-only) (???)

  • highQuality - 1=high, 0=low (?)

  • focusRect - (???)

  • soundBufTime - (???)

So, setting a sprite's x position is as simple as /box.x = 100;. Why the slash in front of the box, though? That's how flash keeps track of the sprites in the movie, just like a Unix filesystem- here it shows that box is at the top level. If the sprite named box had another sprite named biff inside of it, you'd set its x position with /box/biff.x = 100;. At least, I think so; correct me if I'm wrong here.

Class Members

Métodos

SWFAction->__construct()

Ejemplos

This simple example will move the red square across the window.

Ejemplo 1. swfaction() example

<?php
  $s = new SWFShape();
  $f = $s->addFill(0xff, 0, 0);
  $s->setRightFill($f);

  $s->movePenTo(-500, -500);
  $s->drawLineTo(500, -500);
  $s->drawLineTo(500, 500);
  $s->drawLineTo(-500, 500);
  $s->drawLineTo(-500, -500);

  $p = new SWFSprite();
  $i = $p->add($s);
  $i->setDepth(1);
  $p->nextFrame();

  for ($n=0; $n<5; ++$n) {
    $i->rotate(-15);
    $p->nextFrame();
  }

  $m = new SWFMovie();
  $m->setBackground(0xff, 0xff, 0xff);
  $m->setDimension(6000, 4000);

  $i = $m->add($p);
  $i->setDepth(1);
  $i->moveTo(-500,2000);
  $i->setName("box");

  $m->add(new SWFAction("/box.x += 3;"));
  $m->nextFrame();
  $m->add(new SWFAction("gotoFrame(0); play();"));
  $m->nextFrame();

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

This simple example tracks down your mouse on the screen.

Ejemplo 2. swfaction() example

<?php

  $m = new SWFMovie();
  $m->setRate(36.0);
  $m->setDimension(1200, 800);
  $m->setBackground(0, 0, 0);

  /* mouse tracking sprite - empty, but follows mouse so we can
     get its x and y coordinates */

  $i = $m->add(new SWFSprite());
  $i->setName('mouse');

  $m->add(new SWFAction("
    startDrag('/mouse', 1); /* '1' means lock sprite to the mouse */
  "));

  /* might as well turn off antialiasing, since these are just squares. */

  $m->add(new SWFAction("
    this.quality = 0;
  "));

  /* morphing box */
  $r = new SWFMorph();
  $s = $r->getShape1();

  /* Note this is backwards from normal shapes.  No idea why. */
  $s->setLeftFill($s->addFill(0xff, 0xff, 0xff));
  $s->movePenTo(-40, -40);
  $s->drawLine(80, 0);
  $s->drawLine(0, 80);
  $s->drawLine(-80, 0);
  $s->drawLine(0, -80);

  $s = $r->getShape2();

  $s->setLeftFill($s->addFill(0x00, 0x00, 0x00));
  $s->movePenTo(-1, -1);
  $s->drawLine(2, 0);
  $s->drawLine(0, 2);
  $s->drawLine(-2, 0);
  $s->drawLine(0, -2);

  /* sprite container for morphing box -
     this is just a timeline w/ the box morphing */

  $box = new SWFSprite();
  $box->add(new SWFAction("
    stop();
  "));
  $i = $box->add($r);

  for ($n=0; $n<=20; ++$n) {
    $i->setRatio($n/20);
    $box->nextFrame();
  }

  /* this container sprite allows us to use the same action code many times */

  $cell = new SWFSprite();
  $i = $cell->add($box);
  $i->setName('box');

  $cell->add(new SWFAction("

    setTarget('box');

    /* ...x means the x coordinate of the parent, i.e. (..).x */
    dx = (/mouse.x + random(6)-3 - ...x)/5;
    dy = (/mouse.y + random(6)-3 - ...y)/5;
    gotoFrame(int(dx*dx + dy*dy));

  "));

  $cell->nextFrame();
  $cell->add(new SWFAction("

    gotoFrame(0);
    play();

  "));

  $cell->nextFrame();

  /* finally, add a bunch of the cells to the movie */

  for ($x=0; $x<12; ++$x) {
    for ($y=0; $y<8; ++$y) {
      $i = $m->add($cell);
      $i->moveTo(100*$x+50, 100*$y+50);
    }
  }

  $m->nextFrame();

  $m->add(new SWFAction("

    gotoFrame(1);
    play();

  "));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Same as above, but with nice colored balls...

Ejemplo 3. swfaction() example

<?php

  $m = new SWFMovie();
  $m->setDimension(11000, 8000);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->add(new SWFAction("

this.quality = 0;
/frames.visible = 0;
startDrag('/mouse', 1);

  "));

  // mouse tracking sprite
  $t = new SWFSprite();
  $i = $m->add($t);
  $i->setName('mouse');

  $g = new SWFGradient();
  $g->addEntry(0, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.1, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.5, 0xff, 0xff, 0xff, 0x5f);
  $g->addEntry(1.0, 0xff, 0xff, 0xff, 0);

  // gradient shape thing
  $s = new SWFShape();
  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.03);
  $s->setRightFill($f);
  $s->movePenTo(-600, -600);
  $s->drawLine(1200, 0);
  $s->drawLine(0, 1200);
  $s->drawLine(-1200, 0);
  $s->drawLine(0, -1200);

  // need to make this a sprite so we can multColor it
  $p = new SWFSprite();
  $p->add($s);
  $p->nextFrame();

  // put the shape in here, each frame a different color
  $q = new SWFSprite();
  $q->add(new SWFAction("gotoFrame(random(7)+1); stop();"));
  $i = $q->add($p);

  $i->multColor(1.0, 1.0, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 0.75, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 0.5, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 1.0);
  $q->nextFrame();

  // finally, this one contains the action code
  $p = new SWFSprite();
  $i = $p->add($q);
  $i->setName('frames');
  $p->add(new SWFAction("

dx = (/:mousex-/:lastx)/3 + random(10)-5;
dy = (/:mousey-/:lasty)/3;
x = /:mousex;
y = /:mousey;
alpha = 100;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("

this.x = x;
this.y = y;
this.alpha = alpha;
x += dx;
y += dy;
dy += 3;
alpha -= 8;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("prevFrame(); play();"));
  $p->nextFrame();

  $i = $m->add($p);
  $i->setName('frames');
  $m->nextFrame();

  $m->add(new SWFAction("

lastx = mousex;
lasty = mousey;
mousex = /mouse.x;
mousey = /mouse.y;

++num;

if (num == 11)
  num = 1;

removeClip('char' & num);
duplicateClip(/frames, 'char' & num, num);

  "));

  $m->nextFrame();
  $m->add(new SWFAction("prevFrame(); play();"));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Anterior | Inicio | Siguiente
Ming functions for Flash | Subir | SWFAction->__construct()


SWFBitmap

(PHP 4 >= 4.0.5)

SWFBitmap -- SWFBitmap Class

Descripción

Class Members

Métodos

SWFBitmap->__construct()
SWFBitmap->getHeight()
SWFBitmap->getWidth()

Anterior | Inicio | Siguiente
SWFAction->__construct() | Subir | SWFBitmap->__construct()


SWFButton

(PHP 4 >= 4.0.5)

SWFButton -- SWFButton Class

Descripción

Class Members

Métodos

SWFButton->__construct()
SWFButton->addAction()
SWFButton->addASound()
SWFButton->addShape()
SWFButton->setAction()
SWFButton->setDown()
SWFButton->setHit()
SWFButton->setMenu()
SWFButton->setOver()
SWFButton->setUp()

Anterior | Inicio | Siguiente
SWFBitmap->getWidth() | Subir | SWFButton->__construct()


SWFDisplayItem

(no version information, might be only in CVS)

SWFDisplayItem -- SWFDisplayItem Class

Descripción

Class Members

Métodos

SWFDisplayItem->addAction()
SWFDisplayItem->addColor()
SWFDisplayItem->endMask()
SWFDisplayItem->getRot()
SWFDisplayItem->getX()
SWFDisplayItem->getXScale()
SWFDisplayItem->getXSkew()
SWFDisplayItem->getY()
SWFDisplayItem->getYScale()
SWFDisplayItem->getYSkew()
SWFDisplayItem->move()
SWFDisplayItem->moveTo()
SWFDisplayItem->multColor()
SWFDisplayItem->remove()
SWFDisplayItem->rotate()
SWFDisplayItem->rotateTo()
SWFDisplayItem->scale()
SWFDisplayItem->scaleTo()
SWFDisplayItem->setDepth()
SWFDisplayItem->setMaskLevel()
SWFDisplayItem->setMatrix()
SWFDisplayItem->setName()
SWFDisplayItem->setRatio()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()

Anterior | Inicio | Siguiente
SWFButton->setUp() | Subir | SWFDisplayItem->addAction()


SWFFill

(PHP 4 >= 4.0.5)

SWFFill -- SWFFill Class

Descripción

The SWFFill object allows you to transform (scale, skew, rotate) bitmap and gradient fills.

swffill objects are created by the SWFShape->addFill() method.

Class Members

Métodos

SWFFill->moveTo()
SWFFill->rotateTo()
SWFFill->scaleTo()
SWFFill->skewXTo()
SWFFill->skewYTo()

Anterior | Inicio | Siguiente
SWFDisplayItem->skewYTo() | Subir | SWFFill->moveTo()


SWFFont

(PHP 4 >= 4.0.5)

SWFFont -- SWFFont Class

Descripción

The SWFFont object represent a reference to the font definition, for us with SWFText->setFont() and SWFTextField->setFont().

Class Members

Métodos

SWFFont->__construct()
SWFFont->getAscent()
SWFFont->getDescent()
SWFFont->getLeading()
SWFFont->getShape()
SWFFont->getUTF8Width()
SWFFont->getWidth()

Anterior | Inicio | Siguiente
SWFFill->skewYTo() | Subir | SWFFont->__construct()


SWFFontChar

(no version information, might be only in CVS)

SWFFontChar -- SWFFontChar Class

Descripción

Class Members

Métodos

SWFFontChar->addChars()
SWFFontChar->addUTF8Chars()

Anterior | Inicio | Siguiente
SWFFont->getWidth() | Subir | SWFFontChar->addChars()


SWFGradient

(PHP 4 >= 4.0.5)

SWFGradient -- SWFGradient Class

Descripción

Class Members

Métodos

SWFGradient->__construct()
SWFGradient->addEntry()

Anterior | Inicio | Siguiente
SWFFontChar->addUTF8Chars() | Subir | SWFGradient->__construct()


SWFMorph

(PHP 4 >= 4.0.5)

SWFMorph -- SWFMorph Class

Descripción

The methods here are sort of weird. It would make more sense to just have newSWFMorph(shape1, shape2);, but as things are now, shape2 needs to know that it's the second part of a morph. (This, because it starts writing its output as soon as it gets drawing commands- if it kept its own description of its shapes and wrote on completion this and some other things would be much easier.)

Class Members

Métodos

SWFMorph->__construct()
SWFMorph->getShape1()
SWFMorph->getShape2()

Anterior | Inicio | Siguiente
SWFGradient->addEntry() | Subir | SWFMorph->__construct()


SWFMovie

(PHP 4 >= 4.0.5)

SWFMovie -- SWFMovie Class

Descripción

SWFMovie is a movie object representing an SWF movie.

Class Members

Métodos

SWFMovie->__construct()
SWFMovie->add()
SWFMovie->addExport()
SWFMovie->addFont()
SWFMovie->importChar()
SWFMovie->importFont()
SWFMovie->labelFrame()
SWFMovie->nextFrame()
SWFMovie->output()
SWFMovie->remove()
SWFMovie->save()
SWFMovie->saveToFile()
SWFMovie->setbackground()
SWFMovie->setDimension()
SWFMovie->setFrames()
SWFMovie->setRate()
SWFMovie->startSound()
SWFMovie->stopSound()
SWFMovie->streamMP3()
SWFMovie->writeExports()

Anterior | Inicio | Siguiente
SWFMorph->getShape2() | Subir | SWFMovie->__construct()


SWFPrebuiltClip

(no version information, might be only in CVS)

SWFPrebuiltClip -- SWFPrebuiltClip Class

Descripción

Class Members

Métodos

SWFPrebuiltClip->__construct()

Anterior | Inicio | Siguiente
SWFMovie->writeExports() | Subir | SWFPrebuiltClip->__construct()


SWFShape

(PHP 4 >= 4.0.5)

SWFShape -- SWFShape Class

Descripción

Class Members

Métodos

SWFShape->__construct()
SWFShape->addFill()
SWFShape->drawArc()
SWFShape->drawCircle()
SWFShape->drawCubic()
SWFShape->drawCubicTo()
SWFShape->drawCurve()
SWFShape->drawCurveTo()
SWFShape->drawGlyph()
SWFShape->drawLine()
SWFShape->drawLineTo()
SWFShape->movePen()
SWFShape->movePenTo()
SWFShape->setLeftFill()
SWFShape->setLine()
SWFShape->setRightFill()

Anterior | Inicio | Siguiente
SWFPrebuiltClip->__construct() | Subir | SWFShape->__construct()


SWFSound

(no version information, might be only in CVS)

SWFSound -- SWFSound Class

Descripción

Class Members

Métodos

SWFSound

Anterior | Inicio | Siguiente
SWFShape->setRightFill() | Subir | SWFSound


SWFSoundInstance

(no version information, might be only in CVS)

SWFSoundInstance -- SWFSoundInstance Class

Descripción

SWFSoundInstance objects are returned by the SWFSprite->startSound() and SWFMovie->startSound() methods.

Class Members

Métodos

SWFSoundInstance->loopCount()
SWFSoundInstance->loopInPoint()
SWFSoundInstance->loopOutPoint()
SWFSoundInstance->noMultiple()

Anterior | Inicio | Siguiente
SWFSound | Subir | SWFSoundInstance->loopCount()


SWFSprite

(PHP 4 >= 4.0.5)

SWFSprite -- SWFSprite Class

Descripción

An SWFSprite is also known as a "movie clip", this allows one to create objects which are animated in their own timelines. Hence, the sprite has most of the same methods as the movie.

Class Members

Métodos

SWFSprite->__construct()
SWFSprite->add()
SWFSprite->labelFrame()
SWFSprite->nextFrame()
SWFSprite->remove()
SWFSprite->setFrames()
SWFSprite->startSound()
SWFSprite->stopSound()

Ejemplos

This simple example will spin gracefully a big red square.

Ejemplo 1. swfsprite() example

<?php
$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-500, -500);
$s->drawLineTo(500, -500);
$s->drawLineTo(500, 500);
$s->drawLineTo(-500, 500);
$s->drawLineTo(-500, -500);

$p = new SWFSprite();
$i = $p->add($s);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->moveTo(1500, 1000);
$i->setName("blah");

$m->setBackground(0xff, 0xff, 0xff);
$m->setDimension(3000, 2000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Anterior | Inicio | Siguiente
SWFSoundInstance->noMultiple() | Subir | SWFSprite->__construct()


SWFText

(PHP 4 >= 4.0.5)

SWFText -- SWFText Class

Descripción

Class Members

Métodos

SWFText->__construct()
SWFText->addString()
SWFText->addUTF8String()
SWFText->getAscent()
SWFText->getDescent()
SWFText->getLeading()
SWFText->getUTF8Width()
SWFText->getWidth()
SWFText->moveTo()
SWFText->setColor()
SWFText->setFont()
SWFText->setHeight()
SWFText->setSpacing()

Anterior | Inicio | Siguiente
SWFSprite->stopSound() | Subir | SWFText->__construct()


SWFTextField

(PHP 4 >= 4.0.5)

SWFTextField -- SWFTextField Class

Descripción

Class Members

Métodos

SWFTextField->__construct()
SWFTextField->addChars()
SWFTextField->addString()
SWFTextField->align()
SWFTextField->setBounds()
SWFTextField->setColor()
SWFTextField->setFont()
SWFTextField->setHeight()
SWFTextField->setIndentation()
SWFTextField->setLeftMargin()
SWFTextField->setLineSpacing()
SWFTextField->setMargins()
SWFTextField->setName()
SWFTextField->setPadding()
SWFTextField->setRightMargin()

Anterior | Inicio | Siguiente
SWFText->setSpacing() | Subir | SWFTextField->__construct()


SWFVideoStream

(no version information, might be only in CVS)

SWFVideoStream -- SWFVideoStream Class

Descripción

Class Members

Métodos

SWFVideoStream->__construct()
SWFVideoStream->getNumFrames()
SWFVideoStream->setDimension()

Anterior | Inicio | Siguiente
SWFTextField->setRightMargin() | Subir | SWFVideoStream->__construct()


Usage

(no version information, might be only in CVS)

Usage -- Examples on using the ogg:// wrapper.

Ejemplos

Ejemplo 1. Reading an OGG/Vorbis file

<?php
dl("oggvorbis.so");

/* By default, ogg:// will decode to Signed 16-bit Little Endian */
$fp = fopen('ogg://myaudio.ogg', 'r');

/* Collect some information about the file. */
$metadata = stream_get_meta_data($fp);

/* Inspect the first song (usually the only song,
   but OGG/Vorbis files may be chained) */
$songdata = $metadata['wrapper_data'][0];

echo "OGG/Vorbis file encoded by: {$songdata['vendor']}\n.";
echo "  {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n";
foreach($songdata['comments'] as $comment) {
    echo "  $comment\n";
}

while ($audio_data = fread($fp, 8192)) {
  /* Do something with the PCM audio we're extracting from the OGG.
     Copying to /dev/dsp is a good target on linux systems,
     just remember to setup the device for your sampling mode first. */
}

fclose($fp);

?>

Ejemplo 2. Encode an audio file to OGG/Vorbis

<?php
dl('oggvorbis.so');

$context = stream_context_create(array('ogg'=>array(
             'pcm_mode' => OGGVORBIS_PCM_S8,  /* Signed 8bit audio */
             'rate' => 44100,                 /* 44kHz CD quality */
             'bitrate' => 0.5,                /* Midquality VBR */
             'channels' => 1,                 /* Mono */
             'serialno' => 12345)));          /* Unique within our stream */

/* Open file for appending.  This will "chain" a second OGG stream at the end of the first. */
$ogg = fopen('ogg://mysong.ogg', 'a', false, $context);

$pcm = fopen('mysample.pcm', 'r');

/* Compress the raw PCM audio from mysample.pcm into mysong.ogg */
stream_copy_to_stream($pcm, $ogg);

fclose($pcm);
fclose($ogg);
?>

Anterior | Inicio | Siguiente
oggvorbis | Subir | OpenAL Audio Bindings


Alternative PHP Cache

Manual de PHP
Anterior Siguiente

III. Alternative PHP Cache

Introducción

The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. It was conceived of to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/apc.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Nota: On Windows, APC needs a temp path to exist, and be writable by the web server. It checks TMP, TEMP, USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

Nota: For more in-depth, highly technical implementation details, see the developer-supplied TECHNOTES file .

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Although the default APC settings are fine for many installations, serious users should consider tuning the following parameters.

There are two main decisions you have to make. First, how much shared memory do you want to set aside for APC, and second, whether you want APC to check if a file has been modified on every request. The two ini directives involved here are apc.shm_size and apc.stat. Read the sections on these two directives carefully below.

Once you have a running server, you should copy the apc.php script that comes with the extension to somewhere in your docroot and load it up in your browser. It provides you with a detailed look at what is happening in your cache. If you have GD enabled in PHP, it will even have pretty graphs. First thing to check is of course that it is actually caching files. Assuming it is working you should then pay close attention to the Cache full count number on the left. That tells you the number of times the cache has filled up and has had to forcefully clean up any entries not accessed within the last apc.ttl seconds. You should configure your cache to minimize this number. If you are constantly filling your cache, the resulting cache churn is going to hurt performance. You should either set more memory aside for APC, or use apc.filters to cache fewer scripts.

Tabla 1. APC configuration options

Name | Default | Changeable | Changelog
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in APC <= 3.0.12p2
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.ttl | "0" | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12p2
apc.filters | NULL | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM |
apc.file_update_protection | "2" | PHP_INI_SYSTEM |
apc.enable_cli | "0" | PHP_INI_SYSTEM | > APC 3.0.6
apc.max_file_size | "1M" | PHP_INI_SYSTEM | > APC 3.0.6
apc.stat | "1" | PHP_INI_SYSTEM | > APC 3.0.9
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

apc.enabled boolean

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments integer

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but you have already set apc.shm_size as high as your system allows, you can try raising this value.

apc.shm_size integer

The size of each shared memory segment in MB. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.optimization integer

The optimization level. Zero disables the optimizer, and higher values use more aggressive optimizations. Expect very modest speed improvements. This is experimental.

apc.num_files_hint integer

A "hint" about the number of distinct source files that will be included or requested on your web server. Set to zero or omit if you're not sure; this setting is mainly useful for sites that have many thousands of source files.

apc.ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that your cache could potentially fill up with stale entries while newer entries won't be cached.

apc.gc_ttl integer

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.cache_by_default boolean

On by default, but can be set to off and used in conjunction with positive apc.filters so that files are only cached if matched by a positive filter.

apc.filters string

A comma-separated list of POSIX extended regular expressions. If any pattern matches the source filename, the file will not be cached. Note that the filename used for matching is the one passed to include/require, not the absolute path. If the first character of the expression is a + then the expression will be additive in the sense that any files matched by the expression will be cached, and if the first character is a - then anything matched will not be cached. The - case is the default, so it can be left off.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determing whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense integer

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

apc.file_update_protection integer

When you modify a file on a live web server you really should do so in an atomic manner. That is, write to a temporary file and rename (mv) the file into its permanent position when it is ready. Many text editors, cp, tar and other such programs don't do this. This means that there is a chance that a file is accessed (and cached) while it is still being written to. This apc.file_update_protection setting puts a delay on caching brand new files. The default is 2 seconds which means that if the modification timestamp (mtime) on a file shows that it is less than 2 seconds old when it is accessed, it will not be cached. The unfortunate person who accessed this half-written file will still see weirdness, but at least it won't persist. If you are certain you always atomically update your files by using something like rsync which does this correctly, you can turn this protection off by setting it to 0. If you have a system that is flooded with io causing some update procedure to take longer than 2 seconds, you may want to increase this a bit.

apc.enable_cli integer

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Normally you wouldn't want to create, populate and tear down the APC cache on every CLI request, but for various test scenarios it is handy to be able to enable APC for the CLI version of APC easily.

apc.max_file_size integer

Prevent files larger than this value from getting cached. Defaults to 1M.

apc.stat integer

Be careful if you change this setting. The default is for this to be On which means that APC will stat (check) the script on each request to see if it has been modified. If it has been modified it will recompile and cache the new version. If you turn this setting off, it will not check. That means that in order to have changes become active you need to restart your web server. On a production server where you rarely change the code, turning stats off can produce a significant performance boost.

For included/required files this option applies as well, but note that if you are using relative path includes (any path that doesn't start with / on Unix) APC has to check in order to uniquely identify the file. If you use absolute path includes APC can skip the stat and use that absolute path as the unique identifier for the file.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
apc_cache_info -- Retrieves cached information (and meta-data) from APC's data store
apc_clear_cache -- Clears the APC cache
apc_define_constants -- Defines a set of constants for later retrieval and mass-definition
apc_delete -- Removes a stored variable from the cache
apc_fetch -- Fetch a stored variable from the cache
apc_load_constants -- Loads a set of constants from the cache
apc_sma_info -- Retrieves APC's Shared Memory Allocation information
apc_store -- Cache a variable in the data store

Anterior | Inicio | Siguiente
virtual | Subir | apc_cache_info


Compilador Bytecode de PHP

Manual de PHP
Anterior Siguiente

VIII. Compilador Bytecode de PHP

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Bcompiler fue escrito por varias razones:

Para codificar un script entero en una aplicación propietaria escrita en PHP.
Para codificar algunas clases y/o funciones en una aplicación propietaria escrita en PHP.
Para permitir la producción de aplicaciones PHP-GTK que puedan ser usadas del lado del cliente, sin necesidad de un php.exe.
Para hacer viable el estudio de un convertidor PHP al lenguaje de programación C.

La primera de estas metas se pueden alcanzar usando las funciones bcompiler_write_header(), bcompiler_write_file() y bcompiler_write_footer(). Las funciones de bytecode pueden estar escritas tanto descomprimidas, como en texto plano. Para usar el bytecode generado, simplemente puede incluirlo con sentencias include o require.

La segunda de estas metas se pueden alcanzar usando las funciones
bcompiler_write_header(),
bcompiler_write_class(),
bcompiler_write_footer(),
bcompiler_read(),
y bcompiler_load(). Los archivos
bytecode pueden estar escritos tanto descomprimidos, como en texto plano.
La función bcompiler_load() lee un archivo
bytecode comprimido con bzip, el cual suele ser 1/3 del tamaño
original del archivo.

Para crear archivos del tipo exe, bcompiler tiene que ser usado con un archivo sapi modificado o una versión de PHP que haya sido compilada como una librería compartida. En este escenario, bcompiler lee el bytecode comprimido desde el final del archivo exe.

bcompiler puede mejorar su desempeño cerca del 30% cuando sólo se usa con bytecodes descomprimidos. Pero tenga presente que un bytecode descomprimido puede ser hasta 5 veces más grande que el código fuente original. Usando la compresión bytecode puede ahorrarle espacio, pero la descompresión requiere mucho más tiempo que analizar un código. Además, bcompiler no lleva a cabo alguna optimización bytecode; esto pudiera ser agregado en el futuro...

En cuanto a la protección del código, es seguro decir que sería imposible recrear el código fuente exacto desde el cual se construyó, y sin la compañía de comentarios en el código fuente. Efectivamente sería inútil usar los bytecodes de bcompiler para recrear y modificar una clase. Sin embargo, es posible recuperar información desde un archivo bytecode de bcompiler - así que no coloque sus contraseñas o cualquier otra cosa privada en él.

Instalación

Nota de instalación corta:

  • Necesitará tener al menos PHP 4.3 para que la compresión funcione.

  • Para instalar en PHP 4.3 o mayor, escriba en el intérprete de comandos de UNIX pear install bcompiler.

  • Para instalar en Windows, hasta que esté listo el mecanismo para el paquete de distribución binario, por favor busque los paquetes pre-construidos en la lista de correo pear-general. (o envíeles un correo electrónico si no pudo hallar una referencia).

  • Para instalar en versiones anteriores, necesita hacer algunos cambios ligeros al paquete.

  • extraer el archivo bcompiler.tgz en el directorio php4/ext. (Obténgalo directamente desde PECL http://pecl.php.net/get/bcompiler).

  • Si el nombre del nuevo directorio no es similar a bcompiler-0.x, debería cambiarle el nombre a bcompiler (a menos que sólo desee construirlo como un módulo PHP contenido desde de sí mismo).

  • Si está usando versiones anteriores a PHP 4.3, entonces necesitará copiar el archivo Makefile.in.old a Makefile.in, y config.m4.old a config.m4.

  • ejecute phpize en ext/bcompiler.

  • ejecute ./buildconf en php4 .

  • ejecute configure con --enable-bcompiler (y otras opciones que use).

  • make; make install

  • eso es todo.

Información de contacto

Si tiene comentarios, soluciones a fallos, mejoras o quiere ayudar a desarrollar esta bestia, puede enviarme un correo-e a alan_k@php.net. Cualquier ayuda es bienvenida.

Tabla de contenidos
bcompiler_load_exe -- Lee y crea clases desde un archivo exe de bcompiler
bcompiler_load -- Lee y crea clases desde un archivo comprimido bz
bcompiler_parse_class -- Lee los bytecodes de una clase y genera una llamada a una función definida por el usuario
bcompiler_read -- Lee y crea clases desde un gestor de archivo
bcompiler_write_class -- Escribe una clase determinada como bytecodes
bcompiler_write_constant -- Lee una constante definida como bytecodes
bcompiler_write_exe_footer -- Writes the start pos, and sig to the end of a exe type file
bcompiler_write_file -- Writes a php source file as bytecodes
bcompiler_write_footer -- Writes the single character \x00 to indicate End of compiled data
bcompiler_write_function -- Writes an defined function as bytecodes
bcompiler_write_functions_from_file -- Writes all functions defined in a file as bytecodes
bcompiler_write_header -- Writes the bcompiler header
bcompiler_write_included_filename -- Writes an included file as bytecodes

Anterior | Inicio | Siguiente
bcsub | Subir | bcompiler_load_exe


Credit Mutuel CyberMUT functions

Manual de PHP
Anterior Siguiente

XX. Credit Mutuel CyberMUT functions

Introducción

This extension allows you to process credit cards transactions using Credit Mutuel CyberMUT system.

CyberMUT is a popular Web Payment Service in France, provided by the Credit Mutuel bank. If you are foreign in France, these functions will not be useful for you.

The use of these functions is almost identical to the original functions, except for the parameters of return for CreerFormulaireCM and CreerReponseCM, which are returned directly by functions PHP, whereas they had passed in reference in the original functions.

Nota: Esta extensión no está disponible en plataformas Windows

Nota: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 4.3.0

Requisitos

You will require the appropriate SDK for your platform, which may be sent to you after your CyberMUT's subscription (contact them via Web, or go to the nearest Credit Mutuel).

Nota: These functions only provide a link to CyberMUT SDK. Be sure to read the CyberMUT Developers Guide for full details of the required parameters.

Tabla de contenidos
cybermut_creerformulairecm -- Generate HTML form of request for payment
cybermut_creerreponsecm -- Generate the delivery's acknowledgement of the payment's confirmation
cybermut_testmac -- Make sure that there was no data diddling contained in the received message of confirmation

Anterior | Inicio | Siguiente
cybercash_encr | Subir | cybermut_creerformulairecm


enchant Functions

Manual de PHP
Anterior Siguiente

XXXII. enchant Functions

Introducción

Enchant is the PHP binding for the Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchat supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)

Requisitos

This version uses the functions of the Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later.

Instalación

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/enchant.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

There are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.

Ejemplos

Ejemplo 1. Enchant Usage Example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    $dprovides = enchant_dict_describe($d);
    echo "dictionary $tag provides:\n";
    $spellerrors = enchant_dict_check($d, "soong");
    print_r($dprovides);
    echo "found $spellerrors spell errors\n";
    if ($spellerrors) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
Tabla de contenidos
enchant_broker_describe -- Enumerates the Enchant providers
enchant_broker_dict_exists -- Wether a dictionary exists or not. Using non-empty tag
enchant_broker_free_dict -- Free a dictionary resource
enchant_broker_free -- Free the broker resource and its dictionnaries
enchant_broker_get_error -- Returns the last error of the broker
enchant_broker_init -- create a new broker object capable of requesting
enchant_broker_list_dicts -- Returns a list of available dictionaries
enchant_broker_request_dict -- create a new dictionary using a tag
enchant_broker_request_pwl_dict -- creates a dictionary using a PWL file. A PWL file is personal word file one word per line.
enchant_broker_set_ordering -- Declares a preference of dictionaries to use for the language
enchant_dict_add_to_personal -- add a word to personal word list
enchant_dict_add_to_session -- add 'word' to this spell-checking session
enchant_dict_check -- Check whether a word is correctly spelled or not.
enchant_dict_describe -- Describes an individual dictionary
enchant_dict_get_error -- Returns the last error of the current spelling-session
enchant_dict_is_in_session -- whether or not 'word' exists in this spelling-session
enchant_dict_quick_check -- Check the word is correctly spelled and provide suggestions
enchant_dict_store_replacement -- add a correction for a word.
enchant_dict_suggest -- Will return a list of values if any of those pre-conditions are not met.

Anterior | Inicio | Siguiente
xptr_new_context | Subir | enchant_broker_describe


Expect Functions

Manual de PHP
Anterior Siguiente

XXXV. Expect Functions

Introducción

This extension allows to interact with processes through PTY. You may consider using the expect:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.

Requisitos

This module uses the functions of the expect library. You need libexpect version >= 5.43.0.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/expect.

En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. In order to use these functions you must compile PHP with expect support by using the --with-expect[=DIR] configure option.

Windows users will enable php_expect.dll inside of php.ini in order to use these functions. En PHP 4, esta DLL se encuentra en el directorio extensions/ que existe en los binarios de PHP para Windows. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

In order to configure expect extension, there are configuration options in the configuration file php.ini.

Tabla 1. Expect Configure Options

Name | Default | Changeable | Changelog
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

expect.timeout integer

The timeout period for waiting for the data, when using the expect_expectl() function.

A value of "-1" disables a timeout from occurring.

Nota: A value of "0" causes the expect_expectl() function to return immediately.

expect.loguser boolean

Whether expect should send any output from the spawned process to stdout. Since interactive programs typically echo their input, this usually suffices to show both sides of the conversation.

expect.logfile string

Name of the file, where the output from the spawned process will be written. If this file doesn't exist, it will be created.

Nota: If this configuration is not empty, the output is written regardless of the value of expect.loguser.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

EXP_GLOB (integer)

Indicates that the pattern is a glob-style string pattern.

EXP_EXACT (integer)

Indicates that the pattern is an exact string.

EXP_REGEXP (integer)

Indicates that the pattern is a regexp-style string pattern.

EXP_EOF (integer)

Value, returned by expect_expectl(), when EOF is reached.

EXP_TIMEOUT (integer)

Value, returned by expect_expectl() upon timeout of seconds, specified in value of expect.timeout

EXP_FULLBUFFER (integer)

Value, returned by expect_expectl() if no pattern have been matched.

Ejemplos

This example connects to the remote host via SSH, and prints the remote uptime.

Ejemplo 1. Expect Usage Example

<?php
ini_set ("expect.loguser", "Off");

$stream = fopen ("expect://ssh root@remotehost uptime", "r");

$cases = array (
  array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases))
{
 case PASSWORD:
  fwrite ($stream, "password\n");
  break;

 default:
  die ("Error was occurred while connecting to the remote host!\n");
}

while ($line = fgets ($stream)) {
  print $line;
}
fclose ($stream);
?>
Tabla de contenidos
expect_expectl -- Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
expect_popen -- Execute command via Bourne shell, and open the PTY stream to the process

Anterior | Inicio | Siguiente
read_exif_data | Subir | expect_expectl


Fileinfo Functions

Manual de PHP
Anterior Siguiente

XXXVIII. Fileinfo Functions

Introducción

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

Requisitos

magic_open library is needed to build this extension.

Instalación

A short installation note: just type

$ pear install fileinfo
in your console.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

There is one resource used in Fileinfo extension: a magic database descriptor returned by finfo_open().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

FILEINFO_NONE (integer)

No special handling.

FILEINFO_SYMLINK (integer)

Follow symlinks.

FILEINFO_MIME (integer)

Return a mime string, instead of a textual description.

FILEINFO_COMPRESS (integer)

Decompress compressed files.

FILEINFO_DEVICES (integer)

Look at the contents of blocks or character special devices.

FILEINFO_CONTINUE (integer)

Return all matches, not just the first.

FILEINFO_PRESERVE_ATIME (integer)

If possible preserve the original access time.

FILEINFO_RAW (integer)

Don't translate unprintable characters to a \ooo octal representation.

Tabla de contenidos
finfo_buffer -- Return information about a string buffer
finfo_close -- Close fileinfo resource
finfo_file -- Return information about a file
finfo_open -- Create a new fileinfo resource
finfo_set_flags -- Set libmagic configuration options

Anterior | Inicio | Siguiente
fdf_set_version | Subir | finfo_buffer


Filter Functions

Manual de PHP
Anterior Siguiente

XLI. Filter Functions

Introducción

This extension serves for validating and filtering data coming usually from some insecure source such as user input.

The following filters currently exist, be sure to read the Filter Constants section for information that describes the behavior of each constant:

Tabla 1. Existing filters

ID | Name | Options | Flags | Description
FILTER_VALIDATE_INT | "int" | min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Validates value as integer, optionally from the specified range.
FILTER_VALIDATE_BOOLEAN | "boolean" |  |  | Returns TRUE for "1", "true", "on" and "yes", FALSE for "0", "false", "off", "no", and "", NULL otherwise.
FILTER_VALIDATE_FLOAT | "float" |  |  | Validates value as float.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Validates value against regexp, a Perl-compatible regular expression.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Validates value as URL, optionally with required components.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Validates value as e-mail.
FILTER_VALIDATE_IP | "validate_ip" |  | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Validates value as IP address, optionally only IPv4 or IPv6 or not from private or reserved ranges.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Strip tags, optionally strip or encode special characters.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Alias of "string" filter.
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | URL-encode string, optionally strip or encode special characters.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | HTML-escape '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Do nothing, optionally strip or encode special characters.
FILTER_SANITIZE_EMAIL | "email" |  |  | Remove all characters except letters, digits and !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_URL | "url" |  |  | Remove all characters except letters, digits and $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Remove all characters except digits and +-.
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Remove all characters except digits, +- and optionally .,eE.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Apply addslashes().
FILTER_CALLBACK | "callback" |  | callback function or method | Call user-defined function to filter data.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

A short installation note: just type

$ pecl install filter
in your console.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 2. Filter Configuration Options

Name | Default | Changeable | Changelog
filter.default | unsafe_raw | PHP_INI_PERDIR |
filter.default_flags |  | PHP_INI_PERDIR |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

filter.default string

Filter all $_GET, $_POST, $_COOKIE and $_REQUEST data by this filter. Original data can be accessed through filter_input().

Accepts the name of the filter you like to use by default. See the existing filter list for the list of the filter names.

filter.default_flags integer

Default flags

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

INPUT_POST (integer)

POST variables.

INPUT_GET (integer)

GET variables.

INPUT_COOKIE (integer)

COOKIE variables.

INPUT_ENV (integer)

ENV variables.

INPUT_SERVER (integer)

SERVER variables.

INPUT_SESSION (integer)

SESSION variables. (not implemented yet)

INPUT_REQUEST (integer)

REQUEST variables. (not implemented yet)

FILTER_FLAG_NONE (integer)

No flags.

FILTER_REQUIRE_SCALAR (integer)

Flag used to require scalar as input

FILTER_REQUIRE_ARRAY (integer)

Require an array as input.

FILTER_FORCE_ARRAY (integer)

Always returns an array.

FILTER_NULL_ON_FAILURE (integer)

Use NULL instead of FALSE on failure.

FILTER_VALIDATE_INT (integer)

ID of "int" filter.

FILTER_VALIDATE_BOOLEAN (integer)

ID of "boolean" filter.

FILTER_VALIDATE_FLOAT (integer)

ID of "float" filter.

FILTER_VALIDATE_REGEXP (integer)

ID of "validate_regexp" filter.

FILTER_VALIDATE_URL (integer)

ID of "validate_url" filter.

FILTER_VALIDATE_EMAIL (integer)

ID of "validate_email" filter.

FILTER_VALIDATE_IP (integer)

ID of "validate_ip" filter.

FILTER_DEFAULT (integer)

ID of default ("string") filter.

FILTER_UNSAFE_RAW (integer)

ID of "unsafe_raw" filter.

FILTER_SANITIZE_STRING (integer)

ID of "string" filter.

FILTER_SANITIZE_STRIPPED (integer)

ID of "stripped" filter.

FILTER_SANITIZE_ENCODED (integer)

ID of "encoded" filter.

FILTER_SANITIZE_SPECIAL_CHARS (integer)

ID of "special_chars" filter.

FILTER_SANITIZE_EMAIL (integer)

ID of "email" filter.

FILTER_SANITIZE_URL (integer)

ID of "url" filter.

FILTER_SANITIZE_NUMBER_INT (integer)

ID of "number_int" filter.

FILTER_SANITIZE_NUMBER_FLOAT (integer)

ID of "number_float" filter.

FILTER_SANITIZE_MAGIC_QUOTES (integer)

ID of "magic_quotes" filter.

FILTER_CALLBACK (integer)

ID of "callback" filter.

FILTER_FLAG_ALLOW_OCTAL (integer)

Allow octal notation (0[0-7]+) in "int" filter.

FILTER_FLAG_ALLOW_HEX (integer)

Allow hex notation (0x[0-9a-fA-F]+) in "int" filter.

FILTER_FLAG_STRIP_LOW (integer)

Strip characters with ASCII value less than 32.

FILTER_FLAG_STRIP_HIGH (integer)

Strip characters with ASCII value greater than 127.

FILTER_FLAG_ENCODE_LOW (integer)

Encode characters with ASCII value less than 32.

FILTER_FLAG_ENCODE_HIGH (integer)

Encode characters with ASCII value greater than 127.

FILTER_FLAG_ENCODE_AMP (integer)

Encode &.

FILTER_FLAG_NO_ENCODE_QUOTES (integer)

Don't encode ' and ".

FILTER_FLAG_EMPTY_STRING_NULL (integer)

(No use for now.)

FILTER_FLAG_ALLOW_FRACTION (integer)

Allow fractional part in "number_float" filter.

FILTER_FLAG_ALLOW_THOUSAND (integer)

Allow thousand separator (,) in "number_float" filter.

FILTER_FLAG_ALLOW_SCIENTIFIC (integer)

Allow scientific notation (e, E) in "number_float" filter.

FILTER_FLAG_SCHEME_REQUIRED (integer)

Require scheme in "validate_url" filter.

FILTER_FLAG_HOST_REQUIRED (integer)

Require host in "validate_url" filter.

FILTER_FLAG_PATH_REQUIRED (integer)

Require path in "validate_url" filter.

FILTER_FLAG_QUERY_REQUIRED (integer)

Require query in "validate_url" filter.

FILTER_FLAG_IPV4 (integer)

Allow only IPv4 address in "validate_ip" filter.

FILTER_FLAG_IPV6 (integer)

Allow only IPv6 address in "validate_ip" filter.

FILTER_FLAG_NO_RES_RANGE (integer)

Deny reserved addresses in "validate_ip" filter.

FILTER_FLAG_NO_PRIV_RANGE (integer)

Deny private addresses in "validate_ip" filter.

Tabla de contenidos
filter_has_var -- Checks if variable of specified type exists
filter_id -- Returns the filter ID belonging to a named filter
filter_input_array -- Gets multiple variables from outside PHP and optionally filters them
filter_input -- Gets variable from outside PHP and optionally filters it
filter_list -- Returns a list of all supported filters
filter_var_array -- Gets multiple variables and optionally filters them
filter_var -- Filters a variable with a specified filter

Anterior | Inicio | Siguiente
unlink | Subir | filter_has_var


GeoIP Functions

Manual de PHP
Anterior Siguiente

XLVIII. GeoIP Functions

Introducción

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

Requisitos

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from Maxmind.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/geoip.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

GEOIP_COUNTRY_EDITION (integer)

GEOIP_REGION_EDITION_REV0 (integer)

GEOIP_CITY_EDITION_REV0 (integer)

GEOIP_ORG_EDITION (integer)

GEOIP_ISP_EDITION (integer)

GEOIP_CITY_EDITION_REV1 (integer)

GEOIP_REGION_EDITION_REV1 (integer)

GEOIP_PROXY_EDITION (integer)

GEOIP_ASNUM_EDITION (integer)

GEOIP_NETSPEED_EDITION (integer)

GEOIP_DOMAIN_EDITION (integer)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (integer)

GEOIP_DIALUP_SPEED (integer)

GEOIP_CABLEDSL_SPEED (integer)

GEOIP_CORPORATE_SPEED (integer)

Tabla de contenidos
geoip_country_code_by_name -- Get the two letter country code
geoip_country_code3_by_name -- Get the three letter country code
geoip_country_name_by_name -- Get the full country name
geoip_database_info -- Get GeoIP Database information
geoip_id_by_name -- Get the Internet connection speed
geoip_org_by_name -- Get the organization name
geoip_record_by_name -- Returns the detailed City information found in the GeoIP Database
geoip_region_by_name -- Get the country code and region

Anterior | Inicio | Siguiente
unregister_tick_function | Subir | geoip_country_code_by_name


gnupg Functions

Manual de PHP
Anterior Siguiente

LI. gnupg Functions

Introducción

This module allows you to interact with gnupg.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Requisitos

The gnupg extension requires PHP 4.3. To use this extension in an OO style, PHP 5 is required.

This extension requires the gpgme library

Instalación

The gnupg-extension is not bundled with PHP. It is a PECL extension and can be located here: http://pecl.php.net/package/gnupg.

Constantes predefinidas

GNUPG_SIG_MODE_NORMAL (integer)

GNUPG_SIG_MODE_DETACH (integer)

GNUPG_SIG_MODE_CLEAR (integer)

GNUPG_VALIDITY_UNKNOWN (integer)

GNUPG_VALIDITY_UNDEFINED (integer)

GNUPG_VALIDITY_NEVER (integer)

GNUPG_VALIDITY_MARGINAL (integer)

GNUPG_VALIDITY_FULL (integer)

GNUPG_VALIDITY_ULTIMATE (integer)

GNUPG_PROTOCOL_OpenPGP (integer)

GNUPG_PROTOCOL_CMS (integer)

GNUPG_SIGSUM_VALID (integer)

GNUPG_SIGSUM_GREEN (integer)

GNUPG_SIGSUM_RED (integer)

GNUPG_SIGSUM_KEY_REVOKED (integer)

GNUPG_SIGSUM_KEY_EXPIRED (integer)

GNUPG_SIGSUM_KEY_MISSING (integer)

GNUPG_SIGSUM_SIG_EXPIRED (integer)

GNUPG_SIGSUM_CRL_MISSING (integer)

GNUPG_SIGSUM_CRL_TOO_OLD (integer)

GNUPG_SIGSUM_BAD_POLICY (integer)

GNUPG_SIGSUM_SYS_ERROR (integer)

GNUPG_ERROR_WARNING (integer)

GNUPG_ERROR_EXCEPTION (integer)

GNUPG_ERROR_SILENT (integer)

Notes

This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.

Some functions require the specification of a key. This specification can be anything that refers to an unique key (userid, key-id, fingerprint, ...). This documentation uses the fingerprint in all examples.

keylistiterator

This extension also comes with an Iterator for your keyring.

<?php
// create a new iterator for listing all public keys that matches 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>

Ejemplos

This example will clearsign a given text.

Ejemplo 1. gnupg clearsign example (procedural)

<?php
// init gnupg
$res = gnupg_init();
// not really needed. Clearsign is default
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = gnupg_sign("just a test");
echo $signed;
?>

Ejemplo 2. gnupg clearsign example (OO)

<?php
// new class
$gnupg = new gnupg();
// not really needed. Clearsign is default
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = $gnupg->sign("just a test");
echo $signed;
?>
Tabla de contenidos
gnupg_adddecryptkey -- Add a key for decryption
gnupg_addencryptkey -- Add a key for encryption
gnupg_addsignkey -- Add a key for signing
gnupg_cleardecryptkeys -- Removes all keys which were set for decryption before
gnupg_clearencryptkeys -- Removes all keys which were set for encryption before
gnupg_clearsignkeys -- Removes all keys which were set for signing before
gnupg_decrypt -- Decrypts a given text
gnupg_decryptverify -- Decrypts and verifies a given text
gnupg_encrypt -- Encrypts a given text
gnupg_encryptsign -- Encrypts and signs a given text
gnupg_export -- Exports a key
gnupg_geterror -- Returns the errortext, if a function fails
gnupg_getprotocol -- Returns the currently active protocol for all operations
gnupg_import -- Imports a key
gnupg_keyinfo -- Returns an array with information about all keys that matches the given pattern
gnupg_setarmor -- Toggle armored output
gnupg_seterrormode -- Sets the mode for error_reporting
gnupg_setsignmode -- Sets the mode for signing
gnupg_sign -- Signs a given text
gnupg_verify -- Verifies a signed text

Anterior | Inicio | Siguiente
gmp_xor | Subir | gnupg_adddecryptkey


hash Functions

Manual de PHP
Anterior Siguiente

LIII. hash Functions

Introducción

Message Digest (hash) engine. Allows direct or incremental processing of arbitrary length messages using a variety of hashing algorithms.

Requisitos

The Hash extension requires no external libraries and is enabled by default as of PHP 5.1.2. It may be explicitly disabled by using the --disable-hash switch to configure. Earlier versions of PHP may incorporate the Hash extension by installing the PECL module.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

HASH_HMAC (integer)

Optional flag for hash_init(). Indicates that the HMAC digest-keying algorithm should be applied to the current hashing context.

Tabla de contenidos
hash_algos -- Return a list of registered hashing algorithms
hash_file -- Generate a hash value using the contents of a given file
hash_final -- Finalize an incremental hash and return resulting digest
hash_hmac_file -- Generate a keyed hash value using the HMAC method and the contents of a given file
hash_hmac -- Generate a keyed hash value using the HMAC method
hash_init -- Initialize an incremental hashing context
hash_update_file -- Pump data into an active hashing context from a file
hash_update_stream -- Pump data into an active hashing context from an open stream
hash_update -- Pump data into an active hashing context
hash -- Generate a hash value (message digest)

Anterior | Inicio | Siguiente
gopher_parsedir | Subir | hash_algos


Funciones para Hyperwave

Manual de PHP
Anterior Siguiente

LV. Funciones para Hyperwave

Introducción

Hyperwave ha sido desarrollado en el IICM en Graz. Comenzó con el nombre Hyper-G y cambió a Hyperwave cuando fue comercializado (Si lo recuerdo bien, fue en 1996).

Hyperwave no es software gratuito. La versión actual, 5.5, está disponible en http://www.hyperwave.com/. Se puede solicitar gratuitamente una versión limitada (30 días).

Puede consultar también la API de Hyperwave.

Hyperwave es un sistema de información similar a una base de datos (HIS, Hyperwave Information Server - Servidor Hyperwave de Información). Su objetivo es el almacenamiento y manipulación de documentos. Un documento puede ser cualquier bloque posible de datos que también puede ser almacenado en un archivo. Cada documento se acompaña por su registro de objeto. El registro de objeto contiene metadatos para el documento. Los metadatos son una lista de atributos que pueden ser extendidos por el usuario. Ciertos atributos siempre son fijados por el servidor Hyperwave, otros pueden ser modificados por el usuario. Un atributo es un par nombre/valor de la forma nombre=valor. El registro completo del objeto tiene tantos de estos pares como guste el usuario. El nombre de un atributo no tiene porqué ser único, p. ej. un título puede aparecer varias veces en el registro de un objeto. Esto tiene sentido si se desea especificar un título en diferentes idiomas. En dicho caso existe la convención de que cada valor de título esté precedido por la abreviatura de dos letras del idioma, seguida por dos puntos, como p. ej. 'en:Title in English' o 'es:Título en Español'. Otros atributos tales como descripciones o palabras clave son canditatos potenciales a esta diferenciación. También se pueden reemplazar las abreviaturas de idioma por cualquier otra cadena siempre y cuando estén separadas por los dos puntos del resto del valor del atributo.

Cada registro de objeto tiene una representación nativa como cadena con cada par nombre/valor separado por una línea nueva. La extensión Hyperwave también conoce una segunda representación que consiste en un array asociativo donde el nombre del atributo es la clave. Los valores de atributo multilingües en sí mismos forman otro array asociativo donde la clave es la abreviatura del idioma. Realmente cualquier atributo múltiple forma una tabla asociativa donde la cadena a la izquierda de los dos puntos en el valor de atributo es la clave. (Esto no se ha implementado por completo. Sólo los atributos Title, Description y Keyword son tratados adecuadamente).

Aparte de los documentos, todos los hiper-enlaces contenidos en un documento son almacenados también como registros de objeto. Cuando el documento sea insertado en la base de datos, los hiper-enlaces que haya en un documento serán borrados del mismo y almacenados como objetos individuales. El registro de objeto del enlace contiene información acerca de dónde comienza y dónde termina. Para recuperar el documento original se deberá recuperar el documento sin los enlaces y la lista de los mismos para reinsertarla (Las funciones hw_pipedocument() y hw_gettext() hacen esto para usted). La ventaja de separar los enlaces del documento es obvia. Una vez un documento al que apunta un enlace cambia de nombre, el enlace puede modificarse fácilmente. El documento que contiene el enlace no se ve afectado. Incluso se puede añadir un enlace a un documento sin alterarlo.

Decir que hw_pipedocument() y hw_gettext() hacen automáticamente la inserción de enlaces no es tan simple como suena. Insertar los enlaces implica una cierta jerarquía en los documentos. En un servidor web esto viene dado por el sistema de archivos, pero el Hyperwave tiene su propia jerarquía y los nombres no representan la posición de un objeto en dicha jerarquía. Por tanto, la creación de los enlaces precisa primeramente de realizar un mapeado entre el espacio de nombres y la jerarquía del Hyperwave y el espacio de nombres respectivo de una jerarquía de web. La diferencia fundamental entre Hyperwave y la web es la distinción clara entre nombres y jerarquía que se da en el primero. El nombre no contiene ninguna información sobre la posición del objeto en la jerarquía. En la web, el nombre también contiene la información sobre la posición en la jerarquía del objeto. Esto nos lleva a dos posibles formas de mapeo. O bien se reflejan la jerarquía del Hyperwave y el nombre del objeto Hyperwave en el URL o sólo el nombre. Para facilitar las cosas, se utiliza el segundo método. El objeto Hyperwave de nombre 'mi_objeto' es mapeado a 'http://host/mi_objeto' sin importar dónde reside dentro de la jerarquía de Hyperwave. Un objeto con el nombre 'padre/mi_objeto' podría ser el hijo de 'mi_objeto' en la jerarquía Hyperwave, aunque en el espacio de nombres web aparezca justamente lo opuesto y el usuario pueda ser llevado a confusión. Esto sólo se puede evitar seleccionando nombres de objetos razonables.

Hecha esta decisión surge un segundo problema. ¿Cómo implicar al PHP? el URL http://host/mi_objeto no llamará a ningún script PHP a no ser que se le diga al servidor que lo transforme en p. ej. 'http://host/script_php3/mi_objeto' y que el 'script_php3' luego evalúe la variable $PATH_INFO y recupere el objeto con nombre 'mi_objeto' del servidor Hyperwave. Hay sólo un pequeño inconveniente que se puede resolver fácilmente. Cuando se reescribe cualquier URL no se permite el acceso a ningún otro documento en el servidor web. Un script de PHP para buscar en el servidor Hyperwave sería imposible. Por lo tanto se necesitará al menos una segunda regla de reescritura para que excluya ciertos URL, como los que empiecen p. ej. por http://host/Hyperwave. Básicamente esto sería compartir un espacio de nombres entre el servidor web y el servidor Hyperwave.

Los enlaces se insertan en los documentos basándose en el mecanismo citado más arriba.

Se vuelve más complicado si el PHP no se está ejecutando como módulo del servidor o como script CGI, sino que se ejecuta como aplicación, p. ej. para volcar el contenido del servidor de Hyperwave a un CD-ROM. En dicho caso tiene sentido mantener la jerarquía Hyperwave y mapearla en el sistema de archivos. Esto entra conflicto con los nombres de los objetos si estos reflejan su propia jerarquía (p. ej. eligiendo nombres que comienzan por '/'). Por tanto, la '/' tendrá que ser reemplazada por otro carácter, p. ej. '_' para continuar.

El protocolo de red para comunicarse con el servidor Hyperwave se denomina HG-CSP (Hyper-G Client/Server Protocol, Protocolo Hyper-G Cliente/Servidor). Está basado en mensajes que inician ciertas acciones, p. ej. obtener el registro de un objeto. En versiones anteriores del Servidor Hyperwave se distribuyeron dos clientes nativos (Harmony, Amadeus) para la comunicación con el servidor. Ambos desaparecieron cuando se comercializó el Hyperwave. Para sustituírlo se proporcionó el llamado wavemaster. El wavemaster es como un conversor de protocolo de HTTP a HG-CSP. La idea es realizar toda la administración de la base de datos y la visualización de documentos con una interfaz web. El wavemaster implementa una serie de posicionadores para acciones que permiten personalizar la interfaz. Dicho conjunto de posicionadores se denomina el Lenguaje PLACE. El PLACE no posee muchas de las características de un lenguaje de programación real y las extensiones al mismo únicamente alargan la lista de posicionadores. Esto ha obligado al uso de JavaScript que, en mi opinión, no hace la vida más fácil.

Añadir soporte de Hyperwave al PHP rellenaría el espacio que deja la falta de un lenguaje de programación que permita personalizar la interfaz. El PHP implementa todos los mensajes definidos en el HG-CSP pero además proporciona comandos más poderosos, p. ej. recuperar documentos completos.

El Hyperwave tiene su propia terminología para dar nombre a ciertos tipos de información. Esta ha sido ampliamente extendida y anulada. Casi todas las funciones operan en uno de los siguientes tipos de datos.

  • ID de objeto: Un valor entero único paara cada objeto del servidor Hyperwave. También es uno de los atributos del registro de objeto (ObjectID). Los ID de objeto se usan generalmente como parámetros de entrada que especifican a un objeto.

  • registro de objeto: Una cadena con pares atributo-valor con la forma atributo=valos. Los pares están separados unos de otros por un retorno de carro. Un registro de objeto puede convertirse fácilmente en una tabla (array) de objetos usando hw_object2array(). Varias funciones devuelven registros de objeto. Los nombres de dichas funciones terminan en obj.

  • tabla de objetos: Una tabla asociativa con todos los atributos de un objeto. La clave es el nombre del atributo. Si un atributo aparece más de una vez en un registro de objeto será convertido en otra tabla asociativa o indizada. Los atributos que dependen del idioma (como el título, claves o descripción) se convertirán en una tabla asociativa con la abreviatura del idioma como clave. El resto de los atributos múltiples crearán una tabla indizada. Las funciones de PHP nunca devuelven tablas de objetos.

  • hw_document: Este es un nuevo tipo de datos que almacena el documento actual, p. ej. HTML, PDF, etc. Está algo optimizado para documentos HTML pero puede usarse para cualquier formato.

Varias funciones que devuelven una tabla de registros de objeto también devuelven una tabla asociativa con información estadística sobre los mismos. La tabla es el último elemento del registro de objeto. La tabla estadística contiene los siguientes elementos:

Hidden

Número de registros de objeto con el atributo PresentationHints puesto a Hidden.

CollectionHead

Número de registros de objeto con el atributo PresentationHints puesto a CollectionHead.

FullCollectionHead

Número de registros de objeto con el atributo PresentationHints puesto a FullCollectionHead.

CollectionHeadNr

Índice a una tabla de regitros de objeto con el atributo PresentationHints puesto a CollectionHead.

FullCollectionHeadNr

Índice a una tabla de regitros de objeto con el atributo PresentationHints puesto a FullCollectionHead.

Total

Total: Número de registros de objeto.

Requisitos

Esta extensión requiere un servidor Hyperwave que se puede obtener de la dirección http://www.hyperwave.com/.

Instalación

Esta extension PECL no esta ligada a PHP.

Para poder utilizar estas funciones, se debe compilar PHP con soporte para Hyperwave mediante la opción --with-hyperwave[=DIR] .

Los usuarios de Windows deben habilitar php_hyperwave.dll dentro del archivo php.ini para poder emplear las funciones. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Integración con Apache

La extensión Hyperwave se utiliza mejor cuando el PHP se compila como un módulo de Apache. En tal caso el servidor Hyperwave subyacente puede ser ocultado casi por completo de los usuarios si el Apache utiliza su motor de re-escritura. Las siguientes instrucciones explicarán esto.

Como el PHP con soporte Hyperwave incluído en el Apache se ha diseñado para sustituir la solución nativa de Hyperwave basada en Wavemaster, asumiré que el servidor Apache sólo sirve como interfaz web para el Hyperwave. Esto no es necesario, pero simplifica la configuración. El concepto es bastante sencillo. Primeramente necesita un script PHP que evalúe la variable $_ENV['PATH_INFO'] y que trate su valor como el nombre de un objeto Hyperwave. Llamemos a este script 'Hyperwave'. El URL http://nombre.servidor/Hyperwave/nombre_de_objeto devolvería entonces el objeto Hyperwave llamado 'nombre_de_objeto'. Dependiendo del tipo del objeto, así reaccionará el script. Si es una colección, probablemente devolverá un lista de hijos. Si es un documento devolverá el tipo MIME y el contenido. Se puede mejorar ligeramente si se usa el motor de re-escritura del Apache. Desde el punto de vista del usuario será más sencillo si el URL http://nombre.servidor/nombre de objeto devuelve el objeto. La regla de reescritura es muy sencilla:

RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]

Ahora todo URL apunta a un objeto en el servidor Hyperwave. Esto provoca un problema sencillo de resolver. No hay forma de ejecutar otro script, p. ej. para buscar, salvo el script 'Hyperwave'. Esto se puede solucionar con otra regla de reescritura como la siguiente:

RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]

Esta reservará el directorio /usr/local/apache/htdocs/hw para script adicionales y otros archivos. Sólo hay que asegurarse que esta regla se evalúa antes de la otra. Sólo hay un pequeño inconveniente: todos los objetos Hyperwave cuyo nombre comienza por 'hw/' serán ocultados. así que asegúrese que no utiliza dichos nombres. Si necesita más directorios, p. ej. para imágenes, simplemente añada más reglas o sitúe los archivos en un solo directorio. Por último, no olvide conectar el motor de re-escritura con

RewriteEngine on

Mi experiencia me ha demostrado que necesitará los siguientes scripts:

  • para devolver el script en sí

  • para permitir las búsquedas

  • para identificarse

  • para ajustar su perfil

  • uno para cada función adicional como mostrar los atributos del objeto, mostrar información sobre usuarios, mostrar el estado del servidor, etc.

Una alternativa a utilizar "Rewrite Engine", es emplear la directiva de Apache ErrorDocument. Sin embargo, las páginas redirigidas mediante ErrorDocument no pueden recibir datos POST.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de Hyperwave

Nombre | Valor por defecto | Donde se cambia | Registro de cambios
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.2.
hyperwave.default_port | "418" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

HW_ATTR_LANG (integer)

HW_ATTR_NR (integer)

HW_ATTR_NONE (integer)

Pendientes

Aún hay varias cosas pendientes:

  • hw_InsertDocument debe dividirse en hw_InsertObject() y hw_PutDocument().

  • Los nombres de algunas funciones aún no están fijados.

  • Muchas funciones precisan la conexión actual como primer parámetro. Esto obliga a escribir mucho, lo cual no es con frecuencia necesario si sólo hay una conexión abierta. Una conexión por defecto mejoraría esto.

  • La conversión de registro de objeto a tabla de objeto necesita manipular cualquier atributo múltiple.

Tabla de contenidos
hw_Array2Objrec -- Convierte atributos de tabla de objeto a registro de objeto
hw_changeobject -- Modifica los atributos de un objeto (obsoleta)
hw_Children -- Id de objeto de los hijos
hw_ChildrenObj -- Registros de objeto de los hijos
hw_Close -- Cierra la conexión Hyperwave
hw_Connect -- Abre una conexión
hw_connection_info -- Muestra información sobre la conexión con un servidor Hyperwave
hw_cp -- Copia objetos
hw_Deleteobject -- Borra objetos
hw_DocByAnchor -- Id del objeto al que pertenece un enlace
hw_DocByAnchorObj -- Registro de objeto al que pertenece un enlace
hw_Document_Attributes -- Registro de objeto de hw_document
hw_Document_BodyTag -- Body tag of hw_document
hw_Document_Content -- Returns content of hw_document
hw_Document_SetContent -- Sets/replaces content of hw_document
hw_Document_Size -- Size of hw_document
hw_dummy -- Hyperwave dummy function
hw_EditText -- Recupera documento de texto
hw_Error -- Número de error
hw_ErrorMsg -- Devuelve un mensaje de error
hw_Free_Document -- Libera un documento_hw
hw_GetAnchors -- Id de objeto de los enlaces de un documento
hw_GetAnchorsObj -- Registros de objeto de los enlaces de un documento
hw_GetAndLock -- Devuelve registro de objeto y lo bloquea
hw_GetChildColl -- Id de objeto de colecciones hijas
hw_GetChildCollObj -- Registros de objeto de colecciones hijas
hw_GetChildDocColl -- Id de objeto de documentos hijos de una colección
hw_GetChildDocCollObj -- Registros de objeto de documentos hijos de una colección
hw_GetObject -- Registro de objeto
hw_GetObjectByQuery -- Buscar objeto
hw_GetObjectByQueryColl -- Buscar objeto en colección
hw_GetObjectByQueryCollObj -- Buscar objeto en colección
hw_GetObjectByQueryObj -- Buscar objeto
hw_GetParents -- Id de objeto de los padres
hw_GetParentsObj -- Registros de objeto de los padres
hw_getrellink -- Get link from source to dest relative to rootid
hw_GetRemote -- Obtiene un documento remoto
hw_GetRemoteChildren -- Obtiene el hijo del documento remoto
hw_GetSrcByDestObj -- Devuelve los enlaces que apuntan al objeto
hw_GetText -- Obtiene un documento de texto
hw_getusername -- Nombre del usuario actualmente conectado
hw_Identify -- Identificarse como usuario
hw_incollections -- Comprueba si los id de objeto están en las colecciones
hw_Info -- Información sobre conexión
hw_InsColl -- Insertar colección
hw_InsDoc -- Insertar documento
hw_insertanchors -- Inserts only anchors into text
hw_InsertDocument -- Subir cualquier objeto
hw_InsertObject -- Inserta un registro de objeto
hw_mapid -- Mapea in id global a un id virtual local
hw_Modifyobject -- Modifica el registro de objeto
hw_Mv -- Mueve objetos
hw_New_Document -- Crear nuevo documento
hw_Objrec2Array -- Convierte atributos de registro de objeto a tabla de objetos
hw_Output_Document -- Prints hw_document
hw_pConnect -- Hacer una conexión de base de datos permanente
hw_PipeDocument -- Recupera cualquier documento
hw_Root -- ID del objeto raíz
hw_setlinkroot -- Set the id to which links are calculated
hw_stat -- Returns status string
hw_Unlock -- Desbloquea objeto
hw_Who -- Lista de los usuarios actualmente conectados

Anterior | Inicio | Siguiente
http_build_url | Subir | hw_Array2Objrec


IBM DB2, Cloudscape and Apache Derby Functions

Manual de PHP
Anterior Siguiente

LVIII. IBM DB2, Cloudscape and Apache Derby Functions

Introducción

These functions enable you to access IBM DB2 Universal Database, IBM Cloudscape, and Apache Derby databases using the DB2 Call Level Interface (DB2 CLI).

Requisitos

To connect to IBM DB2 Universal Database for Linux, UNIX, and Windows, or IBM Cloudscape, or Apache Derby, you must install an IBM DB2 Universal Database client on the same computer on which you are running PHP. The extension has been developed and tested with DB2 Version 8.2.

To connect to IBM DB2 Universal Database for z/OS or iSeries, you also require IBM DB2 Connect or the equivalent DRDA gateway software.

Requirements on Linux or Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:
bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).

Instalación

To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on your system. DB2 does not install these by default, so you may have to return to your DB2 installer and add this option. The header files are included with the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database support site.

If you add the DB2 application development header files and libraries to a Linux or Unix operating system on which DB2 was already installed, you must issue the command db2iupdt -e to update the symbolic links to the header files and libraries in your DB2 instances.

ibm_db2 is a PECL extension, so follow the instructions in Capítulo 7 to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of your DB2 header files and libraries as follows:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
The configure command defaults to /opt/IBM/db2/V8.1.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. ibm_db2 Configure Options

Name | Default | Changeable | Changelog
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM |
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM |
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM |

A continuación se presenta una corta explicación de las directivas de configuración.

ibm_db2.binmode integer

This option controls the mode used for converting to and from binary data in the PHP application.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_allow_commit integer

This option controls the commit mode used for i5 schema collections in the PHP application.

  • 0 no commit (see i5_commit for override)

  • 1 allow commit (see i5_commit for override)

ibm_db2.i5_dbcs_alloc integer

This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.

  • 0 no expanded allocations (see i5_dbcs_alloc for override)

  • 1 use expanded allocations (see i5_dbcs_alloc for override)

ibm_db2.instance_name string

On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.

This option is ignored on Windows operating systems.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

DB2_BINARY (integer)

Specifies that binary data shall be returned as is. This is the default mode.

DB2_CONVERT (integer)

Specifies that binary data shall be converted to a hexadecimal encoding and returned as an ASCII string.

DB2_PASSTHRU (integer)

Specifies that binary data shall be converted to a NULL value.

DB2_SCROLLABLE (integer)

Specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

DB2_FORWARD_ONLY (integer)

Specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

DB2_PARAM_IN (integer)

Specifies the PHP variable should be bound as an IN parameter for a stored procedure.

DB2_PARAM_OUT (integer)

Specifies the PHP variable should be bound as an OUT parameter for a stored procedure.

DB2_PARAM_INOUT (integer)

Specifies the PHP variable should be bound as an INOUT parameter for a stored procedure.

DB2_PARAM_FILE (integer)

Specifies that the column should be bound directly to a file for input.

DB2_AUTOCOMMIT_ON (integer)

Specifies that autocommit should be turned on.

DB2_AUTOCOMMIT_OFF (integer)

Specifies that autocommit should be turned off.

DB2_DOUBLE (integer)

Specifies that the variable should be bound as a DOUBLE, FLOAT, or REAL data type.

DB2_LONG (integer)

Specifies that the variable should be bound as a SMALLINT, INTEGER, or BIGINT data type.

DB2_CHAR (integer)

Specifies that the variable should be bound as a CHAR or VARCHAR data type.

DB2_CASE_NATURAL (integer)

Specifies that column names will be returned in their natural case.

DB2_CASE_LOWER (integer)

Specifies that column names will be returned in lower case.

DB2_CASE_UPPER (integer)

Specifies that column names will be returned in upper case.

Tipos de recursos

The ibm_db2 extension returns connection resources, statement resources, and result set resources.

Tabla de contenidos
db2_autocommit -- Returns or sets the AUTOCOMMIT state for a database connection
db2_bind_param -- Binds a PHP variable to an SQL statement parameter
db2_client_info -- Returns an object with properties that describe the DB2 database client
db2_close -- Closes a database connection
db2_column_privileges -- Returns a result set listing the columns and associated privileges for a table
db2_columns -- Returns a result set listing the columns and associated metadata for a table
db2_commit -- Commits a transaction
db2_conn_error -- Returns a string containing the SQLSTATE returned by the last connection attempt
db2_conn_errormsg -- Returns the last connection error message and SQLCODE value
db2_connect -- Returns a connection to a database
db2_cursor_type -- Returns the cursor type used by a statement resource
db2_exec -- Executes an SQL statement directly
db2_execute -- Executes a prepared SQL statement
db2_fetch_array -- Returns an array, indexed by column position, representing a row in a result set
db2_fetch_assoc -- Returns an array, indexed by column name, representing a row in a result set
db2_fetch_both -- Returns an array, indexed by both column name and position, representing a row in a result set
db2_fetch_object -- Returns an object with properties representing columns in the fetched row
db2_fetch_row -- Sets the result set pointer to the next row or requested row
db2_field_display_size -- Returns the maximum number of bytes required to display a column
db2_field_name -- Returns the name of the column in the result set
db2_field_num -- Returns the position of the named column in a result set
db2_field_precision -- Returns the precision of the indicated column in a result set
db2_field_scale -- Returns the scale of the indicated column in a result set
db2_field_type -- Returns the data type of the indicated column in a result set
db2_field_width -- Returns the width of the current value of the indicated column in a result set
db2_foreign_keys -- Returns a result set listing the foreign keys for a table
db2_free_result -- Frees resources associated with a result set
db2_free_stmt -- Frees resources associated with the indicated statement resource
db2_next_result -- Requests the next result set from a stored procedure
db2_num_fields -- Returns the number of fields contained in a result set
db2_num_rows -- Returns the number of rows affected by an SQL statement
db2_pconnect -- Returns a persistent connection to a database
db2_prepare -- Prepares an SQL statement to be executed
db2_primary_keys -- Returns a result set listing primary keys for a table
db2_procedure_columns -- Returns a result set listing stored procedure parameters
db2_procedures -- Returns a result set listing the stored procedures registered in a database
db2_result -- Returns a single column from a row in the result set
db2_rollback -- Rolls back a transaction
db2_server_info -- Returns an object with properties that describe the DB2 database server
db2_set_option -- Set options for connection or statement resources
db2_special_columns -- Returns a result set listing the unique row identifier columns for a table
db2_statistics -- Returns a result set listing the index and statistics for a table
db2_stmt_error -- Returns a string containing the SQLSTATE returned by an SQL statement
db2_stmt_errormsg -- Returns a string containing the last SQL statement error message
db2_table_privileges -- Returns a result set listing the tables and associated privileges in a database
db2_tables -- Returns a result set listing the tables and associated metadata in a database

Anterior | Inicio | Siguiente
PDO_IBM DSN | Subir | db2_autocommit


Funciones ICAP [eliminadas]

Manual de PHP
Anterior Siguiente

LIX. Funciones ICAP [eliminadas]

Introducción

Nota: Icap ha sido eliminado de PHP. Ni este módulo, ni las versiones de la biblioteca icap siguen siendo soportadas. Si desea usar funcionalidad de calendario en PHP, use mcal en su lugar.

Requisitos

La biblioteca icap tiene que estar instalada, la cual no es soportada ni se encuentra disponible ahora.

Instalación

Para hacer que estas funciones trabajen, necesita compilar PHP con --with-icap.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
icap_close -- Cierra un stream ICAP
icap_create_calendar -- Create a new calendar
icap_delete_calendar -- Delete a calendar
icap_delete_event -- Borra un evento de un calendario ICAP
icap_fetch_event -- Obtiene un evento del stream de calendario/
icap_list_alarms -- Devuelve una lista de los eventos que una alarma ha disparado en el instante dado
icap_list_events -- Devuelve una lista de eventos entre dos instantes dados
icap_open -- Abre una conexión ICAP
icap_rename_calendar -- Rename a calendar
icap_reopen -- Reopen ICAP stream to new calendar
icap_snooze -- Apaga la alarma de un evento
icap_store_event -- Almacena un evento en un calendario ICAP

Anterior | Inicio | Siguiente
db2_tables | Subir | icap_close


IIS Administration Functions

Manual de PHP
Anterior Siguiente

LXII. IIS Administration Functions

Introducción

Esta extension PECL no esta ligada a PHP. This extension is available for Win32 only. It provides functions to administrate Microsoft Internet Information Server (IIS). The extension includes function to create web sites and virtual directories as well as configuring security and script mapping. These functions have been added in PHP 4.

In order to use these functions you must enable the php_iisfunc.dll DLL inside of php.ini. Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Requisitos

No se necesitan bibliotecas externas para construir esta extensión

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

IIS_READ (integer)

IIS_WRITE (integer)

IIS_EXECUTE (integer)

IIS_SCRIPT (integer)

IIS_ANONYMOUS (integer)

IIS_BASIC (integer)

IIS_NTLM (integer)

IIS_STARTING (integer)

IIS_STOPPED (integer)

IIS_PAUSED (integer)

IIS_RUNNING (integer)

Tabla de contenidos
iis_add_server -- Creates a new virtual web server
iis_get_dir_security -- Gets Directory Security
iis_get_script_map -- Gets script mapping on a virtual directory for a specific extension
iis_get_server_by_comment -- Return the instance number associated with the Comment
iis_get_server_by_path -- Return the instance number associated with the Path
iis_get_server_rights -- Gets server rights
iis_get_service_state -- Returns the state for the service defined by ServiceId
iis_remove_server -- Removes the virtual web server indicated by ServerInstance
iis_set_app_settings -- Creates application scope for a virtual directory
iis_set_dir_security -- Sets Directory Security
iis_set_script_map -- Sets script mapping on a virtual directory
iis_set_server_rights -- Sets server rights
iis_start_server -- Starts the virtual web server
iis_start_service -- Starts the service defined by ServiceId
iis_stop_server -- Stops the virtual web server
iis_stop_service -- Stops the service defined by ServiceId

Anterior | Inicio | Siguiente
id3_set_tag | Subir | iis_add_server


Image magick Functions

Manual de PHP
Anterior Siguiente

LXIV. Image magick Functions

Introducción

Image magick extension lets you create and manipulate images. Its function is similar to Image extension but provides more powerful and faster functions.

Requisitos

To use this extension, either "ImageMagick" or "GraphicsMagick" library is required.

Instalación

Windows binaries may be found at http://snaps.php.net/. To install, download php_imagick.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_imagick.dll to your php.ini and restarting your web server.

extension_dir=c:/php5/exts/
extension=php_imagick.dll

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Either:

    • Run the pear installer for PECL/imagick: pecl install imagick

    • Copy imagick.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.

    • Add extension=imagick.so to your php.ini

    Or:

    • Set the path to your php.ini via:

      pecl config-set php_ini /path/to/php.ini

    • Run the pear installer for PECL/imagick: pecl install imagick

  • Restart your web server to reload your php.ini settings.

Development Versions: There are currently no stable versions of PECL/imagick, to force installation of the beta version of PECL/imagick execute: pecl install imagick-beta

Compiling PECL/imagick without using the PEAR command: Rather than using pecl install imagick to automatically download and install PECL/imagick, you may download the tarball from PECL. From the root of the unpacked tarball, run: phpize && ./configure --enable-imagick && make to generate imagick.so. Once built, continue the installation from step 4 above.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/imagick.

Tipos de recursos

This extension uses the "imagemagick handle" resource.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

IMAGICK_FILTER_UNDEFINED (integer)

IMAGICK_FILTER_POINT (integer)

IMAGICK_FILTER_BOX (integer)

IMAGICK_FILTER_TRIANGLE (integer)

IMAGICK_FILTER_HERMITE (integer)

IMAGICK_FILTER_HANNING (integer)

IMAGICK_FILTER_HAMMING (integer)

IMAGICK_FILTER_BLACKMAN (integer)

IMAGICK_FILTER_GAUSSIAN (integer)

IMAGICK_FILTER_QUADRATIC (integer)

IMAGICK_FILTER_CUBIC (integer)

IMAGICK_FILTER_CATROM (integer)

IMAGICK_FILTER_MITCHELL (integer)

IMAGICK_FILTER_LANCZOS (integer)

IMAGICK_FILTER_BESSEL (integer)

IMAGICK_FILTER_SINC (integer)

IMAGICK_FILTER_UNKNOWN (integer)

IMAGICK_FONTSTYLE_NORMAL (integer)

IMAGICK_FONTSTYLE_ITALIC (integer)

IMAGICK_FONTSTYLE_OBLIQUE (integer)

IMAGICK_FONTSTYLE_ANY (integer)

IMAGICK_RAISE (integer)

IMAGICK_LOWER (integer)

IMAGICK_COMPOSITE_OP_UNDEFINED (integer)

IMAGICK_COMPOSITE_OP_OVER (integer)

IMAGICK_COMPOSITE_OP_IN (integer)

IMAGICK_COMPOSITE_OP_OUT (integer)

IMAGICK_COMPOSITE_OP_ATOP (integer)

IMAGICK_COMPOSITE_OP_XOR (integer)

IMAGICK_COMPOSITE_OP_PLUS (integer)

IMAGICK_COMPOSITE_OP_MINUS (integer)

IMAGICK_COMPOSITE_OP_ADD (integer)

IMAGICK_COMPOSITE_OP_SUBTRACT (integer)

IMAGICK_COMPOSITE_OP_DIFFERENCE (integer)

IMAGICK_COMPOSITE_OP_MULTIPLY (integer)

IMAGICK_COMPOSITE_OP_BUMPMAP (integer)

IMAGICK_COMPOSITE_OP_COPY (integer)

IMAGICK_COMPOSITE_OP_COPYRED (integer)

IMAGICK_COMPOSITE_OP_COPYGREEN (integer)

IMAGICK_COMPOSITE_OP_COPYBLUE (integer)

IMAGICK_COMPOSITE_OP_COPYOPACITY (integer)

IMAGICK_COMPOSITE_OP_CLEAR (integer)

IMAGICK_COMPOSITE_OP_DISSOLVE (integer)

IMAGICK_COMPOSITE_OP_DISPLACE (integer)

IMAGICK_COMPOSITE_OP_MODULATE (integer)

IMAGICK_COMPOSITE_OP_THRESHOLD (integer)

IMAGICK_COMPOSITE_OP_NONE (integer)

IMAGICK_COMPOSITE_OP_DARKEN (integer)

IMAGICK_COMPOSITE_OP_LIGHTEN (integer)

IMAGICK_COMPOSITE_OP_HUE (integer)

IMAGICK_COMPOSITE_OP_SATURATE (integer)

IMAGICK_COMPOSITE_OP_COLORIZE (integer)

IMAGICK_COMPOSITE_OP_LUMINIZE (integer)

IMAGICK_COMPOSITE_OP_SCREEN (integer)

IMAGICK_COMPOSITE_OP_OVERLAY (integer)

IMAGICK_PROFILE_OWN (integer)

IMAGICK_PROFILE_COPY (integer)

IMAGICK_TYPE_UNDEFINED (integer)

IMAGICK_TYPE_BILEVEL (integer)

IMAGICK_TYPE_GRAYSCALE (integer)

IMAGICK_TYPE_GRAYSCALEMATTE (integer)

IMAGICK_TYPE_PALETTE (integer)

IMAGICK_TYPE_PALETTEMATTE (integer)

IMAGICK_TYPE_TRUECOLOR (integer)

IMAGICK_TYPE_TRUECOLORMATTE (integer)

IMAGICK_TYPE_COLORSEPARATION (integer)

IMAGICK_TYPE_COLORSEPARATIONMATTE (integer)

IMAGICK_TYPE_OPTIMIZE (integer)

IMAGICK_COLORSPACE_UNDEFINED (integer)

IMAGICK_COLORSPACE_RGB (integer)

IMAGICK_COLORSPACE_GRAY (integer)

IMAGICK_COLORSPACE_TRANSPARENT (integer)

IMAGICK_COLORSPACE_OHTA (integer)

IMAGICK_COLORSPACE_XYZ (integer)

IMAGICK_COLORSPACE_YCBCR (integer)

IMAGICK_COLORSPACE_YCC (integer)

IMAGICK_COLORSPACE_YIQ (integer)

IMAGICK_COLORSPACE_YPBPR (integer)

IMAGICK_COLORSPACE_YUV (integer)

IMAGICK_COLORSPACE_CMYK (integer)

IMAGICK_COLORSPACE_SRGB (integer)

IMAGICK_COMPRESSION_UNDEFINED (integer)

IMAGICK_COMPRESSION_NONE (integer)

IMAGICK_COMPRESSION_BZIP (integer)

IMAGICK_COMPRESSION_FAX (integer)

IMAGICK_COMPRESSION_GROUP4 (integer)

IMAGICK_COMPRESSION_JPEG (integer)

IMAGICK_COMPRESSION_LOSSLESSJPEG (integer)

IMAGICK_COMPRESSION_LZW (integer)

IMAGICK_COMPRESSION_RLE (integer)

IMAGICK_COMPRESSION_ZIP (integer)

Tabla de contenidos
imagick_begindraw -- Begin draw
imagick_blob2image -- Read image from BLOB
imagick_blur -- Blur image
imagick_border -- Surrounds the image with a border
imagick_charcoal -- Highlight edges
imagick_chop -- Remove a region of an image and collapse the image to occupy the removed portion
imagick_clonehandle -- Clone image
imagick_composite -- Composite the second image onto the first at the specified offsets
imagick_contrast -- Enhance the intensity differences between the lighter and darker elements of the image
imagick_convert -- Convert image
imagick_crop -- Extract a region of the image
imagick_despeckle -- Reduce the speckle noise
imagick_destroyhandle -- Free image from memory
imagick_drawannotation -- Write text
imagick_drawarc -- Draw arc
imagick_drawcircle -- Draw circle
imagick_drawellipse -- Draw ellipse
imagick_drawline -- Draw line
imagick_drawpoint -- Draw point
imagick_drawrectangle -- Draw rectangle
imagick_edge -- Find edges
imagick_emboss -- Return a grayscale image with a three-dimensional effect
imagick_enhance -- Apply a digital filter that improves the quality of a noisy image
imagick_equalize -- Apply a histogram equalization to the image
imagick_error -- Check whether there is an error
imagick_faileddescription -- Get description of failure
imagick_failedreason -- Get reason of failure
imagick_first -- Set the internal pointer of an image list to its first element
imagick_flatten -- Merge a sequence of images
imagick_flip -- Create a vertical mirror image by reflecting the pixels around the central x-axis
imagick_flop -- Create a horizontal mirror image by reflecting the pixels around the central y-axis
imagick_frame -- Add a simulated three-dimensional border around the image
imagick_free -- Alias of imagick_destroyhandle()
imagick_gamma -- Gamma-correct a particular image channel
imagick_gaussianblur -- Blur image
imagick_getcanvas -- Get canvas
imagick_getcolorspace -- Get color space
imagick_getdpix -- Get DPI in X axis
imagick_getdpiy -- Get DPI in Y axis
imagick_getheight -- Get height
imagick_getimagedepth -- Get color depth
imagick_getimagefromlist -- Return copy of an image from the list
imagick_getimagetype -- Get image type
imagick_getlistindex -- Get position in the list of the specified image
imagick_getlistsize -- Get list size
imagick_getmagick -- Get Magick string
imagick_getmimetype -- Get MIME type
imagick_getnumbercolors -- Get number of colors
imagick_getwidth -- Get width
imagick_goto -- Go to specified image in a list
imagick_image2blob -- Return image as BLOB
imagick_implode -- Implode image pixels
imagick_iserror -- Check whether there is an error with image
imagick_isgrayimage -- Check whether image is gray
imagick_isimagesequal -- Compare two images
imagick_ismonochromeimage -- Check whether image is monochrome
imagick_isopaqueimage -- Check whether image is opaque
imagick_ispaletteimage -- Check whether image is palette
imagick_level -- Adjust levels of a particular image channel by scaling the colors falling between specified white and black points to the full available quantum range
imagick_magnify -- Double-size the image using bilinear interpolation
imagick_medianfilter -- Replace each pixel by the median in a set of neighboring pixels
imagick_minify -- Half-size the image using the weighted average of a 4x4 cell
imagick_modulate -- Control brightness, saturation and hue
imagick_mosaic -- Inlay a number of images to form a single coherent picture
imagick_motionblur -- Simulate motion blur
imagick_negate -- Negate the colors
imagick_newimagelist -- Create new image list
imagick_next -- Advance the internal pointer of an image list
imagick_normalize -- Enhance the contrast of a color image by mapping the darkest 2 percent of all pixel to black and the brightest 1 percent to white
imagick_oilpaint -- Simulate oil painting
imagick_ordereddither -- Use the ordered dithering technique of reducing color images to monochrome
imagick_poplist -- Remove the last image in the list
imagick_prev -- Rewind the internal pointer of an image list
imagick_profile -- Add or remove a ICC, IPTC, or generic profile from an image
imagick_pushlist -- Add an image to the end of the list
imagick_raise -- Create a simulated three-dimensional button-like effect
imagick_read -- Alias of imagick_readimage()
imagick_readimage -- Read image
imagick_reducenoise -- Smooth the contours of an image while still preserving edge information
imagick_resize -- Resize image
imagick_roll -- Offset an image as defined by x and y
imagick_rotate -- Rotate image
imagick_sample -- Scale image using pixel sampling
imagick_scale -- Scale image using pnmscale() of PBMPLUS
imagick_set_image_comment -- Set "comment" attribute of image
imagick_set_image_quality -- Set image quality
imagick_setcompressionquality -- Set compression quality
imagick_setcompressiontype -- Set compression type
imagick_setdpi -- Set DPI
imagick_setfillcolor -- Set fill color
imagick_setfillopacity -- Set fill opacity
imagick_setfontface -- Set font face
imagick_setfontsize -- Set font size
imagick_setfontstyle -- Set font style
imagick_shade -- Shine a distant light on an image to create a three-dimensional effect
imagick_sharpen -- Sharpen image
imagick_shear -- Slide one edge of an image along the X or Y axis, creating a parallelogram
imagick_solarize -- Solarize image
imagick_spread -- Randomly displace each pixel in a block
imagick_swirl -- Swirl pixels around the center of image
imagick_threshold -- Change the value of individual pixels based on the intensity of each pixel compared to threshold
imagick_transformrgb -- Convert the image from RGB to an alternate colorspace
imagick_transparent -- Make image transparent
imagick_unsharpmask -- Sharpen image
imagick_wave -- Creates a ripple effect in the image by shifting the pixels vertically along a sine wave
imagick_writeimage -- Write image
imagick_writeimages -- Write images
imagick_zoom -- Zoom image using selected filter

Anterior | Inicio | Siguiente
png2wbmp | Subir | imagick_begindraw


JSON Functions

Manual de PHP
Anterior Siguiente

LXXI. JSON Functions

Introducción

This extension implements the JavaScript Object Notation (JSON) data-interchange format. The decoding is handled by a parser based on the JSON_checker by Douglas Crockford.

Requisitos

As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/json

Tabla de contenidos
json_decode -- Decodes a JSON string
json_encode -- Returns the JSON representation of a value

Anterior | Inicio | Siguiente
java_last_exception_get | Subir | json_decode


KADM5

Manual de PHP
Anterior Siguiente

LXXII. KADM5

Introducción

These package allows you to access Kerberos V administration servers. You can create, modify, and delete Kerberos V principals and policies.

More information about Kerberos can be found at http://web.mit.edu/kerberos/www/.

Documentation for Kerberos and KADM5 can be found at http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Constants for Attribute Flags

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_modify_principal() allow to specify
special attributes using a bitfield. The symbols are defined below:

Tabla 1. Attributes for use by the KDC

constant
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

Constants for Options

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_get_principal() allow to specify or return
principal's options as an associative array. The keys for the associative
array are defined as string constants below:

Tabla 2. Options for creating/modifying/retrieving principals

constant | funcdef | description
KADM5_PRINCIPAL | long | The expire time of the princial as a Kerberos timestamp.
KADM5_PRINC_EXPIRE_TIME | long | The expire time of the princial as a Kerberos timestamp.
KADM5_LAST_PW_CHANGE | long | The time this principal's password was last changed.
KADM5_PW_EXPIRATION | long | The expire time of the principal's current password, as a Kerberos timestamp.
KADM5_MAX_LIFE | long | The maximum lifetime of any Kerberos ticket issued to this principal.
KADM5_MAX_RLIFE | long | The maximum renewable lifetime of any Kerberos ticket issued to or for this principal.
KADM5_MOD_NAME | string | The name of the Kerberos principal that most recently modified this principal.
KADM5_MOD_TIME | long | The time this principal was last modified, as a Kerberos timestamp.
KADM5_KVNO | long | The version of the principal's current key.
KADM5_POLICY | string | The name of the policy controlling this principal.
KADM5_CLEARPOLICY | long | Standard procedure is to assign the 'default' policy to new principals. KADM5_CLEARPOLICY suppresses this behaviour.
KADM5_LAST_SUCCESS | long | The KDC time of the last successfull AS_REQ.
KADM5_LAST_FAILED | long | The KDC time of the last failed AS_REQ.
KADM5_FAIL_AUTH_COUNT | long | The number of consecutive failed AS_REQs.
KADM5_RANDKEY | long | Generates a random password for the principal. The parameter password will be ignored.
KADM5_ATTRIBUTES | long | A bitfield of attributes for use by the KDC.

Ejemplos

This simple example shows how to connect, query, print resulting principals and disconnect from a KADM5 database.

Ejemplo 1. KADM5 extension overview example

<?php

  $handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

  print "<h1>get_principals</h1>\n";
  $principals = kadm5_get_principals($handle);
  for( $i=0; $i<count($principals); $i++)
      print "$principals[$i]<br>\n";

  print "<h1>get_policies</h1>\n";
  $policies = kadm5_get_policies($handle);
  for( $i=0; $i<count($policies); $i++)
      print "$policies[$i]<br>\n";

  print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

  $options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
  $keys = array_keys($options);
  for( $i=0; $i<count($keys); $i++) {
    $value = $options[$keys[$i]];
    print "$keys[$i]: $value<br>\n";
  }

  $options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

  kadm5_destroy($handle);
?>

Contact Information

If you have comments, bugfixes, enhancements or want to help in developing this you can send me a mail at holger.burbach@gonicus.de. The project homepage can be found at http://oss.gonicus.de/project/?group_id=7.

Tabla de contenidos
kadm5_chpass_principal -- Changes the principal's password
kadm5_create_principal -- Creates a kerberos principal with the given parameters
kadm5_delete_principal -- Deletes a kerberos principal
kadm5_destroy -- Closes the connection to the admin server and releases all related resources
kadm5_flush -- Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open
kadm5_get_policies -- Gets all policies from the Kerberos database
kadm5_get_principal -- Gets the principal's entries from the Kerberos database
kadm5_get_principals -- Gets all principals from the Kerberos database
kadm5_init_with_password -- Opens a connection to the KADM5 library and initializes any neccessary state information
kadm5_modify_principal -- Modifies a kerberos principal with the given parameters

Anterior | Inicio | Siguiente
json_encode | Subir | kadm5_chpass_principal


libxml Functions

Manual de PHP
Anterior Siguiente

LXXIV. libxml Functions

Introducción

These functions/constants are available since PHP 5.1.0 and if you have compiled one of the extensions based on libxml, like DOM, SimpleXML and XSLT.

Requisitos

This extension requires libxml >= 2.6.0.

Clases predefinidas

LibXMLError

Propiedades

  • code - the error's code

  • column - the column where the error occurred. Please note that this property isn't entirely implemented in libxml and therefore 0 is often returned.

  • file - the filename, or empty if the XML was loaded from a string

  • level - the severity of the error (one of the following constants: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR or LIBXML_ERR_FATAL)

  • line - the line where the error occurred

  • message - the error message

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

LIBXML_COMPACT (integer)

Activate small nodes allocation optimization. This may speed up your application without needing to change the code.

Nota: Only available in Libxml >= 2.6.21

LIBXML_DTDATTR (integer)

Default DTD attributes

LIBXML_DTDLOAD (integer)

Load the external subset

LIBXML_DTDVALID (integer)

Validate with the DTD

LIBXML_NOBLANKS (integer)

Remove blank nodes

LIBXML_NOCDATA (integer)

Merge CDATA as text nodes

LIBXML_NOEMPTYTAG (integer)

Expand empty tags (e.g. <br/> to <br></br>)

Nota: This option is currently just available in the DOMDocument->save() and DOMDocument->saveXML() functions.

LIBXML_NOENT (integer)

Substitute entities

LIBXML_NOERROR (integer)

Suppress error reports

LIBXML_NONET (integer)

Disable network access when loading documents

LIBXML_NOWARNING (integer)

Suppress warning reports

LIBXML_NOXMLDECL (integer)

Drop the XML declaration when saving a document

Nota: Only available in Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)

Remove redundant namespaces declarations

LIBXML_XINCLUDE (integer)

Implement XInclude substitution

LIBXML_ERR_ERROR (integer)

A recoverable error

LIBXML_ERR_FATAL (integer)

A fatal error

LIBXML_ERR_NONE (integer)

No errors

LIBXML_ERR_WARNING (integer)

A simple warning

LIBXML_VERSION (integer)

libxml version like 20605 or 20617

LIBXML_DOTTED_VERSION (string)

libxml version like 2.6.5 or 2.6.17

Tabla de contenidos
libxml_clear_errors -- Clear libxml error buffer
libxml_get_errors -- Retrieve array of errors
libxml_get_last_error -- Retrieve last error from libxml
libxml_set_streams_context -- Set the streams context for the next libxml document load or write
libxml_use_internal_errors -- Disable libxml errors and allow user to fetch error information as needed

Anterior | Inicio | Siguiente
ldap_unbind | Subir | libxml_clear_errors


MaxDB PHP Extension

Manual de PHP
Anterior Siguiente

LXXX. MaxDB PHP Extension

Introducción

The MaxDB PHP extension allows you to access the functionality provided by MaxDB 7.5.0 and above. More information about the MaxDB Database server can be found at http://www.mysql.com/products/maxdb/.

The MaxDB PHP extension is compatible to the MySQL mysqli extension. There are only minor differences in the behaviour of some functions due to the differences of the underlying database servers, MaxDB and MySQL.

The main differences to mysqli are in the following functions:

maxdb_character_set_name() - Returns only ascii or unicode.
maxdb_get_client_info() - Returns a different version string.
maxdb_get_client_version() - Returns a different version string.
maxdb_get_host_info() - Returns localhost or hostname.
maxdb_get_server_info() - Returns a different version string.
maxdb_get_server_version() - Returns a different version string.
maxdb_kill() - Only disconnects the session.
maxdb_multi_query() - Can not handle multiple SQL statements.
maxdb_next_result() - Function returns always false.
maxdb_options() - Supports a different set of options.
maxdb_report() - Supports a different report mode.
maxdb_stat() - Returns a different system status string.
maxdb_stmt_store_result() - Is not necessary for MaxDB.
maxdb_store_result() - Is not necessary for MaxDB.

Documentation for MaxDB can be found at http://dev.mysql.com/doc/maxdb/.

Requisitos

In order to have these functions available, you must compile PHP with MaxDB support. Additionally, you must have the MaxDB SQLDBC runtime library available to access the MaxDB server.

Documentation for MaxDB SQLDBC can be found at http://dev.mysql.com/doc/maxdb/.

Download the MaxDB SQLDBC package from http://dev.mysql.com/downloads/maxdb/clients.html.

Instalación

By using the --with-maxdb[=DIR] configuration option you enable PHP to access MaxDB databases. [DIR] points to the directory that contains the installed MaxDB SQLDBC package.

Windows users will need to enable php_maxdb.dll inside of php.ini.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. MaxDB Configuration Options

Name | Default | Changeable | Changelog
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

maxdb.default_host string

The default server host to use when connecting to the database server if no other host is specified.

maxdb.default_db string

The default server database to use when connecting if no other database is specified.

maxdb.default_user string

The default user name to use when connecting to the database server if no other name is specified.

maxdb.default_pw string

The default password to use when connecting to the database server if no other password is specified.

maxdb.long_readlen integer

The default maximum length of bytes that is transferred to the client if long data is retrieved from the MaxDB database server.

Clases predefinidas

maxdb

Represents a connection between PHP and a MaxDB database.

Constructor

  • maxdb - construct a new maxdb object

Métodos

  • autocommit - turns on or off auto-commiting database modifications

  • change_user - changes the user of the specified database connection

  • character_set_name - returns the default character set for the database connection

  • close - closes a previously opened connection

  • commit - commits the current transaction

  • connect - opens a new connection to MaxDB database server

  • debug - performs debugging operations

  • dump_debug_info - dumps debug information

  • get_client_info - returns client version

  • get_host_info - returns type of connection used

  • get_server_info - returns version of the MaxDB server

  • get_server_version - returns version of the MaxDB server

  • init - initializes maxdb object

  • info - retrieves information about the most recently executed query

  • kill - asks the server to kill a MaxDB thread

  • multi_query - performs multiple queries

  • more_results - check if more results exist from currently executed multi-query

  • next_result - reads next result from currently executed multi-query

  • options - set options

  • ping - pings a server connection or reconnects if there is no connection

  • prepare - prepares a SQL query

  • query - performs a query

  • real_connect - attempts to open a connection to MaxDB database server

  • escape_string - escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection

  • rollback - rolls back the current transaction

  • select_db - selects the default database

  • ssl_set - sets ssl parameters

  • stat - gets the current system status

  • stmt_init- initializes a statement for use with maxdb_stmt_prepare

  • store_result - transfers a resultset from last query

  • use_result - transfers an unbuffered resultset from last query

  • thread-safe - returns whether thread safety is given or not

Propiedades

  • affected_rows - gets the number of affected rows in a previous MaxDB operation

  • client_info - returns the MaxDB client version as a string

  • client_version - returns the MaxDB client version as an integer

  • errno - returns the error code for the most recent function call

  • error - returns the error string for the most recent function call

  • field_count - returns the number of columns for the most recent query

  • host_info - returns a string representing the type of connection used

  • info - retrieves information about the most recently executed query

  • insert_id - returns the auto generated id used in the last query

  • protocol_version - returns the version of the MaxDB protocol used

  • sqlstate - returns a string containing the SQLSTATE error code for the last error

  • thread_id - returns the thread ID for the current connection

  • warning_count - returns the number of warnings generated during execution of the previous SQL statement

maxdb_stmt

Represents a prepared statement.

Métodos

  • bind_param - binds variables to a prepared statement

  • bind_result - binds variables to a prepared statement for result storage

  • close - closes a prepared statement

  • data-seek - seeks to an arbitrary row in a statement result set

  • execute - executes a prepared statement

  • fetch - fetches result from a prepared statement into bound variables

  • free_result - frees stored result memory for the given statement handle

  • result_metadata - retrieves a resultset from a prepared statement for metadata information

  • prepare - prepares a SQL query

  • send_long_data - sends data in chunks

  • close_long_data - end sending long data

  • reset - resets a prepared statement

  • store_result - buffers complete resultset from a prepared statement

Propiedades

  • affected_rows - returns affected rows from last statement execution

  • errno - returns errorcode for last statement function

  • errno - returns errormessage for last statement function

  • param_count - returns number of parameter for a given prepare statement

  • sqlstate - returns a string containing the SQLSTATE error code for the last statement function

maxdb_result

Represents the result set obtained from a query against the database.

Métodos

  • close - closes resultset

  • data_seek - moves internal result pointer

  • fetch_field - gets column information from a resultset

  • fetch_fields - gets information for all columns from a resulset

  • fetch_field_direct - gets column information for specified column

  • fetch_array - fetches a result row as an associative array, a numeric array, or both.

  • fetch_assoc - fetches a result row as an associative array

  • fetch_object - fetches a result row as an object

  • fetch_row - gets a result row as an enumerated array

  • close - frees result memory

  • field_seek - set result pointer to a specified field offset

Propiedades

  • current_field - returns offset of current fieldpointer

  • field_count - returns number of fields in resultset

  • lengths - returns an array of columnlengths

  • num_rows - returns number of rows in resultset

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

The following constants to use with maxdb_options() are defined. For further description of these constants see http://dev.mysql.com/doc/maxdb/.

Tabla 2. MaxDB PHP client constants

Constant | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

The function maxdb_fetch_array() uses a constant for the different types of result arrays. The following constants are defined:

Tabla 3. MaxDB fetch constants

Constant | Description
MAXDB_ASSOC | Columns are returned into the array having the fieldname as the array index.
MAXDB_ASSOC_UPPER | Columns are returned into the array having the upper case fieldname as the array index.
MAXDB_ASSOC_LOWER | Columns are returned into the array having the lower case fieldname as the array index.
MAXDB_BOTH | Columns are returned into the array having both a numerical index and the fieldname as the array index.
MAXDB_NUM | Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result.

Ejemplos

All examples in the MaxDB PHP documentation use the HOTELDB demo database from MaxDB. More about this database can be found at http://dev.mysql.com/doc/maxdb/en/98/11b83fa6b33c17e10000000a114084/frameset.htm.

To use the examples in the MaxDB PHP documentation, you have to load the tutorial data into your database. Then you have to set maxdb.default_db in php.ini to the database that contains the tutorial data.

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a MaxDB database.

Ejemplo 1. MaxDB extension overview example

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$query = "SELECT * FROM hotel.city";
$result = maxdb_query($link, $query) or die("Query failed : " . maxdb_error());

/* Printing results in HTML */
echo "<table>\n";
while ($line = maxdb_fetch_array($result, MAXDB_ASSOC)) {
    echo "  <tr>\n";
    foreach ($line as $col_value) {
        echo "    <td>$col_value</td>\n";
    }
    echo "  </tr>\n";
}
echo "</table>\n";

/* Free resultset */
maxdb_free_result($result);

/* Closing connection */
maxdb_close($link);
?>

The following example shows how to bind variables to a SELECT INTO statement.

Ejemplo 2. Example for use of SELECT INTO statements

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$name = "Mbundu";

maxdb_stmt_bind_param($stmt, 'ds', $percentage, $name);
maxdb_stmt_execute($stmt);

printf ("%f\n", $percentage);

maxdb_stmt_close ($stmt);
?>

The following example shows how to use MaxDB database procedures.

Ejemplo 3. Example fore using database procedures

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

Tabla de contenidos
maxdb_affected_rows -- Gets the number of affected rows in a previous MaxDB operation
maxdb_autocommit -- Turns on or off auto-commiting database modifications
maxdb_bind_param -- Alias of maxdb_stmt_bind_param()
maxdb_bind_result -- Alias of maxdb_stmt_bind_result()
maxdb_change_user -- Changes the user of the specified database connection
maxdb_character_set_name -- Returns the default character set for the database connection
maxdb_client_encoding -- Alias of maxdb_character_set_name()
maxdb_close_long_data -- Alias of maxdb_stmt_close_long_data()
maxdb_close -- Closes a previously opened database connection
maxdb_commit -- Commits the current transaction
maxdb_connect_errno -- Returns the error code from last connect call
maxdb_connect_error -- Returns a string description of the last connect error
maxdb_connect -- Open a new connection to the MaxDB server
maxdb_data_seek -- Adjusts the result pointer to an arbitary row in the result
maxdb_debug -- Performs debugging operations
maxdb_disable_reads_from_master -- Disable reads from master
maxdb_disable_rpl_parse -- Disable RPL parse
maxdb_dump_debug_info -- Dump debugging information into the log
maxdb_embedded_connect -- Open a connection to an embedded MaxDB server
maxdb_enable_reads_from_master -- Enable reads from master
maxdb_enable_rpl_parse -- Enable RPL parse
maxdb_errno -- Returns the error code for the most recent function call
maxdb_error -- Returns a string description of the last error
maxdb_escape_string -- Alias of maxdb_real_escape_string()
maxdb_execute -- Alias of maxdb_stmt_execute()
maxdb_fetch_array -- Fetch a result row as an associative, a numeric array, or both
maxdb_fetch_assoc -- Fetch a result row as an associative array
maxdb_fetch_field_direct -- Fetch meta-data for a single field
maxdb_fetch_field -- Returns the next field in the result set
maxdb_fetch_fields -- Returns an array of resources representing the fields in a result set
maxdb_fetch_lengths -- Returns the lengths of the columns of the current row in the result set
maxdb_fetch_object -- Returns the current row of a result set as an object
maxdb_fetch_row -- Get a result row as an enumerated array
maxdb_fetch -- Alias of maxdb_stmt_fetch()
maxdb_field_count -- Returns the number of columns for the most recent query
maxdb_field_seek -- Set result pointer to a specified field offset
maxdb_field_tell -- Get current field offset of a result pointer
maxdb_free_result -- Frees the memory associated with a result
maxdb_get_client_info -- Returns the MaxDB client version as a string
maxdb_get_client_version -- Get MaxDB client info
maxdb_get_host_info -- Returns a string representing the type of connection used
maxdb_get_metadata -- Alias of maxdb_stmt_result_metadata()
maxdb_get_proto_info -- Returns the version of the MaxDB protocol used
maxdb_get_server_info -- Returns the version of the MaxDB server
maxdb_get_server_version -- Returns the version of the MaxDB server as an integer
maxdb_info -- Retrieves information about the most recently executed query
maxdb_init -- Initializes MaxDB and returns an resource for use with maxdb_real_connect
maxdb_insert_id -- Returns the auto generated id used in the last query
maxdb_kill -- Disconnects from a MaxDB server
maxdb_master_query -- Enforce execution of a query on the master in a master/slave setup
maxdb_more_results -- Check if there any more query results from a multi query
maxdb_multi_query -- Performs a query on the database
maxdb_next_result -- Prepare next result from multi_query
maxdb_num_fields -- Get the number of fields in a result
maxdb_num_rows -- Gets the number of rows in a result
maxdb_options -- Set options
maxdb_param_count -- Alias of maxdb_stmt_param_count()
maxdb_ping -- Pings a server connection, or tries to reconnect if the connection has gone down
maxdb_prepare -- Prepare a SQL statement for execution
maxdb_query -- Performs a query on the database
maxdb_real_connect -- Opens a connection to a MaxDB server
maxdb_real_escape_string -- Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection
maxdb_real_query -- Execute an SQL query
maxdb_report -- Enables or disables internal report functions
maxdb_rollback -- Rolls back current transaction
maxdb_rpl_parse_enabled -- Check if RPL parse is enabled
maxdb_rpl_probe -- RPL probe
maxdb_rpl_query_type -- Returns RPL query type
maxdb_select_db -- Selects the default database for database queries
maxdb_send_long_data -- Alias of maxdb_stmt_send_long_data()
maxdb_send_query -- Send the query and return
maxdb_server_end -- Shut down the embedded server
maxdb_server_init -- Initialize embedded server
maxdb_set_opt -- Alias of maxdb_options()
maxdb_sqlstate -- Returns the SQLSTATE error from previous MaxDB operation
maxdb_ssl_set -- Used for establishing secure connections using SSL
maxdb_stat -- Gets the current system status
maxdb_stmt_affected_rows -- Returns the total number of rows changed, deleted, or inserted by the last executed statement
maxdb_stmt_bind_param -- Binds variables to a prepared statement as parameters
maxdb_stmt_bind_result -- Binds variables to a prepared statement for result storage
maxdb_stmt_close_long_data -- Ends a sequence of maxdb_stmt_send_long_data()
maxdb_stmt_close -- Closes a prepared statement
maxdb_stmt_data_seek -- Seeks to an arbitray row in statement result set
maxdb_stmt_errno -- Returns the error code for the most recent statement call
maxdb_stmt_error -- Returns a string description for last statement error
maxdb_stmt_execute -- Executes a prepared Query
maxdb_stmt_fetch -- Fetch results from a prepared statement into the bound variables
maxdb_stmt_free_result -- Frees stored result memory for the given statement handle
maxdb_stmt_init -- Initializes a statement and returns an resource for use with maxdb_stmt_prepare
maxdb_stmt_num_rows -- Return the number of rows in statements result set
maxdb_stmt_param_count -- Returns the number of parameter for the given statement
maxdb_stmt_prepare -- Prepare a SQL statement for execution
maxdb_stmt_reset -- Resets a prepared statement
maxdb_stmt_result_metadata -- Returns result set metadata from a prepared statement
maxdb_stmt_send_long_data -- Send data in blocks
maxdb_stmt_sqlstate -- Returns SQLSTATE error from previous statement operation
maxdb_stmt_store_result -- Transfers a result set from a prepared statement
maxdb_store_result -- Transfers a result set from the last query
maxdb_thread_id -- Returns the thread ID for the current connection
maxdb_thread_safe -- Returns whether thread safety is given or not
maxdb_use_result -- Initiate a result set retrieval
maxdb_warning_count -- Returns the number of warnings from the last query for the given link

Anterior | Inicio | Siguiente
tanh | Subir | maxdb_affected_rows


Net_Gopher

Manual de PHP
Anterior Siguiente

LII. Net_Gopher

Introducción

The gopher protocol, as defined by RFC 1436, is generally considered the ancestor of the modern HTTP protocol. However, gopher was also intended to provide references to non-gopher resources including telnet, wais, nntp, and even http. This extension adds gopher support to PHP's URL Wrappers, and provides a helper function gopher_parsedir() to make sense of gopher formatted directory listings.

Requisitos

Instalación

Net_Gopher is installed through the usual PECL package installation process.

  • Prerequisite: PHP 4.3.0.

  • $ pear install Net_Gopher

  • Copy the resulting gopher.so to an appropriate location and add extension=gopher.so to your php.ini file or load it dynamically in your PHP script using dl("gopher.so");

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 1. Net_Gopher constants

Constant | Value | Description
GOPHER_DOCUMENT | 0 | Standard text/plain document.
GOPHER_DIRECTORY | 1 | A resource containing a gopher formatted directory listing.
GOPHER_BINHEX | 4 | A BinHex encoded binary file.
GOPHER_DOSBINARY | 5 | A DOS formatted binary archive.
GOPHER_UUENCODED | 6 | A UUEncoded file.
GOPHER_BINARY | 9 | A generic binary file.
GOPHER_INFO | 255 | An Informational entry
GOPHER_HTTP | 254 | A reference to an HTTP resource.
GOPHER_UNKNOWN | -1 | An unrecognized entry.

Ejemplos

<?php
readfile("gopher://gopher.example.com/somedocument");
?>

Tabla de contenidos
gopher_parsedir -- Translate a gopher formatted directory entry into an associative array.

Anterior | Inicio | Siguiente
gnupg_verify | Subir | gopher_parsedir


Newt Functions

Manual de PHP
Anterior Siguiente

CI. Newt Functions

Introducción

This is a PHP language extension for RedHat Newt library, a terminal-based window and widget library for writing applications with user friendly interface. Once this extension is enabled in PHP it will provide the use of Newt widgets, such as windows, buttons, checkboxes, radiobuttons, labels, editboxes, scrolls, textareas, scales, etc. Use of this extension if very similar to the original Newt API of C programming language.

Requisitos

This module uses the functions of the RedHat Newt library. You need libnewt version >= 0.51.0.

Instalación

Esta extension PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/newt.

En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. In order to use these functions you must compile CGI or CLI PHP with newt support by using the --with-newt[=DIR] configure option.

Nota: This extension is not available for Windows platform.

You may need also curses and slang libraries, in order to compile this extension. To specify locations of these libraries, use the following configuration options: --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang

Tipos de recursos

This extension uses two resource types: "newt component" and "newt grid". Resource type "newt component" is returned by functions, which create common newt widgets (for example: newt_button()) Resource type "newt grid" is a special link identifier for components, returned by newt grid factory functions (for example: newt_create_grid())

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Newt form exit reasons

Tabla 1. Newt form exit reasons

constant | meaning
NEWT_EXIT_HOTKEY | hotkey defined by newt_form_add_hot_key() was pressed
NEWT_EXIT_COMPONENT | some component has caused form to exit
NEWT_EXIT_FDREADY | file descriptor specified in newt_form_watch_fd() is ready to be read or written to
NEWT_EXIT_TIMER | time specified in newt_form_set_timer() has elapsed

Newt colorsets

Tabla 2. Newt colorsets

constant | meaning
NEWT_COLORSET_ROOT |
NEWT_COLORSET_BORDER |
NEWT_COLORSET_WINDOW |
NEWT_COLORSET_SHADOW |
NEWT_COLORSET_TITLE |
NEWT_COLORSET_BUTTON |
NEWT_COLORSET_ACTBUTTON |
NEWT_COLORSET_CHECKBOX |
NEWT_COLORSET_ACTCHECKBOX |
NEWT_COLORSET_ENTRY |
NEWT_COLORSET_LABEL |
NEWT_COLORSET_LISTBOX |
NEWT_COLORSET_ACTLISTBOX |
NEWT_COLORSET_TEXTBOX |
NEWT_COLORSET_ACTTEXTBOX |
NEWT_COLORSET_HELPLINE |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_EMPTYSCALE |
NEWT_COLORSET_FULLSCALE |
NEWT_COLORSET_DISENTRY |
NEWT_COLORSET_COMPACTBUTTON |
NEWT_COLORSET_ACTSELLISTBOX |
NEWT_COLORSET_SELLISTBOX |

Newt argument flags

Tabla 3. Newt argument flags

constant | meaning
NEWT_ARG_LAST |
NEWT_ARG_APPEND |

Newt Flags Sense

Tabla 4. Newt Flags Sense

constant | meaning
NEWT_FLAGS_SET |
NEWT_FLAGS_RESET |
NEWT_FLAGS_TOGGLE |

Newt Components Flags

Tabla 5. Newt Components Flags

constant | meaning
NEWT_FLAG_RETURNEXIT | Exit form, when component is activated
NEWT_FLAG_HIDDEN | Component is hidden
NEWT_FLAG_SCROLL | Component is scrollable
NEWT_FLAG_DISABLED | Component is disabled
NEWT_FLAG_BORDER |
NEWT_FLAG_WRAP | Wrap text
NEWT_FLAG_NOF12 | Don't exit form on pressing F12
NEWT_FLAG_MULTIPLE |
NEWT_FLAG_SELECTED | Component is selected
NEWT_FLAG_CHECKBOX | Component is checkbox
NEWT_FLAG_PASSWORD | Entry component is password entry
NEWT_FLAG_SHOWCURSOR | Show cursor

File Descriptor Flags

Tabla 6. File Descriptor Flags

constant | meaning
NEWT_FD_READ |
NEWT_FD_WRITE |
NEWT_FD_EXCEPT |

Checkbox Tree Flags

Tabla 7. Checkbox Tree Flags

constant | meaning
NEWT_CHECKBOXTREE_UNSELECTABLE |
NEWT_CHECKBOXTREE_HIDE_BOX |
NEWT_CHECKBOXTREE_COLLAPSED |
NEWT_CHECKBOXTREE_EXPANDED |
NEWT_CHECKBOXTREE_UNSELECTED |
NEWT_CHECKBOXTREE_SELECTED |

Entry Flags

Tabla 8. Entry Flags

constant | meaning
NEWT_ENTRY_SCROLL |
NEWT_ENTRY_HIDDEN |
NEWT_ENTRY_RETURNEXIT |
NEWT_ENTRY_DISABLED |

Listbox Flags

Tabla 9. Listbox Flags

constant | meaning
NEWT_LISTBOX_RETURNEXIT |

Textbox Flags

Tabla 10. Textbox Flags

constant | meaning
NEWT_TEXTBOX_WRAP | Wrap text in the textbox
NEWT_TEXTBOX_SCROLL | Scroll text in the textbox

Form Flags

Tabla 11. Form Flags

constant | meaning
NEWT_FORM_NOF12 | Don't exit form on F12 press

Newt Keys

Tabla 12. Newt Keys

constant | meaning
NEWT_KEY_TAB |
NEWT_KEY_ENTER |
NEWT_KEY_SUSPEND |
NEWT_KEY_ESCAPE |
NEWT_KEY_RETURN |
NEWT_KEY_EXTRA_BASE |
NEWT_KEY_UP |
NEWT_KEY_DOWN |
NEWT_KEY_LEFT |
NEWT_KEY_RIGHT |
NEWT_KEY_BKSPC |
NEWT_KEY_DELETE |
NEWT_KEY_HOME |
NEWT_KEY_END |
NEWT_KEY_UNTAB |
NEWT_KEY_PGUP |
NEWT_KEY_PGDN |
NEWT_KEY_INSERT |
NEWT_KEY_F1 |
NEWT_KEY_F2 |
NEWT_KEY_F3 |
NEWT_KEY_F4 |
NEWT_KEY_F5 |
NEWT_KEY_F6 |
NEWT_KEY_F7 |
NEWT_KEY_F8 |
NEWT_KEY_F9 |
NEWT_KEY_F10 |
NEWT_KEY_F11 |
NEWT_KEY_F12 |
NEWT_KEY_RESIZE |

Newt Anchors

Tabla 13. Newt Anchors

constant | meaning
NEWT_ANCHOR_LEFT |
NEWT_ANCHOR_RIGHT |
NEWT_ANCHOR_TOP |
NEWT_ANCHOR_BOTTOM |

Grid Flags

Tabla 14. Grid Flags

constant | meaning
NEWT_GRID_FLAG_GROWX |
NEWT_GRID_FLAG_GROWY |
NEWT_GRID_EMPTY |
NEWT_GRID_COMPONENT |
NEWT_GRID_SUBGRID |

Ejemplos

This example is a PHP port of RedHat 'setup' utility dialog, executed in text mode.

Ejemplo 1. Newt Usage Example

<?php
    newt_init ();
    newt_cls ();

    newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
    newt_push_help_line (null);
    newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

    newt_get_screen_size (&$rows, &$cols);

    newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");

    $form = newt_form ();

    $list = newt_listbox (3, 2, 10);

    foreach (array (
        "Authentication configuration",
        "Firewall configuration",
        "Mouse configuration",
        "Network configuration",
        "Printer configuration",
        "System services") as $l_item)
    {
        newt_listbox_add_entry ($list, $l_item, $l_item);
    }

    $b1 = newt_button (5, 12, "Run Tool");
    $b2 = newt_button (21, 12, "Quit");

    newt_form_add_component ($form, $list);
    newt_form_add_components ($form, array($b1, $b2));

    newt_refresh ();
    newt_run_form ($form);

    newt_pop_window ();
    newt_pop_help_line ();
    newt_finished ();
    newt_form_destroy ($form);
?>
Tabla de contenidos
newt_bell -- Send a beep to the terminal
newt_button_bar --
newt_button --
newt_centered_window -- Open a centered window of the specified size
newt_checkbox_get_value --
newt_checkbox_set_flags --
newt_checkbox_set_value --
newt_checkbox_tree_add_item -- *
newt_checkbox_tree_find_item --
newt_checkbox_tree_get_current --
newt_checkbox_tree_get_entry_value --
newt_checkbox_tree_get_multi_selection --
newt_checkbox_tree_get_selection --
newt_checkbox_tree_multi --
newt_checkbox_tree_set_current --
newt_checkbox_tree_set_entry_value --
newt_checkbox_tree_set_entry --
newt_checkbox_tree_set_width --
newt_checkbox_tree --
newt_checkbox --
newt_clear_key_buffer -- Discards the contents of the terminal's input buffer without waiting for additional input
newt_cls --
newt_compact_button --
newt_component_add_callback --
newt_component_takes_focus --
newt_create_grid --
newt_cursor_off --
newt_cursor_on --
newt_delay --
newt_draw_form --
newt_draw_root_text -- Displays the string text at the position indicated
newt_entry_get_value --
newt_entry_set_filter --
newt_entry_set_flags --
newt_entry_set --
newt_entry --
newt_finished -- Uninitializes newt interface
newt_form_add_component -- Adds a single component to the form
newt_form_add_components -- Add several components to the form
newt_form_add_host_key --
newt_form_destroy -- Destroys a form
newt_form_get_current --
newt_form_run -- Runs a form
newt_form_set_background --
newt_form_set_height --
newt_form_set_size --
newt_form_set_timer --
newt_form_set_width --
newt_form_watch_fd --
newt_form -- Create a form
newt_get_screen_size -- Fills in the passed references with the current size of the terminal
newt_grid_add_components_to_form --
newt_grid_basic_window --
newt_grid_free --
newt_grid_get_size --
newt_grid_h_close_stacked --
newt_grid_h_stacked --
newt_grid_place --
newt_grid_set_field --
newt_grid_simple_window --
newt_grid_v_close_stacked --
newt_grid_v_stacked --
newt_grid_wrapped_window_at --
newt_grid_wrapped_window --
newt_init -- Initialize newt
newt_label_set_text --
newt_label --
newt_listbox_append_entry --
newt_listbox_clear_selection --
newt_listbox_clear --
newt_listbox_delete_entry --
newt_listbox_get_current --
newt_listbox_get_selection --
newt_listbox_insert_entry --
newt_listbox_item_count --
newt_listbox_select_item --
newt_listbox_set_current_by_key --
newt_listbox_set_current --
newt_listbox_set_data --
newt_listbox_set_entry --
newt_listbox_set_width --
newt_listbox --
newt_listitem_get_data --
newt_listitem_set --
newt_listitem --
newt_open_window -- Open a window of the specified size and position
newt_pop_help_line -- Replaces the current help line with the one from the stack
newt_pop_window -- Removes the top window from the display
newt_push_help_line -- Saves the current help line on a stack, and displays the new line
newt_radio_get_current --
newt_radiobutton --
newt_redraw_help_line --
newt_reflow_text --
newt_refresh -- Updates modified portions of the screen
newt_resize_screen --
newt_resume -- Resume using the newt interface after calling newt_suspend()
newt_run_form -- Runs a form
newt_scale_set --
newt_scale --
newt_scrollbar_set --
newt_set_help_callback --
newt_set_suspend_callback -- Set a callback function which gets invoked when user presses the suspend key
newt_suspend -- Tells newt to return the terminal to its initial state
newt_textbox_get_num_lines --
newt_textbox_reflowed --
newt_textbox_set_height --
newt_textbox_set_text --
newt_textbox --
newt_vertical_scrollbar --
newt_wait_for_key -- Doesn't return until a key has been pressed
newt_win_choice --
newt_win_entries --
newt_win_menu --
newt_win_message --
newt_win_messagev --
newt_win_ternary --

Anterior | Inicio | Siguiente
syslog | Subir | newt_bell


oggvorbis

Manual de PHP
Anterior Siguiente

CVIII. oggvorbis

Introducción

The OGG/Vorbis file format, as defined by http://www.vorbis.com/, is a scheme for compressing audio streams by multiple factors with a minimum of quality loss. This extension adds Ogg Vorbis support to PHP's URL Wrappers. When used in read mode, compressed OGG/Vorbis data is expanded to raw PCM audio in one of six PCM encoding formats listed below.

Requisitos

This extension requires PHP >= 4.3.0, libogg >= 1.0, and libvorbis >= 1.0.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Instalación

oggvorbis is installed through the usual PECL package installation process.

  • $ pear install oggvorbis

  • Copy the resulting oggvorbis.so to an appropriate location and add extension=oggvorbis.so to your php.ini file or load it dynamically in your PHP script using dl('oggvorbis.so');

Context options

Tabla 1. OGG/Vorbis tuning options

Option | Definition | Relevance | Default
pcm_mode | PCM byte encoding used. See constants below. | Read / Write | OGGVORBIS_PCM_S16_LE
rate | PCM Sampling rate. Measured in Hz. | Write only | 44100
bitrate | Vorbis Average Bitrate Encoding / Variable Bitrate Encoding. Measured in bps (ABR) or Quality level (VBR: 0.0 to 1.0). 128000 ABR is rough equal to 0.4 VBR. | Write only | 128000
channels | Number of PCM channels. 1 == Mono, 2 == Stereo. | Write only | 2
serialno | Serial Number of stream within file. Must be unique within file. Because of the potential to select a duplicate serial number within a chained file, make efforts to manually assign unique numbers when encoding. | Write only | Random
comments | Associative array of file comments. Will be translated to strtoupper($name) . "=$value". Note: This context option is not available in oggvorbis-0.1 | Write only | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 2. OGG/Vorbis supports PCM encodings in the following formats

Constant | Definition
OGGVORBIS_PCM_U8 | Unsigned 8-bit PCM.
OGGVORBIS_PCM_S8 | Signed 8-bit PCM.
OGGVORBIS_PCM_U16_LE | Unsigned 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_U16_BE | Unsigned 16-bit PCM. Big Endian byte order.
OGGVORBIS_PCM_S16_LE | Signed 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_S16_BE | Signed 16-bit PCM. Big Endian byte order.
Tabla de contenidos
Usage -- Examples on using the ogg:// wrapper.

Anterior | Inicio | Siguiente
PDO_ODBC DSN | Subir | Usage


Paradox File Access

Manual de PHP
Anterior Siguiente

CXV. Paradox File Access

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

This module allows to read and write Paradox databases, primary index files and blob files. Write support has been proven to be quite reliable, though due to lack of documentation the produced files may not in any case be readable by other applications. Encrypted databases can be read without specifying a password if pxlib >= 0.5.0 is used.

Nota: This module is also in development and may change, though I don't expect major changes to the API.

Requisitos

You need at least PHP 5.0.0 and pxlib >= 0.4.4 for the basic set of functions. Some newer functions are only available with pxlib >= 0.6.0. Reading and writing of encrypted databases requires at least pxlib >= 0.5.0. The paradox library (pxlib) is available at http://pxlib.sourceforge.net.

Instalación

A short installation note: just type

$ pear install paradox
in your console. Make sure you have pxlib installed before. If you install pxlib from an rpm or debian package, do not forget to install the development package as well.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Object oriented API

The paradox extension provides also an object oriented API. It consists of only one class called paradox_db. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.

Tabla 1. Methods of class paradox_db

Name of method | Equivalent function
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

The following two tables lists all constants defined by the paradox extension.

Tabla 2. Contants for field types

Name | Meaning
PX_FIELD_ALPHA | Character data with fixed length
PX_FIELD_DATE | Date, number of days since 1.1.0000
PX_FIELD_SHORT | Short integer (2 Bytes)
PX_FIELD_LONG | Long integer (4 Bytes)
PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Boolean
PX_FIELD_MEMOBLOB | Binary large object
PX_FIELD_BLOB | Binary large object (not supported)
PX_FIELD_FMTMEMOBLOB | Binary large object
PX_FIELD_OLE | OLE object (basically a blob, not supported)
PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported)
PX_FIELD_TIME | time, number of milli seconds since midnight
PX_FIELD_TIMESTAMP | timestamp, number of milli seconds since 1.1.0000
PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG)
PX_FIELD_BCD | Decimal number stored in bcd format (not supported)
PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported)
PX_KEYTOLOWER | Turn all field names into lower case
PX_KEYTOUPPER | Turn all field names into upper case

Tabla 3. Contants for file types

Name | Meaning
PX_FILE_INDEX_DB | Indexed database
PX_FILE_PRIM_INDEX | Primary index
PX_FILE_NON_INDEX_DB | None indexed database
PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index
PX_FILE_SEC_INDEX | Secondary index
PX_FILE_INC_SEC_INDEX | Incremental secondary index
PX_FILE_NON_INC_SEC_INDEX_G | Non incremental secondary index
PX_FILE_SEC_INDEX_G | Secondary index
PX_FILE_INC_SEC_INDEX_G | Non incremental secondary index

Tabla de contenidos
px_close -- Closes a paradox database
px_create_fp -- Create a new paradox database
px_date2string -- Converts a date into a string.
px_delete_record -- Deletes record from paradox database
px_delete -- Deletes resource of paradox database
px_get_field -- Returns the specification of a single field
px_get_info -- Return lots of information about a paradox file
px_get_parameter -- Gets a parameter
px_get_record -- Returns record of paradox database
px_get_schema -- Returns the database schema
px_get_value -- Gets a value
px_insert_record -- Inserts record into paradox database
px_new -- Create a new paradox object
px_numfields -- Returns number of fields in a database
px_numrecords -- Returns number of records in a database
px_open_fp -- Open paradox database
px_put_record -- Stores record into paradox database
px_retrieve_record -- Returns record of paradox database
px_set_blob_file -- Sets the file where blobs are read from
px_set_parameter -- Sets a parameter
px_set_tablename -- Sets the name of a table (deprecated)
px_set_targetencoding -- Sets the encoding for character fields (deprecated)
px_set_value -- Sets a value
px_timestamp2string -- Converts the timestamp into a string.
px_update_record -- Updates record in paradox database

Anterior | Inicio | Siguiente
ovrimos_rollback | Subir | px_close


Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

Manual de PHP
Anterior Siguiente

XCI. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

PDO_DBLIB is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Microsoft SQL Server and Sybase databases through the FreeTDS libary.

On Windows, you should use the PDO_ODBC driver to connect to Microsoft SQL Server and Sybase databases, as the native Windows DB-LIB is ancient, thread un-safe and no longer supported by Microsoft.

Tabla de contenidos
PDO_DBLIB DSN -- Connecting to Microsoft SQL Server and Sybase databases

Anterior | Inicio | Siguiente
mssql_select_db | Subir | PDO_DBLIB DSN


PDO_DBLIB DSN

(no version information, might be only in CVS)

PDO_DBLIB DSN -- Connecting to Microsoft SQL Server and Sybase databases

Descripción

The PDO_DBLIB Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sybase: if PDO_DBLIB was linked against the FreeTDS libraries, mssql: if PDO_DBLIB was linked against the Microsoft SQL Server libraries, or dblib: if linked against any other variety of DB-lib.

host

The hostname on which the database server resides.

dbname

The name of the database.

Ejemplos

Ejemplo 1. PDO_DBLIB DSN examples

The following examples show a PDO_DBLIB DSN for connecting to Microsoft SQL Server and Sybase databases:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

Anterior | Inicio | Siguiente
Microsoft SQL Server and Sybase Functions (PDO_DBLIB) | Subir | Mohawk Software Session Handler Functions


Firebird/Interbase Functions (PDO_FIREBIRD)

Manual de PHP
Anterior Siguiente

XLIII. Firebird/Interbase Functions (PDO_FIREBIRD)

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

PDO_FIREBIRD is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Firebird and Interbase databases.

Tabla de contenidos
PDO_FIREBIRD DSN -- Connecting to Firebird and Interbase databases

Anterior | Inicio | Siguiente
ibase_wait_event | Subir | PDO_FIREBIRD DSN


PDO_FIREBIRD DSN

(no version information, might be only in CVS)

PDO_FIREBIRD DSN -- Connecting to Firebird and Interbase databases

Descripción

The PDO_FIREBIRD Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is firebird:.

DataSource

The hostname on which the database server resides.

Port

The port number for the server on which the database is running.

Database

The name of the database.

User

The name of the user that will connect to the database.

Password

The password for the user.

Ejemplos

Ejemplo 1. PDO_FIREBIRD DSN examples

The following example shows a PDO_FIREBIRD DSN for connecting to Firebird and Interbase databases:

firebird:User=john;Password=mypass;Database=DATABASE.GDE;DataSource=localhost;Port=3050

Anterior | Inicio | Siguiente
Firebird/Interbase Functions (PDO_FIREBIRD) | Subir | FriBiDi Functions


IBM Functions (PDO_IBM)

Manual de PHP
Anterior Siguiente

LVII. IBM Functions (PDO_IBM)

Introducción

PDO_IBM is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to IBM databases.

Instalación

To build the PDO_IBM extension, the DB2 Client v9.1 or later must be installed on the same system as PHP. The DB2 Client can be downloaded from the IBM Application Development Site.

Note: The DB2 Client v9.1 or later supports direct access to DB2 for Linux, UNIX, and Windows v8 and v9.1 servers.

The DB2 Client v9.1 also supports access to DB2 UDB for i5 and DB2 UDB for z/OS servers using the separately purchased DB2 Connect product.

PDO_IBM is a PECL extension, so follow the instructions in Capítulo 7 to install the PDO_IBM extension. Issue the configure command to point to the location of your DB2 Client header files and libraries as follows:

bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
The configure command defaults to the value of the DB2DIR environment variable.

Tabla de contenidos
PDO_IBM DSN -- Connecting to IBM databases

Anterior | Inicio | Siguiente
hw_api->userlist | Subir | PDO_IBM DSN


PDO_IBM DSN

(no version information, might be only in CVS)

PDO_IBM DSN -- Connecting to IBM databases

Descripción

The PDO_IBM Data Source Name (DSN) is based on the IBM CLI DSN. The major components of the PDO_IBM DSN are:

DSN prefix

The DSN prefix is ibm:.

DSN

The DSN can be any of the following:

  • a) Data source setup using db2cli.ini or odbc.ini

  • b) Catalogued database name i.e. database alias in the DB2 client catalog

  • c) Complete connection string in the following format: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; where the parameters represent the following values:

    database

    The name of the database.

    hostname

    The hostname or IP address of the database server.

    port

    The TCP/IP port on which the database is listening for requests.

    username

    The username with which you are connecting to the database.

    password

    The password with which you are connecting to the database.

Ejemplos

Ejemplo 1. PDO_IBM DSN example using db2cli.ini

The following example shows a PDO_IBM DSN for connecting to an DB2 database cataloged as DB2_9 in db2cli.ini:

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Ejemplo 2. PDO_IBM DSN example using a connection string

The following example shows a PDO_IBM DSN for connecting to an DB2 database named testdb using the DB2 CLI connection string syntax.

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

Anterior | Inicio | Siguiente
IBM Functions (PDO_IBM) | Subir | IBM DB2, Cloudscape and Apache Derby Functions


Informix Functions (PDO_INFORMIX)

Manual de PHP
Anterior Siguiente

LXVII. Informix Functions (PDO_INFORMIX)

Introducción

PDO_INFORMIX is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Informix databases.

Instalación

To build the PDO_INFORMIX extension, the Informix Client SDK 2.81 UC1 or higher must be installed on the same system as PHP. The Informix Client SDK is available from the IBM Informix Support Site.

PDO_INFORMIX is a PECL extension, so follow the instructions in Capítulo 7 to install the PDO_INFORMIX extension. Issue the configure command to point to the location of your Informix Client SDK header files and libraries as follows:

bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
The configure command defaults to the value of the INFORMIXDIR environment variable.

Scrollable cursors

PDO_INFORMIX supports scrollable cursors; however, they are not enabled by default. To enable scrollable cursor support, you must either set ENABLESCROLLABLECURSORS=1 in the corresponding ODBC connection settings in odbc.ini or pass the EnableScrollableCursors=1 clause in the DSN connection string.

Tabla de contenidos
PDO_INFORMIX DSN -- Connecting to Informix databases

Anterior | Inicio | Siguiente
ifxus_write_slob | Subir | PDO_INFORMIX DSN


PDO_INFORMIX DSN

(no version information, might be only in CVS)

PDO_INFORMIX DSN -- Connecting to Informix databases

Descripción

The PDO_INFORMIX Data Source Name (DSN) is based on the Informix ODBC DSN string. Details on configuring an Informix ODBC DSN are available from the Informix Dynamic Server Information Center. The major components of the PDO_INFORMIX DSN are:

DSN prefix

The DSN prefix is informix:.

DSN

The DSN can be either a data source setup using odbc.ini or a complete connection string.

Ejemplos

Ejemplo 1. PDO_INFORMIX DSN example using odbc.ini

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database cataloged as Infdrv33 in odbc.ini:

$db = new PDO("informix:DSN=Infdrv33", "", "");
[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Ejemplo 2. PDO_INFORMIX DSN example using a connection string

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database named common_db using the Informix connection string syntax.

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");

Anterior | Inicio | Siguiente
Informix Functions (PDO_INFORMIX) | Subir | Ingres II functions


MySQL Functions (PDO_MYSQL)

Manual de PHP
Anterior Siguiente

XCVII. MySQL Functions (PDO_MYSQL)

Introducción

PDO_MYSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MySQL 3.x, 4.x and 5.x databases.

PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher. If you're using an older version of the mysql client libraries, PDO will emulate them for you.

Aviso

Beware: Some MySQL table types (storage engines) do not support transactions. When writing transactional database code using a table type that does not support transactions, MySQL will pretend that a transaction was initiated successfully. In addition, any DDL queries issued will implicitly commit any pending transactions.

Constantes predefinidas

The constants below are defined by this driver, and will only be available when the extension has been either compiled into PHP or dynamically loaded at runtime. In addition, these driver-specific constants should only be used if you are using this driver. Using mysql-specific attributes with the postgres driver may result in unexpected behaviour. PDO::getAttribute() may be used to obtain the PDO_ATTR_DRIVER_NAME attribute to check the driver, if your code can run against multiple drivers.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)

If this attribute is set to TRUE on a PDOStatement, the MySQL driver will use the buffered versions of the MySQL API. If you're writing portable code, you should use PDOStatement::fetchAll() instead.

Ejemplo 1. Forcing queries to be buffered in mysql

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $stmt = $db->prepare('select * from foo',
        array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("my application only works with mysql; I should use \$stmt->fetchAll() instead");
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (integer)

Enable LOAD LOCAL INFILE.

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Read options from the named option file instead of from my.cnf.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)

Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Maximum buffer size. Defaults to 1 MiB.

PDO::MYSQL_ATTR_DIRECT_QUERY (integer)

Perform direct queries, don't use prepared statements.

Tabla de contenidos
PDO_MYSQL DSN -- Connecting to MySQL databases

Anterior | Inicio | Siguiente
mysql_unbuffered_query | Subir | PDO_MYSQL DSN


PDO_MYSQL DSN

(no version information, might be only in CVS)

PDO_MYSQL DSN -- Connecting to MySQL databases

Descripción

The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is mysql:.

host

The hostname on which the database server resides.

port

The port number where the database server is listening.

dbname

The name of the database.

unix_socket

The MySQL Unix socket (shouldn't be used with host or port).

Ejemplos

Ejemplo 1. PDO_MYSQL DSN examples

The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:

mysql:host=localhost;dbname=testdb
More complete examples:
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Anterior | Inicio | Siguiente
MySQL Functions (PDO_MYSQL) | Subir | Extensión mejorada de MySQL


Oracle Functions (PDO_OCI)

Manual de PHP
Anterior Siguiente

CXII. Oracle Functions (PDO_OCI)

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

PDO_OCI is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Oracle databases through the OCI library.

Tabla de contenidos
PDO_OCI DSN -- Connecting to Oracle databases

Anterior | Inicio | Siguiente
Ora_Rollback | Subir | PDO_OCI DSN


PDO_OCI DSN

(no version information, might be only in CVS)

PDO_OCI DSN -- Connecting to Oracle databases

Descripción

The PDO_OCI Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is oci:.

dbname (Oracle Instant Client)

The URI for the Oracle Instant Client connection takes the form of dbname=//hostname:port-number/database. If you are connecting to a database defined in tnsnames.ora, use only the name of the database: dbname=database.

charset

The client-side character set for the current environment handle.

Ejemplos

Ejemplo 1. PDO_OCI DSN examples

The following examples show a PDO_OCI DSN for connecting to Oracle databases:

// Connect to a database defined in tnsnames.ora
oci:dbname=mydb

// Connect using the Oracle Instant Client
oci:dbname=//localhost:1521/mydb

Anterior | Inicio | Siguiente
Oracle Functions (PDO_OCI) | Subir | Funciones de Control de Salida


ODBC and DB2 Functions (PDO_ODBC)

Manual de PHP
Anterior Siguiente

CVII. ODBC and DB2 Functions (PDO_ODBC)

Introducción

PDO_ODBC is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to databases through ODBC drivers or through the IBM DB2 Call Level Interface (DB2 CLI) library. PDO_ODBC currently supports three different "flavours" of database drivers:

ibm-db2

Supports access to IBM DB2 Universal Database, Cloudscape, and Apache Derby servers through the free DB2 client.

unixODBC

Supports access to database servers through the unixODBC driver manager and the database's own ODBC drivers.

generic

Offers a compile option for ODBC driver managers that are not explicitly supported by PDO_ODBC.

On Windows, PDO_ODBC is built into the PHP core by default. It is linked against the Windows ODBC Driver Manager so that PHP can connect to any database cataloged as a System DSN, and is the recommended driver for connecting to Microsoft SQL Server databases.

Instalación

PDO_ODBC on UNIX systems

  1. As of PHP 5.1, PDO_ODBC is included in the PHP source. You can compile the PDO_ODBC extension as either a static or shared module using the following configure commands.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    To build PDO_ODBC with the ibm-db2 flavour, you have to have previously installed the DB2 application development headers on the same machine on which you are compiling PDO_ODBC. The DB2 application development headers are an installable option in the DB2 servers, and are also available as part of the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database support site.

    If you do not supply a location for the DB2 libraries and headers to the configure command, PDO_ODBC defaults to /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    If you do not supply a location for the unixODBC libraries and headers to the configure command, PDO_ODBC defaults to /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. PDO_ODBC Configuration Options

Name | Default | Changeable | Changelog
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2instance_name | NULL | PHP_INI_SYSTEM |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

pdo_odbc.connection_pooling string

Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" (equals to ""). The parameter describes how strict the connection manager should be when matching connection parameters to existing pooled connections. strict is the recommend default, and will result in the use of cached connections only when all the connection parameters match exactly. relaxed will result in the use of cached connections when similar connection parameters are used. This can result in increased use of the cache, at the risk of bleeding connection information between (for example) virtual hosts.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

Aviso

relaxed matching should not be used on a shared server, for security reasons.

Sugerencia: Leave this setting at the default strict setting unless you have good reason to change it.

pdo_odbc.db2instance_name string

If you compile PDO_ODBC using the db2 flavour, this setting sets the value of the DB2INSTANCE environment variable on Linux and UNIX operating systems to the specified name of the DB2 instance. This enables PDO_ODBC to resolve the location of the DB2 libraries and make cataloged connections to DB2 databases.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

This setting has no effect on Windows.

Tabla de contenidos
PDO_ODBC DSN -- Connecting to ODBC or DB2 databases

Anterior | Inicio | Siguiente
odbc_tables | Subir | PDO_ODBC DSN


PDO_ODBC DSN

(no version information, might be only in CVS)

PDO_ODBC DSN -- Connecting to ODBC or DB2 databases

Descripción

The PDO_ODBC Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is odbc:. If you are connecting to a database cataloged in the ODBC driver manager or the DB2 catalog, you can append the cataloged name of the database to the DSN.

DSN

The name of the database as cataloged in the ODBC driver manager or the DB2 catalog. Alternately, you can provide a complete ODBC connection string to connect to a database as described at http://www.connectionstrings.com/.

UID

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

PWD

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Ejemplos

Ejemplo 1. PDO_ODBC DSN example (ODBC driver manager)

The following example shows a PDO_ODBC DSN for connecting to an ODBC database cataloged as testdb in the ODBC driver manager:

odbc:testdb

Ejemplo 2. PDO_ODBC DSN example (IBM DB2 uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to an IBM DB2 database named SAMPLE using the full ODBC DSN syntax:

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Ejemplo 3. PDO_ODBC DSN example (Microsoft Access uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to a Microsoft Access database stored at C:\db.mdb using the full ODBC DSN syntax:

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

Anterior | Inicio | Siguiente
ODBC and DB2 Functions (PDO_ODBC) | Subir | oggvorbis


PostgreSQL Functions (PDO_PGSQL)

Manual de PHP
Anterior Siguiente

CXXVI. PostgreSQL Functions (PDO_PGSQL)

Introducción

PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.

Tabla de contenidos
PDO_PGSQL DSN -- Connecting to PostgreSQL databases
PDO::pgsqlLOBCreate -- Creates a new large object
PDO::pgsqlLOBOpen -- Opens an existing large object stream
PDO::pgsqlLOBUnlink -- Deletes the large object

Anterior | Inicio | Siguiente
pg_version | Subir | PDO_PGSQL DSN


PDO_PGSQL DSN

(no version information, might be only in CVS)

PDO_PGSQL DSN -- Connecting to PostgreSQL databases

Descripción

The PDO_PGSQL Data Source Name (DSN) is composed of the following elements, delimited by spaces:

DSN prefix

The DSN prefix is pgsql:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

user

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

password

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Ejemplos

Ejemplo 1. PDO_PGSQL DSN examples

The following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database:

pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass

Anterior | Inicio | Siguiente
PostgreSQL Functions (PDO_PGSQL) | Subir | PDO::pgsqlLOBCreate


SQLite Functions (PDO_SQLITE)

Manual de PHP
Anterior Siguiente

CLV. SQLite Functions (PDO_SQLITE)

Introducción

PDO_SQLITE is a driver that implements the PHP Data Objects (PDO) interface to enable access to SQLite 3 databases.

In PHP 5.1, the SQLite extension also provides a driver for SQLite 2 databases; while it is not technically a part of the PDO_SQLITE driver, it behaves similarly, so it is documented alongside it. The SQLite 2 driver for PDO is provided primarily to make it easier to import legacy sqlite 2 database files into an application that uses the faster, more efficient sqlite 3 driver. As a result, the SQLite 2 driver is not as feature-rich as the SQLite 3 driver.

Tabla de contenidos
PDO_SQLITE DSN -- Connecting to SQLite databases
PDO->sqliteCreateAggregate() -- Registers an aggregating User Defined Function for use in SQL statements
PDO->sqliteCreateFunction() -- Registers a User Defined Function for use in SQL statements

Anterior | Inicio | Siguiente
sqlite_valid | Subir | PDO_SQLITE DSN


PDO_SQLITE DSN

(no version information, might be only in CVS)

PDO_SQLITE DSN -- Connecting to SQLite databases

Descripción

The PDO_SQLITE Data Source Name (DSN) is composed of the following elements:

DSN prefix (SQLite 3)

The DSN prefix is sqlite:.

  • To access a database on disk, append the absolute path to the DSN prefix.

  • To create a database in memory, append memory: to the DSN prefix.

DSN prefix (SQLite 2)

The SQLite extension in PHP 5.1 provides a PDO driver that supports accessing and creating SQLite 2 databases. This enables you to access databases you may have created with the SQLite extension in previous versions of PHP.

Nota: The sqlite2 driver is only available in PHP 5.1.x if you have enabled both PDO and ext/sqlite. It is not currently available via PECL.

The DSN prefix for connecting to SQLite 2 databases is sqlite2:.

  • To access a database on disk, append the absolute path to the DSN prefix.

  • To create a database in memory, append memory: to the DSN prefix.

Ejemplos

Ejemplo 1. PDO_SQLITE DSN examples

The following examples show PDO_SQLITE DSN for connecting to SQLite databases:

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite2:/opt/databases/mydb.sq2
sqlite2::memory:

Anterior | Inicio | Siguiente
SQLite Functions (PDO_SQLITE) | Subir | PDO->sqliteCreateAggregate()


Phar archive stream and classes

Manual de PHP
Anterior Siguiente

CXXI. Phar archive stream and classes

Introducción

The phar extension provides the phar stream wrapper and the Phar class for manipulating self-contained PHP Archive (phar) files. The Phar class can be used to create and to extract contents of phar files as well as iterating over their contents.

PHP Archive files (Phars) are special collections of files that can be transparently run right out of the file, similar to Java's jar archive files. Using a phar archive, it is possible to distribute a complete PHP application in a single file that will run out of the file without modification or extraction. Phar archives can also be used to store files for extraction similar to tar or zip archive files. Phars support compression using gzip if the zlib extension is present, and using bzip2 if the bz2 extension is present. In addition, iteration and other features are available if the SPL extension is available. Phar signature verification using md5 or sha1 is natively supported to ensure archive integrity.

The original implementation for Phar archives was in the PEAR package PHP_Archive, and the implementation details are very similar, although the Phar extension is more full-featured. PHP_Archive has more flexibility in Phar creation, and helpful debugging tools like the PHP_Archive_Manager class, and the Phar extension supports iteration, array access, and directly manipulating Phar contents through a simple interface. PHP_Archive supports creation of Phar archives that can be processed using the Phar extension or PHP_Archive seamlessly, whereas the Phar extension is designed to create extensions that function with the Phar extension. In addition, the Phar extension will continue to work even if the allow_url_include or allow_url_fopen INI variables are disabled, while PHP_Archive-based Phar archives (without the Phar extension) will not function.

Requisitos

Phar requires PHP 5.2.0 or newer. Additional features require the SPL extension in order to take advantage of iteration and array access to a Phar's file contents. The phar stream does not require any additional extensions to function.

You may optionally wish to enable the zlib and bzip2 extensions to take advantage of compressed phar support.

Instalación

Windows binaries may be found at http://snaps.php.net/. To install, download php_phar.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_phar.dll to your php.ini and restarting your web server.

extension_dir=c:/php5/exts/
extension=php_phar.dll

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Either:

    • Run the pear installer for PECL/phar: pecl install phar

    • Copy phar.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.

    • Add extension=phar.so to your php.ini

    Or:

    • Set the path to your php.ini via:

      pecl config-set php_ini /path/to/php.ini

    • Run the pear installer for PECL/phar: pecl install phar

  • Restart your web server to reload your php.ini settings.

Development Versions: There are currently no stable versions of PECL/phar, to force installation of the alpha version of PECL/phar execute: pecl install phar-alpha

Compiling PECL/phar without using the PEAR command: Rather than using pecl install phar to automatically download and install PECL/phar, you may download the tarball from PECL. From the root of the unpacked tarball, run: phpize && ./configure --enable-phar && make to generate phar.so. Once built, continue the installation from step 4 above.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/phar.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Filesystem and Streams Configuration Options

Name | Default | Changeable | Changelog
phar.readonly | "1" | PHP_INI_SYSTEM disable/enable, PHP_INI_ALL enable | Available Since version 1.0.0
phar.require_hash | "0" | PHP_INI_SYSTEM disable/enable, PHP_INI_ALL enable | Available Since version 1.0.0

A continuación se presenta una corta explicación de las directivas de configuración.

phar.readonly boolean

This option disables creation or modification of Phar archives using the phar stream or Phar object's write support. This setting should always be enabled on production machines, as the phar extension's convenient write support could allow straightforward creation of a php-based virus when coupled with other common security vulnerabilities.

Nota: This setting can only be unset in php.ini due to security reasons. If phar.readonly is disabled in php.ini, the user may enable phar.readonly in a script or disable it later. If phar.readonly is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.require_hash boolean

This option will force all opened Phar archives to contain some kind of signature (currently MD5 and SHA1 are supported), and will refuse to process any Phar archive that does not contain a signature.

Nota: This setting can only be unset in php.ini due to security reasons. If phar.require_hash is disabled in php.ini, the user may enable phar.require_hash in a script or disable it later. If phar.require_hash is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

Tipos de recursos

The Phar extension provides the phar stream, which allows accessing files contained within a phar transparently. The file format of a Phar is described here

Clases predefinidas

Phar
PharFileInfo
PharException

Using Phar Archives: Introduction

Phar archives are similar in concept to Java JAR archives, but are tailored to the needs and to the flexibility of PHP applications. A Phar archive is used to distribute a complete PHP application or library in a single file. Unlike Java's implementation of JAR archives, no external tool is required to process or run a PHP Phar archive. A Phar archive application is processed exactly like any other PHP application:

php coolapplication.phar

Using a Phar archive library is identical to using any other PHP library:

<?php
include 'coollibrary.phar';
?>

What makes Phar archives incredibly useful is the phar stream wrapper, which is explained in depth here. Using this stream wrapper, it is possible to access individual files within a phar as if the phar were its own filesystem. The phar stream wrapper supports all read/write operations on files, and opendir() on directories.

<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

Also provided with the Phar extension is the Phar class, which allows accessing the files of the Phar archive as if it were an associative array, and other functionality. The Phar class is explained here.

<?php
try {
    // open an existing phar
    $p = new Phar('coollibrary.phar');
    foreach ($p as $file) {
        // $file is a PharFileInfo class, and inherits from SplFileInfo
        echo $file->getFileName() . "\n";
        echo $file . "\n"; // display contents;
    }
    if (isset($p['internal/file.php'])) {
        var_dump($p['internal/file.php']->getMetaData());
    }

    // create a new phar - phar.readonly must be 0 in php.ini
    // phar.readonly is enabled by default for security reasons.
    // On production servers, Phars need never be created,
    // only executed.
    if (Phar::canWrite()) {
        $p = new Phar(dirname(__FILE__) . '/newphar.phar', 0, 'newphar.phar');
        // create transaction - nothing is written to newphar.phar
        // until commit() is called, although temporary storage is needed
        $p->begin();
        // add a new file, set its contents
        $p['file1.txt'] = 'Information';
        $fp = fopen('hugefile.dat', 'rb');
        // copy from the stream
        $p['data/hugefile.dat'] = $fp;
        if (Phar::canCompress()) {
            $p['data/hugefile.dat']->setCompressedGZ();
        }
        $p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
        // any value can be saved as file-specific meta-data
        $p['images/wow.jpg']->setMetaData(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetaData(array('bootstrap' => 'index.php'));
        // set the loader stub
        $p->setStub('<?php
$p = new Phar(__FILE__);
$m = $p->getMetaData();
require "phar://" . __FILE__ . "/" . $m["bootstrap"];
__HALT_COMPILER();');
        // save the phar archive to disk
        $p->commit();
    }
} catch (Exception $e) {
    echo 'Could not open Phar: ', $e;
}
?>

Using Phar Archives: the phar stream wrapper

The Phar stream wrapper fully supports fopen() for read, write or append, unlink(), stat(), fstat(), fseek(), rename() and directory stream operation opendir(). The Phar stream wrapper does not support creating or erasing a directory, as files are stored only as files, and the concept of an abstract directory does not exist.

Individual file compression and per-file metadata can also be manipulated in a Phar archive using stream contexts:

<?php
$context = stream_context_create(array('phar' =>
                                    array('compression' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://my.phar/somefile.php', 0, $context);
?>

The phar stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Although it is possible to create phar archives from scratch just using stream operations, it is best to use the functionality built into the Phar class. The stream wrapper is best used for read operations.

Using Phar Archives: the Phar class

The Phar class supports reading and manipulation of Phar archives, as well as iteration through inherited functionality of the RecursiveDirectoryIterator class. With support for the ArrayAccess interface, files inside a Phar archive can be accessed as if they were part of an associative array.

It is important to note that when creating a Phar archive, the full path should be passed to the Phar object constructor. Relative paths will fail to initialize.

Assuming that $p is a Phar object initialized as follows:

<?php
$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar');
?>
An empty Phar archive will be created at /path/to/myphar.phar, or if /path/to/myphar.phar already exists, it will be opened again. The literal myphar.phar deomnstrates the concept of an alias that can be used to reference /path/to/myphar.phar in URLs as in:
<?php
// these two calls to file_get_contents() are equivalent if
// /path/to/myphar.phar has an explicit alias of "myphar.phar"
// in its manifest, or if the phar was initialized with the
// previous example's Phar object setup
$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt');
$f = file_get_contents('phar://myphar.phar/whatever.txt');
?>
With the newly created $p Phar object, the following is possible:

  • $a = $p['file.php'] creates a PharFileInfo class that refers to the contents of phar://myphar.phar/file.php

  • $p['file.php'] = $v creates a new file (phar://myphar.phar/file.php), or overwrites an existing file within myphar.phar. $v can be either a string or an open file pointer, in which case the entire contents of the file will be used to create the new file.

  • isset($p['file.php']) can be used to determine whether phar://myphar.phar/file.php exists within myphar.phar.

  • unset($p['file.php']) erases phar://myphar.phar/file.php from myphar.phar.

In addition, the Phar object is the only way to access Phar-specific metadata, through Phar->getMetaData(), and the only way to set or retrieve a Phar archive's PHP loader stub through Phar->getStub() and Phar->setStub(). Additionally, compression for the entire Phar archive at once can only be manipulated using the Phar class.

The full list of Phar object functionality is documented below.

The PharFileInfo class extends the SplFileInfo class, and adds several methods for manipulating Phar-specific details of a file contained within a Phar, such as manipulating compression and metadata.

Phar file format

All Phar files contain three to four sections:

  1. a stub

  2. a manifest describing the contents

  3. the file contents

  4. [optional] a signature for verifying Phar integrity

Phar file stub

A Phar's stub is a simple PHP file. The smallest possible stub follows:

<?php __HALT_COMPILER();

A stub must contain as a minimum, the __HALT_COMPILER(); token at its conclusion. Typically, a stub will contain loader functionality like so:

<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();

There are no restrictions on the contents of a Phar stub, except for the requirement that it conclude with __HALT_COMPILER();. The closing PHP tag ?> may be included or omitted, but there can be no more than 1 space between the ; and the close tag ?> or the phar extension will be unable to process the Phar archive's manifest.

Phar Manifest Format

The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order.

All unused flags are reserved for future use, and must not be used to store custom information. Use the per-file meta-data facility to store customized information about particular files.

The basic file format of a Phar archive manifest is as follows:

Tabla 2. Global Phar manifest format

Size in bytes | Description
4 bytes | Length of manifest in bytes (1 MB limit)
4 bytes | Number of files in the Phar
2 bytes | API version of the Phar manifest (currently 1.0.0)
4 bytes | Global Phar bitmapped flags
4 bytes | Length of Phar alias
?? | Phar alias (length based on previous)
4 bytes | Length of Phar metadata (0 for none)
?? | Serialized Phar Meta-data, stored in serialize() format
at least 24 * number of entries bytes | entries for each file

Global Phar bitmapped flags

Here are the bitmapped flags currently recognized by the Phar extension for the global Phar flat bitmap:

Tabla 3. Bitmap values recognized

Value | Description
0x00010000 | If set, this Phar contains a verification signature
0x00001000 | If set, this Phar contains at least 1 file that is compressed with zlib compression
0x00002000 | If set, this Phar contains at least 1 file that is compressed with bzip compression

Phar manifest file entry definition

Each file in the manifest contains the following information:

Tabla 4. Phar Manifest file entry

Size in bytes | Description
4 bytes | Filename length in bytes
?? | Filename (length specified in previous)
4 bytes | Un-compressed file size in bytes
4 bytes | Unix timestamp of file
4 bytes | Compressed file size in bytes
4 bytes | CRC32 checksum of un-compressed file contents
4 bytes | Bit-mapped File-specific flags
4 bytes | Serialized File Meta-data length (0 for none)
?? | Serialized File Meta-data, stored in serialize() format

The File-specific bitmap values recognized are:

Tabla 5. Bitmap values recognized

Value | Description
0x000001FF | These bits are reserved for defining specific file permissions of a file. Permissions are used for fstat() and can be used to recreate desired permissions upon extraction.
0x00001000 | If set, this file is compressed with zlib compression
0x00002000 | If set, this file is compressed with bzip compression

Phar Signature format

Phars containing a signature always have the signature appended to the end of the Phar archive after the loader, manifest, and file contents. The two signature formats supported at this time are MD5 and SHA1.

Tabla 6. Signature format

Length in bytes | Description
16 or 20 bytes | The actual signature, 20 bytes for an SHA1 signature, 16 bytes for an MD5 signature.
4 bytes | Signature flags. 0x0001 is used to define an MD5 signature, and 0x0002 is used to define an SHA1 signature.
4 bytes | Magic GBMB used to define the presence of a signature.

Tabla de contenidos
Phar::apiVersion -- Returns the api version
Phar->begin -- Begin a Phar modification transaction
Phar::canCompress -- Returns whether phar extension supports compression using either zlib or bzip2
Phar::canWrite -- Returns whether phar extension supports writing and creating phars
Phar->commit -- End a Phar modification transaction by writing the Phar archive to disk
Phar->compressAllFilesBZIP2 -- Compresses all files in the current Phar archive using Bzip2 compression
Phar->compressAllFilesGZ -- Compresses all files in the current Phar archive using Gzip compression
Phar::__construct -- Construct a Phar archive object
Phar->count -- Returns the number of entries (files) in the Phar archive
Phar->getMetaData -- Returns phar archive meta-data
Phar->getModified -- Return whether phar was modified
Phar->getSignature -- Return MD5/SHA1 signature of a Phar archive
Phar->getStub -- Return the PHP loader or bootstrap stub of a Phar archive
Phar->getVersion -- Return version info of Phar archive
Phar->isFlushingToPhar -- Used to determine whether a Phar creation transaction is active
Phar::loadPhar -- Loads any phar archive with an alias
Phar::mapPhar -- Reads the currently executed file (a phar) and registers its manifest
Phar::offsetExists -- determines whether a file exists in the phar
Phar::offsetGet -- get a PharFileInfo object for a specific file
Phar::offsetSet -- set the contents of an internal file to those of an external file
Phar::offsetUnset -- remove a file from a phar
Phar->setMetaData -- Sets phar archive meta-data
Phar->setStub -- Used to set the PHP loader or bootstrap stub of a Phar archive
Phar->uncompressAllFiles -- Uncompresses all files in the current Phar archive
PharFileInfo->chmod -- Sets file-specific meta-data saved with a file
PharFileInfo::__construct -- Construct a Phar entry object
PharFileInfo->getCompressedSize -- Returns the actual size of the file (with compression) inside the Phar archive
PharFileInfo->getCRC32 -- Returns CRC32 code or throws an exception if not CRC checked
PharFileInfo->getMetaData -- Returns file-specific meta-data saved with a file
PharFileInfo->getPharFlags -- Returns the Phar file entry flags
PharFileInfo->isCompressed -- Returns whether the entry is compressed
PharFileInfo->isCompressedBZIP2 -- Returns whether the entry is compressed using bzip2
PharFileInfo->isCompressedGZ -- Returns whether the entry is compressed using gz
PharFileInfo->isCRCChecked -- Returns whether file entry has had its CRC verified
PharFileInfo->setCompressedBZIP2 -- Compresses the current Phar entry within the phar using Bzip2 compression
PharFileInfo->setCompressedGZ -- Compresses the current Phar entry within the phar using gz compression
PharFileInfo->setMetaData -- Sets file-specific meta-data saved with a file
PharFileInfo->setUncompressed -- Uncompresses the current Phar entry within the phar, if it is compressed

Anterior | Inicio | Siguiente
PDOStatement->setFetchMode() | Subir | Phar::apiVersion


PostScript document creation

Manual de PHP
Anterior Siguiente

CXXIX. PostScript document creation

Introducción

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.

Requisitos

You need at least PHP 4.3.0 and pslib >= 0.1.12. The ps library (pslib) is available at http://pslib.sourceforge.net/.

Instalación

A short installation note: just type

$ pecl install ps
in your console.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

The following two tables lists all constants defined by the ps extension.

Tabla 1. Contants for line caps

Name | Meaning
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |

Tabla 2. Contants for line joins

Name | Meaning
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail steinm@php.net. Any help is very welcome.

Tabla de contenidos
ps_add_bookmark -- Add bookmark to current page
ps_add_launchlink -- Adds link which launches file
ps_add_locallink -- Adds link to a page in the same document
ps_add_note -- Adds note to current page
ps_add_pdflink -- Adds link to a page in a second pdf document
ps_add_weblink -- Adds link to a web location
ps_arc -- Draws an arc counterclockwise
ps_arcn -- Draws an arc clockwise
ps_begin_page -- Start a new page
ps_begin_pattern -- Start a new pattern
ps_begin_template -- Start a new template
ps_circle -- Draws a circle
ps_clip -- Clips drawing to current path
ps_close_image -- Closes image and frees memory
ps_close -- Closes a PostScript document
ps_closepath_stroke -- Closes and strokes path
ps_closepath -- Closes path
ps_continue_text -- Continue text in next line
ps_curveto -- Draws a curve
ps_delete -- Deletes all resources of a PostScript document
ps_end_page -- End a page
ps_end_pattern -- End a pattern
ps_end_template -- End a template
ps_fill_stroke -- Fills and strokes the current path
ps_fill -- Fills the current path
ps_findfont -- Loads a font
ps_get_buffer -- Fetches the full buffer containig the generated PS data
ps_get_parameter -- Gets certain parameters
ps_get_value -- Gets certain values
ps_hyphenate -- Hyphenates a word
ps_lineto -- Draws a line
ps_makespotcolor -- Create spot color
ps_moveto -- Sets current point
ps_new -- Creates a new PostScript document object
ps_open_file -- Opens a file for output
ps_open_image_file -- Opens image from file
ps_open_image -- Reads an image for later placement
ps_place_image -- Places image on the page
ps_rect -- Draws a rectangle
ps_restore -- Restore previously save context
ps_rotate -- Sets rotation factor
ps_save -- Save current context
ps_scale -- Sets scaling factor
ps_set_border_color -- Sets color of border for annotations
ps_set_border_dash -- Sets length of dashes for border of annotations
ps_set_border_style -- Sets border style of annotations
ps_set_info -- Sets information fields of document
ps_set_parameter -- Sets certain parameters
ps_set_text_pos -- Sets position for text output
ps_set_value -- Sets certain values
ps_setcolor -- Sets current color
ps_setdash -- Sets appearance of a dashed line
ps_setflat -- Sets flatness
ps_setfont -- Sets font to use for following output
ps_setgray -- Sets gray value
ps_setlinecap -- Sets appearance of line ends
ps_setlinejoin -- Sets how contected lines are joined
ps_setlinewidth -- Sets width of a line
ps_setmiterlimit -- Sets the miter limit
ps_setpolydash -- Sets appearance of a dashed line
ps_shading_pattern -- Creates a pattern based on a shading
ps_shading -- Creates a shading for later use
ps_shfill -- Fills an area with a shading
ps_show_boxed -- Output text in a box
ps_show_xy -- Output text at given position
ps_show -- Output text
ps_string_geometry -- Gets geometry of a string
ps_stringwidth -- Gets width of a string
ps_stroke -- Draws the current path
ps_symbol_name -- Gets name of a glyph
ps_symbol_width -- Gets width of a glyph
ps_symbol -- Output a glyph
ps_translate -- Sets translation

Anterior | Inicio | Siguiente
system | Subir | ps_add_bookmark


Radius

Manual de PHP
Anterior Siguiente

CXXXII. Radius

Introducción

This package is based on the libradius of FreeBSD. This PECL adds full support for Radius Authentication (RFC 2865) and Radius Accounting (RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.

Nota: An exact description for libradius can be found here. A detailed description of the configuration file can be found here.

Instalación

Howto install the package?

  • untar the package (usually into php4/ext)

  • rename radius-x.x to radius

  • run ./buildconf in php4

  • run ./configure --enable-radius

  • make; make install

or if you would like to have it as .so:

  • untar the package

  • run phpize in the radius-x.x directory

  • run ./configure in the radius-x.x directory

  • make; make install

For Windows I recommend to use the php_radius.dll from http://snaps.php.net/. You may obtain this unbundled PECL extension from the various PECL snaps pages (select the appropriate repository for your version of PHP): PECL for PHP 4.3.x, PECL for PHP 5.0.x or PECL Unstable.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

RADIUS_ACCESS_REQUEST ()

Authentication Request

RADIUS_ACCESS_ACCEPT ()

Access accepted

RADIUS_ACCESS_REJECT ()

Access rejected

RADIUS_ACCOUNTING_REQUEST ()

Accounting request

RADIUS_ACCOUNTING_RESPONSE ()

Accounting response

RADIUS_ACCESS_CHALLENGE ()

Accsess challenge

RADIUS_USER_NAME (string)

Username

RADIUS_USER_PASSWORD (string)

Password

RADIUS_CHAP_PASSWORD (string)

Chap Password: chappass = md5(ident + plaintextpass + challenge)

RADIUS_NAS_IP_ADDRESS (string)

NAS IP-Adress

RADIUS_NAS_PORT (int)

NAS Port

RADIUS_SERVICE_TYPE (int)

Type of Service, one of:

RADIUS_LOGIN
RADIUS_FRAMED
RADIUS_CALLBACK_LOGIN
RADIUS_CALLBACK_FRAMED
RADIUS_OUTBOUND
RADIUS_ADMINISTRATIVE
RADIUS_NAS_PROMPT
RADIUS_AUTHENTICATE_ONLY
RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (int)

Framed Protocol, one of:

RADIUS_PPP
RADIUS_SLIP
RADIUS_ARAP
RADIUS_GANDALF
RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (string)

IP-Address

RADIUS_FRAMED_IP_NETMASK (string)

Netmask

RADIUS_FRAMED_ROUTING (int)

Routing

RADIUS_FILTER_ID (string)

Filter ID

RADIUS_FRAMED_MTU (int)

MTU

RADIUS_FRAMED_COMPRESSION (int)

Compression, one of:

RADIUS_COMP_NONE
RADIUS_COMP_VJ
RADIUS_COMP_IPXHDR

RADIUS_LOGIN_IP_HOST (string)

Login IP Host

RADIUS_LOGIN_SERVICE (int)

Login Service

RADIUS_LOGIN_TCP_PORT (int)

Login TCP Port

RADIUS_REPLY_MESSAGE (string)

Reply Message

RADIUS_CALLBACK_NUMBER (string)

Callback Number

RADIUS_CALLBACK_ID (string)

Callback ID

RADIUS_FRAMED_ROUTE (string)

Framed Route

RADIUS_FRAMED_IPX_NETWORK (string)

Framed IPX Network

RADIUS_STATE (string)

State

RADIUS_CLASS (int)

Class

RADIUS_VENDOR_SPECIFIC (int)

Vendor specific attribute

RADIUS_SESSION_TIMEOUT (int)

Session timeout

RADIUS_IDLE_TIMEOUT (int)

Idle timeout

RADIUS_TERMINATION_ACTION (int)

Termination action

RADIUS_CALLED_STATION_ID (int)

Called Station Id

RADIUS_CALLING_STATION_ID (string)

Calling Station Id

RADIUS_NAS_IDENTIFIER (int)

NAS ID

RADIUS_PROXY_STATE (int)

Proxy State

RADIUS_LOGIN_LAT_SERVICE (int)

Login LAT Service

RADIUS_LOGIN_LAT_NODE (int)

Login LAT Node

RADIUS_LOGIN_LAT_GROUP (int)

Login LAT Group

RADIUS_FRAMED_APPLETALK_LINK (int)

Framed Appletalk Link

RADIUS_FRAMED_APPLETALK_NETWORK (int)

Framed Appletalk Network

RADIUS_FRAMED_APPLETALK_ZONE (int)

Framed Appletalk Zone

RADIUS_CHAP_CHALLENGE (string)

Challenge

RADIUS_NAS_PORT_TYPE (int)

NAS port type, one of:

RADIUS_ASYNC
RADIUS_SYNC
RADIUS_ISDN_SYNC
RADIUS_ISDN_ASYNC_V120
RADIUS_ISDN_ASYNC_V110
RADIUS_VIRTUAL
RADIUS_PIAFS
RADIUS_HDLC_CLEAR_CHANNEL
RADIUS_X_25
RADIUS_X_75
RADIUS_G_3_FAX
RADIUS_SDSL
RADIUS_ADSL_CAP
RADIUS_ADSL_DMT
RADIUS_IDSL
RADIUS_ETHERNET
RADIUS_XDSL
RADIUS_CABLE
RADIUS_WIRELESS_OTHER
RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (int)

Port Limit

RADIUS_LOGIN_LAT_PORT (int)

Login LAT Port

RADIUS_CONNECT_INFO (string)

Connect info

RADIUS_ACCT_STATUS_TYPE (int)

Accounting status type, one of:

RADIUS_START
RADIUS_STOP
RADIUS_ACCOUNTING_ON
RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (int)

Accounting delay time

RADIUS_ACCT_INPUT_OCTETS (int)

Accounting input bytes

RADIUS_ACCT_OUTPUT_OCTETS (int)

Accounting output bytes

RADIUS_ACCT_SESSION_ID (int)

Accounting session ID

RADIUS_ACCT_AUTHENTIC (int)

Accounting authentic, one of:

RADIUS_AUTH_RADIUS
RADIUS_AUTH_LOCAL
RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (int)

Accounting session time

RADIUS_ACCT_INPUT_PACKETS (int)

Accounting input packets

RADIUS_ACCT_OUTPUT_PACKETS (int)

Accounting output packets

RADIUS_ACCT_TERMINATE_CAUSE (int)

Accounting terminate cause, one of:

RADIUS_TERM_USER_REQUEST
RADIUS_TERM_LOST_CARRIER
RADIUS_TERM_LOST_SERVICE
RADIUS_TERM_IDLE_TIMEOUT
RADIUS_TERM_SESSION_TIMEOUT
RADIUS_TERM_ADMIN_RESET
RADIUS_TERM_ADMIN_REBOOT
RADIUS_TERM_PORT_ERROR
RADIUS_TERM_NAS_ERROR
RADIUS_TERM_NAS_REQUEST
RADIUS_TERM_NAS_REBOOT
RADIUS_TERM_PORT_UNNEEDED
RADIUS_TERM_PORT_PREEMPTED
RADIUS_TERM_PORT_SUSPENDED
RADIUS_TERM_SERVICE_UNAVAILABLE
RADIUS_TERM_CALLBACK
RADIUS_TERM_USER_ERROR
RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (string)

Accounting multi session ID

RADIUS_ACCT_LINK_COUNT (int)

Accounting link count

RADIUS_VENDOR_MICROSOFT (int)

Microsoft specific vendor attributes (RFC 2548), one of:

RADIUS_MICROSOFT_MS_CHAP_RESPONSE
RADIUS_MICROSOFT_MS_CHAP_ERROR
RADIUS_MICROSOFT_MS_CHAP_PW_1
RADIUS_MICROSOFT_MS_CHAP_PW_2
RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
RADIUS_MICROSOFT_MS_RAS_VENDOR
RADIUS_MICROSOFT_MS_CHAP_DOMAIN
RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
RADIUS_MICROSOFT_MS_BAP_USAGE
RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
RADIUS_MICROSOFT_MS_RAS_VERSION
RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
RADIUS_MICROSOFT_MS_FILTER
RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
RADIUS_MICROSOFT_MS_CHAP2_PW
RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_ARAP_CHALLENGE

Quickstart

Howto start?

  • get a radius resource

  • configure the library

  • create the request

  • put attributes

  • send the request

  • receive attributes

  • close the radius resource (optional)

Take also a look at the examples in this package.

The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.

Contact Information

If you have comments, bugfixes, enhancements or want to help to develop this you can send me a mail at mbretter@php.net. Binaries for Windows can be downloaded from here.

Tabla de contenidos
radius_acct_open -- Creates a Radius handle for accounting
radius_add_server -- Adds a server
radius_auth_open -- Creates a Radius handle for authentication
radius_close -- Frees all ressources
radius_config -- Causes the library to read the given configuration file
radius_create_request -- Create accounting or authentication request
radius_cvt_addr -- Converts raw data to IP-Address
radius_cvt_int -- Converts raw data to integer
radius_cvt_string -- Converts raw data to string
radius_demangle_mppe_key -- Derives mppe-keys from mangled data
radius_demangle -- Demangles data
radius_get_attr -- Extracts an attribute
radius_get_vendor_attr -- Extracts a vendor specific attribute
radius_put_addr -- Attaches an IP-Address attribute
radius_put_attr -- Attaches a binary attribute
radius_put_int -- Attaches an integer attribute
radius_put_string -- Attaches a string attribute
radius_put_vendor_addr -- Attaches a vendor specific IP-Address attribute
radius_put_vendor_attr -- Attaches a vendor specific binary attribute
radius_put_vendor_int -- Attaches a vendor specific integer attribute
radius_put_vendor_string -- Attaches a vendor specific string attribute
radius_request_authenticator -- Returns the request authenticator
radius_send_request -- Sends the request and waites for a reply
radius_server_secret -- Returns the shared secret
radius_strerror -- Returns an error message

Anterior | Inicio | Siguiente
qdom_tree | Subir | radius_acct_open


RPM Header Reading Functions

Manual de PHP
Anterior Siguiente

CXXXVI. RPM Header Reading Functions

Introducción

This module allows you to read the meta information stored in the headers of a RedHat Package Manager (RPM) file.

Requisitos

The RPMReader extension requires PHP 5.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/rpmreader.

Tipos de recursos

There is one resource type used by the RPMReader module. The resource is a file pointer which identifies the RPM file with which to work.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

The following list of constants are used to obtain information using the rpm_get_tag() function. These constants represent the tag number to be retrieved from the RPM file's header section. Descriptions are given below as to what data the tag number constants reference.

RPMREADER_MINIMUM (integer)

The minimum valid value of any RPM tag number.

RPMREADER_NAME (integer)

The name of the RPM package.

RPMREADER_VERSION (integer)

The version of the RPM package.

RPMREADER_RELEASE (integer)

The release of the RPM package.

RPMREADER_EPOCH (integer)

RPMREADER_SERIAL (integer)

RPMREADER_SUMMARY (integer)

The summary text of the RPM package.

RPMREADER_DESCRIPTION (integer)

The full description text of the RPM package.

RPMREADER_BUILDTIME (integer)

The date and time when the RPM package was built.

RPMREADER_BUILDHOST (integer)

The name of the host on which the RPM package was built.

RPMREADER_INSTALLTIME (integer)

RPMREADER_SIZE (integer)

The size of the RPM package.

RPMREADER_DISTRIBUTION (integer)

RPMREADER_VENDOR (integer)

RPMREADER_GIF (integer)

RPMREADER_XPM (integer)

RPMREADER_LICENSE (integer)

RPMREADER_COPYRIGHT (integer)

RPMREADER_PACKAGER (integer)

RPMREADER_GROUP (integer)

RPMREADER_SOURCE (integer)

RPMREADER_PATCH (integer)

RPMREADER_URL (integer)

RPMREADER_OS (integer)

RPMREADER_ARCH (integer)

RPMREADER_PREIN (integer)

RPMREADER_POSTIN (integer)

RPMREADER_PREUN (integer)

RPMREADER_POSTUN (integer)

RPMREADER_OLDFILENAMES (integer)

The list of files in an RPM package (deprecated format). The correct way is now to use a combination of 3 tags (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) in what RPM now calls "CompressedFileNames". This tag is still used in older RPM files that did not use the "CompressedFileNames" method and is maintained for backward compatibility.

RPMREADER_FILESIZES (integer)

RPMREADER_FILESTATES (integer)

RPMREADER_FILEMODES (integer)

RPMREADER_FILERDEVS (integer)

RPMREADER_FILEMTIMES (integer)

RPMREADER_FILEMD5S (integer)

RPMREADER_FILELINKTOS (integer)

RPMREADER_FILEFLAGS (integer)

RPMREADER_FILEUSERNAME (integer)

RPMREADER_FILEGROUPNAME (integer)

RPMREADER_ICON (integer)

RPMREADER_SOURCERPM (integer)

RPMREADER_FILEVERIFYFLAGS (integer)

RPMREADER_ARCHIVESIZE (integer)

RPMREADER_PROVIDENAME (integer)

RPMREADER_PROVIDES (integer)

RPMREADER_REQUIREFLAGS (integer)

RPMREADER_REQUIRENAME (integer)

RPMREADER_REQUIREVERSION (integer)

RPMREADER_CONFLICTFLAGS (integer)

RPMREADER_CONFLICTNAME (integer)

RPMREADER_CONFLICTVERSION (integer)

RPMREADER_EXCLUDEARCH (integer)

RPMREADER_EXCLUDEOS (integer)

RPMREADER_EXCLUSIVEARCH (integer)

RPMREADER_EXCLUSIVEOS (integer)

RPMREADER_RPMVERSION (integer)

RPMREADER_TRIGGERSCRIPTS (integer)

RPMREADER_TRIGGERNAME (integer)

RPMREADER_TRIGGERVERSION (integer)

RPMREADER_TRIGGERFLAGS (integer)

RPMREADER_TRIGGERINDEX (integer)

RPMREADER_VERIFYSCRIPT (integer)

RPMREADER_CHANGELOGTIME (integer)

The list of dates from changelog entries.

RPMREADER_CHANGELOGNAME (integer)

The list of changelog entry names.

RPMREADER_CHANGELOGTEXT (integer)

The list of the text from changelog entries.

RPMREADER_PREINPROG (integer)

RPMREADER_POSTINPROG (integer)

RPMREADER_PREUNPROG (integer)

RPMREADER_POSTUNPROG (integer)

RPMREADER_BUILDARCHS (integer)

RPMREADER_OBSOLETENAME (integer)

RPMREADER_OBSOLETES (integer)

RPMREADER_VERIFYSCRIPTPROG (integer)

RPMREADER_TRIGGERSCRIPTPROG (integer)

RPMREADER_COOKIE (integer)

RPMREADER_FILEDEVICES (integer)

RPMREADER_FILEINODES (integer)

RPMREADER_FILELANGS (integer)

RPMREADER_PREFIXES (integer)

RPMREADER_INSTPREFIXES (integer)

RPMREADER_PROVIDEFLAGS (integer)

RPMREADER_PROVIDEVERSION (integer)

RPMREADER_OBSOLETEFLAGS (integer)

RPMREADER_OBSOLETEVERSION (integer)

RPMREADER_DIRINDEXES (integer)

The list of indices that relate directory names to files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.

RPMREADER_BASENAMES (integer)

The list of the names of files in the RPM package without path information. This tag is used in conjunction with RPMREADER_DIRINDEXES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.

RPMREADER_DIRNAMES (integer)

The list of directory names used by files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRINDEXES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.

RPMREADER_OPTFLAGS (integer)

RPMREADER_DISTURL (integer)

RPMREADER_PAYLOADFORMAT (integer)

RPMREADER_PAYLOADCOMPRESSOR (integer)

RPMREADER_PAYLOADFLAGS (integer)

RPMREADER_INSTALLCOLOR (integer)

RPMREADER_INSTALLTID (integer)

RPMREADER_REMOVETID (integer)

RPMREADER_RHNPLATFORM (integer)

RPMREADER_PLATFORM (integer)

RPMREADER_PATCHESNAME (integer)

RPMREADER_PATCHESFLAGS (integer)

RPMREADER_PATCHESVERSION (integer)

RPMREADER_CACHECTIME (integer)

RPMREADER_CACHEPKGPATH (integer)

RPMREADER_CACHEPKGSIZE (integer)

RPMREADER_CACHEPKGMTIME (integer)

RPMREADER_FILECOLORS (integer)

RPMREADER_FILECLASS (integer)

RPMREADER_CLASSDICT (integer)

RPMREADER_FILEDEPENDSX (integer)

RPMREADER_FILEDEPENDSN (integer)

RPMREADER_DEPENDSDICT (integer)

RPMREADER_SOURCEPKGID (integer)

RPMREADER_FILECONTEXTS (integer)

RPMREADER_FSCONTEXTS (integer)

RPMREADER_RECONTEXTS (integer)

RPMREADER_POLICIES (integer)

RPMREADER_MAXIMUM (integer)

The maximum valid value of any RPM tag number.

Ejemplos

This example will open an RPM file and read the name, version, and release from the RPM file, echo the results, and close the RPM file.

Ejemplo 1. Basic RPMReader Example

<?php

$filename = "/path/to/file.rpm";

// open file
$rpmr = rpm_open($filename);

// get "Name" tag
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// get "Version" tag
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// get "Release" tag
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo "$name-$ver-$rel<br>\n";

// close file
rpm_close($rpmr);

?>
Tabla de contenidos
rpm_close -- Closes an RPM file
rpm_get_tag -- Retrieves a header tag from an RPM file
rpm_is_valid -- Tests a filename for validity as an RPM file
rpm_open -- Opens an RPM file
rpm_version -- Returns a string representing the current version of the rpmreader extension

Anterior | Inicio | Siguiente
recode | Subir | rpm_close


runkit Functions

Manual de PHP
Anterior Siguiente

CXXXVII. runkit Functions

Introducción

The runkit extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/runkit.

This package is meant as a feature added replacement for the classkit package. When compiled with the --enable-runkit=classkit option to ./configure, it will export classkit compatible function definitions and constants.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/runkit.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Requisitos

Modifying Constants, Functions, Classes, and Methods works with all releases of PHP 4 and PHP 5. No special requirements are necessary.

Custom Superglobals are only available in PHP 4.2.0 or later.

Sandboxing requires PHP 5.1.0 or later, or PHP 5.0.0 with a special TSRM patch applied. Regardless of which version of PHP is in use it must be compiled with the --enable-maintainer-zts option. See the README file in the runkit package for additional information.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Runkit Configuration Options

Name | Default | Changeable | Changelog
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

runkit.superglobal string

Comma-separated list of variable names to be treated as superglobals. This value should be set in the systemwide php.ini file, but may work in perdir configuration contexts depending on your SAPI.

Ejemplo 1. Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini

<?php
function show_values() {
  echo "Foo is $_FOO\n";
  echo "Bar is $_BAR\n";
  echo "Baz is $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Displays foo and bar, but not baz */
show_values();
?>

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

RUNKIT_IMPORT_FUNCTIONS (integer)

runkit_import() flag indicating that normal functions should be imported from the specified file.

RUNKIT_IMPORT_CLASS_METHODS (integer)

runkit_import() flag indicating that class methods should be imported from the specified file.

RUNKIT_IMPORT_CLASS_CONSTS (integer)

runkit_import() flag indicating that class constants should be imported from the specified file. Note that this flag is only meaningful in PHP versions 5.1.0 and above.

RUNKIT_IMPORT_CLASS_PROPS (integer)

runkit_import() flag indicating that class standard properties should be imported from the specified file.

RUNKIT_IMPORT_CLASSES (integer)

runkit_import() flag representing a bitwise OR of the RUNKIT_IMPORT_CLASS_* constants.

RUNKIT_IMPORT_OVERRIDE (integer)

runkit_import() flag indicating that if any of the imported functions, methods, constants, or properties already exist, they should be replaced with the new definitions. If this flag is not set, then any imported definitions which already exist will be discarded.

RUNKIT_ACC_PUBLIC (integer)

PHP 5 specific flag to runkit_method_add()

RUNKIT_ACC_PROTECTED (integer)

PHP 5 specific flag to runkit_method_add()

RUNKIT_ACC_PRIVATE (integer)

PHP 5 specific flag to runkit_method_add()

CLASSKIT_ACC_PUBLIC (integer)

PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.

CLASSKIT_ACC_PROTECTED (integer)

PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.

CLASSKIT_ACC_PRIVATE (integer)

PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.

CLASSKIT_AGGREGATE_OVERRIDE (integer)

PHP 5 specific flag to classkit_import() Only defined when classkit compatibility is enabled.

RUNKIT_VERSION (string)

Defined to the current version of the runkit package.

CLASSKIT_VERSION (string)

Defined to the current version of the runkit package. Only defined when classkit compatibility is enabled.

Tabla de contenidos
Runkit_Sandbox -- Runkit Sandbox Class -- PHP Virtual Machine
Runkit_Sandbox_Parent -- Runkit Anti-Sandbox Class
runkit_class_adopt -- Convert a base class to an inherited class, add ancestral methods when appropriate
runkit_class_emancipate -- Convert an inherited class to a base class, removes any method whose scope is ancestral
runkit_constant_add -- Similar to define(), but allows defining in class definitions as well
runkit_constant_redefine -- Redefine an already defined constant
runkit_constant_remove -- Remove/Delete an already defined constant
runkit_function_add -- Add a new function, similar to create_function()
runkit_function_copy -- Copy a function to a new function name
runkit_function_redefine -- Replace a function definition with a new implementation
runkit_function_remove -- Remove a function definition
runkit_function_rename -- Change a function's name
runkit_import -- Process a PHP file importing function and class definitions, overwriting where appropriate
runkit_lint_file -- Check the PHP syntax of the specified file
runkit_lint -- Check the PHP syntax of the specified php code
runkit_method_add -- Dynamically adds a new method to a given class
runkit_method_copy -- Copies a method from class to another
runkit_method_redefine -- Dynamically changes the code of the given method
runkit_method_remove -- Dynamically removes the given method
runkit_method_rename -- Dynamically changes the name of the given method
runkit_return_value_used -- Determines if the current functions return value will be used
runkit_sandbox_output_handler -- Specify a function to capture and/or process output from a runkit sandbox
runkit_superglobals -- Return numerically indexed array of registered superglobals

Anterior | Inicio | Siguiente
rpm_version | Subir | Runkit_Sandbox


SAM - Simple Asynchronous Messaging

Manual de PHP
Anterior Siguiente

CXXXVIII. SAM - Simple Asynchronous Messaging

Introducción

This extension provides access to the functionality of messaging and queueing systems, such as the IBM WebSphere MQSeries family of products, from PHP scripts. The interface is designed to make it extremely simple to do the more commonly required tasks such as deliver simple text messages to queues while still allowing skilled users to do more complex messaging operations. For many users the complexities of setting up numerous options can be simply ignored.

The SAM extension is a framework that provides a very simple API that can be used to access a number of messaging middleware systems. Currently the package includes built-in support for the MQTT (MQ Telemetry Transport) messaging protocol and support for the IBM Messaging and Queuing middleware products. SAM is designed to be readily extended to support other messaging systems and extension modules may be written in C or PHP.

Instalación

The SAM framework and MQTT support can be built and used without any other prerequisites. Support for protocols other than MQTT is provided via a set of libraries and some client side code referred to as XMS.

If you only intend to use the built-in MQTT support then you can build and configure SAM as an extension or simply refer to "php_sam.php" with a "requires" or "requires_once" clause in your PHP script. In this case you need only install the code without building the extension using the pear installer:

pecl install -B SAM

Prerequisites

The SAM extension interfaces to the IBM Messaging and Queuing middleware products using a set of libraries and some client side code referred to as XMS. This package is available as a free download in the guise of IBM support pack IA94. There is a description of this package and download links in the article Introducing XMS - The IBM Message Service API.

If you intend to use SAM to access the Messaging and Queuing infrastructure within WebSphere MQ then you will also need to have installed a local MQ queue manager or installed the WebSphere MQ clients package. The clients package is freely available as a support pack (MQC6).

If you are only aiming to experiment with sending messages to and from WebSphere Application Server queues using the WebSphere Platform Messaging protocol (WPM) then you do not need to install the MQC6 package.

After installing these packages you will need to ensure the XMS binary and, if you are using it, the MQ client bin directory are included in the PATH environment variable so that Apache and PHP can find the dependent .DLLs/libraries.

Linux installation steps

The sam extension is supplied as a PECL module, which you should be able to download and install in one step as follows:

pecl install sam
(Depending on your php environment, you will probably need to be root to do this.)

Make sure that the module is loaded by PHP, by adding following line to php.ini:

extension=sam.so
If you intend to use the XMS support to access the IBM Messaging and Queuing family you must also enable the SAM XMS extension.
extension=sam_xms.so

If you cannot use the PEAR installer, you can download the extension and build it manually:

pear download sam          #downloads sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install               #you may need to be root for this step

To work with the very latest source, you'll need to extract it from cvs and build manually as above.

Windows installation steps

You will probably need to build the sam extension for Windows as there are only a limited range of pre-built binaries available from the SAM website. The extension can be built using the standard Windows extension build procedures.

You will need the PHP source tree for the version of PHP you wish to build the SAM extension against which you can obtain from php.net. This should be unpacked into a working directory of your choice.

You will also need the libraries and headers used by PHP extensions available from http://www.php.net/extra/win32build.zip and this should be unzipped so that is in your working directory.

You should have something like:

c:\php-build\-
              |
              |---php-5.0.5--|---build
              |              |---ext
              |              |--- ...
              |
              |---win32build--|---bin
                              |---include
                              |---lib

You will need a compiler such as the free version of Visual Studio C++ Express from the Microsoft web site. Also you need the Microsoft Windows Platform SDK which again can be downloaded from the Microsoft web site.

Obtain the SAM extension source using pear (pecl download sam) or by using CVS and copy the files to a new "sam" directory under the "ext" directory in your PHP source tree.

To build the extension open a build environment window by going to the start menu->all programs->microsoft platform SDK for windows-> open build environment window->windows 200 build environment-> set windows 2000 build environment (retail)

This should open a command prompt with all the environment variables set up to access the platform SDK etc. You then need to set the environment variables for Visual Studio by issuing the command "vcvars32.bat" in the window.

Change directory to your working directory e.g. cd c:\php-build. Then make sure the win32build tools are accessible by adding them to the PATH environment variable:

set PATH=..\win32build\bin;%PATH%

Run the buildconf.bat command. This should rebuild the configure.js file.

Run the cscript command with the appropriate options. To build just the SAM extension framework and MQTT support use:

cscript /nologo configure.js --with-sam
To build the SAM framework and the XMS support use:
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

The additional parameter passed for sam_xms is the installation path to the XMS libraries and runtime that were installed as described under prerequisites at the top of this page.

You can specify whatever other cscript parameters you require to include or exclude items from the php build or select options.

Assuming all has gone well so far you can now finally run a make for the SAM framework!

nmake php_sam.dll
Also if you are using the XMS support you must make the sam_xms extensions:
nmake php_sam_xms.dll

If you have used Visual Studio 2005 to build the DLLs please see below for additional steps that must be carried out before proceeding further.

The DLLs created (php_sam.dll and optionally php_sam_xms.dll) can now be copied to the subdirectory appropriate for your PHP set-up. Make sure that the module(s) are loaded by PHP, by adding following line to php.ini :

extension=php_sam.dll
If you intend to use the XMS support to access the IBM Messgaing and Queuing family you must also enable the SAM XMS extension.
extension=php_sam_xms.dll

Additional steps for Visual Studio 2005

If you build the SAM extension with the Microsoft Visual Studio 2005 compiler and tools you need to perform an additional step in the build process to ensure the php_sam.dll is able to link with the C runtime libraries at runtime. This step includes the dependancy manifest into the DLL. Switch to the directory where the php_sam.dll has been generated (usually Release_TS or Debug_TS below the php source directory) and issue the following magic incantation:

mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
If you are using the XMS capabilities you will need to do the same with the SAM XMS DLL:
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

If you build the SAM extension using the compiler and libaries from Microsoft Visual Studio 2005 you will also need to ensure that the runtime components are installed on the system on which you intend to use SAM. This can be accomplished by installing Visual Studio 2005 or by using the freely distributable runtime package.

Protocol support and mapping

The SAM framework can be extended to support other messaging protocols and connection mechanisms. To add support for a new protocol or connection library a support class has to be defined, either as a C extension or as a PHP script, and a "factory" script must be created. The support class must implement all the methods of the SAMConnection class though it should not inherit from SAMConnection. The factory script will be called by the SAM framework to create an instance of the implemented class. The way SAM chooses which factory to call is based on the protocol specified as the first parameter of the "connect" call.

By default the built-in MQTT support will be used if a connect call specifies a protocol of SAM_MQTT ("mqtt"), for any other protocol SAM will attempt to use the XMS support extension. To add support for additional protocols or to modify the default behavior entries may be added to php.ini in the [sam] section. The default mapping is equivalent to the following entries:

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
As can be seen from these examples the entries take the form of "sam.factory.pppp=xxx" where pppp is the protocol string specified on the connect call and xxx is a factory suffix. Note: SAM defines constants for these protocol strings such that SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

When identifying the support code to use on a connect call SAM looks up the protocol name in the php.ini entries and then invokes a factory script named sam_factory_xxx.php. If no entry is found the support will default to XMS.

API Usage

Connections

In order to perform any messaging and queueing functions a connection must be established with a messaging server by creating a SAMConnection object and calling its "connect" method, with a set of connection properties, to connect the PHP script to the messaging server. Until such time as the SAMConnection object is destroyed the connection will be maintained and available for use. All SAMConnection objects are destroyed when the PHP script exits.

A set of default properties may be used in connecting to a messaging server but as a minimum the PHP script must specify a protocol to be used.

Ejemplo 1. Creating a connection and connecting to a remote WebSphere MQSeries Messaging Server

<?php
   $conn = new SAMConnection();
   $conn->connect(SAM_WMQ, array(SAM_HOST => 'myhost.mycompany.com',
                                 SAM_PORT => 1506,
                                 SAM_BROKER => 'mybroker'));
?>

Ejemplo 2. Creating a connection and connecting to a remote WebSphere Application Server

<?php
   $conn = new SAMConnection();
   $conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                                 SAM_BUS => 'Bus1',
                                 SAM_TARGETCHAIN => 'InboundBasicMessaging'));
?>

Ejemplo 3. Creating a connection and connecting to an MQTT server

<?php
   $conn = new SAMConnection();
   $conn->connect(SAM_MQTT, array(SAM_HOST => 'myhost.mycompany.com',
                                 SAM_PORT => 1883));
?>

Messages

Messages sent to and received from queues are represented by the SAMMessage object. The SAMMessage object encapsulates the body of the message (if one exists) and the header properties associated with the message. A SAMMessage object is either supplied as a parameter to a messaging operation or returned as a result.

Ejemplo 4. Creating a message with a simple text body

<?php
$msg = new SAMMessage('This is a simple text message');
?>

Messages may have header properties associated with them that provide control over the transport of the message or further information to the receiving application. By default message properties are delivered to the underlying messaging system as strings and in this case they may be set with the following simple syntax:

Ejemplo 5. Setting a text format property using the default syntax

<?php
   $msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

Ejemplo 6. Setting a property using a type hint

<?php
   $msg->header->myPropertyName = array(3.14159, SAM_FLOAT);
?>

Properties may also be extracted from the header of a message.

Ejemplo 7. Retrieving a property from a message header

<?php
   $myProperty = $msg->header->myPropertyName;
?>

Messaging operations

All messaging operations are performed through calls to methods on the connection object. To add a message to a queue the "send" method is used, to obtain a message from a queue the "receive" method is used. Other methods provide publish and subscribe functionality and control of transaction boundaries.

Ejemplo 8. Adding a message to a queue and receiving a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Publish/Subscribe and suscriptions to topics

SAM allows messages to be sent either to queues or, for WebSphere MQ and WPM, to publish/subscribe topics. A topic desintation is specified to SAM in the usual way, i.e. in the form 'topic://fred', rather than the form 'queue://AQUEUE' used for point to point operation. To use publish/subscribe it is simply necessary to specify the correct broker name on the SAMConnect "connect" call and the desired topic in the destination argument to the SAMConnect "send" and "receive" calls. The PHP interface is otherwise identical to the point to point model.

By default, SAM creates non-durable subscriptions when using publish/subscribe. This means that if a client application is inactive when messages are published to a topic, then it will not receive them when it subsequently restarted. SAM does also allow durable subscriptions to be made to topics when using WPM or WebSphere MQ publish/subscribe. The purpose of these subscriptions is to allow data to be received by a client application even if that client was not active at the time the data was published.

Durable subscriptions are specified by using the SAMConnect "subscribe" call. This method takes the destination topic as an input parameter and returns a subscription identifier that may be used on subsequent "receive" calls. When the subscription is no longer required the SAMConnection "unsubscribe" method should be used to delete the subscription.

Ejemplo 9. Creating a durable subscription to a topic

<?php

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

Ejemplo 10. Subscribing to a topic using a WebSphere Platform Messaging (WPM) server

<?php
$conn = new SAMConnection();
// Note: For pub/sub on WPM, when connecting the name of a messaging engine
//   to hold the durable subscription (SAM_WPM_DUR_SUB_HOME) must be specified.
$conn->connect(SAM_WMQ, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging'
                              SAM_WPM_DUR_SUB_HOME => 'MyMachineNode01.server1-Bus1'));

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

Ejemplo 11. Receiving published data using a durable subscription

<?php

$msg = $conn->receive($subName);
if ($msg) {
   echo "Received a message OK";
} else {
   echo "The receive failed";
}

?>

Ejemplo 12. Deleting a durable subscription to a topic

<?php

if (!$conn->unsubscribe($subName)) {
   echo "Unsubscribe failed";
}

?>

Error handling

All SAMConnection methods that provide access to messaging operations return FALSE if an error occurred in processing the request. In addition the SAMConnection object has two properties, "errno" and "error", that provide respectively the error number and text description of the last error to occur on the connection.

Ejemplo 13. Handling an error from a method that returns no result

<?php
   if (!$conn->commit()) {
     // The commit failed!
     echo "Commit failed ($conn->errno) $conn->error";
   }
?>

Ejemplo 14. Handling an error from a method that returns a result

<?php
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  ...
}
?>

Clases predefinidas

SAMConnection

Object representing a connection to a Messaging Server

Constructor

  • new SAMConnection - construct a new connection object to allow connection to a messaging infrastructure.

Métodos

  • commit - a method that commits (successfully completes) an in-flight unit of work.

  • connect - a method that connects a PHP script to a messaging server.

  • disconnect - a method that disconnects a PHP script from a messaging server.

  • isConnected - a method that checks whether a PHP script is connected to a messaging server.

  • peek - a method that receives a message from a queue without removing it from the queue.

  • peekAll - a method that receives one or messages from a queue without removing them from the queue.

  • receive - a method that receives a message from a queue or subscription.

  • remove - a method that removes a message from a queue.

  • rollback - a method that cancels (rolls back) an in-flight unit of work.

  • send - a method that sends a message to a queue or posts to a topic

  • setDebug - a method that switches additional debugging output on or off

  • subscribe - a method that creates a subscription to one or more topics

  • unsubscribe - a method that destroys a subscription to one or more topics

Propiedades

  • errno - the numeric error code for the last encountered error on this connection. This property is set to 0 if the last operation was successful.

  • error - the text description for the last encountered error on this connection

SAMMessage

Object representing a message to be sent or received

Constructor

  • new SAMMessage - construct a new message.

Propiedades

  • body - the body of the message.

  • header - the header properties of the message.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

SAM_AUTO (string)

Automatic behaviour

SAM_BOOLEAN (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_BUS (string)

Connect attribute used to set the name of the enterprise service bus to connect to.

SAM_BYTE (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_BYTES (string)

Message body type descriptor.

SAM_CORRELID (string)

Attribute used on receive, send and remove requests to identify specific messages.

SAM_DELIVERYMODE (string)

Message header property.

SAM_DOUBLE (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_ENDPOINTS (string)

Connect attribute used to define the possible endpoints to connect to.

SAM_FLOAT (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_HOST (string)

Connect attribute used to set the hostname of the required messaging server.

SAM_INT (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_LONG (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_MANUAL (string)

Manual (script controlled) behaviour

SAM_MESSAGEID (string)

Attribute used on receive and remove requests to identify specific messages.

SAM_MQTT (string)

Connect protocol definition for selecting the MQTT (MQ Telemetry Transport) protocol.

SAM_MQTT_CLEANSTART (bool)

Optional connect option to indicate to an MQTT server that all previous connection data for this client should be removed and that subscriptions should be deleted when the client disconnects explicitly or unexpectedly.

SAM_NON_PERSISTENT (string)

Connect attribute value used to request messages are not made persistent on the messaging server.

SAM_PASSWORD (string)

Connect attribute used to define the password to be used for the user account being used to connect to a messaging server that requires authorisation for connections.

SAM_PERSISTENT (string)

Connect attribute value used to request messages are made persistent on the messaging server to protect against loss of messages in the event of failure.

SAM_PORT (string)

Connect attribute used to set the port number on which to communicate with the messaging server.

SAM_PRIORITY (string)

Option name used on send requests to specify a delivery priority value.

SAM_REPLY_TO (string)

Message propery used to specify the queue identity on to which the script expects response or reply messages to be posted.

SAM_RTT (string)

Connect protocol definition for selecting the IBM Realtime Transport protocol for communication with a business integration messaging server.

SAM_STRING (string)

Type specifier used when setting properties on SAM_Message objects.

SAM_TARGETCHAIN (string)

Connection attribute used to set the required target chain identifier.

SAM_TEXT (string)

Message body type descriptor.

SAM_TIMETOLIVE (string)

Message send option name used to specify the length of time a message should be retained in milliseconds.

SAM_TRANSACTIONS (string)

Connection attribute used to set required transactional behaviour. May be set to SAM_AUTO (default) or SAM_MANUAL.

SAM_USERID (string)

Connect attribute used to define the account to being used to connect to a messaging server that requires authorisation for connections.

SAM_WAIT (string)

Receive property used to specify the wait timeout to be used when receiving a message from a queue or subscription.

SAM_WMQ (string)

Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with the desired messaging server.

SAM_WMQ_BINDINGS (string)

Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a local messaging server.

SAM_WMQ_CLIENT (string)

Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a remote messaging server.

SAM_WMQ_TARGET_CLIENT (string)

Option name used on send requests to specify the target client mode. This can either be default to 'jms' or 'mq'. The default is 'jms' which means an RFH2 header is sent with the message whereas the 'mq' setting means no RFH2 is included.

SAM_WPM (string)

Connect protocol definition for selecting the IBM WebSphere Platform Messaging protocol for communication with a WebSphere Application Server messaging server.

Tabla de contenidos
SAMConnection->commit() -- Commits (completes) the current unit of work.
SAMConnection->connect() -- Establishes a connection to a Messaging Server
SAMConnection->__construct() -- Creates a new connection to a Messaging Server
SAMConnection->disconnect() -- Disconnects from a Messaging Server
SAMConnection->errno -- Contains the unique numeric error code of the last executed SAM operation.
SAMConnection->error -- Contains the text description of the last failed SAM operation.
SAMConnection->isConnected() -- Queries whether a connection is established to a Messaging Server
SAMConnection->peek() -- Read a message from a queue without removing it from the queue.
SAMConnection->peekAll() -- Read one or more messages from a queue without removing it from the queue.
SAMConnection->receive() -- Receive a message from a queue or subscription.
SAMConnection->remove() -- Remove a message from a queue.
SAMConnection->rollback() -- Cancels (rolls back) an in-flight unit of work.
SAMConnection->send() -- Send a message to a queue or publish an item to a topic.
SAMConnection::setDebug() -- Turn on or off additional debugging output.
SAMConnection->subscribe() -- Create a subscription to a specified topic.
SAMConnection->unsubscribe() -- Cancel a subscription to a specified topic.
SAMMessage->body -- The body of the message.
SAMMessage->__construct() -- Creates a new Message object
SAMMessage->header -- The header properties of the message.

Anterior | Inicio | Siguiente
runkit_superglobals | Subir | SAMConnection->commit()


Satellite CORBA client extension [deprecated]

Manual de PHP
Anterior Siguiente

CXXXIX. Satellite CORBA client extension [deprecated]

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Nota: Esta extensión no está disponible en plataformas Windows

Satellite is deprecated. It is suggested that you use Universe (http://universe-phpext.sourceforge.net/) and not Satellite.

The Satellite extension is used for accessing CORBA objects. You will need to set the idl_directory= entry in php.ini to a path where you store all IDL files you use.

See the Satellite README file for details about installing Satellite.

Tabla de contenidos
OrbitEnum -- Use CORBA enums
OrbitObject -- Access CORBA objects
OrbitStruct -- Use CORBA structs
satellite_caught_exception -- See if an exception was caught from the previous function
satellite_exception_id -- Get the repository id for the latest exception.
satellite_exception_value -- Get the exception struct for the latest exception
satellite_get_repository_id -- NOT IMPLEMENTED
satellite_load_idl -- Instruct the type manager to load an IDL file
satellite_object_to_string -- Convert an object to its string representation

Anterior | Inicio | Siguiente
SAMMessage->header | Subir | OrbitEnum


SCA Functions

Manual de PHP
Anterior Siguiente

CXL. SCA Functions

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

SCA for PHP makes it possible for a PHP programmer to write reusable components, which can be called in a variety of ways, with an identical interface and with a minimum of fuss. At present components can call each other either locally or via Web services, but in the future it is expected that other ways will be possible. It provides the programmer with a way of doing this which will look as natural as possible in PHP.

SCA components use phpDocumentor-style (see http://www.phpdoc.org/) annotations to declare dependencies on other SCA components or Web services. The SCA for PHP runtime resolves these dependencies at runtime on behalf of the components, and thus allows the PHP programmer to focus on the business logic rather than on locating and obtaining references to dependencies.

The SCA for PHP programming model can be extended to support a number of service types, such as REST and Atompub. However, Web services (more accurately, WSDL defined, SOAP/HTTP services), are the only type currently specified.

Components also use annotations to define the interface which they expose as a service. The SCA for PHP runtime will automatically generate WSDL from these annotations, so that an SCA component is easily exposed as a web service. These annotations are a natural extension to those provided by phpDocumentor. Deploying a Web service can be as simple as placing a PHP component under the document root of a web server.

Components also use annotations to specify data structures (expressed using XML schema complex types) which are then handled using Service Data Objects (SDOs).

A PHP script which is not an SCA component and which contains no annotations can use the services of an SCA component. A PHP script or component can make calls to a web service that is not an SCA component, but using the same system of calls or annotations to obtain a reference.

First we show a single SCA component, ConvertedStockQuote which illustrates many of the features of SCA for PHP. It has one method, getQuote(), which given a stock "ticker" obtains a price quote for that stock, converted to a given currency. We shall be using this example as a basis for explaining the SCA for PHP throughout the rest of this document.

Ejemplo 1. A sample SCA component

<?php

include "SCA/SCA.php";

/**
 * Calculate a stock price for a given ticker symbol in a given currency.
 *
 * @service
 * @binding.ws
 */
class ConvertedStockQuote {

    /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;

    /**
     * The stock quote service to use.
     *
     * @reference
     * @binding.wsdl ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;

    /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
}
?>

In this example, we see that an SCA component is implemented by a script containing a PHP class and includes SCA.php. The class contains a mixture of business logic and references to other components or services. In the illustrated getQuote() method there is only business logic, but it relies on the instance variables $stock_quote and $exchange_rate having been initialized. These refer to two other components and will be initialized by the SCA runtime with proxies for these two services, whenever this component executes. The annotations for these two services show one to be a local component, which will be called within the same PHP runtime, and one to be a remote component which will be called via a SOAP request. This component also exposes the getQuote() method both locally and as a web service, so it in turn can be called either locally or remotely.

Requisitos

If you want to use SCA to consume or produce Web services then you need PHP 5.2.0 or later, built with the soap extension enabled. If you just want to use local components, and do not wish to use the Web service bindings, then this version of SCA for PHP will also run with PHP 5.1.6.

Instalación

SCA is packaged along with SDO in one combined package on PECL. See http://www.php.net/sdo#sdo.installation for installing the SCA_SDO package from PECL. The SCA code must be on the include path of your PHP installation, for example if it is installed as /usr/local/lib/php/SCA, the include_path directive must include /usr/local/lib/php

Ejemplos

The examples in the subsequent sections illustrate the following aspects of PHP for SCA:

  • How PHP annotations are used to define PHP classes as SCA components, and how annotations are used to define the services.

  • How an SCA component can be exposed as a Web service

  • How an SCA component can consume a Web service, whether provided by another SCA component or by some other service which knows nothing of SCA

  • How an SCA component can call another SCA component locally (within the same process and on the same call stack)

  • How a client script which is not an SCA component can use the getService call to obtain a proxy for an SCA component.

  • How data structures such as Addresses, or Puchase Orders, are represented as Service Data Objects, and handled.

  • How SCA components are deployed, and in particular how and when WSDL is generated for a service.

  • How parameters are always passed by value (and not by reference) between components, even when the calls are local. This ensures that the semantics of a call do not change depending on the location of a component.

  • How positional parameters to a service are supported, even when the underlying WSDL is document literal wrapped, and naturally supports only named parameters.

  • How business and runtime exceptions are handled.

The structure of a Service Component

A service component is implemented by a class. To identify it as a service component, it contains an @service annotation. The SCA runtime will use the file name of the script to determine the component name, by convention. The class and script file must therefore share the same name.

PHP SCA components always expose a service, and there is no way for a component to be invoked other than to be called as a result of a Web service request, or called directly from another component or from a script. For this reason a valid PHP SCA component will always contain an @service annotation and at least one public method.

Each SCA Component requires that the SCA.php script is included. As well as containing the definition of the SCA class, this script contains executable PHP code that will run whenever the script is called, and which will be responsible for making the component behave as needed.

Atención

It is very important that if your file contains other includes, they come before the include for SCA.php. If there are includes after the include for SCA.php, they will not have been processed when the SCA runtime runs your class.

The example below illustrates this overall structure

Ejemplo 2. The structure of an SCA for PHP component

<?php

// any includes

include "SCA/SCA.php

/**
 * @service
 */

class ConvertedStockQuote {

       // instance variables, business logic, including at least one public method

}
?>

Obtaining a proxy for another Service Component

One SCA component can call the service provided by another SCA component. The service a component provides is made up of all of its public methods. SCA for PHP currently provides two ways for one component to call another: either locally (i.e. within the same PHP run-time, and on the same call stack) or remotely if the called component exposes a Web service binding.

In order for one component to call another, the calling component needs a proxy for the called component. This proxy is usually provided as an instance variable in the calling component, though proxies can also be obtained with the SCA::getService() call, as we shall see later. When a component is constructed, proxies are constructed for any instance variable which refer to another component, and these proxies are "injected" into the instance variables. Proxies are always used, whether the component is local or remote, in order to provide identical calling behavior between remote and local calls (for example, local calls are made to always pass data by-value). The proxies know how to locate the required component and to pass the calls made on to them.

Instance variables which are intended to hold proxies for services are indicated by the two PHPDocumentor-style annotations, @reference and @binding. Both annotations are placed in the documentation section for a class instance variable, as shown by the code below.

The @reference annotation before an instance variable indicates that that instance variable is to be initialized with a proxy to a component.

The @binding annotation has two forms @binding.php and @@binding.ws, and indicates that the proxy is either for a local component or for a Web service respectively. For both @binding.php and @binding.ws, the annotation gives a target URI.

At the moment, with the annotation-based method of specifying dependencies, the only way to alter the intended target of a reference is to alter the annotation within the component.

In our ConvertedStockQuote example, the $exchange_rate instance variable will be initialized with a proxy to the local ExchangeRate component whenever an instance of the ConvertedStockQuote is constructed.

Ejemplo 3. Obtaining a proxy for a local PHP class

<?php
   /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;
?>

For @binding.php, the URI identifies the location of the script containing the implementation of the component. The component will be called locally. The service provided is the set of public methods of the component. The URI must be a simple pathname, either absolute or relative. The component will be loaded with the PHP include directive, after testing to see if it is already loaded with class_exists(). If the URI is a relative path, it is resolved relative to the component containing the annotation. Note that this is different from the normal PHP behaviour where scripts would be looked for along the PHP include_path, This is intended to provide some location-independence for cross-component references.

If this ExchangeRate service were remote and to be called as a Web service, only the @binding line changes. Instead of giving the location of a PHP class, it gives the location of the WSDL describing the web service. In our example component, this is illustrated by the second reference:

Ejemplo 4. Obtaining a proxy for a web service

<?php
/**
     * The stock quote service to use.
     *
     * @reference
     * @binding.wsdl ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;
?>

The StockQuote component will be called via a Web service request. In this case the URI for the WSDL can be a simple pathname, or may contain a PHP wrapper and begin, for example, with file:// or http://. In the event that it is a simple pathname, it can be absolute or relative, and if relative will be resolved relative to the component containing the annotation. Note that this is like the behaviour for @binding.php, and different from the normal PHP behaviour where the file would be looked for relative to the PHP current working directory, which would usually be the location of the first script to be called. This behaviour is intended to give consistency across the different bindings and to provide some location-independence for references between components.

Calling another Service Component

The ConvertedStockQuote example also calls the proxies for the two components to which it refers.

Ejemplo 5. Calling services

<?php
$quote  = $this->stock_quote->getQuote($ticker);
$rate   = $this->exchange_rate->getRate($currency);
?>

The call to the StockQuote service is a call to a local service; the call to the ExchangeRate service is a call to a remote service. Note that the way the call is made looks the same regardless of whether the call is to a local service or a remote one.

The proxies which have been injected ensure that the way calls to components look and behave are the same way regardless of whether they are to a local or remote service, so that components are not sensitive to whether a call is to a local or a remote service. For example, the proxy for a local service takes copies of the arguments and passes only those copies, to ensure that calls are made to be pass-by-value, as they would be for a remote call. Also, the proxy for a remote service takes the arguments from a positional parameter list and ensures they are packaged properly in a SOAP request and converted back to a positional parameter list at the far end.

In the example above, the $ticker and $currency are clearly PHP scalar types. Components can pass the PHP scalar types string, integer, float and boolean, but data structures on service calls are always passed as Service Data Objects (SDOs). A later section describes how a component can create an SDO to pass on a local or Web service call, or how a component can create an SDO to return. The PHP SDO project documentation describes how to work with the SDO APIs (see the SDO pages.

Locating and calling services from a script which is not an SCA Component

SCA components obtain proxies for other components or services as instance variables annotated with @reference, but this is not possible for a script that is not itself also a component. A client script which is not a component must use the SCA::getService() static method to obtain a proxy for a service, whether local or remote. The getService() method takes a URI as the argument. Typically this is the location of a local PHP script containing a component, or of a wsdl file, and is used in exactly the same way as the targets of the @binding annotations described in the previous section: that is, relative URIs are resolved against the location of the client script and not against the PHP include_path or current working directory.

For example, a script that needed to obtain proxies for the ExchangeRate and StockQuote services but was not a component would use the getService() method as follows:

Ejemplo 6. Obtaining a proxy using getService

<?php
$exchange_rate = SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   = SCA::getService('../StockQuote/StockQuote.wsdl');
?>

Methods on services can then be called on the returned proxy, just as they can in a component.

Ejemplo 7. Making calls on the proxy

<?php
$quote  = $stock_quote->getQuote($ticker);
$rate   = $exchange_rate->getRate($currency);
?>

Exposing a Service Component as a Web service

SCA for PHP can generate WSDL from the annotations within a service component, so that it can be easily deployed and exposed as a Web service. To provide SCA with the information it needs to generate the WSDL, it is necessary to add the annotation @binding.ws under the @service annotation and to specify the parameters and return values of the methods using the @param and @return annotations. These annotations will be read when WSDL is generated, and the order and types of the parameters determine the contents of the <schema> section of the WSDL.

SCA for PHP always generates document/literal wrapped WSDL for components that are exposing a Web service. Note that this does not stop components from consuming Web services which are not SCA components and which are documented with WSDL written in a different style.

The scalar types which can be used in the @param annotation are the four common PHP scalar types: boolean, integer, float and string. These are simply mapped to the XML schema types of the same name in the WSDL. The example below, which is a trivial implementation of the StockQuote service that the ConvertedStockQuote component calls, illustrates string and float types.

Ejemplo 8. StockQuote Service

<?php

include "SCA/SCA.php";

/**
 * Scaffold implementation for a remote StockQuote Web service.
 *
 * @service
 * @binding.ws
 *
 */
class StockQuote {

    /**
     * Get a stock quote for a given ticker symbol.
     *
     * @param string $ticker The ticker symbol.
     * @return float The stock quote.
     */
    function getQuote($ticker) {
        return 80.9;
  }
}
?>

WSDL much like the following (though with a service location other than 'localhost', probably) would be generated from this service:

Ejemplo 9. Generated WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xsi:type="tDefinitions"
    xmlns:tns2="http://StockQuote" xmlns:tns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://StockQuote">
  <types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://StockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

  <message name="getQuoteRequest">
    <part name="getQuoteRequest" element="tns2:getQuote"/>
  </message>
  <message name="getQuoteResponse">
    <part name="return" element="tns2:getQuoteResponse"/>
  </message>
  <portType name="StockQuotePortType">
    <operation name="getQuote">
      <input message="tns2:getQuoteRequest"/>
      <output message="tns2:getQuoteResponse"/>
    </operation>
  </portType>
  <binding name="StockQuoteBinding" type="tns2:StockQuotePortType">
    <operation name="getQuote">
      <input>
        <tns3:body xsi:type="tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tBody" use="literal"/>
      </output>
      <tns3:operation xsi:type="tOperation" soapAction=""/>
    </operation>
    <tns3:binding xsi:type="tBinding" transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  </binding>
  <service name="StockQuoteService">
    <port name="StockQuotePort" binding="tns2:StockQuoteBinding">
      <tns3:address xsi:type="tAddress" location="http://localhost/StockQuote/StockQuote.php"/>
    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Deploying an SCA component

There are no special steps needed to deploy a PHP SCA component. It is sufficient to place the component PHP script in its proper place under the web server document root, just like any other PHP script. It is the SCA::initComponent() executable line within each component that will be executed whenever the script is called, and which will be responsible for making the component respond appropriately to Web service calls, local calls, or requests for WSDL.

Obtaining the WSDL for an SCA component offering a Service as a Web service

SCA components that expose a Web service interface (i.e. have an @binding.ws annotation) will return their WSDL definition in response to an HTTP request with a get parameter of "wsdl". The usual way to obtain this is with "?wsdl" on the end of a URL. The example below uses file_get_contents() to obtain WSDL from a service and writes it to a temporary file before then obtaining a proxy for the service in the usual way. You could of course also obtain the WSDL in a browser, or by some other means, and save the file yourself.

Ejemplo 10. Generated WSDL

<?php
$wsdl 	= file_get_contents('http://www.example.com/Services/Example.php?wsdl');
file_put_contents("service.wsdl",$wsdl); //write the wsdl to a file
$service = SCA::getService('service.wsdl');
?>

NOTE: If the wsdl requires imported xsds, these will need to be fetched separately.

Understanding how the WSDL is generated

SCA for PHP generates WSDL for components which contain an @binding.ws annotation after the @service annotation. To generate WSDL, the SCA runtime reflects on the component and examines the @param and @return annotations for each public method, as well as any @types annotations within the component. The information from the @param and @return annotations is used to build the <types> section of the WSDL. Any @types annotations which specify a separate schema file will result in an <import> element for that schema within the WSDL.

Location attribute of the <service> element

At the bottom of the WSDL is the <service> element which uses the location attribute to identify the URL of the service. For example this might look as follows:

Ejemplo 11. location attribute

<service name="ConvertedStockQuote"
...
location="http://localhost/ConvertedStockQuote/ConvertedStockQuote.php"/>

Note that this location is relative to the document root of the web server, and cannot be worked out in advance. It can only be worked out once the component is in its proper place under a running web server, when the hostname and port can be known and placed in the WSDL. Detail from the URL that requests the WSDL is used, so for example if the WSDL is generated in response to a request to http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php?wsdl, a location of http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php is what will be inserted into the location attribute in the WSDL.

Document/literal wrapped WSDL and positional parameters

SCA for PHP generates WSDL in the document/literal wrapped style. This style encloses the parameters and return types of a method in 'wrappers' which are named after the corresponding method. The <types> element at the top of the WSDL defines each of these wrappers. If we consider the getQuote() method of the ConvertedStockQuote example:

Ejemplo 12. method with two arguments

<?php
   /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
?>

The WSDL generated to define this method will name both the method and the parameters, and give an XML schema type for the parameters. The types section of the WSDL looks like this:

Ejemplo 13. types section illustrating named parameters

<types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://ConvertedStockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
            <xs:element name="currency" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

The SCA run-time has special processing to handle how positional parameter lists in the interface are converted to XML containing named parameters in the soap request, and then back to positional parameter lists again. To see why this matters, consider how a PHP script which used a different interface to make a SOAP call would need to construct the parameter list. A PHP script using the PHP SoapClient, for example, would need to pass the SoapClient a single parameter giving the values for "ticker" and "currency", perhaps as an associative array. To insist that SCA components construct parameter lists to make Web service calls in this way would be to make local and remote calls look different, so a different approach is needed.

When SCA generates WSDL for an SCA component it includes a comment in the WSDL which marks that WSDL as being the interface for an SCA component. In this case, when one SCA component calls another through a Web service, the SCA runtime on the calling end takes the positional parameter list from the call and assigns the values one by one to the named elements in the soap message. For example a call to the getQuote() method defined above that passes the values 'IBM' and 'USD' and looks like this:

$quote = $remote_service->getQuote('IBM','USD');

will result in a soap message containing the following:

<getQuote>
  <ticker>IBM</ticker>
  <currency>USD</currency>
</getQuote>

On the service-providing end, the SCA run-time takes the parameters one by one from the soap message and forms a positional parameter list from them, re-forming the argument list ('IBM','USD').

Atención

At both ends the SCA runtime relies on the order in which the parameters appear in the soap message being the same as that in the target method's parameter list. This is ultimately determined by the order of the @param annotations: this determines the order in which the parameters appear in the WSDL and thereby the order in which they appear in the soap message. Therefore it is essential that the order of the @param annotations matches that of the parameters in the method's parameter list.

Working with Data Structures

SCA components can pass and return the four PHP scalar types boolean, integer, real and string, but to pass or return data structures, SCA components use Service Data Objects (SDOs). SDOs are described in much more detail in the SDO pages of this manual. Readers familiar with SDOs will know that they are suitable for representing the sort of structured and semi-structured data that is frequently modeled in XML, and that they serialize very naturally for passing between remote components, or in Web services. SDOs are presently the only supported way to pass and return data structures. It is not possible to pass or return PHP objects, or PHP arrays.

The SCA runtime always assures data is passed by-value, even for local calls. To do this, the SCA runtime copies any SDOs in the parameter list before passing them on, just as it does for scalar types.

How data structures are defined to SCA components

Currently the only mechanism for specifying the location of a data structure definition is by specifying the types in an XML schema file. However, in the future it may be possible to define types in other ways, such as based on PHP classes or interfaces, or based on definitions expressed as associative arrays.

To illustrate the use of SDOs we introduce a new component. The PortfolioMangement service below returns an SDO representing a stock portfolio for a given customer.

Ejemplo 14. A Component that uses Data Structures

<?php

include 'SCA/SCA.php';

/**
 * Manage the portfolio for a customer.
 *
 * @service
 * @binding.ws
 *
 * @types http://www.example.org/Portfolio PortfolioTypes.xsd
 *
 */
class PortfolioManagement {

    /**
     * Get the stock portfolio for a given customer.
     *
     * @param integer $customer_id The id for the customer
     * @return Portfolio http://www.example.org/Portfolio The stock portfolio (symbols and quantities)
     */
    function getPortfolio($customer_id) {
        // Pretend we just got this from a database
        $portfolio = SCA::createDataObject('http://www.example.org/Portfolio', 'Portfolio');
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'AAPL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'INTL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'IBM';
        $holding->number = 100.5;
        return $portfolio;
    }

}
?>

The @types annotation:

<?php
@types http://www.example.org/Portfolio PortfolioTypes.xsd
?>

indicates that types in the namespace http://www.example.org/Portfolio will be found in the schema file located by the URI PortfolioTypes.xsd. The generated WSDL would reproduce this information with an import statement as follows:

<xs:import schemaLocation="PortfolioTypes.xsd"
                      namespace="http://www.example.org/Portfolio"/>

so the URI, absolute or relative, must be one that can be resolved when included in the schemaLocation attribute.

Creating SDOs

Readers familiar with SDOs will know that they are always created according to a description of the permitted structure (sometimes referred to as the 'schema' or 'model') and that, rather than creating them directly using 'new', some form of data factory is needed. Often, an existing data object can be used as the data factory, but sometimes, and especially in order to get the first data object, something else must act as the data factory.

In SCA, either the SCA runtime class or the proxies for services, whether local or remote, can act as the data factories for SDOs. The choice of which to use, and when, is described in the next two sections.

We switch to a new example in order to illustrate the creation of SDOs, both to pass to a service, and to be returned from a service.

Creating an SDO to pass to a service

A caller of a service which requires a data structure to be passed in to it uses the proxy to the service as the data factory for the corresponding SDOs. For example, suppose a component makes use of a proxy for a service provided by a local AddressBook component.

<?php
/**
 * @reference
 * @binding.local AddressBook.php
 */
$address_book;
?>

The AddressBook component that it wishes to call is defined as follows:

<?php
/**
* @service
* @binding.ws
* @types http://addressbook ../AddressBook/AddressBook.xsd
*/
class AddressBook {

    /**
     * @param personType $person http://addressbook (a person object)
     * @return addressType http://addressbook (the address object for the person object)
     */
    function lookupAddress($person)  {
              ...
    }
}
?>

The AddressBook component provides a service method called lookupAddress() which uses types from the http://addressbook namespace. The lookupAddress method takes a personType data structure and returns an addressType. Both types are defined in the schema file addressbook.xsd.

Once the component that wishes to use the AddressBook component has been constructed, so that the $address_book instance variable contains a proxy for the service, the calling component can use the proxy in $address_book to create the person SDO, as shown below:

<?php
$william_shakespeare        = $address_book->createDataObject('http://addressbook','personType');
$william_shakespeare ->name = "William Shakespeare";
$address                    = $address_book->lookupAddress($william_shakespeare);
?>

Note, the use of the proxy as the means to create the SDO is not limited to SCA components. If a service is being called from a general PHP script, and the proxy was obtained with getService() then the same approach is used.

<?php
$address_book = SCA::getService('AddressBook.php');
$william_shakespeare = $address_book->createDataObject('http://addressbook','personType');
?>

Creating an SDO to return from a component

A component that needs to create a data object for return to a caller will not have a proxy to use as a data object, In this case it uses the createDataObject() static method on SCA.php. Hence if the AddressBook component described above needed to create an object of type addressType within the namespace http://addressbook, it might do so as follows:

<?php
$address = SCA::createDataObject('http://addressbook','addressType');
?>

Error handling

This section describes how errors are handled. There are two types of errors:

  • SCA runtime exceptions are those that signal problems in the management of the execution of components, and in the interaction with remote services. These might occur due to network or configuration problems.

  • Business exceptions are those that are defined by the programmer. They extend the PHP Exception class, and are thrown and caught deliberately as part of the business logic.

Handling of Runtime exceptions

There are two types of SCA runtime exception:

  • SCA_RuntimeException - signals a problem found by or perhaps occurring within the SCA runtime. This can be thrown for a variety of reasons, many of which can occur regardless of whether a connection is being made to a local or a remote service: an error in one of the annotations within a component, a missing WSDL or php file, and so on. In the case of Web services, an SCA_RuntimeException can also be thrown if a SoapFault is received from a remote Web service and the fault code in the SoapFault indicates that a retry is unlikely to be successful.

  • SCA_ServiceUnavailableException - this is a subclass of SCA_RuntimeException and signals a problem in connecting to or using a remote service, but one which might succeed if retried. In the case of Web services, this exception is thrown if a SoapFault is received with a fault code that indicates that a retry might be successful.

Handling of Business exceptions

Business exceptions may be defined and thrown by a component in the normal way, regardless of whether the component has been called locally or remotely. The SCA runtime does not catch business exceptions that have been thrown by a component called locally, so they will be returned to a caller in the normal way. If a component has been called via a Web service, on the other hand, the SCA runtime on the service providing end does catch business exceptions, and will ensure these are passed back to the calling end and re-thrown. Assuming that the calling end has a definition of the exception (that is, is able to include a file containing the PHP class defining the exception) the re-thrown exception will contain the same details as the original, so that the getLine() and getFile() methods for example will contain the location where the exception was thrown within the business logic. The exception will be passed in the detail field of a soap fault with a fault code of "Client".

Clases predefinidas

Most of the interface to SCA is through the annotations within SCA components so there are few public classes and methods. The only SCA classes that scripts or components can call are the SCA class itself, and the proxy classes SCA_LocalProxy and SCA_SoapProxy.

SCA

Much of the work of the SCA class is performed when the file SCA.php is included within an SCA component. However, a PHP script may include SCA.php and call the getService() method on the SCA class in order to obtain a proxy for a service. A component will not need to do this as proxies are obtained instead by defining an instance variable with the @reference annotation.

Components that need to create an SDO to return to a caller will need a data factory to call. For this purpose the SCA class supports the createDataObject() method, which will create an SDO according to the model defined by the component's @types annotations. The arguments to createDataObject() are the same as those to SDO's XML Data Access Service.

Métodos

  • getService - obtain a proxy for a service

  • createDataObject - create an SDO

SCA_LocalProxy

When getService() is called with the target of a local PHP component, a local proxy is returned. A local proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.php anotation. When the script or component makes calls on the local proxy, they are passed on to the target component itself.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_LocalProxy class supports the createDataObject method, which will create an SDO according to the model defined by the components' @types annotations. The arguments to the createDataObject are the same as those to SDO's XML Data Access Service.

Métodos

  • createDataObject - create an SDO

SCA_SoapProxy

When getService() is called with the target of a WSDL file, a SOAP proxy is returned. A SOAP proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.ws anotations. When the script or component makes calls on the SOAP proxy, they are formed into Web service SOAP requests and passed on to the target component, with the help of the PHP Soap extension.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_SoapProxy class supports the createDataObject method, which will create an SDO according to the model defined within the target WSDL. The arguments to the createDataObject are the same as those to SDO's XML Data Access Service.

Métodos

  • createDataObject - create an SDO

Tabla de contenidos
SCA_LocalProxy::createDataObject -- create an SDO
SCA_SoapProxy::createDataObject -- create an SDO
SCA::createDataObject -- create an SDO
SCA::getService -- Obtain a proxy for a service

Anterior | Inicio | Siguiente
satellite_object_to_string | Subir | SCA_LocalProxy::createDataObject


SDO Functions

Manual de PHP
Anterior Siguiente

CXLI. SDO Functions

Introducción

Service Data Objects (SDOs) enable PHP applications to work with data from different sources (like a database query, an XML file, and a spreadsheet) using a single interface.

Each different kind of data source requires a Data Access Service (DAS) to provide access to the data in the data source. In your PHP application, you use a DAS to create an SDO instance that represents some data in the data source. You can then set and get values in the SDO instance using the standard SDO interface. Finally, you use a DAS to write the modified data back to a data source, typically the same one.

See the list of Data Access Services for details on those currently available. In addition to the provided DASs, SDO also provides interfaces to enable others to be implemented (see the section on SDO Data Access Services Interface for more details).

This extension is derived from concepts taken from the Service Data Objects specification. It includes a version of the Apache Tuscany SDO for C++ project.

The Structure of a Service Data Object

A Service Data Object instance is made up of a tree of data objects. The tree is defined by containment relationships between the data objects. For example, a Company data object might consist of a number of Department data objects and therefore the Company would have a containment relationship to the Departments.

An SDO may also have non-containment references between data objects in the tree. For example, one Employee data object might reference another Employee to identify a career mentor.

As well as data objects referencing each other, they can also have primitive properties. For example, the Company data object might have a property called "name" of type string, for holding the name of the company (for example, "Acme").

Each of these properties of a data object - containment relationships, non-containment references, or primitive properties - may be many-valued or single-valued. In the above examples, Departments is many-valued and the Company name is single-valued.

In PHP, each SDO data object is represented as a PHP object. The properties of the data object can be accessed using either object syntax or associative array syntax. We'll see some examples of this later.

Requisitos

The SDO extension requires PHP 5.1.0 or higher. It also requires the libxml2 library. Normally libxml2 will already be installed, but if not, it can be downloaded from http://www.xmlsoft.org/ .

Instalación

Nota: Earlier versions of the SDO extension required a separate shared library for the XML DAS. This is now obsolete and any references to php_sdo_das_xml.dll or sdo_das_xml.so should be removed from your php.ini .

Unix systems

  1. You can download and install the latest stable release of all three SDO components - the SDO core, the XML DAS and the Relational DAS - with the command:

    pecl install sdo

    This command will build the SDO shared library as well as installing the PHP files that make the Relational DAS.

    If you want to use the latest beta version, then instead run:

    pecl install sdo-beta

  2. The pecl command automatically installs the SDO module into your PHP extensions directory. To enable the SDO extension you must add the following line to php.ini :

    extension=sdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

Windows

  1. The latest SDO DLL can be downloaded from php_sdo.dll .

    Note that currently the pecl4win site does not provide this binary at the current release level; you can only download the latest level.

  2. The pecl command automatically installs the SDO module into your PHP extensions directory. To enable the SDO extension you must add the following line to php.ini :

    extension=php_sdo.dll

  3. The Relational DAS can be downloaded and installed with the command:

    pecl install -B sdo

    The Relational DAS is written in PHP. You may need to update your include_path in php.ini to point to the directory that contains sdo/DAS/Relational .

Building SDO on Linux

This section describes how to build the SDO core and XML DAS on Linux. You would only need to know how to do this if you wish to build a recent version that you have checked out of CVS.

  1. Change to the main extension directory: cd < wherever your sdo code is >

  2. Run phpize , which will set up the environment to compile SDO.

  3. Next, run ./configure; make; make install . Please note, you may need to login as root to install the extension.

  4. Make sure that the module is loaded by PHP, by adding extension=sdo.so to your php.ini file.

Data Access Services

The table below lists the currently provided SDO Data Access Services:

DAS Name | Description
SDO_DAS_XML | An XML Data Access Service supporting reading/writing SDOs as XML documents.
SDO_DAS_Relational | A PDO-based Data Access Service supporting reading/writing SDO to relational databases. Implements an optimistic concurrency policy for updates.

Limitations

Implementation Limitations

The following are limitations in the current SDO implementation:

  1. There is no support for multi-byte character sets. This will be considered, depending on community requirements, in the Unicode-enabled version of PHP. See Unicode Functions.

SDO Limitations

The following SDO 2.0 concepts are not supported in the current PHP implementation. It is not necessarily the case that these will all be added over time. Their inclusion will depend on community requirements.

  1. Bi-directional relationships.

  2. Type and property alias names.

  3. Read-only properties.

  4. The Helper classes defined in SDO 2.0 are not directly implemented. However equivalent function is provided in a more natural way for PHP. For example the function of CopyHelper::copy() is provided by applying the PHP clone keyword to a data object.

Ejemplos

The examples below assume an SDO created with the schema and instance information shown below, using the XML Data Access Service.

The instance document below describes a single company, called 'MegaCorp', which contains a single department, called 'Advanced Technologies'. The Advanced Technologies department contains three employees. The company employeeOfTheMonth is referencing the second employee, 'Jane Doe'.

<?xml version="1.0" encoding="UTF-8" ?>
<company xmlns="companyNS" name="MegaCorp"
  employeeOfTheMonth="E0003">
  <departments name="Advanced Technologies" location="NY" number="123">
    <employees name="John Jones" SN="E0001"/>
    <employees name="Jane Doe" SN="E0003"/>
    <employees name="Al Smith" SN="E0004" manager="true"/>
  </departments>
</company>

The root element of the schema is a company. The company contains departments, and each department contains employees. Each element has a number of attributes to store things like name, serial number, and so on. Finally, the company also has an IDREF attribute which identifies one of the employees as the 'employeeOfTheMonth'.

<xsd:schema
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:sdo="commonj.sdo"
  xmlns:sdoxml="commonj.sdo/xml"
  xmlns:company="companyNS"
  targetNamespace="companyNS">
  <xsd:element name="company" type="company:CompanyType"/>
  <xsd:complexType name="CompanyType">
    <xsd:sequence>
      <xsd:element name="departments" type="company:DepartmentType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF"
      sdoxml:propertyType="company:EmployeeType"/>
  </xsd:complexType>
  <xsd:complexType name="DepartmentType">
    <xsd:sequence>
      <xsd:element name="employees" type="company:EmployeeType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="location" type="xsd:string"/>
    <xsd:attribute name="number" type="xsd:int"/>
  </xsd:complexType>
  <xsd:complexType name="EmployeeType">
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="SN" type="xsd:ID"/>
    <xsd:attribute name="manager" type="xsd:boolean"/>
  </xsd:complexType>
</xsd:schema>

The XML Data Access Service maps the schema to an SDO. Attributes such as "name" become primitive properties, the sequence of employees becomes a many-valued containment relationship, and so on. Note that the containment relationships are expressed as one complex type within another, whereas non-containment references are expressed in terms of ID and IDREF, with a special sdoxml:propertyType attribute specifying the type of the non-containment reference.

Setting and Getting Property Values

The following examples assume $company is the root of a tree of data objects created from the schema and instance document shown above.

Ejemplo 1. Access via property name

Data object properties can be accessed using the object property access syntax. The following sets the company name to 'Acme'.

<?php
  $company->name = 'Acme';
?>

Ejemplo 2. Access via property name as array index

We can also access properties using associative array syntax. The simplest form of this uses the property name as the array index. For example, the following sets the company name and gets the employeeOfTheMonth.

<?php
  $company['name'] = 'UltraCorp';
  $eotm = $company['employeeOfTheMonth'];
?>

Ejemplo 3. Data Object iteration

We can iterate over the properties of a data object using foreach. The following iterates over the properties of the employee of the month.

<?php
  $eotm = $company->employeeOfTheMonth;
  foreach ($eotm as $name => $value) {
      echo "$name: $value\n";
  }
?>

which will output:

name: Jane Doe
SN: E0003

The 'manager' property is not output, because it has not been set.

Ejemplo 4. Access many-valued property by name

Many-valued data object properties can also be accessed using the object property name syntax. The following gets the list of departments.

<?php
  $departments = $company->departments;
?>

Ejemplo 5. Many-valued element access

We can access individual elements of many-valued properties using array syntax. The following accesses the first department in the company.

<?php
  $ad_tech_dept = $company->departments[0];
?>

Ejemplo 6. Many-valued property iteration

Many-valued properties can also be iterated over using foreach. The following iterates over the company's departments.

<?php
  foreach ($company->departments as $department) {
    // ...
  }
?>

Each iteration will assign the next department in the list to the variable $department.

Ejemplo 7. Chained property access

We can chain property references on a single line. The following sets and gets the name of the first department.

<?php
  $company->departments[0]->name = 'Emerging Technologies';
  $dept_name = $company->departments[0]->name;
?>

Using the associative array syntax, this is equivalent to

<?php
  $company['departments'][0]['name'] = 'Emerging Technologies';
  $dept_name = $company['departments'][0]['name'];
?>

In either case, the dept_name variable is set to 'Emerging Technologies'.

Ejemplo 8. XPath navigation

The associative array index can be an XPath-like expression. Valid expressions are defined by an augmented sub-set of XPath.

Two forms of indexing into many-valued properties are supported. The first is the standard XPath array syntax with the indexing starting at one, the second is an SDO extension to XPath with an index starting at zero. The standard syntax is:

<?php
  $jane_doe = $company["departments[1]/employees[2]"];
?>

and the SDO XPath extension syntax is:

<?php
  $jane_doe = $company["departments.0/employees.1"];
?>

Both these examples get the second employee from the first department.

Ejemplo 9. XPath querying

We can use XPath to query and identify parts of a data object based on instance data. The following retrieves the manager from the 'Advanced Technologies' department.

<?php
 $ad_tech_mgr =
  $company["departments[name='Advanced Technologies']/employees[manager=true]"];
?>

Ejemplo 10. Creating child data objects

A data object can be a factory for its child data objects. A child data object is automatically part of the data graph. The following add a new employee to the 'Advanced Technologies' department.

<?php
  $ad_tech_dept = $company["departments[name='Advanced Technologies']"];
  $new_hire = $ad_tech_dept->createDataObject('employees');
  $new_hire->name = 'John Johnson';
  $new_hire->SN = 'E0005';
  $new_hire->manager = false;
?>

Ejemplo 11. Unset a primitive property

We can use the isset() and unset() functions to test and remove items from the data object.

The following clears the name of the first department.

<?php
  unset($company->departments[0]->name);
?>

Ejemplo 12. Unset a data object

unset can also be used to remove a data object from the tree. The following example shows John Jones leaving the company.

<?php
  unset($company->departments[0]->employees[0]);
?>

Ejemplo 13. Unset a referenced data object

The following removes the 'employeeOfTheMonth' from the company. If this were a containment relationship then the employee would be removed from the company (probably not a good idea to sack your best employee each month!), but since this is a non-containment reference, the employee being referenced will remain in the department in the company, but will no longer be accessible via the employeeOfTheMonth property.

<?php
  if (isset($company->employeeOfTheMonth)) {
    unset($company->employeeOfTheMonth);
  }
?>

Ejemplo 14. Access via property index

Data object properties can be accessed via their property index using array syntax. The property index is the position at which the property's definition appears in the model (in this case the xml schema). We can see from the schema listing above that the company name attribute is the second company property (the SDO interface makes no distinction between XML attributes and elements). The following sets the company name to 'Acme', with the same result as Access via property name

<?php
  $company[1] = 'Acme';
?>

Using the index directly in this way is likely to be fragile. Normally the property name syntax should be preferred, but the property index may be required in special cases.

Working with Sequenced Data Objects

Sequenced data objects are SDOs which can track property ordering across the properties of a data object. They can also contain unstructured text elements (text element which do not belong to any of the SDO's properties). Sequenced data objects are useful for working with XML documents which allow unstructured text (i.e. mixed=true) or if the elements can be interleaved ( <A/><B/><A/>). This can occur for example when the schema defines maxOccurs>1 on a element which is a complexType with a choice order indicator.

The examples below assume an SDO created with the following schema and instance information, using the XML Data Access Service.

The schema below describes the format of a letter. The letter can optionally contain three properties; date, firstName, and lastName. The schema states mixed="true" which means that unstructured text can be interspersed between the three properties.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

The following is an instance letter document. It contains the three letter properties; date, firstName and lastName, and has unstructured text elements for the address and letter body.

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

When loaded, the letter data object will have the sequence and property indices shown in the table below:

Sequence Index | Property Index:Name | Value
0 | 0:date | March 1, 2005
1 | - | Mutual of Omaha
2 | - | Wild Kingdom, USA
3 | - | Dear
4 | 1:firstName | Casy
5 | 2:lastName | Crocodile
6 | - | Please buy more shark repellent.
7 | - | Your premium is past due.

To ensure sequence indices are maintained, sequenced data objects should be manipulated through the SDO_Sequence interface. This allows the data object's instance data to be manipulated in terms of the sequence index as opposed to the property index (shown in the table above). The following examples assume the letter instance has been loaded into a data object referenced by the variable $letter.

Ejemplo 15. Getting the SDO_Sequence interface

We obtain a data object's sequence using the getSequence() method. The follow gets the sequence for the letter data object.

<?php
  $letter_seq = $letter->getSequence();
?>

All subsequent examples assume that the $letter_seq variable has been assigned the sequence for the letter data object.

Ejemplo 16. Get/set sequence values

We can get and set individual values (including unstructured text) using the sequence index. The following sets the firstName to 'Snappy' and gets the last sequence values (the unstructured text, 'Your premium is past due.').

<?php
  $letter_seq[4] = 'Snappy';
  $text = $letter_seq[count($letter_seq) - 1];
?>

Ejemplo 17. Sequence iteration

We can iterate through the individual sequence values using foreach. The following runs through the individual values in sequence order.

<?php
  foreach ($letter->getSequence() as $value) {
    // ...
  }
?>

Ejemplo 18. Sequence versus Data Object

Setting values through the data object interface may result in the value not being part of the sequence. A value set through the data object will only be accessible through the sequence if the property was already part of the sequence. The following example sets the lastName through the data object and gets it through the sequence. This is fine because lastName already exists in the sequence. If it had not previously been set, then lastName would be set to 'Smith', but would not be part of the sequence.

<?php
  $letter[2] = 'Smith';
  $last_name = $letter_seq[5];
?>

Ejemplo 19. Adding to a sequence

We can add new values to a sequence using the SDO_Sequence::insert() method. The following examples assume that the 'firstName' and 'lastName' properties are initially unset.

<?php
  // Append a firstName value to the sequence
  // value: 'Smith'
  // sequence index: NULL (append)
  // propertyIdentifier: 1 (firtName property index)
  $letter_seq->insert('Smith', NULL, 1);

  // Append a lastName value to the sequence
  // value: 'Jones'
  // sequence index: NULL (append)
  // propertyIdentifier: 'lastName' (lastName property name)
  $letter_seq->insert('Jones', NULL, 'lastName');

  // Append unstructured text
  // value: 'Cancel Subscription.'
  // sequence index: absent (append)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Cancel Subscription.');

  // Insert new unstructured text.  Subsequent sequence values
  // are shifted up.
  // value: 'Care of:'
  // sequence index: 1 (insert as second element)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Care of:', 1);
?>

Ejemplo 20. Removing from a sequence

We can use the isset() and unset() functions to test and remove items from the sequence (Note: unset() currently leaves the values in the data object, but this behaviour is likely to change to also remove the data from the data object). A sequence behaves like a contiguous list; therefore, removing items from the middle will shift entries at higher indices down. The following example tests to see if the first sequence element is set and unsets it if is.

<?php
  if (isset($letter_seq[0])) {
    unset($letter_seq[0]);
  }
?>

Reflecting on Service Data Objects

SDOs have a knowledge of the structure they have been created to represent (the model). For example, a Company SDO created using the Company XML schema above would only be permitted to contain DepartmentType data objects which in turn could only contain EmployeeType data objects.

Sometimes it is useful to be able to access this model information at runtime. For example, this could be used to automatically generate a user interface for populating a data object. The model information is accessed using reflection.

Ejemplo 21. Reflecting on a Data Object

The following example shows how we can reflect on an empty Employee data object.

<?php
  // Create the employee data object (e.g. from an XML Data Access Service)
  $employee = ...;
  $reflection = new SDO_Model_ReflectionDataObject($employee);
  print($reflection);
?>

El resultado del ejemplo seria:

object(SDO_Model_ReflectionDataObject)#4 { - ROOT OBJECT - Type {
companyNS:EmployeeType[3] { commonj.sdo:String $name;
commonj.sdo:String $SN; commonj.sdo:Boolean $manager; } }

Using print on the SDO_Model_ReflectionDataObject writes out the data object's model. We can see from the output how the type companyNS:EmployeeType has three properties and we can see the names of the properties along with their types. Note, the primitive types are listed as SDO types (e.g. commonj.sdo namespace, String type). It is worth noting that this is the SDO model and when these are surfaced to an application they can be treated as the PHP equivalent types (e.g. string and boolean).

Ejemplo 22. Accessing the type information

We can query the type information of a data object using reflection. The following example checks the type corresponds to a data object rather than a primitive and then iterates through the properties of the type, writing out the name of each property ($type and $property are SDO_Model_Type and SDO_Model_Property objects, respectively).

<?php
    // Create the employee data object (e.g. from an XML Data Access Service)
    $employee = ...;
    $reflection = new SDO_Model_ReflectionDataObject($employee);
    $type = $reflection->getType();
    if (! $type->isDataType()) {
        foreach ($type->getProperties() as $property) {
            print $property->getName() . "\n";
        }
    }
?>

El resultado del ejemplo seria:

name
SN
manager

Clases predefinidas

SDO consists of three sets of interfaces. The first set covers those interfaces for use by typical SDO applications. These are identified by the package prefix 'SDO_'. The second set is those used to reflect on, and work with, the model of a data object. These are identified by the package prefix 'SDO_Model_'. Finally, the third set are those use by Data Access Service implementations and are identified by the package prefix 'SDO_DAS_'. The majority of SDO users will not need to use or understand the 'SDO_Model_' and 'SDO_DAS_' interfaces.

SDO Application Programmer Interface

SDO_DataObject

The main interface through which data objects are manipulated. In addition to the methods below, SDO_DataObject extends the ArrayAccess, SDO_PropertyAccess (defines __get() / __set() methods for property access overloading), Iterator, and Countable interfaces.

Métodos

  • getSequence - get the sequence for the data object

  • createDataObject - create a child data object

  • clear - unset the properties of a data object

  • getContainer - get the container (also known as 'parent') of this data object

  • getTypeName - get the name of the type for this data object

  • getTypeNamespaceURI - get the namespace URI of the type for this data object

SDO_Sequence

The interface through which sequenced data objects can be accessed to preserve ordering across a data object's properties and to allow unstructured text. SDO_Sequence preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down. In addition to the methods below, SDO_Sequence extends the ArrayAccess, Iterator and Countable interface.

Métodos

  • getProperty - get the property for a given sequence index

  • move - move an element from one property index to another

  • insert - insert a new value into the sequence

SDO_List

The interface through which many-valued properties are manipulated. In addition to the method defined below, SDO_List extends ArrayAccess, Iterator and Countable. SDO_List preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down.

Métodos

  • insert - insert a new value into the list

SDO_DataFactory

The interface through which data objects can be created. A Data Access Service is responsible for populating the model (i.e. configuring the data factory with the type and structure information for the data objects it can create.) for the factory and can then optionally return an instance of, or implement, the SDO_DataFactory interface.

Métodos

  • create - create a new data object

SDO_Exception

An SDO_Exception is thrown when the caller's request cannot be completed. The subclasses of SDO_Exception are:

  • SDO_PropertyNotSetException - the property specified exists but has not been set or does not have a default value

  • SDO_PropertyNotFoundException - the property specified is not part of the data object's type

  • SDO_TypeNotFoundException - the specified namespace URI or type name is unknown

  • SDO_InvalidConversionException - conversion between the types of the assignment is not possible

  • SDO_IndexOutOfBoundsException - the numeric index into a data object, sequence or list is not in the valid range

  • SDO_UnsupportedOperationException - the request cannot be completed because it is not allowed, for example an attempt to set a read-only property.

Métodos

One method is added to those inherited from the built in Exception class:

  • getCause - get the cause of this SDO_Exception

SDO Reflection Application Programmer Interfaces

SDO_Model_ReflectionDataObject

The main interface used to reflect on a data object instance to obtain its model type and property information. It is designed to follow the reflection pattern introduced in PHP 5.

Constructor

  • __construct - construct a new SDO_Model_ReflectionDataObject.

Métodos

  • export - get a string describing the data object.

  • getType - get the SDO_Model_Type for the data object.

  • getInstanceProperties - get the instance properties of the data object.

  • getContainmentProperty - get the property which defines the containment relationship to the data object.

SDO_Model_Type

The interface through which a data object's type information can be retrieved. This interface can be used to find out the type name and namespace URI of the type, whether the type allow open content, and so on.

Métodos

  • getName - get the name of the type.

  • getNamespaceURI - get the namespace URI of the type.

  • isInstance - test for a data object being an instance of the type.

  • getProperties - get the properties of the type.

  • getProperty - get a property of the type.

  • isDataType - test to see if this type is a primitive scalar type.

  • isSequencedType - test to see if this is a sequenced type.

  • isOpenType - test to see if this is an open type.

  • isAbstractType - test to see if this is an abstract type.

  • getBaseType - get the base type of this type (if one exists).

SDO_Model_Property

The interface through which a data object's property information can be retrieved. This interface can be used to find out the type of a property, whether a property has a default value, whether the property is contained or reference by its parent, its cardinality, and so on.

Métodos

  • getName - get the name of the property.

  • getType - get the type of the property.

  • isMany - test to see if the property is many-valued.

  • isContainment - test to see if the property describes a containment relationship.

  • getContainingType - get the type which contains this property.

  • getDefault - get the default value for a property.

SDO Data Access Service Developer Interfaces

SDO_DAS_DataObject

The interface through which a Data Access Service can access a data object's SDO_DAS_ChangeSummary. The change summary is used by the Data Access Service to check for conflicts when applying changes back to a data source.

Métodos

  • getChangeSummary - get the change summary for a data object

SDO_DAS_ChangeSummary

The interface through which the change history of a data object is accessed. The change summary holds information for any modifications on a data object which occurred since logging was activated. In the case of deletions and modifications, the old values are also held in the change summary.

If logging is no longer active then the change summary only holds changes made up to the point when logging was deactivated. Reactivating logging clears the change summary. This is useful when a set of changes have been written out by a DAS and the data object is to be reused.

Métodos

  • beginLogging - begin logging changes made to a data object

  • endLogging - end logging changes made to a data object

  • isLogging - test to see if change logging is on

  • getChangedDataObjects - get a list of the data objects which have been changed

  • getChangeType - get the type of change which has been made to a data object

  • getOldValues - get a list of old values for a data object

  • getOldContainer - get the old container data object for a deleted data object

SDO_DAS_Setting

The interface through which the old value for a property is accessed. A list of settings is returned by the change summary method getOldValues() .

Métodos

  • getPropertyIndex - get the property index for the changed property

  • getPropertyName - get the property name for the changed property

  • getValue - get the old value for the changed property

  • getListIndex - get the list index for the old value if it was part of a many-valued property

  • isSet - test to see if the property was set prior to being modified

SDO_DAS_DataFactory

The interface for constructing the model for an SDO_DataObject. The SDO_DAS_DataFactory is an abstract class providing a static method which returns a concrete data factory implementation. The implementation is used by Data Access Services to create an SDO model from their model. For example, a Relational Data Access Service might create and populate an SDO_DAS_DataFactory model based on a schema for a relational database.

Métodos

  • getDataFactory - static methods for getting a concrete data factory instance

  • addType - add a new type to the SDO model

  • addPropertyToType - add a new property to a type definition in the SDO model

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

SDO_DAS_ChangeSummary::NONE=0 (integer)

Represents a change type of 'none'.

SDO_DAS_ChangeSummary::MODIFICATION=1 (integer)

Represents a change type of 'modification'.

SDO_DAS_ChangeSummary::ADDITION=2 (integer)

Represents a change type of 'addition'.

SDO_DAS_ChangeSummary::DELETION=3 (integer)

Represents a change type of 'deletion'.

Tabla de contenidos
SDO_DAS_ChangeSummary::beginLogging -- Begin change logging
SDO_DAS_ChangeSummary::endLogging -- End change logging
SDO_DAS_ChangeSummary::getChangeType -- Get the type of change made to an SDO_DataObject
SDO_DAS_ChangeSummary::getChangedDataObjects -- Get the changed data objects from a change summary
SDO_DAS_ChangeSummary::getOldContainer -- Get the old container for a deleted SDO_DataObject
SDO_DAS_ChangeSummary::getOldValues -- Get the old values for a given changed SDO_DataObject
SDO_DAS_ChangeSummary::isLogging -- Test to see whether change logging is switched on
SDO_DAS_DataFactory::addPropertyToType -- Adds a property to a type
SDO_DAS_DataFactory::addType -- Add a new type to a model
SDO_DAS_DataFactory::getDataFactory -- Get a data factory instance
SDO_DAS_DataObject::getChangeSummary -- Get a data object's change summary
SDO_DAS_Setting::getListIndex -- Get the list index for a changed many-valued property
SDO_DAS_Setting::getPropertyIndex -- Get the property index for a changed property
SDO_DAS_Setting::getPropertyName -- Get the property name for a changed property
SDO_DAS_Setting::getValue -- Get the old value for the changed property
SDO_DAS_Setting::isSet -- Test whether a property was set prior to being modified
SDO_DataFactory::create -- Create an SDO_DataObject
SDO_DataObject::clear -- Clear an SDO_DataObject's properties
SDO_DataObject::createDataObject -- Create a child SDO_DataObject
SDO_DataObject::getContainer -- Get a data object's container
SDO_DataObject::getSequence -- Get the sequence for a data object
SDO_DataObject::getTypeName -- Return the name of the type for a data object.
SDO_DataObject::getTypeNamespaceURI -- Return the namespace URI of the type for a data object.
SDO_Exception::getCause -- Get the cause of the exception.
SDO_List::insert -- Insert into a list
SDO_Model_Property::getContainingType -- Get the SDO_Model_Type which contains this property
SDO_Model_Property::getDefault -- Get the default value for the property
SDO_Model_Property::getName -- Get the name of the SDO_Model_Property
SDO_Model_Property::getType -- Get the SDO_Model_Type of the property
SDO_Model_Property::isContainment -- Test to see if the property defines a containment relationship
SDO_Model_Property::isMany -- Test to see if the property is many-valued
SDO_Model_ReflectionDataObject::__construct -- Construct an SDO_Model_ReflectionDataObject
SDO_Model_ReflectionDataObject::export -- Get a string describing the SDO_DataObject.
SDO_Model_ReflectionDataObject::getContainmentProperty -- Get the property which defines the containment relationship to the data object
SDO_Model_ReflectionDataObject::getInstanceProperties -- Get the instance properties of the SDO_DataObject
SDO_Model_ReflectionDataObject::getType -- Get the SDO_Model_Type for the SDO_DataObject
SDO_Model_Type::getBaseType -- Get the base type for this type
SDO_Model_Type::getName -- Get the name of the type
SDO_Model_Type::getNamespaceURI -- Get the namespace URI of the type
SDO_Model_Type::getProperties -- Get the SDO_Model_Property objects defined for the type
SDO_Model_Type::getProperty -- Get an SDO_Model_Property of the type
SDO_Model_Type::isAbstractType -- Test to see if this SDO_Model_Type is an abstract data type
SDO_Model_Type::isDataType -- Test to see if this SDO_Model_Type is a primitive data type
SDO_Model_Type::isInstance -- Test for an SDO_DataObject being an instance of this SDO_Model_Type
SDO_Model_Type::isOpenType -- Test to see if this type is an open type
SDO_Model_Type::isSequencedType -- Test to see if this is a sequenced type
SDO_Sequence::getProperty -- Return the property for the specified sequence index.
SDO_Sequence::insert -- Insert into a sequence
SDO_Sequence::move -- Move an item to another sequence position

Anterior | Inicio | Siguiente
SCA::getService | Subir | SDO_DAS_ChangeSummary::beginLogging


SDO XML Data Access Service Functions

Manual de PHP
Anterior Siguiente

CXLII. SDO XML Data Access Service Functions

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

In order to use the XML Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO.

The job of the XML DAS is to move data between the application and an XML data source, which can be either a file or a URL. SDOs are always created and maintained according to a model which defines type names and what property names each type may have. For data which is from XML, this SDO model is built from a schema file written in XML schema language (an xsd file). This schema file is usually passed to the create method when the XMLDAS is initialised. The SDO 2.0 specification defines the mapping between XML types and SDO types. There are a number of small limitations in the PHP support - not everything which is in the specification can be done - and these limitations are summarised in a later section.

Requisitos

The SDO XML Data Access Service requires PHP 5.1.0 or higher. It is packaged with the SDO extension and requires SDO to have been installed. See the SDO installation instructions for the details of how to do this.

Instalación

The XML Data Access Service is packaged and installed as part of the SDO extension. Please Refer SDO installation instructions.

Ejemplos

Several of the following examples are based on the letter example described in the SDO documentation. The examples assume the XML Schema for the letter is contained in a file letter.xsd and the letter instance is in the file letter.xml. These two files are reproduced here:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

Ejemplo 1. Loading, altering, and saving an XML document

The following example shows how an XML document can be loaded from a file, altered, and written back.

<?php
/**
 * Load, update, and save an XML document
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $root_data_object = $document->getRootDataObject();
   $root_data_object->date = "September 03, 2004";
   $root_data_object->firstName = "Anantoju";
   $root_data_object->lastName = "Madhu";
   $xmldas->saveFile($document, "letter-out.xml");
   echo "New file has been written:\n";
   print file_get_contents("letter-out.xml");
} catch (SDO_Exception $e) {
   print($e->getMessage());
}
?>

An instance of the XML DAS is first obtained from the SDO_DAS_XML::create() method, which is a static method of the SDO_DAS_XML class. The location of the xsd is passed as a parameter. Once we have an instance of the XML DAS initialised with a given schema, we can use it to load the instance document using the loadFile() method. There is also a loadString() method if you want to load an XML instance document from a string. If the instance document loads successfully, you will be returned an object of type SDO_DAS_XML_Document, on which you can call the getRootDataObject() method to get the SDO data object which is the root of the SDO data graph. You can then use SDO operations to change the graph. In this example we alter the date, firstName, and lastName properties. Then we use the saveFile() method to write the changed document back to the file system. The saveFile method has an optional extra integer argument which if specified will cause the XML DAS to format the XML, using the integer as the amount to indent by at each change in level on the document.

This will write the following to letter-out.xml.

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <date>September 03, 2004</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Anantoju</firstName>
  <lastName>Madhu</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</FormLetter>

Ejemplo 2. Creating a new XML document

The previous example loaded the document from a file. This example shows how to create an SDO data graph in memory. In this example it is then saved to an XML string. Furthermore, because the letter contains both structured and unstructured content, it uses the Sequence API as well assignments to properties to construct the data graph.

<?php
/**
 * Create an XML document from scratch
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   try {
       $doc = $xmldas->createDocument();
       $rdo = $doc->getRootDataObject();
       $seq = $rdo->getSequence();
       $seq->insert("April 09, 2005", NULL, 'date');
       $seq->insert("Acme Inc. ", NULL, NULL);
       $seq->insert("United Kingdom. ");
       $seq->insert("Dear", NULL, NULL);
       $seq->insert("Tarun", NULL, "firstName");
       $seq->insert("Nayaraaa", NULL, "lastName");
       $rdo->lastName = "Nayar";
       $seq->insert("Please note that your order number ");
       $seq->insert(12345);
       $seq->insert(" has been dispatched today. Thanks for your business with us.");
       print($xmldas->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problem creating an XML document: " . $e->getMessage());
}
?>

The createDocument() method on the XML DAS returns a document object with a single root data object corresponding to an empty document element. The element name of the document element is known from the schema file. If there is any ambiguity about what the document element is, as there can be when more than one schema has been loaded into the same XML DAS, the element name and the namespace URI can be passed to the createDocument() method.

This will emit the following output (line breaks have been inserted for readability):

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>April 09, 2005</date>
Acme Inc. United Kingdom.
Dear
<firstName>Tarun</firstName>
<lastName>Nayar</lastName>
Please note that your order number 12345 has been
dispatched today. Thanks for your business with us.
</FormLetter>

Ejemplo 3. Setting XML document properties

This third example shows you how to set the XML version and encoding on the document object. These will be used when the XML is written out. If no XML declaration is wanted at all (perhaps you want to generate the XML as a string to embed in something) then you can use the setXMLDeclaration() method to suppress it.

<?php
/**
 * Illustrate the calls that control the XML declaration
 */
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $document->setXMLVersion("1.1");
   $document->setEncoding("ISO-8859-1");
   print($xmldas->saveString($document));
?>

The XML version and encoding are set in the XML declaration at the top of the XML document.

<?xml version="1.1" encoding="ISO-8859-1"?>
.../...

Ejemplo 4. Using an open type

This fourth example illustrates the use of an SDO open type and the use of the createDataObject() method. For this example we use the following two schema:

<schema
  xmlns="http://www.w3.org/2001/XMLSchema">

  <element name="jungle">
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </complexType>
  </element>

</schema>

Note the presence of the any element in the definition. This first schema defines the jungle complex type as containing a sequence of any other type. The other types that the example will use are defined in a second schema file:

<schema xmlns= "http://www.w3.org/2001/XMLSchema">

   <complexType name="snakeType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "length" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="bearType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "weight" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="pantherType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "colour" type="string" />
     </sequence>
   </complexType>

</schema>

Here is the example PHP code that uses these two schema files:

<?php

/**
 * Illustrate open types and the use of the addTypes() method
 */

$xmldas = SDO_DAS_XML::create();
$xmldas->addTypes("jungle.xsd"); // this is an open type i.e. the xsd specifies it can contain "any" type
$xmldas->addTypes('animalTypes.xsd');

$baloo             = $xmldas->createDataObject('','bearType');
$baloo->name     = "Baloo";
$baloo->weight     = 800;

$bagheera         = $xmldas->createDataObject('','pantherType');
$bagheera->name = "Bagheera";
$bagheera->colour = 'inky black';

$kaa             = $xmldas->createDataObject('','snakeType');
$kaa->name         = "Kaa";
$kaa->length     = 25;

$document         = $xmldas->createDocument();
$do             = $document->getRootDataObject();
$do->bear         = $baloo;
$do->panther     = $bagheera;
$do->snake         = $kaa;

print($xmldas->saveString($document,2));

?>

These two schema files are loaded into the XML DAS with first the create() and addTypes() methods. The createDataObject() method is used to create three separate data objects. In each case the namespaceURI and typename of the type are passed to the createDataObject() method: in this example the namespace URI is blank because no namespace is used in the schema. Once the three data objects - representing a bear, a panther and a snake - have been created, a document object is created with the createDocument() method. In this case there is no ambiguity about what the document element of the document should be - as the second schema file only defines complex types, the document element can only be the global jungle element defined in the first schema. This document will have a single root data object corresponding to an empty document element jungle. As this is an open type, properties can be added at will. When the first assignment is made to $do->bear, a property bear is added to the root data object: likewise for the next two assignments. When the document is written out by the saveString() method, the resulting document is:

<?xml version="1.0" encoding="UTF-8"?>
<jungle xsi:type="jungle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <bear xsi:type="bearType">
    <name>Baloo</name>
    <weight>800</weight>
  </bear>
  <panther xsi:type="pantherType">
    <name>Bagheera</name>
    <colour>inky black</colour>
  </panther>
  <snake xsi:type="snakeType">
    <name>Kaa</name>
    <length>25</length>
  </snake>
</jungle>

Ejemplo 5. Finding out what you can from the document

This example is intended to illustrate how you can find the element name and namespace of the document element from the XML Document object, and the SDO type and namespace from the root data object of the XML data object, and how they relate to one another. This can be difficult to understand because there are four method calls: two can be made against the Document object, and two that can be made against any data object including the root data object. Because of the rules that define how the SDO model is derived from the XML model, when the data object concerned is the root object that represents the document object for the document, only three possible values can come back from these four method calls.

The two method calls that can be made against the document are getRootElementName() and getRootEelementURI(). These return the element name and namespace of the document element, respectively.

The two method calls that can be made against any data object are getTypeName() and getTypeNamespaceURI(). These return the SDO type name and type namespace of the data object, respectively.

Always, calling getRootElementURI() on the document object will return the same value as calling getNamespaceURI() on the root data object. Essentially, the information is all derived from the first few lines of the schema file, where there are three distinct pieces of information. For illustration, here again are the first few lines of the letter.xsd that we used above.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:letter="http://letterSchema"
            targetNamespace="http://letterSchema">

  <xsd:element name="letters" type="letter:FormLetter"/>

  <xsd:complexType name="FormLetter" mixed="true">
    .../...

The three important values are:

  • letters, the name of the document element

  • FormLetter, the name of the complex type of the document element. This is also the name of the SDO type of the root data object.

  • http://letterSchema, the namespace to which the document element belongs. This is also the namespaceURI of the SDO type of the root data object.

It is part of the XML-SDO mapping rules that when the SDO model is built from the schema file, the typename and namespaceURI of the SDO types for the root element are taken from those of the complex type of the document element, where it exists. Hence in this example the typename of the root data object is FormLetter. In the event that there is no separate complex type definition for the document element, when the the type is defined inline and is anonymous, the SDO type name will be the same as the element name.

The following program loads the letter document and checks the return values from each of the four calls.

<?php
/**
 * Finding out what you can about the document and document element
 * This can be quite hard to understand because there are four calls
 * Two calls are made against the document
 * Two calls are made against the root data object and its model
 * Because of the SDO-XML mapping rules and how the SDO model is derived
 * from the XML model, only three possible values can come back from these four calls.
 * Always, $document->getRootElementURI() == (type of root data object)->namespaceURI
 * Essentially, it all comes form the first few lines of the xsd:
 * <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 *   xmlns:letter="http://letterSchema"
 *   targetNamespace="http://letterSchema">
 *   <xsd:element name="letters" type="letter:FormLetter"/>
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
$document = $xmldas->loadFile("letter.xml");
$root_do = $document->getRootDataObject();

/**
 * The "root element name" is the element name of the document element
 * in this case 'letters'
 * This matches the 'name' attribute of the document element in the xsd and matches
 * the element name from the xml
 */
echo "The document element name is " . $document->getRootElementName() . "\n";
assert($document->getRootElementName() == 'letters'); // a property of the document

/**
 * The "root element URI" is the namespace part of the element name of the document element
 * in this case 'http://letterSchema' since 'letters' is in that namespace
 * This is taken from the xsd and matches the namespace picked up from the xml
 */
echo "The document element is in the namespace " . $document->getRootElementURI() . "\n";
assert($document->getRootElementURI() == 'http://letterSchema'); // a property of the document

/**
 * The type name is taken from the SDO model
 * The XML-SDO mapping rules make this either:
 *   The name of the complexType if there is one (in this case there is)
 *   The document element name if there no complexType
 * This is taken from the xsd
 */
echo "The type name of the root data object is " . $root_do->getTypeName() . "\n";
assert($root_do->getTypeName() == 'FormLetter');

/**
 * The type's namespaceURI is taken from the SDO model
 * The XML-SDO mapping rules ensure that this will always be the same as
 * the namepace URI of the document element
 */
echo "The namespaceURI of the root data object is " . $root_do->getTypeNamespaceURI() . "\n";
assert($root_do->getTypeNamespaceURI() == 'http://letterSchema');

?>

The output from this program is as follows:

The document element name is letters
The document element is in the namespace http://letterSchema
The type name of the root data object is FormLetter
The namespaceURI of the root data object is http://letterSchema

Ejemplo 6. Printing the SDO model

The XML DAS provides a simple means to see what types and properties have been loaded. The php "print" or "echo" instruction will print out the types and properties.

<?php
/**
 * Illustrate printing out the model
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
print $xmldas;

?>

The output from this program is as follows:

object(SDO_XML_DAS)#1 {
18 types have been defined. The types and their properties are::
1. commonj.sdo:BigDecimal
2. commonj.sdo:BigInteger
3. commonj.sdo:Boolean
4. commonj.sdo:Byte
5. commonj.sdo:Bytes
6. commonj.sdo:ChangeSummary
7. commonj.sdo:Character
8. commonj.sdo:DataObject
9. commonj.sdo:Date
10. commonj.sdo:Double
11. commonj.sdo:Float
12. commonj.sdo:Integer
13. commonj.sdo:Long
14. commonj.sdo:Short
15. commonj.sdo:String
16. commonj.sdo:URI
17. http://letterSchema:FormLetter
    - date (commonj.sdo:String)
    - firstName (commonj.sdo:String)
    - lastName (commonj.sdo:String)
18. http://letterSchema:RootType
    - letters (http://letterSchema:FormLetter)

Clases predefinidas

The XML DAS provides two main classes. The first is SDO_DAS_XML which is the main class used to fetch the data from the XML source and used to write the data back. The second is the SDO_DAS_XML_Document class, which represents the data in the XML document.

There are also some exception classes which can be thrown if errors are found when looking for or parsing the xsd or xml files.

SDO_DAS_XML

This is the main class of the XML DAS, which is used fetch the data from the xml source and also used to write the data back. Other than the methods to load and save xml files,

Métodos

  • create This is a static method available in the SDO_DAS_XML class. Used to construct an SDO_DAS_XML object.

  • addTypes Works in much the same way as create() but used to add the contents of a second or subsequent schema file to an XML DAS that has already been created.

  • createDataObject Can be used to construct an SDO data object of a given type.

  • createDocument Can be used to construct an XML Document object from scratch.

  • loadFile Loads the xml instance document from a file. This file can be at local file system or it can be on a remote host.

  • loadString same as the above method. Loads the xml instance which is available as string.

  • saveFile save SDO_DAS_XML_Document object as a xml file.

  • saveString save SDO_DAS_XML_Document object as a xml string.

SDO_DAS_XML_Document

This class can be used to get to the name and namespace of the document element, and to get to the root data object of the document. Lastly, it can also be used to set the XML version and encoding of a document on output.

Métodos

  • getRootDataObject gets the root DataObject.

  • getRootElementName gets the root DataObject's name.

  • getRootElementURI gets the root DataObject's URI.

  • setEncoding sets the encoding string with the given value.

  • setXMLDeclaraion to set/unset the xml declaration.

  • setXMLVersion sets the xml version with the given value.

SDO_DAS_XML_ParserException

Is a subclass of SDO_Exception. Thrown for any parser errors while loading the xsd/xml file.

SDO_DAS_XML_FileException

Is a subclass of SDO_Exception. Thrown by any of the methods that load data from a file, when the file cannot be found.

Limitations compared with SDO 2.0 specification

The SDO 2.0 specification defines the mapping between XML types and SDO types. With Java SDO, this mapping is implemented by the XMLHelper. With SDO for PHP, this mapping is implemented by the XML Data Access Service. The XML DAS implements the mapping described in the SDO 2.0 specification with some restrictions. A detailed list is of the limitations is:

XML Simple Types

  1. Simple Type with sdoJava:instanceClass - no PHP equivalent provided.

  2. Simple Type with sdoJava:extendedInstanceClass - no PHP equivalent provided.

  3. Simple Type with list of itemType.

  4. Simple Type with union.

XML Complex Types

  1. Complex Type with sdo:aliasName - no PHP support for SDO Type aliases.

XSD Attribute

  1. Attribute with sdo:aliasName - no PHP support for SDO property aliases.

  2. Attribute with default value - no PHP support for SDO property defaults.

  3. Attribute with fixed value - no PHP support for SDO read-only properties or default values.

  4. Attribute referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="...".

  5. Attribute with bi-directional property to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

XSD Elements

  1. Element with sdo:aliasName - no PHP support for SDO property aliases.

  2. Element with substitution group.

XSD Elements with Simple Type

  1. Element of SimpleType with default - no PHP support for SDO defaults

  2. Element of SimpleType with fixed value - no PHP support for SDO read-only properties or default values.

  3. Element of SimpleType with sdo:string - no support for sdo:string="true".

  4. Element referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="..."

  5. Element with bi-directional reference to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

Tabla de contenidos
SDO_DAS_XML_Document::getRootDataObject -- Returns the root SDO_DataObject
SDO_DAS_XML_Document::getRootElementName -- Returns root element's name
SDO_DAS_XML_Document::getRootElementURI -- Returns root element's URI string
SDO_DAS_XML_Document::setEncoding -- Sets the given string as encoding
SDO_DAS_XML_Document::setXMLDeclaration -- Sets the xml declaration
SDO_DAS_XML_Document::setXMLVersion -- Sets the given string as xml version
SDO_DAS_XML::addTypes -- To load a second or subsequent schema file to a SDO_DAS_XML object
SDO_DAS_XML::create -- To create SDO_DAS_XML object for a given schema file
SDO_DAS_XML::createDataObject -- Creates SDO_DataObject for a given namespace URI and type name
SDO_DAS_XML::createDocument -- Creates an XML Document object from scratch, without the need to load a document from a file or string.
SDO_DAS_XML::loadFile -- Returns SDO_DAS_XML_Document object for a given path to xml instance document
SDO_DAS_XML::loadString -- Returns SDO_DAS_XML_Document for a given xml instance string
SDO_DAS_XML::saveFile -- Saves the SDO_DAS_XML_Document object to a file
SDO_DAS_XML::saveString -- Saves the SDO_DAS_XML_Document object to a string

Anterior | Inicio | Siguiente
SDO_Sequence::move | Subir | SDO_DAS_XML_Document::getRootDataObject


SDO Relational Data Access Service Functions

Manual de PHP
Anterior Siguiente

CXLIII. SDO Relational Data Access Service Functions

Introducción

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

In order to use the Relational Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, the disconnected way of working, the change summary, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO. In addition, the Relational DAS makes use of the PDO extension to isolate itself from specifics of different back-end relational databases. In order to use the Relational DAS you will need to be able to create and pass a PDO database connection; for this reason you might also want to take a look at the section on PDO.

The job of the Relational DAS is to move data between the application and a relational database. In order to do this it needs to be told the mapping between the database entities - tables, columns, primary keys and foreign keys - and the elements of the SDO model - types, properties, containment relationships and so on. You specify this information as metadata when you construct the Relational DAS.

Overview of Operation

  1. The first step is to call the Relational DAS's constructor, passing the metadata that defines the mapping between database and SDO model. There are examples of this below.

  2. The next step might be to call the executeQuery() or executePreparedQuery() methods on the Relational DAS, passing either a literal SQL statement for the DAS to prepare and execute, or a prepared statement with placeholders and a list of values to be inserted. You may also need to specify a small amount of metadata about the query itself, so that the Relational DAS knows exactly what columns will be returned from the database and in what order. You will also need to pass a PDO database connection.

    The return value from executeQuery() or executePreparedQuery() is a normalised data graph containing all the data from the result set. For a query that returns data obtained from a number of tables, this graph will contain a number of data objects, linked by SDO containment relationships. There may also be SDO non-containment references within the data.

    Once the query has been executed and the data graph constructed, there is no need for either that instance of the the Relational DAS or the database connection. There are no locks held on the database. Both the Relational DAS and the PDO database connection can be garbage collected.

  3. Quite possibly the data in the data graph will go through a number of modifications. The data graph can be serialised into the PHP session and so may have a lifetime beyond just one client-server interaction. Data objects can be created and added to the graph, the data objects already in the graph can be deleted, and data objects in the graph can be modified.

  4. Finally, the changes made to the data graph can be applied back to the database using the applyChanges() method of the Relational DAS. For this, another instance of the Relational DAS must be constructed, using the same metadata, and another connection to the database obtained. The connection and the data graph are passed to applyChanges(). At this point the Relational DAS examines the change summary and generates the necessary INSERT, UPDATE and DELETE SQL statements to apply the changes. Any UPDATE and DELETE statements are qualified with the original values of the data so that should the data have changed in the database in the meantime this will be detected. Assuming no such collisions have occurred the changes will be committed to the database. The application can then continue to work with the data graph, make more changes and apply them, or can discard it.

There are other ways of working with the data in the database: it is possible to just create data objects and write them to the database without a preliminary call to executeQuery(), for example. This scenario and others are explored in the Examples section below.

Instalación

The installation instructions for all the SDO components are in the SDO install section of the SDO documentation.

In any case, the essential facts are that the Relational DAS is written in PHP and it should be placed somewhere on the PHP include_path .

Your application will of course need to include the Relational DAS with a statement like this:

<?php
require_once 'SDO/DAS/Relational.php';
?>

Requisitos

The Relational DAS requires that the SDO extension be installed. The SDO extension requires a version of PHP 5.1, and the Relational DAS requires a recent version that contains an important fix for PDO. The most up-to-date information about required levels of PHP should be found in the changelog for the package on PECL. At the time of writing, though, the Relational DAS requires the most recent beta level of PHP 5.1, that is PHP 5.1.0.

The Relational DAS uses PDO to access the relational database, and so should run with a variety of different relational databases. At the time of writing it has been tested in the following configurations

  • MySQL 4.1.14, on Windows. The Relational DAS operates correctly with the php_pdo_mysql driver that comes with the pre-built binaries for PHP 5.1.0.

  • MySQL 4.1.13, on Linux. It is necessary to have the most up-to-date PDO driver for MySQL, which comes built in to PHP 5.1.0. It may be necessary to uninstall the usual driver that would have come from PECL using pear uninstall pdo_mysql . You will need to configure PHP with the --with-pdo-mysql option.

  • DB2 8.2 Personal Edition, on Windows. The Relational DAS operates correctly with the php_pdo_odbc driver that comes with the pre-built binaries for PHP 5.1.0.

  • DB2 8.2 Personal Developer's Edition, on Linux. The Developer's Edition is needed because it contains the include files needed when PHP is configured and built. You will need to configure PHP with the --with-pdo-odbc=ibm-db2 option.

The Relational DAS applies changes to the database within a user-delimited transaction: that is, it issues a call to PDO::beginTransaction() before beginning to apply changes, and PDO::commit() or PDO::rollback() on completion. Whichever database is chosen, the database and the PDO driver for the database must support these calls.

Limitations

There are the following limitations in the current release of the Relational DAS:

  • No support for nulls. There is no support for SQL NULL type. It is not legal to assign PHP NULL to a data object property and the Relational DAS will not write that back as a NULL to the database. If nulls are found in the database on a query, the property will remain unset.

  • Only two types of SDO relationship. The metadata described below allows the Relational DAS to model just two types of SDO relationship: multi-valued containment relationships and single-valued non-containment references. In SDO, whether a property describes a single- or multi-valued relationship, and whether it is containment or non-containment, are independent. The full range of possibilities that SDO allows cannot all be defined. There may be relationships that it would be useful to model but which the current implementation cannot manage. One example is a single-valued containment relationship.

  • No support for the full range of SDO data types. The Relational DAS defines all primitive properties in the SDO model as being of type string. SDO defines a richer set of types containing various integer, float, boolean and data and time types. String is adequate for the purposes of the Relational DAS since the combination of PHP, PDO and the database will ensure that values passed as strings will be converted to the proper type before being put in the database. This does affect some scenarios in which the Relational DAS has to work with a data graph that has come from or will go to a different DAS.

  • Only one foreign key per table. The metadata only provides the means to specify one foreign key per table. This foreign key may be mapped to one of the two types of SDO relationship supported. Obviously there are some scenarios that cannot be described under this limitation - it is not possible to have two non-containment references from one table to another for example.

Ejemplos

This section illustrates how the Relational DAS can be used to create, retrieve, update and delete data in a relational database. Many of the examples are illustrated with a three-table database that contains companies, departments within those companies, and employees that work in those departments. This example is used in a number of places within the SDO literature. See the examples section of the Service Data Objects specification or the Examples section of the documentation for the SDO extension.

The Relational DAS is constructed with metadata that defines the relational database and how it should be mapped to SDO. The long section that follows describes this metadata and how to construct the Relational DAS. The examples that follow it all assume that this metadata is in an included php file.

The examples below and others can all be found in the Scenarios directory in the Relational DAS package.

The Relational DAS throws exceptions in the event that it finds errors in the metadata or errors when executing SQL statements against the database. For brevity the examples below all omit the use of try/catch blocks around the calls to the Relational DAS.

These examples all differ from the expected use of SDO in two important respects.

First, they show all interactions with the database completed within one script. In this respect these scenarios are not realistic but are chosen to illustrate just the use of the Relational DAS. It is expected that interactions with the database will be separated in time and the data graph serialised and deserialised into the PHP session one or more times as the application interacts with an end user.

Second, all queries executed against the database use hard-coded queries with no variables substituted. In this case it is safe to use the simple executeQuery() call, and this is what the examples illustrate. In practice, though, it is unlikely that the SQL statement is known entirely ahead of time. In order to allow variables to be safely substituted into the SQL queries, without running the risk of injecting SQL with unknown effects, it is safer to use the executePreparedQuery() which takes a prepared SQL statement containing placeholders and a list of values to be substituted.

Specifying the metadata

This first long section describes in detail how the metadata describing the database and the required SDO model is supplied to the Relational DAS.

When the constructor for the Relational DAS is invoked, it needs to be passed several pieces of information. The bulk of the information, passed as an associative array in the first argument to the constructor, tells the Relational DAS what it needs to know about the relational database. It describes the names of the tables, columns, primary keys and foreign keys. It should be fairly easy to understand what is required, and once written it can be placed in a php file and included when needed. The remainder of the information, passed in the second and third arguments to the constructor, tells the Relational DAS what it needs to know about the relationships between objects and the shape of the data graph; it ultimately determines how the data from the database is to be normalised into a graph.

Database metadata

The first argument to the constructor describes the target relational database.

Each table is described by an associative array with up to four keys.

Key | Value
name | The name of the table.
columns | An array listing the names of the columns, in any order.
PK | The name of the column containing the primary key.
FK | An array with two entries, 'from' and 'to', which define a column containing a foreign key, and a table to which the foreign key points. If there are no foreign keys in the table then the 'FK' entry does not need to be specified. Only one foreign key can be specified. Only a foreign key pointing to the primary key of a table can be specified.

<?php
/*****************************************************************
* METADATA DEFINING THE DATABASE
******************************************************************/
$company_table = array (
    'name' => 'company',
    'columns' => array('id', 'name',  'employee_of_the_month'),
    'PK' => 'id',
    'FK' => array (
        'from' => 'employee_of_the_month',
        'to' => 'employee',
        ),
    );
$department_table = array (
    'name' => 'department',
    'columns' => array('id', 'name', 'location', 'number', 'co_id'),
    'PK' => 'id',
    'FK' => array (
        'from' => 'co_id',
        'to' => 'company',
        )
    );
$employee_table = array (
    'name' => 'employee',
    'columns' => array('id', 'name', 'SN', 'manager', 'dept_id'),
    'PK' => 'id',
    'FK' => array (
        'from' => 'dept_id',
        'to' => 'department',
        )
    );
$database_metadata = array($company_table, $department_table, $employee_table);
?>

This metadata corresponds to a relational database that might have been defined to MySQL as:

create table company (
   id integer auto_increment,
   name char(20),
   employee_of_the_month integer,
   primary key(id)
 );
 create table department (
   id integer auto_increment,
   name char(20),
   location char(10),
   number integer(3),
   co_id integer,
   primary key(id)
 );
 create table employee (
   id integer auto_increment,
   name char(20),
   SN char(4),
   manager tinyint(1),
   dept_id integer,
   primary key(id)
 );

or to DB2 as:

create table company ( \
    id integer not null generated by default as identity,  \
    name varchar(20), \
    employee_of_the_month integer, \
    primary key(id) )
create table department ( \
    id integer not null generated by default as identity, \
    name varchar(20), \
    location varchar(10), \
    number integer, \
    co_id integer, \
    primary key(id) )
create table employee ( \
    id integer not null generated by default as identity, \
    name varchar(20), \
    SN char(4), \
    manager smallint, \
    dept_id integer, \
    primary key(id) )

Note that although in this example there are no foreign keys specified to the database and so the database is not expected to enforce referential integrity, the intention behind the co_id column on the department table and the dept_id column on the employee table is they should contain the primary key of their containing company or department record, respectively. So these two columns are acting as foreign keys.

There is a third foreign key in this example, that from the employee_of_the_month column of the company record to a single row of the employee table. Note the difference in intent between this foreign key and the other two. The employee_of_the_month column represents a single-valued relationship: there can be only one employee of the month for a given company. The co_id and dept_id columns represent multi-valued relationships: a company can contain many departments and a department can contain many employees. This distinction will become evident when the remainder of the metadata picks out the company-department and department-employee relationships as containment relationships.

There are a few simple rules to be followed when constructing the database metadata:

  • All tables must have primary keys, and the primary keys must be specified in the metadata. Without primary keys it is not possible to keep track of object identities. As you can see from the SQL statements that create the tables, primary keys can be auto-generated, that is, generated and assigned by the database when a record is inserted. In this case the auto-generated primary key is obtained from the database and inserted into the data object immediately after the row is inserted into the database.

  • It is not necessary to specify in the metadata all the columns that exist in the database, only those that will be used. For example, if the company table had another column that the application did not want to access with SDO, this need not be specified in the metadata. On the other hand it would have done no harm to specify it: if specified in the metadata but never retrieved, or assigned to by the application, then the unused column will not affect anything.

  • In the database metadata note that the foreign key definitions identify not the destination column in the table which is pointed to, but the table name itself. Strictly, the relational model permits the destination of a foreign key to be a non-primary key. Only foreign keys that point to a primary key are useful for constructing the SDO model, so the metadata specifies the table name. It is understood that the foreign key points to the primary key of the given table.

Given these rules, and given the SQL statements that define the database, the database metadata should be easy to construct.

What the Relational DAS does with the metadata

The Relational DAS uses the database metadata to form most of the SDO model. For each table in the database metadata, an SDO type is defined. Each column which can represent a primitive value (columns which are not defined as foreign keys) are added as properties to the SDO type.

All primitive properties are given a type of string in the SDO model, regardless of their SQL type. When writing values back to the database the Relational DAS will create SQL statements that treat the values as strings, and the database will convert them to the appropriate type.

Foreign keys are interpreted in one of two ways, depending on the metadata in the third argument to the constructor that defines the SDO containment relationships. A discussion of this is therefore deferred until the section on SDO containment relationships below.

Specifying the application root type

The second argument to the constructor is the application root type. The true root of each data graph is an object of a special root type and all application data objects come somewhere below that. Of the various application types in the SDO model, one has to be the application type immediately below the root of the data graph. If there is only one table in the database metadata, the application root type can be inferred, and this argument can be omitted.

Specifying the SDO containment relationships

The third argument to the constructor defines how the types in the model are to be linked together to form a graph. It identifies the parent-child relationships between the types which collectively form a graph. The relationships need to be supported by foreign keys to be found in the data, in a way shortly to be described.

The metadata is an array containing one or more associative arrays, each of which identifies a parent and a child. The example below shows a parent-child relationship from company to department, and another from department to employee. Each of these will become an SDO property defining a multi-valued containment relationship in the SDO model.

<?php
$department_containment = array( 'parent' => 'company', 'child' => 'department');
$employee_containment = array( 'parent' => 'department', 'child' => 'employee');

$SDO_containment_metadata = array($department_containment, $employee_containment);
?>

Foreign keys in the database metadata are interpreted as properties with either multi-valued containment relationships or single-valued non-containment references, depending on whether they have a corresponding SDO containment relationship specified in the metadata. In the example here, the foreign keys from department to company (the co_id column in the department table) and from employee to department (the dept_id column in the employee table) are interpreted as supporting the SDO containment relationships. Each containment relationship mentioned in the SDO containment relationships metadata must have a corresponding foreign key present in the database and defined in the database metadata. The values of the foreign key columns for containment relationships do not appear in the data objects, instead each is represented by a containment relationship from the parent to the child. So the co_id column in the department row in the database, for example, does not appear as a property on the department type, but instead as a containment relationship called department on the company type. Note that the foreign key and the parent-child relationship appear to have opposite senses: the foreign key points from the department to the company, but the parent-child relationship points from company to department.

The third foreign key in this example, the employee_of_the_month , is handled differently. This is not mentioned in the SDO containment relationships metadata. As a consequence this is interpreted in the second way: it becomes a single-valued non-containment reference on the company object, to which can be assigned references to SDO data objects of the employee type. It does appear as a property on the company type. The way to assign a value to it in the SDO data graph is to have a graph that contains an employee object through the containment relationships, and to assign the object to it. This is illustrated in the later examples below.

One-table examples

The following set of examples all use the Relational DAS to work with a data graph containing just one application data object, a single company and the data just to be found the company table. These examples do not exercise the power of SDO or the Relational DAS and of course the same result could be achieved more economically with direct SQL statements but they are intended to illustrate how to work with the Relational DAS.

For this very simple scenario it would be possible to simplify the database metadata to include just the company table - if that were done the second and third arguments to the constructor and the column specifier used in the query example would become optional.

Ejemplo 1. Creating a data object

The simplest example is that of creating a single data object and writing it to the database. In this example a single company object is created, its name is set to 'Acme', and the Relational DAS is called to write the changes to the database. The company name is set here using the property name method. See the Examples section on the SDO extension for other ways of accessing the properties of an object.

Data objects can only be created when you have a data object to start with, however. It is for that reason that the first call to the Relational DAS here is to obtain a root object. This is in effect how to ask for an empty data graph - the special root object is the true root of the tree. The company data object is then created with a call to createDataObject() on the root object. This creates the company data object and inserts it in the graph by inserting into a multi-valued containment property on the root object called 'company'.

When the Relational DAS is called to apply the changes a simple insert statement 'INSERT INTO company (name) VALUES ("Acme");' will be constructed and executed. The auto-generated primary key will be set into the data object and the change summary will be reset, so that it would be possible to continue working with the same data object, modify it, and apply the newer changes a second time.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Obtain a root object and create a company object underneath.
 * Make a simple change to the data object.
 ***************************************************************/
$root = $das  -> createRootDataObject();
$acme = $root -> createDataObject('company');

$acme->name = "Acme";

/**************************************************************
 * Get a database connection and write the object to the database
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das -> applyChanges($dbh, $root);
?>

Ejemplo 2. Retrieving a data object

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

In this example the third argument to executeQuery(), the column specifier is needed as there are other tables in the metadata with column names of name and id. If there were no possible ambiguity it could be omitted.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 ***************************************************************/
$root = $das->executeQuery($dbh,
           'select name, id from company where name="Acme"',
            array('company.name', 'company.id') );

/**************************************************************
 * Echo name and id
 ***************************************************************/
foreach ($root['company'] as $company) {
    echo "Company obtained from the database has name = " .
    $company['name'] . " and id " . $company['id'] . "\n";
}
?>

Ejemplo 3. Updating a data object

This example combines the previous two, in the sense that in order to be updated the object must first be retrieved. The application code reverses the company name (so 'Acme' becomes 'emcA') and then the changes are written back to the database in the same way that they were when the object was created. Because the query searches for the name both ways round the program can be run repeatedly to find the company and reverse its name each time.

In this example the same instance of the Relational DAS is reused for the applyChanges(), as is the PDO database handle. This is quite alright; it also alright to allow the previous instances to be garbage collected and to obtain new instances. No state data regarding the graph is held the Relational DAS once it has returned a data graph to the application. All necessary data is either within the graph itself, or can be reconstructed from the metadata.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 ***************************************************************/
$root = $das->executeQuery($dbh,
    'select name, id from company where name="Acme" or name="emcA"',
    array('company.name', 'company.id') );

/**************************************************************
 * Alter the name of just the first company
 ***************************************************************/
$company = $root['company'][0];
echo "obtained a company with name of " . $company->name . "\n";
$company->name = strrev($company->name);

/**************************************************************
 * Write the change back
 ***************************************************************/
$das->applyChanges($dbh,$root);
?>

Ejemplo 4. Deleting a data object

Any companies called 'Acme' or its reverse 'emcA' are retrieved. They are then all deleted from the graph with unset.

In this example they are all deleted in one go by unsetting the containing property (the property defining the containment relationship). It is also possible to delete them individually.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 ***************************************************************/
$root = $das->executeQuery($dbh,
    'select name, id from company where name="Acme" or name="emcA"',
    array('company.name', 'company.id') );

/**************************************************************
 * Delete any companies found from the data graph
 ***************************************************************/
unset($root['company']);

/**************************************************************
 * Write the change(s) back
 ***************************************************************/
$das->applyChanges($dbh,$root);
?>

Two-table examples

The following set of examples all use two tables from the company database: the company and department tables. These examples exercise more of the function of the Relational DAS.

In this series of examples a company and department are created, retrieved, updated, and finally deleted. This illustrates the lifecycle for a data graph containing more than one object. Note that this example clears out the company and department tables at the start so that the exact results of the queries can be known.

You can find these examples combined into one script called 1cd-CRUD in the Scenarios directory in the Relational DAS package.

Ejemplo 5. One company, one department - Create

As in the earlier example of creating just one company data object, the first action after constructing the Relational DAS is to call createRootDataObject() to obtain the special root object of the otherwise empty data graph. The company object is then created as a child of the root object, and the department object as a child of the company object.

When it comes to applying the changes, the Relational DAS has to perform special processing to maintain the foreign keys that support the containment relationships, especially if auto-generated primary keys are involved. In this example, the relationship between the auto-generated primary key id in the company table and the co_id column in the department table must be maintained. When inserting a company and department for the first time the Relational DAS has to first insert the company row, then call PDO's getLastInsertId() method to obtain the auto-generated primary key, then add that as the value of the co_id column when inserting the department row.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the two tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();

/**************************************************************
* Create a company with name Acme and one department, the Shoe department
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das -> createRootDataObject();

$acme = $root -> createDataObject('company');
$acme -> name = "Acme";

$shoe = $acme->createDataObject('department');
$shoe->name = 'Shoe';

$das -> applyChanges($dbh, $root);

?>

Ejemplo 6. One company, one department - Retrieve and Update

In this case the SQL query passed to executeQuery() performs an inner join to join the data from the company and department tables. Primary keys for both the company and department tables must be included in the query. The result set is re-normalised to form a normalised data graph. Note that a column specifier is passed as the third argument to the executeQuery() call enabling the Relational DAS to know which column is which in the result set.

Note that the co_id column although used in the query is not needed in the result set. In order to understand what the Relational DAS is doing when it builds the data graph it may be helpful to visualise what the result set looks like. Although the data in the database is normalised, so that multiple department rows can point through their foreign key to one company row, the data in the result set is non-normalised: that is, if there is one company and multiple departments, the values for the company are repeated in each row. The Relational DAS has to reverse this process and turn the result set back into a normalised data graph, with just one company object.

In this example the Relational DAS will examine the result set and column specifier, find data for both the company and department tables, find primary keys for both, and interpret each row as containing data for a department and its parent company. If it has not seen data for that company before (it uses the primary key to check) it creates a company object and then a department object underneath it. If it has seen data for that company before and has already created the company object it just creates the department object underneath.

In this way the Relational DAS can retrieve and renormalise data for multiple companies and multiple departments underneath them.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Retrieve the company and Shoe department, then delete Shoe and add IT
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];            // get the first company - will be 'Acme'
$shoe = $acme['department'][0];         // get the first department underneath - will be 'Shoe'

unset($acme['department'][0]);

$it = $acme->createDataObject('department');
$it->name = 'IT';

$das -> applyChanges($dbh, $root);
?>

Ejemplo 7. One company, two departments - Retrieve and Delete

In this example the company and department are retrieved and then deleted. It is not necessary to delete them individually (although that would be possible) - deleting the company object from the data graph also deletes any departments underneath it.

Note the way that the company object is actually deleted using the PHP unset call. The unset has to be performed on the containing property which in this case is the company property on the special root object. You must use:

<?php
unset($root['company'][0]);
?>
and not:
<?php
unset($acme); //WRONG
?>
Simply unsetting $acme would destroy the variable but leave the data in the data graph untouched.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Retrieve the company and IT department, then delete the whole company
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];
$it = $acme['department'][0];

unset($root['company'][0]);

$das -> applyChanges($dbh, $root);

?>

Three-table example

The following examples use all three tables from the company database: the company, department, and employee tables. These introduce the final piece of function not exercised by the examples above: the non-containment reference employee_of_the_month.

Like the examples above for company and department, this set of examples is intended to illustrate the full lifecycle of such a data graph.

Ejemplo 8. One company, one department, one employee - Create

In this example a company is created containing one department and just one employee. Note that this example clears out all three tables at the start so that the exact results of the queries can be known.

Note how once the company, department and employee have been created, the employee_of_the_month property of the company can be made to point at the new employee. As this is a non-containment reference, this cannot be done until the employee object has been created within the graph. Non-containment references need to be managed carefully. For example if the employee were now deleted from under the department, it would not be correct to try to save the graph without first clearing or re-assigning the employee_of_the_month property. The closure rule for SDO data graphs requires that any object pointed at by a non-containment reference must also be reachable by containment relationships.

When it comes to inserting the graph into the database, the procedure is similar to the example of inserting the company and department, but employee_of_the_month introduces an extra complexity. The Relational DAS needs to insert the objects working down the tree formed by containment relationships, so company, then department, then employee. This is necessary so that it always has the auto-generated primary key of a parent on hand to include in a child row. But when the company row is inserted the employee who is employee of the month has not yet been inserted and the primary key is not known. The procedure is that after the employee record is inserted and its primary key known, a final step is performed in which the the company record is updated with the employee's primary key.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the three tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM EMPLOYEE;');
$rows_affected = $pdo_stmt->execute();

/*************************************************************************************
* Create a tiny but complete company.
* The company name is Acme.
* There is one department, Shoe.
* There is one employee, Sue.
* The employee of the month is Sue.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root             = $das  -> createRootDataObject();
$acme             = $root -> createDataObject('company');
$acme -> name     = "Acme";
$shoe             = $acme -> createDataObject('department');
$shoe -> name     = 'Shoe';
$shoe -> location = 'A-block';
$sue             = $shoe -> createDataObject('employee');
$sue -> name     = 'Sue';
$acme -> employee_of_the_month = $sue;

$das -> applyChanges($dbh, $root);

echo "Wrote back Acme with one department and one employee\n";
?>

Ejemplo 9. One company, one department, one employee - Retrieve and update

The SQL statement passed to the Relational DAS is this time an inner join that retrieves data from all three tables. Otherwise this example introduces nothing that has not appeared in a previous example.

The graph is updated by the addition of a new department and employee and some alterations to the name properties of the existing objects in the graph. The combined changes are then written back. The Relational DAS will process and apply an arbitrary mixture of additions, modifications and deletions to and from the data graph.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
 * Find the company again and change various aspects.
 * Change the name of the company, department and employee.
 * Add a second department and a new employee.
 * Change the employee of the month.
 *************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
    "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
    "from company c, department d, employee e " .
    "where e.dept_id = d.id and d.co_id = c.id and c.name='Acme'",
     array('company.id','company.name','company.employee_of_the_month',
     'department.id','department.name','employee.id','employee.name'));
$acme     = $root['company'][0];

$shoe    = $acme->department[0];
$sue    = $shoe -> employee[0];

$it     = $acme->createDataObject('department');
$it->name = 'IT';
$it->location = 'G-block';
$billy     = $it->createDataObject('employee');
$billy->name = 'Billy';

$acme->name = 'MegaCorp';
$shoe->name = 'Footwear';
$sue->name = 'Susan';

$acme->employee_of_the_month = $billy;
$das -> applyChanges($dbh, $root);
echo "Wrote back company with extra department and employee and all the names changed (Megacorp/Footwear/Susan)\n";

?>

Ejemplo 10. One company, two departments, two employees - Retrieve and delete

The company is retrieved as a complete data graph containing five data objects - the company, two departments and two employees. They are all deleted by deleting the company object. Deleting an object from the graph deletes all the object beneath it in the graph. Five SQL DELETE statements will be generated and executed. As always they will be qualified with a WHERE clause that contains all of the fields that were retrieved, so that any updates to the data in the database in the meantime by another process will be detected.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
 * Now read it one more time and delete it.
 * You can delete part, apply the changes, then carry on working with the same graph but
 * care is needed to keep closure - you cannot delete the employee who is eotm without
 * reassigning. For safety here we delete the company all in one go.
 *************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
    "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
    "from company c, department d, employee e " .
    "where e.dept_id = d.id and d.co_id = c.id and c.name='MegaCorp';",
     array('company.id','company.name','company.employee_of_the_month',
     'department.id','department.name','employee.id','employee.name'));
$megacorp = $root['company'][0];

unset($root['company']);
$das -> applyChanges($dbh, $root);

echo "Deleted the company, departments and employees all in one go.\n";

?>

Tracing

You may be interested in seeing the SQL statements that are generated in order to apply changes back to the database. At the top of the SDO/DAS/Relational.php you will find a number of constants which control whether the process of constructing and executing the SQL statements is to be traced. Try setting DEBUG_EXECUTE_PLAN to TRUE to see the generated SQL statements.

Clases predefinidas

The Relational DAS provides two classes: the Relational DAS itself and the subclass of Exception that can be thrown. The Relational DAS has four publicly useful calls: the constructor, the createRootDataObject() call to obtain the root object of an empty data graph, the executeQuery() call to obtain a data graph containing data from a relational database, and the applyChanges() call to write changes made to a data graph back to the relational database.

SDO_DAS_Relational

The only object other than an SDO_DAS_Relational_Exception with which the application is expected to interact.

Métodos

  • __construct - construct the Relational DAS with a model derived from the passed metadata

  • createRootDataObject - obtain an otherwise empty data graph containing just the special root object

  • executeQuery - execute an SQL query passed as a literal string and return the results as a normalised data graph

  • executePreparedQuery - execute an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph

  • applyChanges - examine the change summary in the data graph and apply those changes back to the database, subject to an assumption of optimistic concurrency

SDO_DAS_Relational_Exception

Is a subclass of PHP's Exception. It adds no behaviour to Exception. Thrown, with useful descriptive text, to signal errors in the metadata or unexpected failures to perform SQL operations.

Tabla de contenidos
SDO_DAS_Relational::applyChanges -- Applies the changes made to a data graph back to the database.
SDO_DAS_Relational::__construct -- Creates an instance of a Relational Data Access Service
SDO_DAS_Relational::createRootDataObject -- Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
SDO_DAS_Relational::executePreparedQuery -- Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
SDO_DAS_Relational::executeQuery -- Executes a given SQL query against a relational database and returns the results as a normalised data graph.

Anterior | Inicio | Siguiente
SDO_DAS_XML::saveString | Subir | SDO_DAS_Relational::applyChanges


PostgreSQL Session Save Handler

Manual de PHP
Anterior Siguiente

CXLVI. PostgreSQL Session Save Handler

Introducción

Nota: Esta extensión no está disponible en plataformas Windows

This module provides an additional session save handler for the session module using PostgreSQL as a storage system. A user-level session storage function may also be used - session_set_save_handler(), but this module is written in C and therefore could be twice as fast, compared to a session save handler written in PHP.

Session PgSQL is designed to scale any size of web sites and offers some advanced features:

session tables are created automatically
automatic session table vacuum
better garbage collection
multiple PostgreSQL servers support
automatic database server failover (switching)
automatic database server load balancing if there are multiple PostgreSQL servers.
short circuit UPDATE

Requisitos

You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database server. libpq that comes with PostgreSQL 7.2.0 or later (and header files to build) and libmm (and header files).

Instalación

Short installation note:

  • Untar the tar.gz archive into php4/ext (Latest official releases can be found at SourceForge PHP Form Extension Project)

  • If the new directory is now called something like session_pgsql. You should name it to session_pgsql (except you only want to build it as self-contained php-module).

  • Run ./buildconf in php4

  • Run configure --with-session-pgsql (and your other options)

  • make; make install

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

PostgreSQL session save handler is still under development. Refer to the README file in the source distribution for configuration details.

Table definitions

Session table definition

CREATE TABLE php_session (
  sess_id            text,
  sess_name          text,
  sess_data          text,
  sess_created       integer,
  sess_modified      integer,
  sess_expire        integer,
  sess_addr_created  text,
  sess_addr_modified text,
  sess_counter       integer,
  sess_error         integer,
  sess_warning       integer,
  sess_notice        integer,
  sess_err_message   text,
  sess_custom        text
);

CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);

Aviso

If you use HASH for INDEX, you'll have a deadlock problem when the server load is very high. Even if it's unlikely to have a deadlock under normal operation, it can occur. Do not use HASH for INDEX.

You may change the session table as long as all fields are defined.

Application variables table definition

CREATE TABLE php_app_vars (
  app_modified       integer,
  app_name           text,
  app_vars           text
);

Contact Information

I have at the moment not very much time to further develop this extension. I will implement more and more features in the near future.

If you have comments, bug fixes, enhancements or want to help developing this, you can drop me a mail at yohgaki@php.net. Any help is very welcome.

Tabla de contenidos
session_pgsql_add_error -- Increments error counts and sets last error message
session_pgsql_get_error -- Returns number of errors and last error message
session_pgsql_get_field -- Get custom field value
session_pgsql_reset -- Reset connection to session database servers
session_pgsql_set_field -- Set custom field value
session_pgsql_status -- Get current save handler status

Anterior | Inicio | Siguiente
sesam_settransaction | Subir | session_pgsql_add_error


Secure Shell2 Functions

Manual de PHP
Anterior Siguiente

CLVI. Secure Shell2 Functions

Introducción

Bindings to the libssh2 library which provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport.

Instalación

Windows binaries may be found at http://snaps.php.net/. To install, download php_ssh2.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_ssh2.dll to your php.ini and restarting your web server.

extension_dir=c:/php5/exts/
extension=php_ssh2.dll

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Download and install OpenSSL. If you install OpenSSL via your distribution's packaging system be sure to install the development libraries as well. This will typically be a package named openssl-dev, openssl_devel, or some variation thereof.

  • Download and install libssh2. Typically this means executing the following command from the libssh2 source tree. ./configure && make all install.

  • Run the pear installer for PECL/ssh2: pear install ssh2

  • Copy ssh2.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.

  • Add extension=ssh2.so to your php.ini

  • Restart your web server to reload your php.ini settings.

Development Versions: There are currently no stable versions of PECL/ssh2, to force installation of the beta version of PECL/ssh2 execute: pear install ssh2-beta

Compiling PECL/ssh2 without using the PEAR command: Rather than using pear install ssh2 to automatically download and install PECL/ssh2, you may download the tarball from PECL. From the root of the unpacked tarball, run: phpize && ./configure --with-ssh2 && make to generate ssh2.so. Once built, continue the installation from step 4 above.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/ssh2.

Nota: You will need version 0.4 or greater of the libssh2 library (possibly higher, see release notes).

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

SSH2_FINGERPRINT_MD5 (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.

SSH2_FINGERPRINT_SHA1 (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.

SSH2_FINGERPRINT_HEX (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.

SSH2_FINGERPRINT_RAW (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.

SSH2_TERM_UNIT_CHARS (integer)

Flag to ssh2_shell() specifying that width and height are provided as character sizes.

SSH2_TERM_UNIT_PIXELS (integer)

Flag to ssh2_shell() specifying that width and height are provided in pixel units.

SSH2_DEFAULT_TERM_WIDTH (integer)

Default terminal width requested by ssh2_shell().

SSH2_DEFAULT_TERM_HEIGHT (integer)

Default terminal height requested by ssh2_shell().

SSH2_DEFAULT_TERM_UNIT (integer)

Default terminal units requested by ssh2_shell().

SSH2_STREAM_STDIO (integer)

Flag to ssh2_fetch_stream() requesting STDIO subchannel.

SSH2_STREAM_STDERR (integer)

Flag to ssh2_fetch_stream() requesting STDERR subchannel.

SSH2_DEFAULT_TERMINAL (string)

Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell().

Tabla de contenidos
ssh2_auth_hostbased_file -- Authenticate using a public hostkey
ssh2_auth_none -- Authenticate as "none"
ssh2_auth_password -- Authenticate over SSH using a plain password
ssh2_auth_pubkey_file -- Authenticate using a public key
ssh2_connect -- Connect to an SSH server
ssh2_exec -- Execute a command on a remote server
ssh2_fetch_stream -- Fetch an extended data stream
ssh2_fingerprint -- Retreive fingerprint of remote server
ssh2_methods_negotiated -- Return list of negotiated methods
ssh2_publickey_add -- Add an authorized publickey
ssh2_publickey_init -- Initialize Publickey subsystem
ssh2_publickey_list -- List currently authorized publickeys
ssh2_publickey_remove -- Remove an authorized publickey
ssh2_scp_recv -- Request a file via SCP
ssh2_scp_send -- Send a file via SCP
ssh2_sftp_lstat -- Stat a symbolic link
ssh2_sftp_mkdir -- Create a directory
ssh2_sftp_readlink -- Return the target of a symbolic link
ssh2_sftp_realpath -- Resolve the realpath of a provided path string
ssh2_sftp_rename -- Rename a remote file
ssh2_sftp_rmdir -- Remove a directory
ssh2_sftp_stat -- Stat a file on a remote filesystem
ssh2_sftp_symlink -- Create a symlink
ssh2_sftp_unlink -- Delete a file
ssh2_sftp -- Initialize SFTP subsystem
ssh2_shell -- Request an interactive shell
ssh2_tunnel -- Open a tunnel through a remote server

Anterior | Inicio | Siguiente
PDO->sqliteCreateFunction() | Subir | ssh2_auth_hostbased_file


Statistics Functions

Manual de PHP
Anterior Siguiente

CLVII. Statistics Functions

Introducción

This is the statistics extension. It contains few dozens of functions useful for statistical computations. It is a wrapper around 2 scientific libraries, namely DCDFLIB (Library of C routines for Cumulative Distributions Functions, Inverses, and Other parameters) by B. Brown & J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. Includes CD and PD functions.

Instalación

Esta extension PECL no esta ligada a PHP.

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/stats.

Podeis descargar esta DLL de las extensiones PECL desde la pagina PHP Downloads o desde http://snaps.php.net/.

Requisitos

No external libraries are needed. The extension comes bundled with the libraries used.

Tabla de contenidos
stats_absolute_deviation -- Returns the absolute deviation of an array of values
stats_cdf_beta -- CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
stats_cdf_binomial -- Calculates any one parameter of the binomial distribution given values for the others.
stats_cdf_cauchy -- Not documented
stats_cdf_chisquare -- Calculates any one parameter of the chi-square distribution given values for the others.
stats_cdf_exponential -- Not documented
stats_cdf_f -- Calculates any one parameter of the F distribution given values for the others.
stats_cdf_gamma -- Calculates any one parameter of the gamma distribution given values for the others.
stats_cdf_laplace -- Not documented
stats_cdf_logistic -- Not documented
stats_cdf_negative_binomial -- Calculates any one parameter of the negative binomial distribution given values for the others.
stats_cdf_noncentral_chisquare -- Calculates any one parameter of the non-central chi-square distribution given values for the others.
stats_cdf_noncentral_f -- Calculates any one parameter of the Non-central F distribution given values for the others.
stats_cdf_poisson -- Calculates any one parameter of the Poisson distribution given values for the others.
stats_cdf_t -- Calculates any one parameter of the T distribution given values for the others.
stats_cdf_uniform -- Not documented
stats_cdf_weibull -- Not documented
stats_covariance -- Computes the covariance of two data sets
stats_den_uniform -- Not documented
stats_dens_beta -- Not documented
stats_dens_cauchy -- Not documented
stats_dens_chisquare -- Not documented
stats_dens_exponential -- Not documented
stats_dens_f --
stats_dens_gamma -- Not documented
stats_dens_laplace -- Not documented
stats_dens_logistic -- Not documented
stats_dens_negative_binomial -- Not documented
stats_dens_normal -- Not documented
stats_dens_pmf_binomial -- Not documented
stats_dens_pmf_hypergeometric --
stats_dens_pmf_poisson -- Not documented
stats_dens_t -- Not documented
stats_dens_weibull -- Not documented
stats_harmonic_mean -- Returns the harmonic mean of an array of values
stats_kurtosis -- Computes the kurtosis of the data in the array
stats_rand_gen_beta -- Generates beta random deviate
stats_rand_gen_chisquare -- Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
stats_rand_gen_exponential -- Generates a single random deviate from an exponential distribution with mean "av"
stats_rand_gen_f -- Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates
stats_rand_gen_funiform -- Generates uniform float between low (exclusive) and high (exclusive)
stats_rand_gen_gamma -- Generates random deviates from a gamma distribution
stats_rand_gen_ibinomial_negative -- Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
stats_rand_gen_ibinomial -- Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
stats_rand_gen_int -- Generates random integer between 1 and 2147483562
stats_rand_gen_ipoisson -- Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
stats_rand_gen_iuniform -- Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
stats_rand_gen_noncenral_chisquare -- Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
stats_rand_gen_noncentral_f -- Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
stats_rand_gen_noncentral_t -- Generates a single random deviate from a noncentral T distribution
stats_rand_gen_normal -- Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
stats_rand_gen_t -- Generates a single random deviate from a T distribution
stats_rand_get_seeds -- Not documented
stats_rand_phrase_to_seeds -- generate two seeds for the RGN random number generator
stats_rand_ranf -- Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
stats_rand_setall -- Not documented
stats_skew -- Computes the skewness of the data in the array
stats_standard_deviation -- Returns the standard deviation
stats_stat_binomial_coef -- Not documented
stats_stat_correlation -- Not documented
stats_stat_gennch -- Not documented
stats_stat_independent_t -- Not documented
stats_stat_innerproduct --
stats_stat_noncentral_t -- Calculates any one parameter of the noncentral t distribution give values for the others.
stats_stat_paired_t -- Not documented
stats_stat_percentile -- Not documented
stats_stat_powersum -- Not documented
stats_variance -- Returns the population variance

Anterior | Inicio | Siguiente
ssh2_tunnel | Subir | stats_absolute_deviation


Swish Functions

Manual de PHP
Anterior Siguiente

CLXI. Swish Functions

Introducción

The swish extension provides the bindings for Swish-e API. Swish-e stands for "Simple Web Indexing System for Humans - Enhanced" and is an open source system for indexing and search. Swish-e itself is licensed under GPL license, but uses a clause that allows applications to link against the library if every copy of the combined work is accompanied by the URL to Swish-e source code. Here it is: http://swish-e.org.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Requisitos

PECL/swish requires PHP 5.1.3 or newer.

Instalación

Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: http://pecl.php.net/package/swish.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Ejemplos

Ejemplo 1. Basic search query

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test OR text");

    echo "Found ", $results->hits, " results\n";
    while ($result = $results->nextResult()) {
        var_dump($result);
        break; //break after the first result
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

El resultado del ejemplo seria algo similar a:

Found 9 results
object(SwishResult)#3 (8) {
  ["swishreccount"]=>
  int(1)
  ["swishrank"]=>
  int(1000)
  ["swishfilenum"]=>
  int(10)
  ["swishdbfile"]=>
  string(13) "index.swish-e"
  ["swishdocpath"]=>
  string(23) "README.SUBMITTING_PATCH"
  ["swishtitle"]=>
  NULL
  ["swishdocsize"]=>
  int(4557)
  ["swishlastmodified"]=>
  int(1072136752)
}

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Swish::META_TYPE_UNDEF (integer)

Swish::META_TYPE_STRING (integer)

Swish::META_TYPE_ULONG (integer)

Swish::META_TYPE_DATE (integer)

Swish::IN_FILE_BIT (integer)

Swish::IN_TITLE_BIT (integer)

Swish::IN_HEAD_BIT (integer)

Swish::IN_BODY_BIT (integer)

Swish::IN_COMMENTS_BIT (integer)

Swish::IN_HEADER_BIT (integer)

Swish::IN_EMPHASIZED_BIT (integer)

Swish::IN_META_BIT (integer)

Swish::IN_FILE (integer)

Swish::IN_TITLE (integer)

Swish::IN_HEAD (integer)

Swish::IN_BODY (integer)

Swish::IN_COMMENTS (integer)

Swish::IN_HEADER (integer)

Swish::IN_EMPHASIZED (integer)

Swish::IN_META (integer)

Swish::IN_ALL (integer)

Clases predefinidas

Clases predefinidas

Swish

Propiedades

  • indexes - the array of indexes used and their properties. Certain list of properties depends on Swish-e version.

Métodos

  • Swish::__construct - constructs new Swish object. Throws SwishException on error.

  • Swish->prepare - prepares and returns SwishSearch object. Throws SwishException on error.

  • Swish->query - executes the query and returns SwishResults object. Throws SwishException on error.

  • Swish->getMetaList - returns an array of meta entries for the given index file.

  • Swish->getPropertyList - returns an array of properties for the given index file.

SwishSearch

Métodos

  • SwishSearch->setStructure - sets the structure flag in the search object. This flag is used to limit search to certain parts of HTML documents.

  • SwishSearch->setPhraseDelimiter - sets the phrase delimiter character. The default delimiter is double-quotes.

  • SwishSearch->setSort - sets the sort order of the results.

  • SwishSearch->setLimit - sets the limits for the search. Throws SwishException on error.

  • SwishSearch->resetLimit - resets the limits.

  • SwishSearch->execute - executes the query and returns SwishResults object. Throws SwishException on error.

SwishResults

Propiedades

  • hits - the number of results in this SwishResults object.

  • indexes - the array of indexes used in the search.

Métodos

  • SwishResults->nextResult - returns next SwishResult object or FALSE if no more results are available.

  • SwishResults->seekResult - sets the current seek position in the SwishResults object. Throws SwishException on error.

  • SwishResults->getParsedWords - returns an array of words in the query with stopwords removed.

  • SwishResults->getRemovedStopwords - returns an array of removed stopwords.

SwishResult

Propiedades

  • Properties list depends on Swish-e version, see examples.

Métodos

  • SwishResult->getMetaList - returns an array of meta entries for the index used in this result.

  • SwishResult->stem - stems the word and returns result as an array of strings. Throws SwishException on error.

SwishException

SwishException extends the build in Exception class and possesses the same set of properties and methods. See la sección de nombre Extendiendo excepciones en Capítulo 20 for more details.

Tabla de contenidos
Swish::__construct -- Construct a Swish object
Swish->getMetaList -- Get the list of meta entries for the index
Swish->getPropertyList -- Get the list of properties for the index
Swish->prepare -- Prepare a search query
Swish->query -- Execute a query and return results object
SwishResult->getMetaList -- Get a list of meta entries
SwishResult->stem -- Stems the given word
SwishResults->getParsedWords -- Get an array of parsed words
SwishResults->getRemovedStopwords -- Get an array of stopwords removed from the query
SwishResults->nextResult -- Get the next search result
SwishResults->seekResult -- Set current seek pointer to the given position
SwishSearch->execute -- Execute the search and get the results
SwishSearch->resetLimit -- Reset the search limits
SwishSearch->setLimit -- Set the search limits
SwishSearch->setPhraseDelimiter -- Set the phrase delimiter
SwishSearch->setSort -- Set the sort order
SwishSearch->setStructure -- Set the structure flag in the search object

Anterior | Inicio | Siguiente
swf_viewport | Subir | Swish::__construct


Unicode Functions

Manual de PHP
Anterior Siguiente

CLXVI. Unicode Functions

Introducción

Unicode Support.

Aviso

This extension is still in development and it isn't available to public yet.

Requisitos

ICU 3.4 or later is required.

Instalación

First you should download and install ICU:

Ejemplo 1. install ICU on Unix

./configure --disable-threads --enable-extras --enable-icuio --enable-layout
make && make install

Then checkout latest PHP and configure it --with-icu-dir=<dir> option, where <dir> was the dir to where you installed ICU. You don't need to explicitly use this option if you install ICU to a standard location.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Unicode Configuration Options

Name | Default | Changeable | Changelog
unicode.fallback_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.from_error_mode | "2" | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.from_error_subst_char | "3f" | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.http_input_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.output_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.runtime_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.script_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.semantics | off | PHP_INI_PERDIR | Available since PHP 6.0.0.
For further details and definitions of the PHP_INI_* constants, see the Apéndice G.

A continuación se presenta una corta explicación de las directivas de configuración.

unicode.output_encoding string

Default encoding for output.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 2.

constant | value | description
U_INVALID_STOP | 0 | stop at first invalid character
U_INVALID_SKIP | 1 | skip invalid characters
U_INVALID_SUBSTITUTE | 2 | replace invalid characters
U_INVALID_ESCAPE | 3 | escape invalid characters

Tabla de contenidos
i18n_loc_get_default -- Get the default Locale
i18n_loc_set_default -- Set the default Locale
unicode_encode -- Set encoding of a unicode string
unicode_semantics -- Check whether unicode semantics is enabled

Anterior | Inicio | Siguiente
token_name | Subir | i18n_loc_get_default


win32ps Functions

Manual de PHP
Anterior Siguiente

CLXXIII. win32ps Functions

Introducción

The win32ps extension is a Windows specific extension that allows PHP retrieve statistics about process and memory utilization.

Requisitos

Windows NT, Windows 2000, Windows XP or Windows Server 2003. Any version of Windows derived from Windows NT should be compatible.

Instalación

Installing from PECL

  1. You can download php_win32ps.dll from pecl4win.php.net.

  2. Copy the php_win32ps.dll into your extension_dir.

  3. Load the extension from your php.ini

    extension=php_win32ps.dll

Ejemplos

Ejemplo 1. Statistics about the current PHP process

<?php
print_r(win32_ps_stat_proc());
/*
    Array
    (
        [pid] => 936
        [exe] => D:\Daten\Source\php-5.1\Debug_TS\php.exe
        [mem] => Array
            (
                [page_fault_count] => 2062
                [peak_working_set_size] => 8396800
                [working_set_size] => 8396800
                [quota_peak_paged_pool_usage] => 32080
                [quota_paged_pool_usage] => 31876
                [quota_peak_non_paged_pool_usage] => 4240
                [quota_non_paged_pool_usage] => 3888
                [pagefile_usage] => 5865472
                [peak_pagefile_usage] => 5865472
            )

        [tms] => Array
            (
                [created] => 0.093
                [kernel] => 0.015
                [user] => 0.062
            )

    )
*/
?>

Ejemplo 2. Statistics about global memory utilization

<?php
print_r(win32_ps_stat_mem());
/*
    Array
    (
        [load] => 37
        [unit] => 1024
        [total_phys] => 1048096
        [avail_phys] => 649960
        [total_pagefile] => 2521368
        [avail_pagefile] => 2237940
        [total_virtual] => 2097024
        [avail_virtual] => 2057848
    )
*/
?>

Tabla de contenidos
win32_ps_list_procs -- List running processes
win32_ps_stat_mem -- Stat memory utilization
win32_ps_stat_proc -- Stat process

Anterior | Inicio | Siguiente
wddx_unserialize | Subir | win32_ps_list_procs


win32service Functions

Manual de PHP
Anterior Siguiente

CLXXIV. win32service Functions

Introducción

The win32service extension is a Windows specific extension that allows PHP to communicate with the Service Control Manager to start, stop, register and unregister services, and even allows your PHP scripts to run as a service.

Requisitos

Windows NT, Windows 2000, Windows XP or Windows Server 2003. Any version of Windows derived from Windows NT should be compatible.

Instalación

Installing from PECL

  1. You can download php_win32service.dll from http://snaps.php.net/win32/. Choose the PECL_X_X folder that matches you PHP version.

  2. Copy the php_win32service.dll into your extension_dir.

  3. Load the extension from your php.ini

    extension=php_win32service.dll

Ejemplos

Ejemplo 1. Registering a PHP script to run as a service

<?php
win32_create_service(array(
        'service' => 'dummyphp',                 # the name of your service
        'display' => 'sample dummy PHP service', # description
        'params' => 'c:\path\to\script.php run', # path to the script and parameters
    ));
?>

Ejemplo 2. Unregistering a service

<?php
win32_delete_service('dummyphp');
?>

Ejemplo 3. Running as a service

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # do your work here.
    # try not to take up more than 30 seconds before going around the loop
    # again
  }
}
?>

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

WIN32_SERVICE_CONTROL_CONTINUE (integer)

WIN32_SERVICE_CONTROL_INTERROGATE (integer)

WIN32_SERVICE_CONTROL_PAUSE (integer)

WIN32_SERVICE_CONTROL_STOP (integer)

WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE (integer)

WIN32_SERVICE_CONTROL_POWEREVENT (integer)

WIN32_SERVICE_CONTROL_SESSIONCHANGE (integer)

WIN32_ERROR_CALL_NOT_IMPLEMENTED (integer)

WIN32_NO_ERROR (integer)

WIN32_SERVICE_RUNNING (integer)

WIN32_SERVICE_STOPPED (integer)

WIN32_SERVICE_STOP_PENDING (integer)

WIN32_SERVICE_WIN32_OWN_PROCESS (integer)

WIN32_SERVICE_INTERACTIVE_PROCESS (integer)

WIN32_SERVICE_STOPPED (integer)

WIN32_SERVICE_START_PENDING (integer)

WIN32_SERVICE_STOP_PENDING (integer)

WIN32_SERVICE_RUNNING (integer)

WIN32_SERVICE_CONTINUE_PENDING (integer)

WIN32_SERVICE_PAUSE_PENDING (integer)

WIN32_SERVICE_PAUSED (integer)

WIN32_SERVICE_ACCEPT_NETBINDCHANGE (integer)

WIN32_SERVICE_ACCEPT_PARAMCHANGE (integer)

WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE (integer)

WIN32_SERVICE_ACCEPT_SHUTDOWN (integer)

WIN32_SERVICE_ACCEPT_STOP (integer)

WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE (integer)

WIN32_SERVICE_ACCEPT_POWEREVENT (integer)

WIN32_SERVICE_ACCEPT_SESSIONCHANGE (integer)

WIN32_SERVICE_FILE_SYSTEM_DRIVER (integer)

WIN32_SERVICE_KERNEL_DRIVER (integer)

WIN32_SERVICE_WIN32_SHARE_PROCESS (integer)

WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS (integer)

Tabla de contenidos
win32_create_service -- Creates a new service entry in the SCM database
win32_delete_service -- Deletes a service entry from the SCM database
win32_get_last_control_message -- Returns the last control message that was sent to this service
win32_query_service_status -- Queries the status of a service
win32_set_service_status -- Update the service status
win32_start_service_ctrl_dispatcher -- Registers the script with the SCM, so that it can act as the service with the given name
win32_start_service -- Starts a service
win32_stop_service -- Stops a service

Anterior | Inicio | Siguiente
win32_ps_stat_proc | Subir | win32_create_service


XMLReader functions

Manual de PHP
Anterior Siguiente

CLXXIX. XMLReader functions

Introducción

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

Instalación

The XMLReader extension is available in PECL as of PHP 5.0.0 and is included and enabled as of PHP 5.1.0 by default. It can be enabled by adding the argument --enable-xmlreader (or --with-xmlreader before 5.1.0) to your configure line. The libxml extension is required.

Clases predefinidas

XMLReader

Métodos

  • XMLReader::close - Close the XMLReader input

  • XMLReader::expand - Export current node to a DOM node

  • XMLReader::getAttribute - Get value of attribute by name

  • XMLReader::getAttributeNo - Get value of attribute by position

  • XMLReader::getAttributeNs - Get value of attribute by name and URI

  • XMLReader::getParserProperty - Indicates if parser property is set or not

  • XMLReader::isValid - Indicates if document is valid

  • XMLReader::lookupNamespace - Get URI for prefix in scope of node

  • XMLReader::moveToAttribute - Positions reader on named attribute

  • XMLReader::moveToAttributeNo - Positions reader on attribute by index

  • XMLReader::moveToAttributeNs - Position reader on attribute by name and URI

  • XMLReader::moveToElement - Move to parent element of current attribute node

  • XMLReader::moveToFirstAttribute - Move to first attribute of node

  • XMLReader::moveToNextAttribute - Move to next attribute of node

  • XMLReader::next - Move to next element skipping children

  • XMLReader::open - Set URI to be parsed

  • XMLReader::read - Move to next node in stream

  • XMLReader::setParserProperty - Set parser property

  • XMLReader::setRelaxNGSchema - Set URI of RelaxNG schema to validate against

  • XMLReader::setRelaxNGSchemaSource - Set string containing RelaxNG schema to validate against

  • XMLReader::XML - Set string of data to be parsed

Propiedades

Tabla 1.

Name | Type | Read-only | Description
attributeCount | int | yes | The number of attributes on the node
baseURI | string | yes | The base URI of the node
depth | int | yes | Depth of the node in the tree starting at 0
hasAttributes | bool | yes | Indicates if node has attributes
hasValue | bool | yes | Indicates if node has a text value
isDefault | bool | yes | Indicates if attribute is defaulted from DTD
isEmptyElement | bool | yes | Indicates if node is an empty element tag
localName | string | yes | The local name of the node
name | string | yes | The qualified name of the node
namespaceURI | string | yes | The URI of the namespace associated with the node
nodeType | int | yes | The node type for the node
prefix | string | yes | The prefix of the namespace associated with the node
value | string | yes | The text value of the node
xmlLang | string | yes | The xml:lang scope which the node resides

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Aviso

XMLReader uses class constants since PHP 5.1. Prior releases use global constants in the form XMLREADER_ELEMENT.

Tabla 2. XMLReader Node Types

Constant | Value | Description
XMLReader::NONE (integer) | 0 | No node type
XMLReader::ELEMENT (integer) | 1 | Start element
XMLReader::ATTRIBUTE (integer) | 2 | Attribute node
XMLReader::TEXT (integer) | 3 | Text node
XMLReader::CDATA (integer) | 4 | CDATA node
XMLReader::ENTITY_REF (integer) | 5 | Entity Reference node
XMLReader::ENTITY (integer) | 6 | Entity Declaration node
XMLReader::PI (integer) | 7 | Processing Instruction node
XMLReader::COMMENT (integer) | 8 | Comment node
XMLReader::DOC (integer) | 9 | Document node
XMLReader::DOC_TYPE (integer) | 10 | Document Type node
XMLReader::DOC_FRAGMENT (integer) | 11 | Document Fragment node
XMLReader::NOTATION (integer) | 12 | Notation node
XMLReader::WHITESPACE (integer) | 13 | Whitespace node
XMLReader::SIGNIFICANT_WHITESPACE (integer) | 14 | Significant Whitespace node
XMLReader::END_ELEMENT (integer) | 15 | End Element
XMLReader::END_ENTITY (integer) | 16 | End Entity
XMLReader::XML_DECLARATION (integer) | 17 | XML Declaration node

Tabla 3. XMLReader Parser Options

Constant | Value | Description
XMLReader::LOADDTD (integer) | 1 | Load DTD but do not validate
XMLReader::DEFAULTATTRS (integer) | 2 | Load DTD and default attributes but do not validate
XMLReader::VALIDATE (integer) | 3 | Load DTD and validate while parsing
XMLReader::SUBST_ENTITIES (integer) | 4 | Substitute entities and expand references
Tabla de contenidos
XMLReader::close -- Close the XMLReader input
XMLReader::expand -- Returns a copy of the current node as a DOM object
XMLReader::getAttribute -- Get the value of a named attribute
XMLReader::getAttributeNo -- Get the value of an attribute by index
XMLReader::getAttributeNs -- Get the value of an attribute by localname and URI
XMLReader::getParserProperty -- Indicates if specified property has been set
XMLReader::isValid -- Indicates if the parsed document is valid
XMLReader::lookupNamespace -- Lookup namespace for a prefix
XMLReader::moveToAttribute -- Move cursor to a named attribute
XMLReader::moveToAttributeNo -- Move cursor to an attribute by index
XMLReader::moveToAttributeNs -- Move cursor to a named attribute
XMLReader::moveToElement -- Position cursor on the parent Element of current Attribute
XMLReader::moveToFirstAttribute -- Position cursor on the first Attribute
XMLReader::moveToNextAttribute -- Position cursor on the next Attribute
XMLReader::next -- Move cursor to next node skipping all subtrees
XMLReader::open -- Set the URI containing the XML to parse
XMLReader::read -- Move to next node in document
XMLReader::setParserProperty -- Set or Unset parser options
XMLReader::setRelaxNGSchema -- Set the filename or URI for a RelaxNG Schema
XMLReader::setRelaxNGSchemaSource -- Set the data containing a RelaxNG Schema
XMLReader::XML -- Set the data containing the XML to parse

Anterior | Inicio | Siguiente
xmlrpc_set_type | Subir | XMLReader::close


XMLWriter Functions

Manual de PHP
Anterior Siguiente

CLXXX. XMLWriter Functions

Introducción

This is the XMLWriter extension. It wraps the libxml xmlWriter API.

This extension represents a writer that provides a non-cached, forward-only means of generating streams or files containing XML data.

This extension can be used in an object oriented style or a procedural one. Every method documented describes the alternative procedural call.

Clases predefinidas

XMLWriter

Métodos

  • XMLWriter::endAttribute - End attribute

  • XMLWriter::endCData - End current CDATA

  • XMLWriter::endComment - Create end comment

  • XMLWriter::endDocument - End current document

  • XMLWriter::endDTDAttlist - End current DTD AttList

  • XMLWriter::endDTDElement - End current DTD element

  • XMLWriter::endDTDEntity - End current DTD Entity

  • XMLWriter::endDTD - End current DTD

  • XMLWriter::endElement - End current element

  • XMLWriter::endPI - End current PI

  • XMLWriter::flush - Flush current buffer

  • XMLWriter::fullEndElement - End current element

  • XMLWriter::openMemory - Create new xmlwriter using memory for string output

  • XMLWriter::openURI - Create new xmlwriter using source uri for output

  • XMLWriter::outputMemory - Returns current buffer

  • XMLWriter::setIndentString - Set string used for indenting

  • XMLWriter::setIndent - Toggle indentation on/off

  • XMLWriter::startAttributeNS - Create start namespaced attribute

  • XMLWriter::startAttribute - Create start attribute

  • XMLWriter::startCData - Create start CDATA tag

  • XMLWriter::startComment - Create start comment

  • XMLWriter::startDocument - Create document tag

  • XMLWriter::startDTDAttlist - Create start DTD AttList

  • XMLWriter::startDTDElement - Create start DTD element

  • XMLWriter::startDTDEntity - Create start DTD Entity

  • XMLWriter::startDTD - Create start DTD tag

  • XMLWriter::startElementNS - Create start namespaced element tag

  • XMLWriter::startElement - Create start element tag

  • XMLWriter::startPI - Create start PI tag

  • XMLWriter::text - Write text

  • XMLWriter::writeAttributeNS - Write full namespaced attribute

  • XMLWriter::writeAttribute - Write full attribute

  • XMLWriter::writeCData - Write full CDATA tag

  • XMLWriter::writeComment - Write full comment tag

  • XMLWriter::writeDTDAttlist - Write full DTD AttList tag

  • XMLWriter::writeDTDElement - Write full DTD element tag

  • XMLWriter::writeDTDEntity - Write full DTD Entity tag

  • XMLWriter::writeDTD - Write full DTD tag

  • XMLWriter::writeElementNS - Write full namesapced element tag

  • XMLWriter::writeElement - Write full element tag

  • XMLWriter::writePI - Writes a PI

  • XMLWriter::writeRaw - Write a raw XML text

Tipos de recursos

There is one resource used by the procedural version of the XMLWriter extension: returned by xmlwriter_open_memory() or xmlwriter_open_uri().

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Tabla de contenidos
XMLWriter::endAttribute -- End attribute
XMLWriter::endCData -- End current CDATA
XMLWriter::endComment -- Create end comment
XMLWriter::endDocument -- End current document
XMLWriter::endDTDAttlist -- End current DTD AttList
XMLWriter::endDTDElement -- End current DTD element
XMLWriter::endDTDEntity -- End current DTD Entity
XMLWriter::endDTD -- End current DTD
XMLWriter::endElement -- End current element
XMLWriter::endPI -- End current PI
XMLWriter::flush -- Flush current buffer
XMLWriter::fullEndElement -- End current element
XMLWriter::openMemory -- Create new xmlwriter using memory for string output
XMLWriter::openURI -- Create new xmlwriter using source uri for output
XMLWriter::outputMemory -- Returns current buffer
XMLWriter::setIndentString -- Set string used for indenting
XMLWriter::setIndent -- Toggle indentation on/off
XMLWriter::startAttributeNS -- Create start namespaced attribute
XMLWriter::startAttribute -- Create start attribute
XMLWriter::startCData -- Create start CDATA tag
XMLWriter::startComment -- Create start comment
XMLWriter::startDocument -- Create document tag
XMLWriter::startDTDAttlist -- Create start DTD AttList
XMLWriter::startDTDElement -- Create start DTD element
XMLWriter::startDTDEntity -- Create start DTD Entity
XMLWriter::startDTD -- Create start DTD tag
XMLWriter::startElementNS -- Create start namespaced element tag
XMLWriter::startElement -- Create start element tag
XMLWriter::startPI -- Create start PI tag
XMLWriter::text -- Write text
XMLWriter::writeAttributeNS -- Write full namespaced attribute
XMLWriter::writeAttribute -- Write full attribute
XMLWriter::writeCData -- Write full CDATA tag
XMLWriter::writeComment -- Write full comment tag
XMLWriter::writeDTDAttlist -- Write full DTD AttList tag
XMLWriter::writeDTDElement -- Write full DTD element tag
XMLWriter::writeDTDEntity -- Write full DTD Entity tag
XMLWriter::writeDTD -- Write full DTD tag
XMLWriter::writeElementNS -- Write full namesapced element tag
XMLWriter::writeElement -- Write full element tag
XMLWriter::writePI -- Writes a PI
XMLWriter::writeRaw -- Write a raw XML text

Anterior | Inicio | Siguiente
XMLReader::XML | Subir | XMLWriter::endAttribute


Runkit_Sandbox

(no version information, might be only in CVS)

Runkit_Sandbox -- Runkit Sandbox Class -- PHP Virtual Machine

Descripción

Instantiating the Runkit_Sandbox class creates a new thread with its own scope and program stack. Using a set of options passed to the constructor, this environment may be restricted to a subset of what the primary interpreter can do and provide a safer environment for executing user supplied code.

Nota: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available with PHP 5.1 or specially patched versions of PHP 5.0 and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Constructor

void Runkit_Sandbox::__construct ( [array options] )

options is an associative array containing any combination of the special ini options listed below.

safe_mode

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode = off, then safe_mode may be turned on for the sandbox environment. This setting can not be used to disable safe_mode when it's already enabled in the outer script.

safe_mode_gid

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode_gid = on, then safe_mode_gid may be turned off for the sandbox environment. This setting can not be used to enable safe_mode_gid when it's already disabled in the outer script.

safe_mode_include_dir

If the outer script which is instantiating the Runkit_Sandbox class is configured with a safe_mode_include_dir, then a new safe_mode_include_dir may be set for sandbox environments below the currently defined value. safe_mode_include_dir may also be cleared to indicate that the bypass feature is disabled. If safe_mode_include_dir was blank in the outer script, but safe_mode was not enabled, then any arbitrary safe_mode_include_dir may be set while turning safe_mode on.

open_basedir

open_basedir may be set to any path below the current setting of open_basedir. If open_basedir is not set within the global scope, then it is assumed to be the root directory and may be set to any location.

allow_url_fopen

Like safe_mode, this setting can only be made more restrictive, in this case by setting it to FALSE when it is previously set to TRUE

disable_functions

Comma separated list of functions to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled functions, they will remain disabled whether listed here or not.

disable_classes

Comma separated list of classes to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled classes, they will remain disabled whether listed here or not.

runkit.superglobal

Comma separated list of variables to be treated as superglobals within the sandbox sub-interpreter. These variables will be used in addition to any variables defined internally or through the global runkit.superglobal setting.

runkit.internal_override

Ini option runkit.internal_override may be disabled (but not re-enabled) within sandboxes.

Ejemplo 1. Instantiating a restricted sandbox

<?php
$options = array(
  'safe_mode'=>true,
  'open_basedir'=>'/var/www/users/jdoe/',
  'allow_url_fopen'=>'false',
  'disable_functions'=>'exec,shell_exec,passthru,system',
  'disable_classes'=>'myAppClass');
$sandbox = new Runkit_Sandbox($options);
/* Non-protected ini settings may set normally */
$sandbox->ini_set('html_errors',true);
?>

Accessing Variables

All variables in the global scope of the sandbox environment are accessible as properties of the sandbox object. The first thing to note is that because of the way memory between these two threads is managed, object and resource variables can not currently be exchanged between interpreters. Additionally, all arrays are deep copied and any references will be lost. This also means that references between interpreters are not possible.

Ejemplo 2. Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();

$sandbox->foo = 'bar';
$sandbox->eval('echo "$foo\n"; $bar = $foo . "baz";');
echo "{$sandbox->bar}\n";
if (isset($sandbox->foo)) unset($sandbox->foo);
$sandbox->eval('var_dump(isset($foo));');
?>

El resultado del ejemplo seria:

bar
barbaz
bool(false)

Calling PHP Functions

Any function defined within the sandbox may be called as
a method on the sandbox object.  This also includes a few
pseudo-function language constructs:  eval(),
include(), include_once(),
require(), require_once(),
echo(), print(),
die(), and exit().

Ejemplo 3. Calling sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

El resultado del ejemplo seria:

fbc

When passing arguments to a sandbox function, the arguments are taken from the outer instance of PHP. If you wish to pass arguments from the sandbox's scope, be sure to access them as properties of the sandbox object as illustrated above.

Ejemplo 4. Passing arguments to sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

$foo = 'bar';
$sandbox->foo = 'baz';
echo $sandbox->str_replace('a',$foo,'a');
echo $sandbox->str_replace('a',$sandbox->foo,'a');
?>

El resultado del ejemplo seria:

bar
baz

Changing Sandbox Settings

As of runkit version 0.5, certain Sandbox settings may be modified on the fly using ArrayAccess syntax. Some settings, such as active are read-only and meant to provide status information. Other settings, such as output_handler may be set and read much like a normal array offset. Future settings may be write-only, however no such settings currently exist.

Tabla 1. Sandbox Settings / Status Indicators

Setting | Type | Purpose | Default
active | Boolean (Read Only) | TRUE if the Sandbox is still in a usable state, FALSE if the request is in bailout due to a call to die(), exit(), or because of a fatal error condition. | TRUE (Initial)
output_handler | Callback | When set to a valid callback, all output generated by the Sandbox instance will be processed through the named function. Sandbox output handlers follow the same calling conventions as the system-wide output handler. | None
parent_access | Boolean | May the sandbox use instances of the Runkit_Sandbox_Parent class? Must be enabled for other Runkit_Sandbox_Parent related settings to work. | FALSE
parent_read | Boolean | May the sandbox read variables in its parent's context? | FALSE
parent_write | Boolean | May the sandbox modify variables in its parent's context? | FALSE
parent_eval | Boolean | May the sandbox evaluate arbitrary code in its parent's context? DANGEROUS | FALSE
parent_include | Boolean | May the sandbox include php code files in its parent's context? DANGEROUS | FALSE
parent_echo | Boolean | May the sandbox echo data in its parent's context effectively bypassing its own output_handler? | FALSE
parent_call | Boolean | May the sandbox call functions in its parent's context? | FALSE
parent_die | Boolean | May the sandbox kill its own parent? (And thus itself) | FALSE
parent_scope | Integer | What scope will parental property access look at? 0 == Global scope, 1 == Calling scope, 2 == Scope preceeding calling scope, 3 == The scope before that, etc..., etc... | 0 (Global)
parent_scope | String | When parent_scope is set to a string value, it refers to a named array variable in the global scope. If the named variable does not exist at the time of access it will be created as an empty array. If the variable exists but it not an array, a dummy array will be created containing a reference to the named global variable. |

Anterior | Inicio | Siguiente
runkit Functions | Subir | Runkit_Sandbox_Parent


Runkit_Sandbox_Parent

(no version information, might be only in CVS)

Runkit_Sandbox_Parent -- Runkit Anti-Sandbox Class

Descripción

void Runkit_Sandbox_Parent::__construct ( void )

Instantiating the Runkit_Sandbox_Parent class from within a sandbox environment created from the Runkit_Sandbox class provides some (controlled) means for a sandbox child to access its parent.

Nota: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available with PHP 5.1 or specially patched versions of PHP 5.0 and requires that thread safety be enabled. See the README file included in the runkit package for more information.

In order for any of the Runkit_Sandbox_Parent features to function. Support must be enabled on a per-sandbox basis by enabling the parent_access flag from the parent's context.

Ejemplo 1. Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Accessing the Parent's Variables

Just as with sandbox variable access, a sandbox parent's variables may be read from and written to as properties of the Runkit_Sandbox_Parent class. Read access to parental variables may be enabled with the parent_read setting (in addition to the base parent_access setting). Write access, in turn, is enabled through the parent_write setting.

Unlike sandbox child variable access, the variable scope is not limited to globals only. By setting the parent_scope setting to an appropriate integer value, other scopes in the active call stack may be inspected instead. A value of 0 (Default) will direct variable access at the global scope. 1 will point variable access at whatever variable scope was active at the time the current block of sandbox code was executed. Higher values progress back through the functions that called the functions that led to the sandbox executing code that tried to access its own parent's variables.

Ejemplo 2. Accessing parental variables

<?php
$php = new Runkit_Sandbox();
$php['parent_access'] = true;
$php['parent_read'] = true;

$test = "Global";

$php->eval('$PARENT = new Runkit_Sandbox_Parent;');

$php['parent_scope'] = 0;
one();

$php['parent_scope'] = 1;
one();

$php['parent_scope'] = 2;
one();

$php['parent_scope'] = 3;
one();

$php['parent_scope'] = 4;
one();

$php['parent_scope'] = 5;
one();

function one() {
    $test = "one()";
    two();
}

function two() {
    $test = "two()";
    three();
}

function three() {
    $test = "three()";
    $GLOBALS['php']->eval('var_dump($PARENT->test);');
}
?>

El resultado del ejemplo seria:

string(6) "Global"
string(7) "three()"
string(5) "two()"
string(5) "one()"
string(6) "Global"
string(6) "Global"

Calling the Parent's Functions

Just as with sandbox access, a sandbox may access its parents functions providing that the proper settings have been enabled. Enabling parent_call will allow the sandbox to call all functions available to the parent scope. Language constructs are each controlled by their own setting: print() and echo() are enabled with parent_echo. die() and exit() are enabled with parent_die. eval() is enabled with parent_eval while include(), include_once(), require(), and require_once() are enabled through parent_include.

Anterior | Inicio | Siguiente
Runkit_Sandbox | Subir | runkit_class_adopt


Referencia de la API Común de Secuencias

Tabla de contenidos
php_stream_stat_path -- Obtiene el status de un archivo o URL
php_stream_stat -- Obtiene el status del almacenamiento interno asociado con una secuencia
php_stream_open_wrapper -- Abre una secuencia sobre un archivo o URL
php_stream_read -- Leer un número de bytes desde una secuencia a un búfer
php_stream_write -- Escribir un númedo de bytes desde un búfer a una secuencia
php_stream_eof -- Chequear por una condición de fin-de-archivo en una secuencia
php_stream_getc -- Leer un byte único desde una secuencia
php_stream_gets -- Leer una línea de datos desde una secuencia a un búfer
php_stream_close -- Cerrar una secuencia
php_stream_flush -- Volcar los búferes de secuencia a la unidad de almacenamiento
php_stream_seek -- Reubicar una secuencia
php_stream_tell -- Determinar la posición de una secuencia
php_stream_copy_to_stream -- Copiar datos de una secuencia a otra
php_stream_copy_to_mem -- Copiar datos de una secuencia en un búfer reservado
php_stream_make_seekable -- Convertir una secuencia a una secuencia reubicable
php_stream_cast -- Convertir una secuencia a otra forma, como un FILE* o un socket
php_stream_can_cast -- Determina si una secuencia puede ser convertida en otra forma, como un FILE* o un socket
php_stream_is_persistent -- Determina si una secuencia es persistente
php_stream_is -- Determina si una secuencia es de un tipo particular
php_stream_passthru -- Imprime todos los datos restantes de una secuencia
php_register_url_stream_wrapper -- Registra una envoltura con la API de Secuencias
php_unregister_url_stream_wrapper -- Retira el registro de una envoltura de la API de Secuencias
php_stream_open_wrapper_ex -- Abre una secuencia sobre un archivo o URL, especificando el contexto
php_stream_open_wrapper_as_file -- Abre una secuencia sobre un archivo o URL, y lo convierte a FILE*
php_stream_filter_register_factory -- Registra una fábrica de filtros con la API de Secuencias
php_stream_filter_unregister_factory -- Retira el registro de una fábrica de filtros con la API de secuencias

Anterior | Inicio | Siguiente
Las Secuencias como Recursos | Subir | php_stream_stat_path


Opciones de apertura de secuencia

Opciones de apertura de secuencia -- Afecta la operación de las funciones de fábrica de secuencias

Descripción

Uno o más de éstos valores pueden ser combinados usando el operador OR.

IGNORE_PATH

Esta es la opción predeterminada para las secuencias; solicita que include_path no sea usado en busca del archivo requerido.

USE_PATH

Solicita que include_path sea usado en busca del archivo requerido.

IGNORE_URL

Solicita que las envolturas de URL registradas sean ignoradas cuando se abra la secuencia. Otras envolturas que no sean de URL serán tomadas en cuenta cuando se decodifique la ruta. No hay un valor opuesto para ésta bandera; la API de secuencias usa todas las envolturas registradas por defecto.

IGNORE_URL_WIN

En sistemas windows, éste es el equivalente a IGNORE_URL. En todos los otros sistemas, ésta bandera no tiene efecto alguno.

ENFORCE_SAFE_MODE

Solicita que la implementación interna de secuencia realice chequeos de safe_mode sobre el archivo antes de abrirlo. Al omitir ésta bandera se evitarán los chequeos de safe_mode y permite abrir cualquier archivo sobre el que el proceso de PHP tengo privilegios de acceso.

REPORT_ERRORS

Si ésta bandera se encuentra activa, y hubo un error durante la apertura del archivo o URL, la API de secuencias llamará la función php_error por usted. Esto es útil ya que la ruta puede contener información sobre nombres de usuario/contraseñas que no debería ser desplegada en la salida del navegador (cosa que sería un riesgo de seguridad). Cuando la API de secuencias genera un error, primero retira cualquier información de nombres de usuario/contraseñas de la ruta, haciendo que sea seguro mostrar el mensaje de error en el navegador.

STREAM_MUST_SEEK

Esta bandera es útil cuando su extensión realmente debe ser capaz de hacer búsquedas aleatorias en una secuencia. Algunas secuencias pueden no ser reubicables en su forma nativa, así que ésta bandera le pide a la API de secuencias que chequee si la secuencia soporta la reubicación. Si no lo hace, copiará la secuencia en un almacenamiento temporal (que puede tratarse de un archivo temporal o una secuencia en memoria) que sí soporte búsquedas. Por favor note que ésta bandera no es útil cuando usted quiere hacer búsquedas en la secuencia y escribir sobre ella, ya que la secuencia con la que trabaja puede no estar asociada con el recurso real que usted solicitó.

Nota: Si el recurso solicitado es basado en red, ésta bandera causará que el proceso de apertura bloquee hasta que el contenido completo haya sido descargado.

STREAM_WILL_CAST

Si su extensión usa una biblioteca externa que espera un descriptor de archivo FILE*, puede usar esta bandera para solicitar a la API de secuencias que abra el recurso pero que evite el uso de búferes. Puede usar entonces php_stream_cast() para recuperar el apuntador FILE* o descriptor de archivo que la biblioteca requiere.

Esto es particularmente útil cuando accede a URLs HTTP en donde el inicio de los datos reales de la secuencia se encuentra después de un desplazamiento indeterminado al interior de la secuencia.

Ya que esta opción deshabilita el uso de búferes en el nivel del API de secuencias, usted puede experimentar un rendimiento inferior cuando usa funciones de secuencias sobre ella; esto es considerado aceptable ya que usted le ha indicado a la API que estará usando las funciones para adaptar la implementación interna de secuencias. Use esta opción únicamente cuando esté seguro de que la necesita.

Anterior | Inicio | Siguiente
Constantes de Secuencias | Subir | PDO Driver How-To


php_register_url_stream_wrapper

php_register_url_stream_wrapper -- Registra una envoltura con la API de Secuencias

Descripción

int php_register_url_stream_wrapper ( char * protocolo, php_stream_wrapper * envoltura, TSRMLS_DC )

php_register_url_stream_wrapper() registra envoltura como el gestor para el protocolo especificado por protocolo.

Nota: Si llama esta función desde un módulo cargable, usted *DEBE* llamar php_unregister_url_stream_wrapper() en su función de cierre del módulo, o de otro modo PHP producirá un fallo.

Anterior | Inicio | Siguiente
php_stream_passthru | Subir | php_unregister_url_stream_wrapper


php_stream_can_cast

php_stream_can_cast -- Determina si una secuencia puede ser convertida en otra forma, como un FILE* o un socket

Descripción

int php_stream_can_cast ( php_stream * secuencia, int moldear_como )

Esta función es equivalente a llamar php_stream_cast() con ret definido como NULL y banderas definido como 0. Devuelve SUCCESS si la secuencia puede ser convertida a la forma solicitada, o FAILURE si la conversión no puede ser efectuada.

Nota: Aunque esta función no realizará la conversión, algún estado interno de secuencias *puede* ser modificado por esta llamada.

Nota: Usted debe comparar explícitamente el valor de retorno de ésta función con una de las constantes, tal y como se describe en php_stream_cast().

Vea también php_stream_cast() y php_stream_is().

Anterior | Inicio | Siguiente
php_stream_cast | Subir | php_stream_is_persistent


php_stream_cast

php_stream_cast -- Convertir una secuencia a otra forma, como un FILE* o un socket

Descripción

int php_stream_cast ( php_stream * secuencia, int moldear_como, void ** ret, int banderas )

php_stream_cast() intenta convertir secuencia a un recurso indicado por moldear_como. Si ret es NULL, la secuencia es consultada para conocer si tal conversión es posible, sin efectuar realmente la conversión (sin embargo, algún estado interno de secuencias *puede* ser modificado en este caso). Si banderas es definido como REPORT_ERRORS, se mostrará un mensaje de error si hay un error durante la conversión.

Nota: Esta función devuelve SUCCESS en caso de tener éxito, o FAILURE si falla. Advierta que usted debe comparar explícitamente el valor de retorno con SUCCESS o FAILURE debido a los valores internos de éstas constantes. Una simple expresión booleana no será interpretada como usted puede esperar.

Tabla 44-1. Tipos de recurso para moldear_como

Valor | Significado
PHP_STREAM_AS_STDIO | Solicita un FILE* ANSI que represente la secuencia
PHP_STREAM_AS_FD | Solicita un descriptor de archivo POSIX que represente la secuencia
PHP_STREAM_AS_SOCKETD | Solicita un descriptor de socket de red que represente la secuencia

Adicionalmente a los tipos de recurso básicos mencionados anteriormente, el proceso de conversión puede ser alterado mediante el uso de las siguientes banderas, al usar el operador OR para combinar el tipo de recurso con uno o más de los siguientes valores:

Tabla 44-2. Tipos de recurso para moldear_como

Valor | Significado
PHP_STREAM_CAST_TRY_HARD | Intenta lo mejor posible, al precio de recursos adicionales, para asegurarse de que la conversión tenga éxito
PHP_STREAM_CAST_RELEASE | Le informa a la API de secuencias que otra fuente de código (posiblemente una biblioteca de algún tercero) será responsable de cerrar el recurso/gestor interno. Esto causa que la secuencia sea cerrada de forma tal que el gestor interno es conservado y devuelto en ret. Si esta función tiene éxito, la secuencia debe ser considerada cerrada y no debe ser usada más.

Nota: Si su sistema soporta el uso de fopencookie() (sistemas con glibc 2 o versiones posteriores), la API de secuencias será capaz siempre de sintetizar un apuntador FILE* ANSI sobre cualquier secuencia. Aunque esto es tremendamente útil para pasar cualquier secuencia PHP a cualquier biblioteca de terceros, tal comportamiento no es portable. Es necesario que considere las implicaciones de portabilidad antes de distribuir su extensión. Si la síntesis fopencookie no es deseable, debe consultar a la secuencia para ver si ésta soporta FILE* de forma natural mediante el uso de php_stream_is()

Nota: Si solicita una secuencia basada en sockets para un FILE*, la API de secuencias usará fdopen() para crearlo por usted. Advierta que hacer esto puede causar la pérdida de datos que fueran puestos en búfer en la capa de secuencias si usted entremezcla las llamadas de la API de secuencias con llamadas stdio ANSI.

Vea también php_stream_is() y php_stream_can_cast().

Anterior | Inicio | Siguiente
php_stream_make_seekable | Subir | php_stream_can_cast


php_stream_close

php_stream_close -- Cerrar una secuencia

Descripción

int php_stream_close ( php_stream * secuencia )

php_stream_close() cierra de forma segura la secuencia y libera los recursos asociados con ella. Luego de que la secuencia ha sido cerrada, su valor es indefinido y no debe ser usado.

php_stream_close() devuelve 0 si la secuencia fue cerrada, o EOF para indicar un error. Independientemente del éxito de la llamada, secuencia se hace indefinida y no debe ser usada después de una llamada a esta función.

Anterior | Inicio | Siguiente
php_stream_gets | Subir | php_stream_flush


php_stream_closedir

php_stream_closedir -- Cerrar una secuencia de directorio y liberar los recursos

Descripción

int php_stream_closedir ( php_stream * secuencia_dir )

php_stream_closedir() cierra una secuencia de directorio y libera los recursos asociados con ella. Devuelve 0 de tener éxito, y -1 en caso de fallo.

Anterior | Inicio | Siguiente
php_stream_rewinddir | Subir | Referencia de API de Archivos de Secuencias


php_stream_copy_to_mem

php_stream_copy_to_mem -- Copiar datos de una secuencia en un búfer reservado

Descripción

size_t php_stream_copy_to_mem ( php_stream * fuente, char ** buf, size_t long_max, int persistente )

php_stream_copy_to_mem() reserva un búfer de long_max+1 bytes de longitud usando pemalloc() (pasando persistente). Luego lee long_max bytes desde fuente y los almacena en el búfer reservado.

El búfer reservado es devuelto en buf, y el número de bytes leídos satisfactoriamente. Usted, el origen de la llamada, es responsable de liberar el búfer, pasando éste y el parámetro persistente a pefree().

Si desea copiar todos los datos restantes de la secuencia fuente, pase la constante PHP_STREAM_COPY_ALL como el valor de long_max.

Nota: Esta función intentará copiar los datos en la manera más eficiente posible, usando archivos referenciados en memoria cuando sea posible.

Anterior | Inicio | Siguiente
php_stream_copy_to_stream | Subir | php_stream_make_seekable


php_stream_copy_to_stream

php_stream_copy_to_stream -- Copiar datos de una secuencia a otra

Descripción

size_t php_stream_copy_to_stream ( php_stream * fuente, php_stream * destino, size_t long_max )

php_stream_copy_to_stream() intenta leer hasta long_max bytes de datos desde fuente y los escribe en destino, y devuelve el número de bytes que fueron copiados satisfactoriamente.

Si desea copiar todos los datos restantes de la secuencia fuente, pase la constante PHP_STREAM_COPY_ALL como el valor de long_max.

Nota: Esta función intentará copiar los datos en la manera más eficiente posible, usando archivos referenciados en memoria cuando sea posible.

Anterior | Inicio | Siguiente
php_stream_tell | Subir | php_stream_copy_to_mem


php_stream_eof

php_stream_eof -- Chequear por una condición de fin-de-archivo en una secuencia

Descripción

int php_stream_eof ( php_stream * secuencia )

php_stream_eof() chequea por una condición de fin-de-archivo en secuencia.

php_stream_eof() devuelve 1 para indicar EOF, 0 si no hay EOF y -1 para indicar un error.

Anterior | Inicio | Siguiente
php_stream_write | Subir | php_stream_getc


php_stream_filter_register_factory

php_stream_filter_register_factory -- Registra una fábrica de filtros con la API de Secuencias

Descripción

int php_stream_filter_register_factory ( const char * patron_filtros, php_stream_filter_factory * fabrica )

Use esta función para registrar una fábrica de filtros con el nombre dado por patron_filtros. patron_filtros puede ser un nombre de cadena normal (como mi_filtro) o un patrón global (es decir, mi_clase_de_filtro.*) para permitir que un filtro único realice diferentes operaciones dependiendo del nombre exacto del filtro invocado (p.ej. mi_clase_de_filtro.foo, mi_clase_de_filtro.bar, etc...)

Nota: Los filtros registrados por una extensión cargable deben asegurarse de llamar php_stream_filter_unregister_factory() durante MSHUTDOWN.

Anterior | Inicio | Siguiente
php_stream_open_wrapper_as_file | Subir | php_stream_filter_unregister_factory


php_stream_filter_unregister_factory

php_stream_filter_unregister_factory -- Retira el registro de una fábrica de filtros con la API de secuencias

Descripción

int php_stream_filter_unregister_factory ( const char * patron_filtros )

Retira el registro de la fabrica_de_filtros especificada por el patron_filtros, de modo que no sigue estando disponible para su uso.

Nota: Los filtros registrados por una extensión cargable deben asegurarse de llamar php_stream_filter_unregister_factory() durante MSHUTDOWN.

Anterior | Inicio | Siguiente
php_stream_filter_register_factory | Subir | Referencia de API de Directorios de Secuencias


php_stream_flush

php_stream_flush -- Volcar los búferes de secuencia a la unidad de almacenamiento

Descripción

int php_stream_flush ( php_stream * secuencia )

php_stream_flush() produce que cualquier dato retenido en los búferes de escritura de la secuencia sean aplicados a la unidad de almacenamiento interna.

php_stream_flush() devuelve 0 si los búferes fueron volcados, o si los éstos no necesitaban ser volcados, y devuelve EOF para indicar un error.

Anterior | Inicio | Siguiente
php_stream_close | Subir | php_stream_seek


php_stream_fopen_from_file

php_stream_fopen_from_file -- Convertir un FILE* ANSI a una secuencia

Descripción

php_stream * php_stream_fopen_from_file ( FILE * archivo, char * modo )

php_stream_fopen_from_file() devuelve una secuencia basada en el archivo. modo debe ser el mismo modo usado para abrir archivo, o de otra forma pueden presentarse errores extraños cuando intente escribir y el modo de la secuencia sea diferente al modo sobre el archivo.

Anterior | Inicio | Siguiente
Referencia de API de Archivos de Secuencias | Subir | php_stream_fopen_tmpfile


php_stream_fopen_temporary_file

php_stream_fopen_temporary_file -- Generar un nombre de archivo temporal y abrir una secuencia sobre él

Descripción

php_stream * php_stream_fopen_temporary_file ( const char * dir, const char * pref, char ** abierto )

php_stream_fopen_temporary_file() genera un nombre de archivo temporal en el directorio especificado por dir y con el prefijo pref. El nombre de archivo generado es devuelto en el parámetro abierto, el cual usted debe limpiar usando efree(). Una secuencia es abierta sobre ese nombre de archivo generado en modo "w+b". El archivo NO es eliminado automáticamente; usted es responsable de retirar el enlace o mover el archivo cuando haya terminado de trabajar con él.

Anterior | Inicio | Siguiente
php_stream_fopen_tmpfile | Subir | Referencia de API de Sockets de Secuencia


php_stream_fopen_tmpfile

php_stream_fopen_tmpfile -- Abrir un FILE* con tmpfile() y convertirlo en una secuencia

Descripción

php_stream * php_stream_fopen_tmpfile ( void )

php_stream_fopen_tmpfile() devuelve una secuencia basada en un archivo temporal abierto con el modo "w+b". El archivo temporal será eliminado automáticamente cuando la secuencia es cerrada o el proceso es terminado.

Anterior | Inicio | Siguiente
php_stream_fopen_from_file | Subir | php_stream_fopen_temporary_file


php_stream_getc

php_stream_getc -- Leer un byte único desde una secuencia

Descripción

int php_stream_getc ( php_stream * secuencia )

php_stream_getc() lee un caracter único desde secuencia y lo devuelve como un char sin signo, moldeado como un int, o EOF si se ha llegado al fin-de-archivo, u ocurrió un error.

php_stream_getc() puede bloquear en el mismo modo en que bloquea php_stream_read().

La posición interna de la secuencia es desplazada hacia adelante en 1 si tiene éxito.

Anterior | Inicio | Siguiente
php_stream_eof | Subir | php_stream_gets


php_stream_gets

php_stream_gets -- Leer una línea de datos desde una secuencia a un búfer

Descripción

char * php_stream_gets ( php_stream * secuencia, char * buf, size_t conteo )

php_stream_gets() lee hasta conteo-1 bytes de datos desde secuencia y los copia en el búfer buf. La lectura se detiene luego de un EOF o una nueva línea. Si una nueva línea es leída, ésta es almacenada en buf como parte de los datos devueltos. Un caracter de terminación NUL es almacenado como el último caracter en el búfer.

php_stream_read() devuelve buf de tener éxito, o NULL de lo contrario.

La posición interna de la secuencia es desplazada hacia adelante en el número de bytes que fueron leídos, de modo que cualquier lectura subsiguiente continuará a partir de ese punto.

Esta función puede bloquear en el mismo modo en que lo hace php_stream_read().

Anterior | Inicio | Siguiente
php_stream_getc | Subir | php_stream_close


php_stream_is

php_stream_is -- Determina si una secuencia es de un tipo particular

Descripción

int php_stream_is ( php_stream * secuencia, int es_del_tipo )

php_stream_is() devuelve 1 si secuencia es del tipo especificado por es_del_tipo, o 0 de lo contrario.

Tabla 44-1. Valores para es_del_tipo

Valor | Significado
PHP_STREAM_IS_STDIO | La secuencia es implementada usando stdio
PHP_STREAM_IS_SOCKET | La secuencia es implementada usando un socket de red
PHP_STREAM_IS_USERSPACE | La secuencia es implementada usando un objeto de espacio de usuario
PHP_STREAM_IS_MEMORY | La secuencia es implementada usando una secuencia con memoria que crece a medida que es solicitada

Nota: Las "constantes" PHP_STREAM_IS_XXX son definidas en realidad como apuntadores a la estructura interna de operaciones de secuencia. Si su extensión (o alguna otra extensión) define secuencias adicionales, la extensión debe declarar también una constante PHP_STREAM_IS_XXX en su archivo de cabecera, que usted pueda usar como base para esta comparación.

Nota: Esta función es implementada como una sencilla (y rápida) comparación de apuntadores, y no modifica el estado de la secuencia en forma alguna.

Vea también php_stream_cast() y php_stream_can_cast().

Anterior | Inicio | Siguiente
php_stream_is_persistent | Subir | php_stream_passthru


php_stream_is_persistent

php_stream_is_persistent -- Determina si una secuencia es persistente

Descripción

int php_stream_is_persistent ( php_stream * secuencia )

php_stream_is_persistent() devuelve 1 si la secuencia es persistente, o 0 de lo contrario.

Anterior | Inicio | Siguiente
php_stream_can_cast | Subir | php_stream_is


php_stream_make_seekable

php_stream_make_seekable -- Convertir una secuencia a una secuencia reubicable

Descripción

int php_stream_make_seekable ( php_stream * secuencia_origen, php_stream ** secuencia_nueva, int banderas )

php_stream_make_seekable() chequea si secuencia_origen es reubicable. Si no lo es, copiará los datos en una nueva secuencia temporal. Si tiene éxito, secuencia_nueva es siempre definida como la secuencia de uso válido, incluso cuando la secuencia original era reubicable.

banderas le permite especificar sus preferencias para la secuencia reubicable que es devuelta: use PHP_STREAM_NO_PREFERENCE para usar la secuencia reubicable predeterminada (que usa un búfer de memoria expansible dinámicamente, pero cambia a un tipo de almacenamiento respaldado en un archivo temporal cuando el tamaño de la secuencia se hace más largo), o use PHP_STREAM_PREFER_STDIO para indicar el tipo de almacenamiento "regular", respaldado en un archivo temporal.

Tabla 44-1. Valores de retorno de php_stream_make_seekable()

Valor | Significado
PHP_STREAM_UNCHANGED | La secuencia original era reubicable en cualquier caso. secuencia_nueva es definida al valor de seuencia_original.
PHP_STREAM_RELEASED | La secuencia original no era reubicable y ha sido liberada. secuencia_nueva es definida como la nueva secuencia reubicable. Usted no debe usar más valor de secuencia_original.
PHP_STREAM_FAILED | Un error ocurrió mientras se intentaba la conversión. secuencia_nueva se define como NULL; secuencia_original sigue siendo válida.
PHP_STREAM_CRITICAL | Un error ocurrión durante el intento de conversión que ha dejado a secuencia_original en un estado indeterminado. secuencia_nueva se define como NULL y es altamente recomendable que usted cierre secuencia_original.

Nota: Si necesita reubicar y escribir a la secuencia, no tiene sentido que use esta función, ya que no se garantiza que la secuencia que devuelve esté asociada con el mismo recurso que la secuencia original.

Nota: Si sólo necesita hacer búsquedas de posición hacia adelante, no hay necesidad de llamar esta función, ya que la API de secuencias emulará las reubicaciones hacia adelante cuando el parámetro a_partir_de es SEEK_CUR.

Nota: Si secuencia_original es basada en red, esta función creará un bloqueo hasta que los contenidos completos hayan sido descargados.

Nota: ¡NUNCA llame esta función con una secuencia_original que sea una referencia por un apuntador de archivo en un script PHP! ¡Esta función puede causar que la secuencia interna sea cerrada, cosa que causaría un fallo en el programa cuando el script acceda nuevamente al apuntador de archivo!

Nota: En muchos casos, esta función sólo puede tener éxito cuando secuencia_original es una secuencia abierta recientemente sin datos en búfer en la capa de la secuencia. Por esa razón, y dado que es difícial usar correctamente esta función, es recomendable que use php_stream_open_wrapper() y pase el valor PHP_STREAM_MUST_SEEK en sus opciones en lugar de llamar esta función directamente.

Anterior | Inicio | Siguiente
php_stream_copy_to_mem | Subir | php_stream_cast


php_stream_open_wrapper

php_stream_open_wrapper -- Abre una secuencia sobre un archivo o URL

Descripción

php_stream * php_stream_open_wrapper ( char * ruta, char * modo, int opciones, char ** abierto )

php_stream_open_wrapper() abre una secuencia sobre el archivo, URL, u otro recurso envuelto indicado por ruta. Dependiendo del valor de modo, la secuencia puede ser abierta para lectura, escritura, adición o alguna combinación de éstos modos. Vea la tabla más adelante para conocer los diferentes modos que pueden ser usados; adicionalmente a los caracteres listados más abajo, puede incluir el caracter 'b' ya sea como el segundo o último caracter en la cadena de modo. La presencia del caracter 'b' le informa a la implementación de secuencias en cuestión que abra la secuencia en modo seguro con material binario.

El caracter 'b' es ignorado en todos los sistemas compatibles con POSIX, que tratan los archivos binarios y de texto en la misma manera. Es una buena idea especificar el caracter 'b' cuando su secuencia trabaje con datos en donde todos los 8 bits son importantes, de modo que su código funcione cuando sea compilado en un sistema en donde la bandera 'b' es importante.

Cualquier archivo local creado por la API de secuencias tendrá sus permisos iniciales definidos de acuerdo a los valores predeterminados del sistema operativo - bajo sistemas basados en Unix esto quiere decir que se usará el valor umask del proceso. Bajo Windows, el dueño del archivo será el proceso que lo originó. Todo archivo remoto será creado de acuerdo a la envoltura de URL que fuera usada para abrir el archivo, y las credenciales entregadas al servidor remoto.

r

Abre un archivo de texto para lectura. La secuencia es ubicada al comienzo del archivo.

r+

Abre un archivo de texto para lectura y escritura. La secuencia es ubicada el comienzo del archivo.

w

Trunca el archivo a una longitud de cero, o crea el archivo de texto para escritura. La secuencia es ubicada al comienzo del archivo.

w+

Abre un archivo de texto para lectura y escritura. El archivo es creado si no existe, o de otra forma es truncado. La secuencia es ubicada al comienzo del archivo.

a

Abre para escritura. El archivo es creado si no existe. La secuencia es ubicada al final del archivo.

a+

Abre un archivo de texto para lectura y escritura. El archivo es creado si no existe. La secuencia es ubicada al final del archivo.

opciones afecta el modo en que se interpreta la ruta/URL de la secuencia, los chequeos de modo seguro y las acciones tomadas si hay un error durante la apertura de la secuencia. Vea Opciones de apertura de secuencia para más información sobre las opciones.

Si abierto es diferente a NULL, éste parámetro será definido como una cadena que contiene el nombre del archivo/recurso real que fue abierto. Esto es importante cuando las opciones incluyen USE_PATH, valor que causa que include_path sea usado en busca del archivo. Usted, el origen de la llamada, es responsable de llamar efree() sobre el nombre de archivo devuelto en este parámetro.

Nota: Si ha especificado STREAM_MUST_SEEK en opciones, la ruta devuelta en abierto puede no ser el nombre de la secuencia real que le fue devuelta. Sin embargo, será el nombre del recurso original desde el cual se manufacturó la secuencia sensible a búsquedas.

Anterior | Inicio | Siguiente
php_stream_stat | Subir | php_stream_read


php_stream_open_wrapper_as_file

php_stream_open_wrapper_as_file -- Abre una secuencia sobre un archivo o URL, y lo convierte a FILE*

Descripción

FILE * php_stream_open_wrapper_as_file ( char * ruta, char * modo, int opciones, char ** abierto )

php_stream_open_wrapper_as_file() es exactamente como php_stream_open_wrapper(), pero convierte la secuencia a un FILE* ANSI de stdio y devuelve éste apuntador en lugar de la secuencia. Este es un atajo conveniente para extensiones que pasan un valor FILE* a las bibliotecas de terceros.

Anterior | Inicio | Siguiente
php_stream_open_wrapper_ex | Subir | php_stream_filter_register_factory


php_stream_open_wrapper_ex

php_stream_open_wrapper_ex -- Abre una secuencia sobre un archivo o URL, especificando el contexto

Descripción

php_stream * php_stream_open_wrapper_ex ( char * ruta, char * modo, int opciones, char ** abierto, php_stream_context * contexto )

php_stream_open_wrapper_ex() es exactamente como php_stream_open_wrapper(), pero le permite especificar un objeto php_stream_context usando contexto. Para conocer más sobre los contextos de secuencia, vea Contextos de Secuencia.

Anterior | Inicio | Siguiente
php_unregister_url_stream_wrapper | Subir | php_stream_open_wrapper_as_file


php_stream_opendir

php_stream_opendir -- Abre un directorio para la enumeración de archivos

Descripción

php_stream * php_stream_opendir ( char * ruta, php_stream_context * contexto )

php_stream_opendir() devuelve una secuencia que puede ser usada para listar los archivos contenidos en el directorio especificado por ruta. Esta función es equivalente en la práctica a la función POSIX opendir(). Aunque ésta función devuelve un objeto php_stream, no se recomienda usar las funciones de la API común sobre éstas secuencias.

Anterior | Inicio | Siguiente
Referencia de API de Directorios de Secuencias | Subir | php_stream_readdir


php_stream_passthru

php_stream_passthru -- Imprime todos los datos restantes de una secuencia

Descripción

size_t php_stream_passthru ( php_stream * secuencia )

php_stream_passthru() imprime todos los datos restantes de secuencia en el búfer de salida activo y devuelve el número de bytes escritos. Si el uso de búferes está deshabilitado, los datos son escritos directamente a la salida, la cual se refiere al navegador que hace la petición en el caso de PHP sobre un servidor web, o stdout para código PHP basado en CLI. Esta función usará archivos referenciados en memoria si es posible para mejorar el rendimiento.

Anterior | Inicio | Siguiente
php_stream_is | Subir | php_register_url_stream_wrapper


php_stream_read

php_stream_read -- Leer un número de bytes desde una secuencia a un búfer

Descripción

size_t php_stream_read ( php_stream * secuencia, char * buf, size_t conteo )

php_stream_read() lee hasta conteo bytes de datos desde secuencia y los copia en el búfer buf.

php_stream_read() devuelve el número de bytes que fueron leídos satisfactoriamente. No hay distinción entre una lectura fallida o una condición de final-de-archivo - use php_stream_eof() para revisar si se encuentra en EOF.

La posición interna de la secuencia es desplazada hacia adelante por el número de bytes que fueron leídos, de modo que las lecturas subsiguientes continuarán desde ese punto.

Si hay menos de conteo bytes disponibles para su lectura, ésta llamada creará un bloqueo (esperará) hasta que el número requerido se encuentre disponible, dependiendo del status de bloqueo de la secuencia. Por defecto, una secuencia es abierta en modo de bloqueo. Cuando se lee desde archivos regulares, el modo de bloqueo usualmente no representará ninguna diferencia: cuando la secuencia alcance el EOF, php_stream_read() devolverá un valor menor que conteo, y 0 en cualquier lectura subsiguiente.

Anterior | Inicio | Siguiente
php_stream_open_wrapper | Subir | php_stream_write


php_stream_readdir

php_stream_readdir -- Recuperar la siguiente entrada de directorio desde un directorio abierto

Descripción

php_stream_dirent * php_stream_readdir ( php_stream * secuencia_dir, php_stream_dirent * ent )

php_stream_readdir() lee la siguiente entrada de directorio desde secuencia_dir y la almacena en ent. Si la función tiene éxito, el valor de retorno es ent. Si la función falla, el valor de retorno es NULL. Vea php_stream_dirent para más detalles sobre la información devuelta por cada entrada de directorio.

Anterior | Inicio | Siguiente
php_stream_opendir | Subir | php_stream_rewinddir


php_stream_rewinddir

php_stream_rewinddir -- Restablecer una secuencia de directorio a la primera entrada

Descripción

int php_stream_rewinddir ( php_stream * secuencia_dir )

php_stream_rewinddir() restablece la secuencia de directorio a la primera entrada. Devuelve 0 en caso de tener éxito, o -1 de encontrar un fallo.

Anterior | Inicio | Siguiente
php_stream_readdir | Subir | php_stream_closedir


php_stream_seek

php_stream_seek -- Reubicar una secuencia

Descripción

int php_stream_seek ( php_stream * secuencia, off_t desplazamiento, int a_partir_de )

php_stream_seek() reubica la posición interna de secuencia. La nueva posición es determinada al sumar el desplazamiento a la posición indicada por a_partir_de. Si a_partir_de es definido como SEEK_SET, SEEK_CUR o SEEK_END, el desplazamiento es relativo al comienzo de la secuencia, la posición actual o el final de la secuencia, respectivamente.

php_stream_seek() devuelve 0 de tener éxito, y -1 si ocurrió un error.

Nota: No todas las secuencias soportan la reubicación, aunque la API de secuencias emulará la operación si a_partir_de es definido como SEEK_CUR y desplazamiento es un valor positivo, llamando php_stream_read() para leer (y descartar) tantos bytes como el valor de desplazamiento.

La emulación es aplicada únicamente cuando la implementación interna de la secuencia no soporta la reubicación. Si la secuencia es (por ejemplo) una secuencia basada en archivos que se encuentra envolviendo un pipe no-reubicable, la api de secuencias no aplicará la emulación ya que la secuencia basada en archivos implementa la operación; la reubicación fallará y se devolverá un resultado de error a la función que hace la llamada.

Anterior | Inicio | Siguiente
php_stream_flush | Subir | php_stream_tell


php_stream_sock_open_from_socket

php_stream_sock_open_from_socket -- Convertir un descriptor de socket en una secuencia

Descripción

php_stream * php_stream_sock_open_from_socket ( int socket, int persistente )

php_stream_sock_open_from_socket() devuelve una secuencia basada en el socket. persistente es una bandera que controla si la secuencia es abierta como una secuencia persistente. Por lo general, este parámetro será 0 en un gran número de casos.

Anterior | Inicio | Siguiente
Referencia de API de Sockets de Secuencia | Subir | php_stream_sock_open_host


php_stream_sock_open_host

php_stream_sock_open_host -- Abrir una conexión con un servidor huésped y devolver una secuencia

Descripción

php_stream * php_stream_sock_open_host ( const char * host, unsigned short puerto, int tipo_sock, struct timeval * tiempo_espera, int persistente )

php_stream_sock_open_host() establece una conexión con el host y puerto especificados. tipo_sock especifica la semántica de conexión que debe aplicarse a la misma. Los valores de tipo_sock dependen del sistema, pero usualmente incluyen (como mínimo) SOCK_STREAM para secuencias basadas en conexiones secuenciales, confiables y de doble vía (TCP), o SOCK_DGRAM para mensajes sin conexión, no confiables y una longitud máxima (UDP).

persistente es una bandera que controla si la secuencia es abierta como una secuencia persistente. Por lo general, este parámetro será 0.

Si es diferente a NULL, tiempo_espera especifica un tiempo máximo para permitir que se establezca la conexión. Si el intento de conexión toma más tiempo que el valor de tiempo de espera, el intento de conexión es abortado y se devuelve NULL para indicar que la secuencia no pudo ser abierta.

Nota: El valor de tiempo de espera no incluye el tiempo que toma realizar una consulta de DNS. La razón de esto es que no hay una forma portable de implementar una consulta DNS que no bloquee.

El tiempo de espera sólo se aplica a la fase de conexión; si necesita establecer los tiempos de espera para operaciones posteriores de lectura o escritura, debería usar php_stream_sock_set_timeout() para configurar la duración de tiempo de espera para su secuencia una vez ésta ha sido abierta.

La API de secuencias no coloca restricciones sobre los valores que puede usar para tipo_socket, pero es recomendable que considere la portabilidad de los valores que elige antes de que libere su extensión.

Anterior | Inicio | Siguiente
php_stream_sock_open_from_socket | Subir | php_stream_sock_open_unix


php_stream_sock_open_unix

php_stream_sock_open_unix -- Abrir un socket de dominio Unix y convertirlo en una secuencia

Descripción

php_stream * php_stream_sock_open_unix ( const char * ruta, int long_ruta, int persistente, struct timeval * tiempo_espera )

php_stream_sock_open_unix() intenta abrir el socket de dominio Unix especificado por ruta. long_ruta especifica la longitud de ruta. Si tiempo_espera es diferente a NULL, éste valor indica un periodo de tiempo máximo de espera para el intento de conexión. persistente indica si la secuencia debería ser abierta como una secuencia persistente. Por lo general, éste parámetro será 0 en la mayoría de casos.

Nota: Esta función no funcionará bajo Windows, en donde no se implementan sockets de dominio Unix. Una posible excepción a esta regla ocurre si su binario de PHP fue compilado usando cygwin. Es recomendable que considere este aspecto de la portabilidad de su extensión antes de su lanzamiento.

Nota: Esta función trata ruta en una manera segura con material binario, que es apropiada en sistemas con un espacio de nombres abstracto (como Linux), en donde el primer caracter de una ruta es un caracter NUL.

Anterior | Inicio | Siguiente
php_stream_sock_open_host | Subir | Estructuras de Secuencia


php_stream_stat

php_stream_stat -- Obtiene el status del almacenamiento interno asociado con una secuencia

Descripción

int php_stream_stat ( php_stream * secuencia, php_stream_statbuf * ssb )

php_stream_stat() examina el almacenamiento al que está sujeto la secuencia, y devuelve información como el tamaño de archivo, las fechas de acceso y creación y demás. El valor de retorno es 0 en caso de éxito, -1 si ocurre un error. Para más información sobre la información devuelta, vea php_stream_statbuf.

Anterior | Inicio | Siguiente
php_stream_stat_path | Subir | php_stream_open_wrapper


php_stream_stat_path

php_stream_stat_path -- Obtiene el status de un archivo o URL

Descripción

int php_stream_stat_path ( char * ruta, php_stream_statbuf * ssb )

php_stream_stat_path() examina el archivo o URL especificado por ruta y devuelve información tal como el tamaño del archivo, los tiempos de acceso y creación y demás. El valor de retorno es 0 de tener éxito, 1 en caso de error. Para más información sobre la información devuelta, vea php_stream_statbuf.

Anterior | Inicio | Siguiente
Referencia de la API Común de Secuencias | Subir | php_stream_stat


php_stream_tell

php_stream_tell -- Determinar la posición de una secuencia

Descripción

off_t php_stream_tell ( php_stream * secuencia )

php_stream_tell() devuelve la posición interna de secuencia, relativa al comienzo de la misma. Si ocurre un error, el valor -1 es devuelto.

Anterior | Inicio | Siguiente
php_stream_seek | Subir | php_stream_copy_to_stream


php_stream_write

php_stream_write -- Escribir un númedo de bytes desde un búfer a una secuencia

Descripción

size_t php_stream_write ( php_stream * secuencia, const char * buf, size_t conteo )

php_stream_write() escribe conteo bytes de datos desde buf en secuencia.

php_stream_write() devuelve el número de bytes que fueron escritos satisfactoriamente. Si hubo un error, el número de bytes escritos será menor que conteo.

La posición interna de la secuencia es desplazada hacia adelante en el número de bytes que fueron escritos, de modo que cualquier escritura subsiguiente continuará desde ese punto.

Anterior | Inicio | Siguiente
php_stream_read | Subir | php_stream_eof


php_unregister_url_stream_wrapper

php_unregister_url_stream_wrapper -- Retira el registro de una envoltura de la API de Secuencias

Descripción

int php_unregister_url_stream_wrapper ( char * protocolo, TSRMLS_DC )

php_unregister_url_stream_wrapper() retira el registro de la envoltura asociada con protocolo.

Anterior | Inicio | Siguiente
php_register_url_stream_wrapper | Subir | php_stream_open_wrapper_ex


struct php_stream_dirent

struct php_stream_dirent -- Contiene información sobre un archivo único durante el estudio de un directorio

Descripción

php_stream_dirent
     char d_name[MAXPATHLEN]

d_name contiene el nombre del archivo, relativo al directorio que está siendo estudiado.

Anterior | Inicio | Siguiente
struct php_stream_statbuf | Subir | struct php_stream_ops


struct php_stream_filter

struct php_stream_filter -- Contiene propiedades de filtro y apuntadores a operaciones

Descripción

struct _php_stream_filter {
            php_stream_filter_ops *fops;
            void *abstract; /* para su uso por la implementacion de filtro */
            php_stream_filter *next;
            php_stream_filter *prev;
            int is_persistent;

            /* enlace a la secuencia y la cadena */
            php_stream_filter_chain *chain;

            /* paquetes en bufer */
            php_stream_bucket_brigade buffer;
        } php_stream_filter;

Anterior | Inicio | Siguiente
struct php_stream_wrapper_ops | Subir | struct php_stream_filter_ops


struct php_stream_filter_ops

struct php_stream_filter_ops -- Contiene funciones miembro para una implementación de filtro de secuencia

Descripción

typedef struct _php_stream_filter_ops {
            php_stream_filter_status_t (*filter)(
                    php_stream *stream,
                    php_stream_filter *thisfilter,
                    php_stream_bucket_brigade *buckets_in,
                    php_stream_bucket_brigade *buckets_out,
                    size_t *bytes_consumed,
                    int flags
                    TSRMLS_DC);

            void (*dtor)(php_stream_filter *thisfilter TSRMLS_DC);

            const char *label;
} php_stream_filter_ops;

Anterior | Inicio | Siguiente
struct php_stream_filter | Subir | Constantes de Secuencias


struct php_stream_ops

struct php_stream_ops -- Contiene funciones miembro para una implementación de secuencia

Descripción

typedef struct _php_stream_ops {
             /* todas las secuencias DEBEN implementar estas operaciones */
             size_t (*write)(php_stream *stream, const char *buf, size_t count TSRMLS_DC);
             size_t (*read)(php_stream *stream, char *buf, size_t count TSRMLS_DC);
             int (*close)(php_stream *stream, int close_handle TSRMLS_DC);
             int (*flush)(php_stream *stream TSRMLS_DC);

             const char *label; /* nombre que describe esta clase de secuencia */

             /* estas operaciones son opcionales, y pueden definirse a NULL si la secuencia no
              * soporta una operacion en particular */
            int (*seek)(php_stream *stream, off_t offset, int whence TSRMLS_DC);
            char *(*gets)(php_stream *stream, char *buf, size_t size TSRMLS_DC);
            int (*cast)(php_stream *stream, int castas, void **ret TSRMLS_DC);
            int (*stat)(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC);
        } php_stream_ops;

Anterior | Inicio | Siguiente
struct php_stream_dirent | Subir | struct php_stream_wrapper


struct php_stream_statbuf

struct php_stream_statbuf -- Contiene información sobre un archivo o URL

Descripción

php_stream_statbuf
     struct statsb

sb es una estructura stat, normal, definida por el sistema.

Anterior | Inicio | Siguiente
Estructuras de Secuencia | Subir | struct php_stream_dirent


struct php_stream_wrapper

struct php_stream_wrapper -- Contiene propiedades de envolturas y apuntadores a operaciones

Descripción

struct _php_stream_wrapper  {
            php_stream_wrapper_ops *wops;   /* operaciones que puede realizar la envoltura */
            void *abstract;                 /* contexto para la envoltura */
            int is_url;                     /* de modo que PG(allow_url_fopen) pueda respetarse */

            /* soporte para que las envolturas devuelvas (multiples) mensajes de error a quien abre la secuencia */
            int err_count;
            char **err_stack;
        } php_stream_wrapper;

Anterior | Inicio | Siguiente
struct php_stream_ops | Subir | struct php_stream_wrapper_ops


struct php_stream_wrapper_ops

struct php_stream_wrapper_ops -- Contiene funciones miembro para una implementación de envoltura de secuencia

Descripción

typedef struct _php_stream_wrapper_ops {
            /* abrir/crear una secuencia envuelta */
            php_stream *(*stream_opener)(php_stream_wrapper *wrapper, char *filename, char *mode,
                    int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
            /* cerrar/destruir una secuencia envuelta */
            int (*stream_closer)(php_stream_wrapper *wrapper, php_stream *stream TSRMLS_DC);
            /* operacion stat sobre una secuencia envuelta */
            int (*stream_stat)(php_stream_wrapper *wrapper, php_stream *stream, php_stream_statbuf *ssb TSR$
            /* operacion stat sobre una URL */
            int (*url_stat)(php_stream_wrapper *wrapper, char *url, php_stream_statbuf *ssb TSRMLS_DC);
            /* abrir una secuencia de "directorio" */
            php_stream *(*dir_opener)(php_stream_wrapper *wrapper, char *filename, char *mode,
                    int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);

            const char *label;

            /* Eliminar/Retirar Enlace de un archivo */
            int (*unlink)(php_stream_wrapper *wrapper, char *url, int options, php_stream_context *context TSRMLS_DC);
        } php_stream_wrapper_ops;

Anterior | Inicio | Siguiente
struct php_stream_wrapper | Subir | struct php_stream_filter


List of Supported Timezones

Manual de PHP
Anterior Siguiente

Apéndice H. List of Supported Timezones

Tabla de contenidos
List of timezones in the group Africa
List of timezones in the group America
List of timezones in the group Antarctica
List of timezones in the group Arctic
List of timezones in the group Asia
List of timezones in the group Atlantic
List of timezones in the group Australia
List of timezones in the group Europe
List of timezones in the group Indian
List of timezones in the group Pacific
List of timezones in the group Others

Here you'll find the complete list of timezones supported by PHP, which are meant to be used with e.g. date_default_timezone_set().

Nota: The latest version of the timezone database can be installed via PECL's timezonedb. For Windows users, a pre-compiled DLL can be downloaded from the PECL4Win site: php_timezonedb.dll.

List of timezones in the group Africa

Tabla H-1. Africa

Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers | Africa/Asmera
Africa/Bamako | Africa/Bangui | Africa/Banjul | Africa/Bissau | Africa/Blantyre
Africa/Brazzaville | Africa/Bujumbura | Africa/Cairo | Africa/Casablanca | Africa/Ceuta
Africa/Conakry | Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti | Africa/Douala
Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare | Africa/Johannesburg
Africa/Kampala | Africa/Khartoum | Africa/Kigali | Africa/Kinshasa | Africa/Lagos
Africa/Libreville | Africa/Lome | Africa/Luanda | Africa/Lubumbashi | Africa/Lusaka
Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane | Africa/Mogadishu
Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena | Africa/Niamey | Africa/Nouakchott
Africa/Ouagadougou | Africa/Porto-Novo | Africa/Sao_Tome | Africa/Timbuktu | Africa/Tripoli
Africa/Tunis | Africa/Windhoek |  |  |

Anterior | Inicio | Siguiente
Descripción de las directivas de núcleo en php.ini | Subir | List of timezones in the group America


List of timezones in the group America

Tabla H-2. America

America/Adak | America/Anchorage | America/Anguilla | America/Antigua | America/Araguaina
America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/ComodRivadavia | America/Argentina/Cordoba | America/Argentina/Jujuy
America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos | America/Argentina/San_Juan | America/Argentina/Tucuman
America/Argentina/Ushuaia | America/Aruba | America/Asuncion | America/Atikokan | America/Atka
America/Bahia | America/Barbados | America/Belem | America/Belize | America/Blanc-Sablon
America/Boa_Vista | America/Bogota | America/Boise | America/Buenos_Aires | America/Cambridge_Bay
America/Campo_Grande | America/Cancun | America/Caracas | America/Catamarca | America/Cayenne
America/Cayman | America/Chicago | America/Chihuahua | America/Coral_Harbour | America/Cordoba
America/Costa_Rica | America/Cuiaba | America/Curacao | America/Danmarkshavn | America/Dawson
America/Dawson_Creek | America/Denver | America/Detroit | America/Dominica | America/Edmonton
America/Eirunepe | America/El_Salvador | America/Ensenada | America/Fort_Wayne | America/Fortaleza
America/Glace_Bay | America/Godthab | America/Goose_Bay | America/Grand_Turk | America/Grenada
America/Guadeloupe | America/Guatemala | America/Guayaquil | America/Guyana | America/Halifax
America/Havana | America/Hermosillo | America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo
America/Indiana/Petersburg | America/Indiana/Vevay | America/Indiana/Vincennes | America/Indianapolis | America/Inuvik
America/Iqaluit | America/Jamaica | America/Jujuy | America/Juneau | America/Kentucky/Louisville
America/Kentucky/Monticello | America/Knox_IN | America/La_Paz | America/Lima | America/Los_Angeles
America/Louisville | America/Maceio | America/Managua | America/Manaus | America/Martinique
America/Mazatlan | America/Mendoza | America/Menominee | America/Merida | America/Mexico_City
America/Miquelon | America/Moncton | America/Monterrey | America/Montevideo | America/Montreal
America/Montserrat | America/Nassau | America/New_York | America/Nipigon | America/Nome
America/Noronha | America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Panama | America/Pangnirtung
America/Paramaribo | America/Phoenix | America/Port-au-Prince | America/Port_of_Spain | America/Porto_Acre
America/Porto_Velho | America/Puerto_Rico | America/Rainy_River | America/Rankin_Inlet | America/Recife
America/Regina | America/Rio_Branco | America/Rosario | America/Santiago | America/Santo_Domingo
America/Sao_Paulo | America/Scoresbysund | America/Shiprock | America/St_Johns | America/St_Kitts
America/St_Lucia | America/St_Thomas | America/St_Vincent | America/Swift_Current | America/Tegucigalpa
America/Thule | America/Thunder_Bay | America/Tijuana | America/Toronto | America/Tortola
America/Vancouver | America/Virgin | America/Whitehorse | America/Winnipeg | America/Yakutat
America/Yellowknife |  |  |  |

Anterior | Inicio | Siguiente
List of Supported Timezones | Subir | List of timezones in the group Antarctica


List of timezones in the group Antarctica

Tabla H-3. Antarctica

Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Mawson | Antarctica/McMurdo
Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa | Antarctica/Vostok

Anterior | Inicio | Siguiente
List of timezones in the group America | Subir | List of timezones in the group Arctic


List of timezones in the group Arctic

Tabla H-4. Arctic

Arctic/Longyearbyen

Anterior | Inicio | Siguiente
List of timezones in the group Antarctica | Subir | List of timezones in the group Asia


List of timezones in the group Asia

Tabla H-5. Asia

Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr | Asia/Aqtau
Asia/Aqtobe | Asia/Ashgabat | Asia/Ashkhabad | Asia/Baghdad | Asia/Bahrain
Asia/Baku | Asia/Bangkok | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Calcutta | Asia/Choibalsan | Asia/Chongqing | Asia/Chungking | Asia/Colombo
Asia/Dacca | Asia/Damascus | Asia/Dhaka | Asia/Dili | Asia/Dubai
Asia/Dushanbe | Asia/Gaza | Asia/Harbin | Asia/Hong_Kong | Asia/Hovd
Asia/Irkutsk | Asia/Istanbul | Asia/Jakarta | Asia/Jayapura | Asia/Jerusalem
Asia/Kabul | Asia/Kamchatka | Asia/Karachi | Asia/Kashgar | Asia/Katmandu
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait | Asia/Macao
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila | Asia/Muscat
Asia/Nicosia | Asia/Novosibirsk | Asia/Omsk | Asia/Oral | Asia/Phnom_Penh
Asia/Pontianak | Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda | Asia/Rangoon
Asia/Riyadh | Asia/Saigon | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul
Asia/Shanghai | Asia/Singapore | Asia/Taipei | Asia/Tashkent | Asia/Tbilisi
Asia/Tehran | Asia/Tel_Aviv | Asia/Thimbu | Asia/Thimphu | Asia/Tokyo
Asia/Ujung_Pandang | Asia/Ulaanbaatar | Asia/Ulan_Bator | Asia/Urumqi | Asia/Vientiane
Asia/Vladivostok | Asia/Yakutsk | Asia/Yekaterinburg | Asia/Yerevan |

Anterior | Inicio | Siguiente
List of timezones in the group Arctic | Subir | List of timezones in the group Atlantic


List of timezones in the group Atlantic

Tabla H-6. Atlantic

Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde | Atlantic/Faeroe
Atlantic/Jan_Mayen | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia | Atlantic/St_Helena
Atlantic/Stanley |  |  |  |

Anterior | Inicio | Siguiente
List of timezones in the group Asia | Subir | List of timezones in the group Australia


List of timezones in the group Australia

Tabla H-7. Australia

Australia/ACT | Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Canberra
Australia/Currie | Australia/Darwin | Australia/Hobart | Australia/LHI | Australia/Lindeman
Australia/Lord_Howe | Australia/Melbourne | Australia/North | Australia/NSW | Australia/Perth
Australia/Queensland | Australia/South | Australia/Sydney | Australia/Tasmania | Australia/Victoria
Australia/West | Australia/Yancowinna |  |  |

Anterior | Inicio | Siguiente
List of timezones in the group Atlantic | Subir | List of timezones in the group Europe


List of timezones in the group Europe

Tabla H-8. Europe

Europe/Amsterdam | Europe/Andorra | Europe/Athens | Europe/Belfast | Europe/Belgrade
Europe/Berlin | Europe/Bratislava | Europe/Brussels | Europe/Bucharest | Europe/Budapest
Europe/Chisinau | Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey | Europe/Kaliningrad
Europe/Kiev | Europe/Lisbon | Europe/Ljubljana | Europe/London | Europe/Luxembourg
Europe/Madrid | Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Nicosia | Europe/Oslo | Europe/Paris | Europe/Prague
Europe/Riga | Europe/Rome | Europe/Samara | Europe/San_Marino | Europe/Sarajevo
Europe/Simferopol | Europe/Skopje | Europe/Sofia | Europe/Stockholm | Europe/Tallinn
Europe/Tirane | Europe/Tiraspol | Europe/Uzhgorod | Europe/Vaduz | Europe/Vatican
Europe/Vienna | Europe/Vilnius | Europe/Volgograd | Europe/Warsaw | Europe/Zagreb
Europe/Zaporozhye | Europe/Zurich |  |  |

Anterior | Inicio | Siguiente
List of timezones in the group Australia | Subir | List of timezones in the group Indian


List of timezones in the group Indian

Tabla H-9. Indian

Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte
Indian/Reunion |  |  |  |

Anterior | Inicio | Siguiente
List of timezones in the group Europe | Subir | List of timezones in the group Pacific


List of timezones in the group Others

Tabla H-11. Others

Brazil/Acre | Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain | Canada/Newfoundland
Canada/Pacific | Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental
Chile/EasterIsland | CST6CDT | Cuba | EET | Egypt
Eire | EST | EST5EDT | Etc/GMT | Etc/GMT+0
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2
Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7
Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT
Etc/Universal | Etc/UTC | Etc/Zulu | Factory | GB
GB-Eire | GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland | Iran
Israel | Jamaica | Japan | Kwajalein | Libya
MET | Mexico/BajaNorte | Mexico/BajaSur | Mexico/General | MST
MST7MDT | Navajo | NZ | NZ-CHAT | Poland
Portugal | PRC | PST8PDT | ROC | ROK
Singapore | Turkey | UCT | Universal | US/Alaska
US/Aleutian | US/Arizona | US/Central | US/East-Indiana | US/Eastern
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain | US/Pacific
US/Pacific-New | US/Samoa | UTC | W-SU | WET
Zulu |  |  |  |

Nota: Please do not use any of the timezones listed here, they only exist for backward compatible reasons.

Anterior | Inicio | Siguiente
List of timezones in the group Pacific | Subir | Categorización de Extensiones


List of timezones in the group Pacific

Tabla H-10. Pacific

Pacific/Apia | Pacific/Auckland | Pacific/Chatham | Pacific/Easter | Pacific/Efate
Pacific/Enderbury | Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos
Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu | Pacific/Johnston
Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro | Pacific/Marquesas
Pacific/Midway | Pacific/Nauru | Pacific/Niue | Pacific/Norfolk | Pacific/Noumea
Pacific/Pago_Pago | Pacific/Palau | Pacific/Pitcairn | Pacific/Ponape | Pacific/Port_Moresby
Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa | Pacific/Tahiti | Pacific/Tarawa
Pacific/Tongatapu | Pacific/Truk | Pacific/Wake | Pacific/Wallis | Pacific/Yap

Anterior | Inicio | Siguiente
List of timezones in the group Indian | Subir | List of timezones in the group Others


TSRM API

Manual de PHP
Anterior Siguiente

Capítulo 47. TSRM API

Tabla de contenidos
API Function and Macro reference (work in progress)

API Function and Macro reference (work in progress)

Tabla de contenidos
ts_allocate_id -- ...
ts_free_id -- ...
ts_free_thread -- ...
ts_resource_ex -- ...
ts_resource -- ...
tsrm_error_set -- ...
tsrm_error -- ...
tsrm_free_interpreter_context -- ...
tsrm_mutex_alloc -- ...
tsrm_mutex_free -- ...
tsrm_mutex_lock -- ...
tsrm_mutex_unlock -- ...
tsrm_new_interpreter_context -- ...
tsrm_set_interpreter_context -- ...
tsrm_set_new_thread_begin_handler -- ...
tsrm_set_new_thread_end_handler -- ...
tsrm_shutdown -- ...
tsrm_startup -- ...
tsrm_thread_id -- ...
virtual_access -- Check users permissions for a file
virtual_chdir_file -- ...
virtual_chdir -- ...
virtual_chmod -- ...
virtual_chown -- ...
virtual_creat -- ...
virtual_cwd_shutdown -- ...
virtual_cwd_startup -- ...
virtual_file_ex -- ...
virtual_filepath_ex -- ...
virtual_filepath -- ...
virtual_fopen -- ...
virtual_getcwd_ex -- ...
virtual_getcwd -- ...
virtual_lstat -- ...
virtual_mkdir -- ...
virtual_open -- ...
virtual_opendir -- ...
virtual_popen -- ...
virtual_realpath -- ...
virtual_rename -- ...
virtual_rmdir -- ...
virtual_stat -- ...
virtual_unlink -- ...
virtual_utime -- ...
VCWD_ACCESS -- Check users permissions for a file
VCWD_CHDIR_FILE -- ...
VCWD_CHDIR -- ...
VCWD_CHMOD -- ...
VCWD_CHOWN -- ...
VCWD_CREAT -- ...
VCWD_FOPEN -- ...
VCWD_GETCWD -- ...
VCWD_GETWD -- ...
VCWD_LCHOWN -- ...
VCWD_LSTAT -- ...
VCWD_MKDIR -- ...
VCWD_OPEN_MODE -- ...
VCWD_OPEN -- ...
VCWD_OPENDIR -- ...
VCWD_POPEN -- ...
VCWD_REALPATH -- ...
VCWD_RENAME -- ...
VCWD_RMDIR -- ...
VCWD_STAT -- ...
VCWD_UNLINK -- ...
VCWD_UTIME -- ...

Anterior | Inicio | Siguiente
ZEND_WRONG_PARAM_COUNT | Subir | ts_allocate_id


Userland Naming Guide

Manual de PHP
Anterior Siguiente

Apéndice R. Userland Naming Guide

Tabla de contenidos
Global Namespace
Rules
Tips

The following is a guide for how to best choose names for identifiers in userland PHP code. When choosing names for any code that creates symbols in the global namespace, it is important to take into account the following guidelines to prevent future versions of PHP from clashing with your symbols.

Global Namespace

Here is an overview of code constructs that go into the global namespace:

  • functions

  • classes

  • interfaces

  • constants (not class constants)

  • variables defined outside of functions/methods

Anterior | Inicio | Siguiente
Lista de Identificadores (tokens) del Analizador | Subir | Rules


Rules

The following list gives an overview of which rights the PHP project reserves for itself, when choosing names for new internal identifiers. The definitive guide is the official CODING STANDARDS:

  • PHP owns the top-level namespace but tries to find decent descriptive names and avoid any obvious clashes.

  • Function names use underscores between words, while class names use the lower bumpy camel rule (there are some exceptions for older classes and functions).

  • PHP will prefix any global symbols of an extension with the name of the extension. (In the past, there have been numerous exceptions to this rule.) Examples:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (example of a past mistake)

    • new SplFileObject()

  • Iterators and Exceptions are however simply postfixed with "Iterator" and "Exception." Examples:

    • ArrayIterator

    • LogicException

  • PHP reserves all symbols starting with __ as magical. It is recommended that you do not create symbols starting with __ in PHP unless you want to use documented magical functionality. Examples:

    • __get()

    • __autoload()

Anterior | Inicio | Siguiente
Userland Naming Guide | Subir | Tips


Tips

In order to write future-proof code, it is recommended that you prefix (or suffix) anything that goes into the global namespace with an uncommon 3-4 letter prefix (or suffix) separated with an underscore. It is recommended that in order to prevent namespace clashes with other userland code that projects research existing prefixes (or suffixes) used in other projects and advertise their chosen prefix (or suffix) appropriately. Examples:

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

Anterior | Inicio | Siguiente
Rules | Subir | Sobre el manual


Datos (RFC 2397)

La envoltura de secuencia data: (RFC 2397) se encuentra disponible desde PHP 5.2.0.

Ejemplo M-4. Imprimir los contenidos de data://

<?php
// imprime "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Ejemplo M-5. Obtener el tipo de medios

<?php
$da   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($da);

// imprime "text/plain"
echo $meta['mediatype'];
?>

Tabla M-8. Resumen de Envoltura

Atributo | Soporte
Restricción por allow_url_fopen | No
Restricción por allow_url_include | Si
Permite Lectura | Si
Permite Escritura | No
Permite Adición | No
Permite Lectura y Escritura Simultánea | No
Soporte stat() | No
Soporte unlink() | No
Soporte rename() | No
Soporte mkdir() | No
Soporte rmdir() | No

Anterior | Inicio | Siguiente
Secuencias de Compresión | Subir | Shell Seguro 2


Secuencias de Interacción de Procesos

expect:// PHP 4.3.0 y superior (PECL)

  • expect://comando

Esta envoltura no está habilitada por omisión: Para usar la envoltura expect:// es necesario instalar la extensión Expect disponible desde PECL.

Las secuencias abiertas mediante la envoltura expect:// ofrecen accesa a los gestores stdio, stdout y stderr de los procesos a través de PTY.

Tabla M-13. Resumen de Envoltura

Atributo | Soporte
Restricción por allow_url_fopen | No
Permite Lectura | Si
Permite Escritura | Si
Permite Adición | Si
Permite Lectura y Escritura Simultánea | No
Soporte stat() | No
Soporte unlink() | No
Soporte rename() | No
Soporte mkdir() | No
Soporte rmdir() | No

Anterior | Inicio | Siguiente
Secuencias de Audio | Subir | Lista de Filtros Disponibles


Socket

Esta sección contiene las opciones de contexto soportadas por las envolturas que trabajan sobre sockets, como tcp, http o ftp.

A partir de PHP 5.1.0 solo una opción es soportada, bindto, la cual puede ser usada para especificar la dirección IP (ya sea IPv4 o IPv6) y/o el número de puerto que PHP usará para acceder a la red. La sintaxis es ip:puerto (es posible definir el número IP o de puerto como 0 si desea que el sistema lo elija por usted).

Nota: Dado que FTP crea dos conexiones de socket durante la operación normal, no es posible especificar el número de puerto en la opción bindto. Así que la única sintaxis soportada es ip:0 para la envoltura FTP.

Ejemplo M-1. Algunos ejemplos del uso de la opción bindto

<?php
// conectarse a internet usando la IP '192.168.0.100' IP
$opciones = array('socket' =>
            array('bindto' => '192.168.0.100:0'));

// conectarse a internet usando la IP '192.168.0.100' y el puerto '7000'
$opciones = array('socket' =>
            array('bindto' => '192.168.0.100:7000'));

// conectarse a internet usando el puerto '7000'
$opciones = array('socket' =>
            array('bindto' => '0:7000'));

// crear el contexto...
$contexto = stream_context_create($opciones);

// ...y usarlo para recuperar los datos
echo file_get_contents('http://www.example.com', false, $contexto);

?>

Anterior | Inicio | Siguiente
Lista de Protocolos/Envolturas Soportadas | Subir | HTTP y HTTPS


Shell Seguro 2

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 y superiores (PECL)

  • ssh2.shell://usuario:contrasenya@example.com:22/xterm

  • ssh2.exec://usuario:contrasenya@example.com:22/usr/local/bin/algun_comando

  • ssh2.tunnel://usuario:contrasenya@example.com:22/192.168.0.1:14

  • ssh2.sftp://usuario:contrasenya@example.com:22/ruta/hacia/archivo

Esta envoltura no se encuentra habilitada por omisión: Para usar las envolturas ssh2.*://, es necesario instalar la extensión SSH2 disponible desde PECL.

Además de aceptar detalles de inicio de sesión tradicionales tipo URI, las envolturas ssh2 reusan conexiones abiertas pasando el recurso de conexión en la porción host de la URL.

Ejemplo M-6. Abrir una secuencia desde una conexión activa

<?php
$sesion = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($sesion, 'nombre_usuario',
                      '/home/usuario/.ssh/id_rsa.pub',
                      '/home/usuario/.ssh/id_rsa', 'secreto');
$secuencia = fopen("ssh2.tunnel://$sesion/remote.example.com:1234", 'r');
?>

Tabla M-9. Resumen de Envoltura

Atributo | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Restricción por allow_url_fopen | Si | Si | Si | Si | Si
Permite lectura | Si | Si | Si | Si | Si
Permite escritura | Si | Si | Si | Si | No
Permite adición | No | No | No | Si (Cuando lo permite el servidor) | No
Permite Lectura y Escritura Simultánea | Si | Si | Si | Si | No
Soporta stat() | No | No | No | Si | No
Soporta unlink() | No | No | No | Si | No
Soporta rename() | No | No | No | Si | No
Soporta mkdir() | No | No | No | Si | No
Soporta rmdir() | No | No | No | Si | No

Tabla M-10. Opciones de contexto

Nombre | Uso | Predeterminado
session | Recurso ssh2 preconectado para reusar |
sftp | Recurso sftp prereservado para reusar |
methods | Métodos de intercambio de llave, llave de host, cifrado, compresión y MAC a usar |
callbacks |  |
username | Nombre de usuario para la conexión |
password | Contraseña a usar con autenticación de contraseñas |
pubkey_file | Nombre del archivo de llave pública a usar para la autenticación |
privkey_file | Nombre del archivo de llave privada a usar para la autenticación |
env | Matriz asociativa de variables de entorno a definir |
term | Tipo de emulación de terminal para solicitar cuando se reserva una pty |
term_width | Ancho de la terminal solicitada cuando se reserva una pty |
term_height | Altura de la terminal solicitada cuando se reserva una pty |
term_units | Unidades a usar con term_width y term_height | SSH2_TERM_UNIT_CHARS

Anterior | Inicio | Siguiente
Datos (RFC 2397) | Subir | Secuencias de Audio


ZEND_WRONG_PARAM_COUNT_WITH_RETVAL

ZEND_WRONG_PARAM_COUNT_WITH_RETVAL -- Generate standard error message and return custom value

Descripción

#include <zend_API.h>

#include <zend_API.h>

void ZEND_WRONG_PARAM_COUNT_WITH_RETVAL ( mixed return_value )

Nota: This macro is part of the API but not used in any bundled or PECL extension

ZEND_WRONG_PARAM_COUNT_WITH_RETVAL() produces a standard warning message for functions or class methods that have been called with a wrong number of parameters and returns its parameter to the calling function. The macro automaticly puts the right function name and class name (if needed) into the error message.

The return_value parameter is returned to the calling function of the current one.

ZEND_WRONG_PARAM_COUNT_WITH_RETVAL() is actually a convenience wrapper for zend_wrong_param_count().

Anterior | Inicio | Siguiente
ZEND_WRITE | Subir | ZEND_WRONG_PARAM_COUNT


add_assoc_bool

add_assoc_bool -- Add a bool value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_bool ( zval* arg, char* key, int b )

...

Lista de parámetros

arg

...

key

...

b

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_bool_ex | Subir | add_assoc_double_ex


add_assoc_bool_ex

add_assoc_bool_ex -- Add a bool value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_bool_ex ( zval* arg, char* key, uint key_len, int b )

...

Lista de parámetros

arg

...

key

...

key_len

...

b

...

Valores retornados

...

Anterior | Inicio | Siguiente
API Function and Macro reference (work in progress) | Subir | add_assoc_bool


add_assoc_double

add_assoc_double -- Add a double value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_double ( zval* arg, char* key, double d )

...

Lista de parámetros

arg

...

key

...

d

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_double_ex | Subir | add_assoc_function


add_assoc_double_ex

add_assoc_double_ex -- Add a double value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_double_ex ( zval* arg, char* key, uint key_len, double d )

...

Lista de parámetros

arg

...

key

...

key_len

...

d

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_bool | Subir | add_assoc_double


add_assoc_function

add_assoc_function -- Add a function pointer to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_function ( zval* arg, char* key, void (*function_ptr)(INTERNAL_FUNCTION_PARAMETERS) )

...

Lista de parámetros

arg

...

key

...

(*function_ptr)(INTERNAL_FUNCTION_PARAMETERS)

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_double | Subir | add_assoc_long_ex


add_assoc_long

add_assoc_long -- Add a long value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_long ( zval* arg, char* key, long n )

...

Lista de parámetros

arg

...

key

...

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_long_ex | Subir | add_assoc_null_ex


add_assoc_long_ex

add_assoc_long_ex -- Add a long value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_long_ex ( zval* arg, char* key, uint key_len, long n )

...

Lista de parámetros

arg

...

key

...

key_len

...

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_function | Subir | add_assoc_long


add_assoc_null

add_assoc_null -- Add a null value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_null ( zval* arg, char* key )

...

Lista de parámetros

arg

...

key

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_null_ex | Subir | add_assoc_resource_ex


add_assoc_null_ex

add_assoc_null_ex -- Add a null value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_null_ex ( zval* arg, char* key, uint key_len )

...

Lista de parámetros

arg

...

key

...

key_len

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_long | Subir | add_assoc_null


add_assoc_resource

add_assoc_resource -- Add a resource value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_resource ( zval* arg, char* key, int r )

...

Lista de parámetros

arg

...

key

...

r

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_resource_ex | Subir | add_assoc_string_ex


add_assoc_resource_ex

add_assoc_resource_ex -- Add a resource value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_resource_ex ( zval* arg, char* key, uint key_len, int r )

...

Lista de parámetros

arg

...

key

...

key_len

...

r

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_null | Subir | add_assoc_resource


add_assoc_string

add_assoc_string -- Add a string value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_string ( zval* arg, char* key, char* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_string_ex | Subir | add_assoc_stringl_ex


add_assoc_string_ex

add_assoc_string_ex -- Add a string value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_string_ex ( zval* arg, char* key, uint key_len, char* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_resource | Subir | add_assoc_string


add_assoc_stringl

add_assoc_stringl -- Add a binary safe string value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_stringl ( zval* arg, char* key, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_stringl_ex | Subir | add_assoc_unicode_ex


add_assoc_stringl_ex

add_assoc_stringl_ex -- Add a binary safe string value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_stringl_ex ( zval* arg, char* key, uint key_len, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_string | Subir | add_assoc_stringl


add_assoc_unicode

add_assoc_unicode -- Add a binary safe unicode_string value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_unicode ( zval* arg, char* key, void* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_unicode_ex | Subir | add_assoc_unicodel_ex


add_assoc_unicode_ex

add_assoc_unicode_ex -- Add a unicode_string value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_unicode_ex ( zval* arg, char* key, uint key_len, void* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_stringl | Subir | add_assoc_unicode


add_assoc_unicodel

add_assoc_unicodel -- Add a binary safe unicode_string value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_unicodel ( zval* arg, char* key, void* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_unicodel_ex | Subir | add_assoc_unset


add_assoc_unicodel_ex

add_assoc_unicodel_ex -- Add a binary safe unicode_string value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_unicodel_ex ( zval* arg, char* key, uint key_len, void* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_unicode | Subir | add_assoc_unicodel


add_assoc_unset

add_assoc_unset -- ...

Descripción

#include <zend_API.h>

int add_assoc_unset ( zval* arg, char* key )

...

Lista de parámetros

arg

...

key

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_unicodel | Subir | add_assoc_zval_ex


add_assoc_zval

add_assoc_zval -- Add a zval value to an assoc array

Descripción

#include <zend_API.h>

int add_assoc_zval ( zval* arg, char* key, zval* value )

...

Lista de parámetros

arg

...

key

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_zval_ex | Subir | add_get_assoc_string_ex


add_assoc_zval_ex

add_assoc_zval_ex -- Add a zval value to an assoc array with binary safe key

Descripción

#include <zend_API.h>

int add_assoc_zval_ex ( zval* arg, char* key, uint key_len, zval* value )

...

Lista de parámetros

arg

...

key

...

key_len

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_unset | Subir | add_assoc_zval


add_get_assoc_string

add_get_assoc_string -- ...

Descripción

#include <zend_API.h>

int add_get_assoc_string ( zval* arg, char* key, char* str, void** dest, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_assoc_string_ex | Subir | add_get_assoc_stringl_ex


add_get_assoc_string_ex

add_get_assoc_string_ex -- ...

Descripción

#include <zend_API.h>

int add_get_assoc_string_ex ( zval* arg, char* key, uint key_len, char* str, void** dest, int duplicate )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_assoc_zval | Subir | add_get_assoc_string


add_get_assoc_stringl

add_get_assoc_stringl -- ...

Descripción

#include <zend_API.h>

int add_get_assoc_stringl ( zval* arg, char* key, char* str, uint length, void** dest, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_assoc_stringl_ex | Subir | add_get_index_binary


add_get_assoc_stringl_ex

add_get_assoc_stringl_ex -- ...

Descripción

#include <zend_API.h>

int add_get_assoc_stringl_ex ( zval* arg, char* key, uint key_len, char* str, uint length, void** dest, int duplicate )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_assoc_string | Subir | add_get_assoc_stringl


add_get_index_binary

add_get_index_binary -- ...

Descripción

#include <zend_API.h>

int add_get_index_binary ( zval* arg, ulong idx, char* str, void** dest, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_assoc_stringl | Subir | add_get_index_binaryl


add_get_index_binaryl

add_get_index_binaryl -- ...

Descripción

#include <zend_API.h>

int add_get_index_binaryl ( zval* arg, ulong idx, char* str, uint length, void** dest, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

length

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_binary | Subir | add_get_index_double


add_get_index_double

add_get_index_double -- ...

Descripción

#include <zend_API.h>

int add_get_index_double ( zval* arg, ulong idx, double d, void** dest )

...

Lista de parámetros

arg

...

idx

...

d

...

dest

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_binaryl | Subir | add_get_index_long


add_get_index_long

add_get_index_long -- ...

Descripción

#include <zend_API.h>

int add_get_index_long ( zval* arg, ulong idx, long l, void** dest )

...

Lista de parámetros

arg

...

idx

...

l

...

dest

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_double | Subir | add_get_index_string


add_get_index_string

add_get_index_string -- ...

Descripción

#include <zend_API.h>

int add_get_index_string ( zval* arg, ulong idx, char* str, void** dest, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_long | Subir | add_get_index_stringl


add_get_index_stringl

add_get_index_stringl -- ...

Descripción

#include <zend_API.h>

int add_get_index_stringl ( zval* arg, ulong idx, char* str, uint length, void** dest, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

length

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_string | Subir | add_get_index_unicode


add_get_index_unicode

add_get_index_unicode -- ...

Descripción

#include <zend_API.h>

int add_get_index_unicode ( zval* arg, ulong idx, UChar* str, void** dest, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_stringl | Subir | add_get_index_unicodel


add_get_index_unicodel

add_get_index_unicodel -- ...

Descripción

#include <zend_API.h>

int add_get_index_unicodel ( zval* arg, ulong idx, UChar* str, uint length, void** dest, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

length

...

dest

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_unicode | Subir | add_index_binary


add_index_binary

add_index_binary -- Add binary_string value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_binary ( zval* arg, ulong idx, char* str, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

idx

...

str

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_get_index_unicodel | Subir | add_index_binaryl


add_index_binaryl

add_index_binaryl -- Add binary safe binary_string value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_binaryl ( zval* arg, ulong idx, char* str, uint length, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

idx

...

str

...

length

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_binary | Subir | add_index_bool


add_index_bool

add_index_bool -- Add bool value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_bool ( zval* arg, ulong idx, int b )

...

Lista de parámetros

arg

...

idx

...

b

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_binaryl | Subir | add_index_double


add_index_double

add_index_double -- Add double value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_double ( zval* arg, ulong idx, double d )

...

Lista de parámetros

arg

...

idx

...

d

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_bool | Subir | add_index_long


add_index_long

add_index_long -- Add long value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_long ( zval* arg, ulong idx, long n )

...

Lista de parámetros

arg

...

idx

...

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_double | Subir | add_index_null


add_index_null

add_index_null -- Add null value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_null ( zval* arg, ulong idx )

...

Lista de parámetros

arg

...

idx

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_long | Subir | add_index_resource


add_index_resource

add_index_resource -- Add resource value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_resource ( zval* arg, ulong idx, int r )

...

Lista de parámetros

arg

...

idx

...

r

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_null | Subir | add_index_string


add_index_string

add_index_string -- Add string value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_string ( zval* arg, ulong idx, char* str, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_resource | Subir | add_index_stringl


add_index_stringl

add_index_stringl -- Add binary safe string value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_stringl ( zval* arg, ulong idx, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_string | Subir | add_index_unicode


add_index_unicode

add_index_unicode -- Add unicode value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_unicode ( zval* arg, ulong idx, UChar* str, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_stringl | Subir | add_index_unicodel


add_index_unicodel

add_index_unicodel -- Add binary safe unicode value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_unicodel ( zval* arg, ulong idx, UChar* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

idx

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_unicode | Subir | add_index_unset


add_index_unset

add_index_unset -- Add unset value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_unset ( zval* arg, ... key )

...

Lista de parámetros

arg

...

key

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_unicodel | Subir | add_index_zval


add_index_zval

add_index_zval -- Add zval value to assoc array using numeric index

Descripción

#include <zend_API.h>

int add_index_zval ( zval* arg, ulong index, zval* value )

...

Lista de parámetros

arg

...

index

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_unset | Subir | add_method


add_method

add_method -- ...

Descripción

#include <zend_API.h>

int add_method ( zval* arg, char* key, ... method )

...

Lista de parámetros

arg

...

key

...

method

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_index_zval | Subir | add_next_index_binary


add_next_index_binary

add_next_index_binary -- Add binary_string value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_binary ( zval* arg, char* str, int duplicate )

...

Lista de parámetros

arg

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_method | Subir | add_next_index_binaryl


add_next_index_binaryl

add_next_index_binaryl -- Add binary safe binary_string value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_binaryl ( zval* arg, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_binary | Subir | add_next_index_bool


add_next_index_bool

add_next_index_bool -- Add bool value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_bool ( zval* arg, int b )

...

Lista de parámetros

arg

...

b

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_binaryl | Subir | add_next_index_double


add_next_index_double

add_next_index_double -- Add double value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_double ( zval* arg, double d )

...

Lista de parámetros

arg

...

d

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_bool | Subir | add_next_index_long


add_next_index_long

add_next_index_long -- Add long value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_long ( zval* arg, long n )

...

Lista de parámetros

arg

...

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_double | Subir | add_next_index_null


add_next_index_null

add_next_index_null -- Add null value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_null ( zval* arg )

...

Lista de parámetros

arg

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_long | Subir | add_next_index_resource


add_next_index_resource

add_next_index_resource -- Add resource value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_resource ( zval* arg, int r )

...

Lista de parámetros

arg

...

r

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_null | Subir | add_next_index_string


add_next_index_string

add_next_index_string -- Add string value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_string ( zval* arg, char* str, int duplicate )

...

Lista de parámetros

arg

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_resource | Subir | add_next_index_stringl


add_next_index_stringl

add_next_index_stringl -- Add binary safe string value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_stringl ( zval* arg, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_string | Subir | add_next_index_unicode


add_next_index_unicode

add_next_index_unicode -- Add unicode value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_unicode ( zval* arg, UChar* str, int duplicate )

...

Lista de parámetros

arg

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_stringl | Subir | add_next_index_unicodel


add_next_index_unicodel

add_next_index_unicodel -- Add binary safe unicode value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_unicodel ( zval* arg, UChar* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_unicode | Subir | add_next_index_unset


add_next_index_unset

add_next_index_unset -- Add unset value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_unset ( zval* arg )

...

Lista de parámetros

arg

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_unicodel | Subir | add_next_index_zval


add_next_index_zval

add_next_index_zval -- Add zval value to assoc array using next free numeric index

Descripción

#include <zend_API.h>

int add_next_index_zval ( zval* arg, zval* value )

...

Lista de parámetros

arg

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_unset | Subir | add_property_ascii_string_ex


add_property_ascii_string

add_property_ascii_string -- ...

Descripción

#include <zend_API.h>

int add_property_ascii_string ( zval* arg, char* key, char* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_ascii_string_ex | Subir | add_property_ascii_stringl_ex


add_property_ascii_string_ex

add_property_ascii_string_ex -- ...

Descripción

#include <zend_API.h>

int add_property_ascii_string_ex ( zval* arg, char* key, uint key_len, char* str, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_next_index_zval | Subir | add_property_ascii_string


add_property_ascii_stringl

add_property_ascii_stringl -- ...

Descripción

#include <zend_API.h>

int add_property_ascii_stringl ( zval* arg, char* key, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_ascii_stringl_ex | Subir | add_property_bool_ex


add_property_ascii_stringl_ex

add_property_ascii_stringl_ex -- ...

Descripción

#include <zend_API.h>

int add_property_ascii_stringl_ex ( zval* arg, char* key, uint key_len, char* str, uint length, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_ascii_string | Subir | add_property_ascii_stringl


add_property_bool

add_property_bool -- ...

Descripción

#include <zend_API.h>

int add_property_bool ( zval* arg, char* key, int b )

...

Lista de parámetros

arg

...

key

...

b

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_bool_ex | Subir | add_property_double_ex


add_property_bool_ex

add_property_bool_ex -- ...

Descripción

#include <zend_API.h>

int add_property_bool_ex ( zval* arg, char* key, uint key_len, int b, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

b

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_ascii_stringl | Subir | add_property_bool


add_property_double

add_property_double -- ...

Descripción

#include <zend_API.h>

int add_property_double ( zval* arg, char* key, double d )

...

Lista de parámetros

arg

...

key

...

d

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_double_ex | Subir | add_property_long_ex


add_property_double_ex

add_property_double_ex -- ...

Descripción

#include <zend_API.h>

int add_property_double_ex ( zval* arg, char* key, uint key_len, double d, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

d

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_bool | Subir | add_property_double


add_property_long

add_property_long -- ...

Descripción

#include <zend_API.h>

int add_property_long ( zval* arg, char* key, ... n )

...

Lista de parámetros

arg

...

key

...

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_long_ex | Subir | add_property_null_ex


add_property_long_ex

add_property_long_ex -- ...

Descripción

#include <zend_API.h>

int add_property_long_ex ( zval* arg, char* key, uint key_len, long l, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

l

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_double | Subir | add_property_long


add_property_null

add_property_null -- ...

Descripción

#include <zend_API.h>

int add_property_null ( zval* arg, char* key )

...

Lista de parámetros

arg

...

key

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_null_ex | Subir | add_property_resource_ex


add_property_null_ex

add_property_null_ex -- ...

Descripción

#include <zend_API.h>

int add_property_null_ex ( zval* arg, char* key, uint key_len, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_long | Subir | add_property_null


add_property_resource

add_property_resource -- ...

Descripción

#include <zend_API.h>

int add_property_resource ( zval* arg, char* key, long r )

...

Lista de parámetros

arg

...

key

...

r

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_resource_ex | Subir | add_property_rt_string_ex


add_property_resource_ex

add_property_resource_ex -- ...

Descripción

#include <zend_API.h>

int add_property_resource_ex ( zval* arg, char* key, uint key_len, long r, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

r

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_null | Subir | add_property_resource


add_property_rt_string

add_property_rt_string -- ...

Descripción

#include <zend_API.h>

int add_property_rt_string ( zval* arg, char* key, char* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_rt_string_ex | Subir | add_property_rt_stringl_ex


add_property_rt_string_ex

add_property_rt_string_ex -- ...

Descripción

#include <zend_API.h>

int add_property_rt_string_ex ( zval* arg, char* key, uint key_len, char* str, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_resource | Subir | add_property_rt_string


add_property_rt_stringl

add_property_rt_stringl -- ...

Descripción

#include <zend_API.h>

int add_property_rt_stringl ( zval* arg, char* key, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_rt_stringl_ex | Subir | add_property_string_ex


add_property_rt_stringl_ex

add_property_rt_stringl_ex -- ...

Descripción

#include <zend_API.h>

int add_property_rt_stringl_ex ( zval* arg, char* key, uint key_len, char* str, uint length, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_rt_string | Subir | add_property_rt_stringl


add_property_string

add_property_string -- ...

Descripción

#include <zend_API.h>

int add_property_string ( zval* arg, char* key, char* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_string_ex | Subir | add_property_stringl_ex


add_property_string_ex

add_property_string_ex -- ...

Descripción

#include <zend_API.h>

int add_property_string_ex ( zval* arg, char* key, uint key_len, char* str, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_rt_stringl | Subir | add_property_string


add_property_stringl

add_property_stringl -- ...

Descripción

#include <zend_API.h>

int add_property_stringl ( zval* arg, char* key, char* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_stringl_ex | Subir | add_property_unicode_ex


add_property_stringl_ex

add_property_stringl_ex -- ...

Descripción

#include <zend_API.h>

int add_property_stringl_ex ( zval* arg, char* key, uint key_len, char* str, uint length, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_string | Subir | add_property_stringl


add_property_unicode

add_property_unicode -- ...

Descripción

#include <zend_API.h>

int add_property_unicode ( zval* arg, char* key, UChar* str, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_unicode_ex | Subir | add_property_unicodel_ex


add_property_unicode_ex

add_property_unicode_ex -- ...

Descripción

#include <zend_API.h>

int add_property_unicode_ex ( zval* arg, char* key, uint key_len, UChar* str, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_stringl | Subir | add_property_unicode


add_property_unicodel

add_property_unicodel -- ...

Descripción

#include <zend_API.h>

int add_property_unicodel ( zval* arg, char* key, UChar* str, uint length, int duplicate )

...

Lista de parámetros

arg

...

key

...

str

...

length

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_unicodel_ex | Subir | add_property_unset


add_property_unicodel_ex

add_property_unicodel_ex -- ...

Descripción

#include <zend_API.h>

int add_property_unicodel_ex ( zval* arg, char* key, uint key_len, UChar* str, uint length, int duplicate, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

str

...

length

...

duplicate

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_unicode | Subir | add_property_unicodel


add_property_unset

add_property_unset -- ...

Descripción

#include <zend_API.h>

int add_property_unset ( zval* arg, char* key )

...

Lista de parámetros

arg

...

key

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_unicodel | Subir | add_property_zval_ex


add_property_zval

add_property_zval -- ...

Descripción

#include <zend_API.h>

int add_property_zval ( zval* arg, char* key, zval* value )

...

Lista de parámetros

arg

...

key

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_zval_ex | Subir | add_u_assoc_zval_ex


add_property_zval_ex

add_property_zval_ex -- ...

Descripción

#include <zend_API.h>

int add_property_zval_ex ( zval* arg, char* key, uint key_len, zval* value, magic TSRMLS_DC )

...

Lista de parámetros

arg

...

key

...

key_len

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_unset | Subir | add_property_zval


add_u_assoc_zval

add_u_assoc_zval -- ...

Descripción

#include <zend_API.h>

int add_u_assoc_zval ( zval* arg, zend_uchar type, void* key, zval* value )

...

Lista de parámetros

arg

...

type

...

key

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_u_assoc_zval_ex | Subir | array_init


add_u_assoc_zval_ex

add_u_assoc_zval_ex -- ...

Descripción

#include <zend_API.h>

int add_u_assoc_zval_ex ( zval* arg, zend_uchar type, void* key, uint key_len, zval* value )

...

Lista de parámetros

arg

...

type

...

key

...

key_len

...

value

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_property_zval | Subir | add_u_assoc_zval


array_init

array_init -- ...

Descripción

#include <zend_API.h>

int array_init ( zval* arg )

...

Lista de parámetros

arg

...

Valores retornados

...

Anterior | Inicio | Siguiente
add_u_assoc_zval | Subir | call_user_function_ex


call_user_function

call_user_function -- ...

Descripción

#include <zend_API.h>

int call_user_function ( HashTable* function_table, zval** object_pp, zval* function_name, zval* retval_ptr, zend_uint param_count, zval* params[], magic TSRMLS_DC )

...

Lista de parámetros

function_table

...

object_pp

...

function_name

...

retval_ptr

...

param_count

...

params[]

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
call_user_function_ex | Subir | compile_file


call_user_function_ex

call_user_function_ex -- ...

Descripción

#include <zend_API.h>

int call_user_function_ex ( HashTable* function_table, zval** object_pp, zval* function_name, zval** retval_ptr_ptr, zend_uint param_count, zval** params[], int no_separation, HashTable* symbol_table, magic TSRMLS_DC )

...

Lista de parámetros

function_table

...

object_pp

...

function_name

...

retval_ptr_ptr

...

param_count

...

params[]

...

no_separation

...

symbol_table

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
array_init | Subir | call_user_function


compile_file

compile_file -- ...

Descripción

#include <zend_compile.h>

zend_op_array* compile_file ( zend_file_handle* file_handle, int type, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
call_user_function | Subir | compile_filename


compile_filename

compile_filename -- ...

Descripción

#include <zend_compile.h>

zend_op_array* compile_filename ( int type, zval* filename, magic TSRMLS_DC )

...

Lista de parámetros

type

...

filename

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
compile_file | Subir | compile_string


compile_string

compile_string -- ...

Descripción

#include <zend_compile.h>

zend_op_array* compile_string ( zval* source_string, char* filename, magic TSRMLS_DC )

...

Lista de parámetros

source_string

...

filename

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
compile_filename | Subir | destroy_op_array


destroy_op_array

destroy_op_array -- ...

Descripción

#include <zend_compile.h>

void destroy_op_array ( zend_op_array* op_array, magic TSRMLS_DC )

...

Lista de parámetros

op_array

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
compile_string | Subir | destroy_zend_class


destroy_zend_class

destroy_zend_class -- ...

Descripción

#include <zend_compile.h>

void destroy_zend_class ( zend_class_entry** pce )

...

Lista de parámetros

pce

...

Valores retornados

...

Anterior | Inicio | Siguiente
destroy_op_array | Subir | destroy_zend_function


destroy_zend_function

destroy_zend_function -- ...

Descripción

#include <zend_compile.h>

void destroy_zend_function ( zend_function* function, magic TSRMLS_DC )

...

Lista de parámetros

function

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
destroy_zend_class | Subir | display_ini_entries


DISPLAY_INI_ENTRIES

DISPLAY_INI_ENTRIES -- ...

Descripción

#include <zend_ini.h>

void DISPLAY_INI_ENTRIES ( ... )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_update_constant | Subir | INI_BOOL


do_bind_class

do_bind_class -- ...

Descripción

#include <zend_compile.h>

zend_class_entry* do_bind_class ( zend_op* opline, HashTable* class_table, zend_bool compile_time, magic TSRMLS_DC )

...

Lista de parámetros

opline

...

class_table

...

compile_time

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
display_ini_entries | Subir | do_bind_function


do_bind_function

do_bind_function -- ...

Descripción

#include <zend_compile.h>

int do_bind_function ( zend_op* opline, HashTable* function_table, zend_bool compile_time )

...

Lista de parámetros

opline

...

function_table

...

compile_time

...

Valores retornados

...

Anterior | Inicio | Siguiente
do_bind_class | Subir | do_bind_inherited_class


do_bind_inherited_class

do_bind_inherited_class -- ...

Descripción

#include <zend_compile.h>

zend_class_entry* do_bind_inherited_class ( zend_op* opline, HashTable* class_table, zend_class_entry* parent_ce, zend_bool compile_time, magic TSRMLS_DC )

...

Lista de parámetros

opline

...

class_table

...

parent_ce

...

compile_time

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
do_bind_function | Subir | estrndup_rel


estrndup

estrndup -- ...

Descripción

#include <zend_alloc.h>

char* estrndup ( const char* s, unsigned int length )

...

Lista de parámetros

s

...

length

...

Valores retornados

...

Anterior | Inicio | Siguiente
estrndup_rel | Subir | eustrdup


estrndup_rel

estrndup_rel -- ...

Descripción

#include <zend_alloc.h>

char* estrndup_rel ( const char* s, unsigned int length )

...

Lista de parámetros

s

...

length

...

Valores retornados

...

Anterior | Inicio | Siguiente
do_bind_inherited_class | Subir | estrndup


eustrdup

eustrdup -- ...

Descripción

#include <zend_alloc.h>

UChar* eustrdup ( const UChar* s )

...

Lista de parámetros

s

...

Valores retornados

...

Anterior | Inicio | Siguiente
estrndup | Subir | eustrndup_rel


eustrndup

eustrndup -- ...

Descripción

#include <zend_alloc.h>

UChar* eustrndup ( const UChar* s, uint length )

...

Lista de parámetros

s

...

length

...

Valores retornados

...

Anterior | Inicio | Siguiente
eustrndup_rel | Subir | execute_internal


eustrndup_rel

eustrndup_rel -- ...

Descripción

#include <zend_alloc.h>

UChar* eustrndup_rel ( const UChar* s, uint length )

...

Lista de parámetros

s

...

length

...

Valores retornados

...

Anterior | Inicio | Siguiente
eustrdup | Subir | eustrndup


execute

execute -- ...

Descripción

#include <zend_execute.h>

void execute ( zend_op_array* op_array, magic TSRMLS_DC )

...

Lista de parámetros

op_array

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
execute_internal | Subir | free_estring


execute_internal

execute_internal -- ...

Descripción

#include <zend_execute.h>

void execute_internal ( zend_execute_data* execute_data_ptr, int return_value_used, magic TSRMLS_DC )

...

Lista de parámetros

execute_data_ptr

...

return_value_used

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
eustrndup | Subir | execute


free_estring

free_estring -- ...

Descripción

#include <zend.h>

void free_estring ( char** str_p )

...

Lista de parámetros

str_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
execute | Subir | full_mem_check


full_mem_check

full_mem_check -- ...

Descripción

#include <zend_alloc.h>

void full_mem_check ( ... silent )

...

Lista de parámetros

silent

...

Valores retornados

...

Anterior | Inicio | Siguiente
free_estring | Subir | function_add_ref


function_add_ref

function_add_ref -- ...

Descripción

#include <zend_compile.h>

void function_add_ref ( zend_function* function, magic TSRMLS_DC )

...

Lista de parámetros

function

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
full_mem_check | Subir | get_active_class_name


get_active_class_name

get_active_class_name -- ...

Descripción

#include <zend_execute.h>

char* get_active_class_name ( char** space, magic TSRMLS_DC )

...

Lista de parámetros

space

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
function_add_ref | Subir | get_active_function_name


get_active_function_name

get_active_function_name -- ...

Descripción

#include <zend_execute.h>

char* get_active_function_name ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
get_active_class_name | Subir | get_binary_op


get_binary_op

get_binary_op -- ...

Descripción

#include <zend_compile.h>

void* get_binary_op ( int opcode )

...

Lista de parámetros

opcode

...

Valores retornados

...

Anterior | Inicio | Siguiente
get_active_function_name | Subir | get_unary_op


get_unary_op

get_unary_op -- ...

Descripción

#include <zend_compile.h>

unary_op_type get_unary_op ( int opcode )

...

Lista de parámetros

opcode

...

Valores retornados

...

Anterior | Inicio | Siguiente
get_binary_op | Subir | get_zend_version


get_zend_version

get_zend_version -- Get Zend Engine version string

Descripción

#include <zend.h>

char* get_zend_version ( void )

get_zend_version() returns a verbose version string containing both version and copyright information for the Zend Engine in use.

Valores retornados

A Zend version string like:

Zend Engine v2.0.5, Copyright (c) 1998-2006 Zend Technologies

Anterior | Inicio | Siguiente
get_unary_op | Subir | highlight_file


highlight_file

highlight_file -- ...

Descripción

#include <zend_highlight.h>

int highlight_file ( char* filename, zend_syntax_highlighter_ini* syntax_highlighter_ini, magic TSRMLS_DC )

...

Lista de parámetros

filename

...

syntax_highlighter_ini

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
get_zend_version | Subir | highlight_string


highlight_string

highlight_string -- ...

Descripción

#include <zend_highlight.h>

int highlight_string ( zval* str, zend_syntax_highlighter_ini* syntax_highlighter_ini, char* str_name, magic TSRMLS_DC )

...

Lista de parámetros

str

...

syntax_highlighter_ini

...

str_name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
highlight_file | Subir | init_op_array


INI_BOOL

INI_BOOL -- ...

Descripción

#include <zend_ini.h>

long INI_BOOL ( ... name) ((zend_bool )

...

Lista de parámetros

name) ((zend_bool

...

Valores retornados

...

Anterior | Inicio | Siguiente
DISPLAY_INI_ENTRIES | Subir | INI_FLT


INI_FLT

INI_FLT -- ...

Descripción

#include <zend_ini.h>

double INI_FLT ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_BOOL | Subir | INI_INT


INI_INT

INI_INT -- ...

Descripción

#include <zend_ini.h>

long INI_INT ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_FLT | Subir | INI_ORIG_BOOL


INI_ORIG_BOOL

INI_ORIG_BOOL -- ...

Descripción

#include <zend_ini.h>

long INI_ORIG_BOOL ( ... name) ((zend_bool )

...

Lista de parámetros

name) ((zend_bool

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_INT | Subir | INI_ORIG_FLT


INI_ORIG_FLT

INI_ORIG_FLT -- ...

Descripción

#include <zend_ini.h>

double INI_ORIG_FLT ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_ORIG_BOOL | Subir | INI_ORIG_INT


INI_ORIG_INT

INI_ORIG_INT -- ...

Descripción

#include <zend_ini.h>

long INI_ORIG_INT ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_ORIG_FLT | Subir | INI_ORIG_STR


INI_ORIG_STR

INI_ORIG_STR -- ...

Descripción

#include <zend_ini.h>

char* INI_ORIG_STR ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_ORIG_INT | Subir | INI_STR


INI_STR

INI_STR -- ...

Descripción

#include <zend_ini.h>

char* INI_STR ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_ORIG_STR | Subir | REGISTER_DOUBLE_CONSTANT


init_op_array

init_op_array -- ...

Descripción

#include <zend_compile.h>

void init_op_array ( zend_op_array* op_array, zend_uchar type, int initial_ops_size, magic TSRMLS_DC )

...

Lista de parámetros

op_array

...

type

...

initial_ops_size

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
highlight_string | Subir | lex_scan


lex_scan

lex_scan -- ...

Descripción

#include <zend_compile.h>

int lex_scan ( zval* zendlval, magic TSRMLS_DC )

...

Lista de parámetros

zendlval

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
init_op_array | Subir | mem_block_check


mem_block_check

mem_block_check -- ...

Descripción

#include <zend_alloc.h>

int mem_block_check ( void* ptr, ... silent )

...

Lista de parámetros

ptr

...

silent

...

Valores retornados

...

Anterior | Inicio | Siguiente
lex_scan | Subir | object_and_properties_init


object_and_properties_init

object_and_properties_init -- ...

Descripción

#include <zend_API.h>

int object_and_properties_init ( zval* arg, zend_class_entry* ce, HashTable* properties )

...

Lista de parámetros

arg

...

ce

...

properties

...

Valores retornados

...

Anterior | Inicio | Siguiente
mem_block_check | Subir | object_init_ex


object_init

object_init -- ...

Descripción

#include <zend_API.h>

int object_init ( zval* arg )

...

Lista de parámetros

arg

...

Valores retornados

...

Anterior | Inicio | Siguiente
object_init_ex | Subir | open_file_for_scanning


object_init_ex

object_init_ex -- ...

Descripción

#include <zend_API.h>

int object_init_ex ( zval* arg, zend_class_entry* ce )

...

Lista de parámetros

arg

...

ce

...

Valores retornados

...

Anterior | Inicio | Siguiente
object_and_properties_init | Subir | object_init


open_file_for_scanning

open_file_for_scanning -- ...

Descripción

#include <zend_compile.h>

int open_file_for_scanning ( zend_file_handle* file_handle, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
object_init | Subir | register_list_destructors


REGISTER_DOUBLE_CONSTANT

REGISTER_DOUBLE_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_DOUBLE_CONSTANT ( char* name, double dval, int flags )

...

Lista de parámetros

name

...

dval

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
INI_STR | Subir | REGISTER_INI_BOOLEAN


REGISTER_INI_BOOLEAN

REGISTER_INI_BOOLEAN -- ...

Descripción

#include <zend_ini.h>

int REGISTER_INI_BOOLEAN ( char* name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_DOUBLE_CONSTANT | Subir | REGISTER_INI_DISPLAYER


REGISTER_INI_DISPLAYER

REGISTER_INI_DISPLAYER -- ...

Descripción

#include <zend_ini.h>

int REGISTER_INI_DISPLAYER ( char* name, ... displayer )

...

Lista de parámetros

name

...

displayer

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_INI_BOOLEAN | Subir | REGISTER_INI_ENTRIES


REGISTER_INI_ENTRIES

REGISTER_INI_ENTRIES -- ...

Descripción

#include <zend_ini.h>

int REGISTER_INI_ENTRIES ( ... )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_INI_DISPLAYER | Subir | REGISTER_LONG_CONSTANT


register_list_destructors

register_list_destructors -- ...

Descripción

#include <zend_list.h>

int register_list_destructors ( ... ld, ... pld )

...

Lista de parámetros

ld

...

pld

...

Valores retornados

...

Anterior | Inicio | Siguiente
open_file_for_scanning | Subir | shutdown_memory_manager


REGISTER_LONG_CONSTANT

REGISTER_LONG_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_LONG_CONSTANT ( char* name, long lval, int flags )

...

Lista de parámetros

name

...

lval

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_INI_ENTRIES | Subir | REGISTER_MAIN_DOUBLE_CONSTANT


REGISTER_MAIN_DOUBLE_CONSTANT

REGISTER_MAIN_DOUBLE_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_MAIN_DOUBLE_CONSTANT ( char* name, double dval, int flags )

...

Lista de parámetros

name

...

dval

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_LONG_CONSTANT | Subir | REGISTER_MAIN_LONG_CONSTANT


REGISTER_MAIN_LONG_CONSTANT

REGISTER_MAIN_LONG_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_MAIN_LONG_CONSTANT ( char* name, long lval, int flags )

...

Lista de parámetros

name

...

lval

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_MAIN_DOUBLE_CONSTANT | Subir | REGISTER_MAIN_STRING_CONSTANT


REGISTER_MAIN_STRING_CONSTANT

REGISTER_MAIN_STRING_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_MAIN_STRING_CONSTANT ( char* name, ... str, int flags )

...

Lista de parámetros

name

...

str

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_MAIN_LONG_CONSTANT | Subir | REGISTER_MAIN_STRINGL_CONSTANT


REGISTER_MAIN_STRINGL_CONSTANT

REGISTER_MAIN_STRINGL_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_MAIN_STRINGL_CONSTANT ( char* name, ... str, ... len, int flags )

...

Lista de parámetros

name

...

str

...

len

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_MAIN_STRING_CONSTANT | Subir | REGISTER_STRING_CONSTANT


REGISTER_STRING_CONSTANT

REGISTER_STRING_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_STRING_CONSTANT ( char* name, ... str, int flags )

...

Lista de parámetros

name

...

str

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_MAIN_STRINGL_CONSTANT | Subir | REGISTER_STRINGL_CONSTANT


REGISTER_STRINGL_CONSTANT

REGISTER_STRINGL_CONSTANT -- ...

Descripción

#include <zend_constants.h>

void REGISTER_STRINGL_CONSTANT ( char* name, ... str, ... len, int flags )

...

Lista de parámetros

name

...

str

...

len

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_STRING_CONSTANT | Subir | RETURN_ASCII_STRING


shutdown_memory_manager

shutdown_memory_manager -- ...

Descripción

#include <zend_alloc.h>

void shutdown_memory_manager ( int silent, int full_shutdown, magic TSRMLS_DC )

...

Lista de parámetros

silent

...

full_shutdown

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
register_list_destructors | Subir | start_memory_manager


start_memory_manager

start_memory_manager -- ...

Descripción

#include <zend_alloc.h>

void start_memory_manager ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
shutdown_memory_manager | Subir | zend_alter_ini_entry


ts_allocate_id

ts_allocate_id -- ...

Descripción

#include <TSRM.h>

ts_rsrc_id ts_allocate_id ( ts_rsrc_id* rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor )

...

Lista de parámetros

rsrc_id

...

size

...

ctor

...

dtor

...

Valores retornados

...

Anterior | Inicio | Siguiente
TSRM API | Subir | ts_free_id


ts_free_id

ts_free_id -- ...

Descripción

#include <TSRM.h>

void ts_free_id ( ts_rsrc_id id )

...

Lista de parámetros

id

...

Valores retornados

...

Anterior | Inicio | Siguiente
ts_allocate_id | Subir | ts_free_thread


ts_free_thread

ts_free_thread -- ...

Descripción

#include <TSRM.h>

void ts_free_thread ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
ts_free_id | Subir | ts_resource_ex


ts_resource

ts_resource -- ...

Descripción

#include <TSRM.h>

void* ts_resource ( ts_rsrc_id id )

...

Lista de parámetros

id

...

Valores retornados

...

Anterior | Inicio | Siguiente
ts_resource_ex | Subir | tsrm_error_set


ts_resource_ex

ts_resource_ex -- ...

Descripción

#include <TSRM.h>

void* ts_resource_ex ( ts_rsrc_id id, THREAD_T* th_id )

...

Lista de parámetros

id

...

th_id

...

Valores retornados

...

Anterior | Inicio | Siguiente
ts_free_thread | Subir | ts_resource


tsrm_error

tsrm_error -- ...

Descripción

#include <TSRM.h>

int tsrm_error ( int level, const char* format, ... )

...

Lista de parámetros

level

...

format

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_error_set | Subir | tsrm_free_interpreter_context


tsrm_error_set

tsrm_error_set -- ...

Descripción

#include <TSRM.h>

void tsrm_error_set ( int level, char* debug_filename )

...

Lista de parámetros

level

...

debug_filename

...

Valores retornados

...

Anterior | Inicio | Siguiente
ts_resource | Subir | tsrm_error


tsrm_free_interpreter_context

tsrm_free_interpreter_context -- ...

Descripción

#include <TSRM.h>

void tsrm_free_interpreter_context ( void* context )

...

Lista de parámetros

context

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_error | Subir | tsrm_mutex_alloc


tsrm_mutex_alloc

tsrm_mutex_alloc -- ...

Descripción

#include <TSRM.h>

MUTEX_T tsrm_mutex_alloc ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_free_interpreter_context | Subir | tsrm_mutex_free


tsrm_mutex_free

tsrm_mutex_free -- ...

Descripción

#include <TSRM.h>

void tsrm_mutex_free ( MUTEX_T mutexp )

...

Lista de parámetros

mutexp

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_mutex_alloc | Subir | tsrm_mutex_lock


tsrm_mutex_lock

tsrm_mutex_lock -- ...

Descripción

#include <TSRM.h>

int tsrm_mutex_lock ( MUTEX_T mutexp )

...

Lista de parámetros

mutexp

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_mutex_free | Subir | tsrm_mutex_unlock


tsrm_mutex_unlock

tsrm_mutex_unlock -- ...

Descripción

#include <TSRM.h>

int tsrm_mutex_unlock ( MUTEX_T mutexp )

...

Lista de parámetros

mutexp

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_mutex_lock | Subir | tsrm_new_interpreter_context


tsrm_new_interpreter_context

tsrm_new_interpreter_context -- ...

Descripción

#include <TSRM.h>

void* tsrm_new_interpreter_context ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_mutex_unlock | Subir | tsrm_set_interpreter_context


tsrm_set_interpreter_context

tsrm_set_interpreter_context -- ...

Descripción

#include <TSRM.h>

void* tsrm_set_interpreter_context ( void* new_ctx )

...

Lista de parámetros

new_ctx

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_new_interpreter_context | Subir | tsrm_set_new_thread_begin_handler


tsrm_set_new_thread_begin_handler

tsrm_set_new_thread_begin_handler -- ...

Descripción

#include <TSRM.h>

void* tsrm_set_new_thread_begin_handler ( tsrm_thread_begin_func_t new_thread_begin_handler )

...

Lista de parámetros

new_thread_begin_handler

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_set_interpreter_context | Subir | tsrm_set_new_thread_end_handler


tsrm_set_new_thread_end_handler

tsrm_set_new_thread_end_handler -- ...

Descripción

#include <TSRM.h>

void* tsrm_set_new_thread_end_handler ( tsrm_thread_end_func_t new_thread_end_handler )

...

Lista de parámetros

new_thread_end_handler

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_set_new_thread_begin_handler | Subir | tsrm_shutdown


tsrm_shutdown

tsrm_shutdown -- ...

Descripción

#include <TSRM.h>

void tsrm_shutdown ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_set_new_thread_end_handler | Subir | tsrm_startup


tsrm_startup

tsrm_startup -- ...

Descripción

#include <TSRM.h>

int tsrm_startup ( int expected_threads, int expected_resources, int debug_level, char* debug_filename )

...

Lista de parámetros

expected_threads

...

expected_resources

...

debug_level

...

debug_filename

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_shutdown | Subir | tsrm_thread_id


tsrm_thread_id

tsrm_thread_id -- ...

Descripción

#include <TSRM.h>

THREAD_T tsrm_thread_id ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
tsrm_startup | Subir | virtual_access


UNREGISTER_INI_ENTRIES

UNREGISTER_INI_ENTRIES -- ...

Descripción

#include <zend_ini.h>

void UNREGISTER_INI_ENTRIES ( ... )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_ZVAL | Subir | Z_ARRVAL_P


virtual_access

virtual_access -- Check users permissions for a file

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_access ( const char* pathname, int mode, magic TSRMLS_DC )

virtual_access() thread safe wrapper around the access() function that takes per-thread virtual working directories into account.

See also VCWD_ACCESS().

Lista de parámetros

pathname

File to check permissions for

mode

Mode mask

TSRMLS_DC

Thread context

Valores retornados

Returns 0 on success and -1 on errors.

Anterior | Inicio | Siguiente
tsrm_thread_id | Subir | virtual_chdir_file


virtual_chdir

virtual_chdir -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_chdir ( const char* path, magic TSRMLS_DC )

...

Lista de parámetros

path

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_chdir_file | Subir | virtual_chmod


virtual_chdir_file

virtual_chdir_file -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_chdir_file ( const char* path, int (*p_chdir)(const char *path TSRMLS_DC) chdir_func, magic TSRMLS_DC )

...

Lista de parámetros

path

...

chdir_func

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_access | Subir | virtual_chdir


virtual_chmod

virtual_chmod -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_chmod ( const char* filename, mode_t mode, magic TSRMLS_DC )

...

Lista de parámetros

filename

...

mode

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_chdir | Subir | virtual_chown


virtual_chown

virtual_chown -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_chown ( const char* filename, uid_t owner, gid_t group, int link, magic TSRMLS_DC )

...

Lista de parámetros

filename

...

owner

...

group

...

link

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_chmod | Subir | virtual_creat


virtual_creat

virtual_creat -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_creat ( const char* path, mode_t mode, magic TSRMLS_DC )

...

Lista de parámetros

path

...

mode

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_chown | Subir | virtual_cwd_shutdown


virtual_cwd_shutdown

virtual_cwd_shutdown -- ...

Descripción

#include <tsrm_virtual_cwd.h>

void virtual_cwd_shutdown ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_creat | Subir | virtual_cwd_startup


virtual_cwd_startup

virtual_cwd_startup -- ...

Descripción

#include <tsrm_virtual_cwd.h>

void virtual_cwd_startup ( void )

...

Lista de parámetros

void

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_cwd_shutdown | Subir | virtual_file_ex


virtual_file_ex

virtual_file_ex -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_file_ex ( cwd_state* state, const char* path, verify_path_func verify_path, int use_realpath )

...

Lista de parámetros

state

...

path

...

verify_path

...

use_realpath

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_cwd_startup | Subir | virtual_filepath_ex


virtual_filepath

virtual_filepath -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_filepath ( const char* path, char** filepath, magic TSRMLS_DC )

...

Lista de parámetros

path

...

filepath

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_filepath_ex | Subir | virtual_fopen


virtual_filepath_ex

virtual_filepath_ex -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_filepath_ex ( const char* path, char** filepath, verify_path_func verify_path, magic TSRMLS_DC )

...

Lista de parámetros

path

...

filepath

...

verify_path

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_file_ex | Subir | virtual_filepath


virtual_fopen

virtual_fopen -- ...

Descripción

#include <tsrm_virtual_cwd.h>

FILE* virtual_fopen ( const char* path, const char* mode, magic TSRMLS_DC )

...

Lista de parámetros

path

...

mode

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_filepath | Subir | virtual_getcwd_ex


virtual_getcwd

virtual_getcwd -- ...

Descripción

#include <tsrm_virtual_cwd.h>

char* virtual_getcwd ( char* buf, size_t size, magic TSRMLS_DC )

...

Lista de parámetros

buf

...

size

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_getcwd_ex | Subir | virtual_lstat


virtual_getcwd_ex

virtual_getcwd_ex -- ...

Descripción

#include <tsrm_virtual_cwd.h>

char* virtual_getcwd_ex ( size_t* length, magic TSRMLS_DC )

...

Lista de parámetros

length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_fopen | Subir | virtual_getcwd


virtual_lstat

virtual_lstat -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_lstat ( const char* path, struct stat* buf, magic TSRMLS_DC )

...

Lista de parámetros

path

...

buf

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_getcwd | Subir | virtual_mkdir


virtual_mkdir

virtual_mkdir -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_mkdir ( const char* pathname, mode_t mode, magic TSRMLS_DC )

...

Lista de parámetros

pathname

...

mode

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_lstat | Subir | virtual_open


virtual_open

virtual_open -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_open ( const char* path, magic TSRMLS_DC, int flags, ... )

...

Lista de parámetros

path

...

TSRMLS_DC

...

flags

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_mkdir | Subir | virtual_opendir


virtual_opendir

virtual_opendir -- ...

Descripción

#include <tsrm_virtual_cwd.h>

DIR* virtual_opendir ( const char* pathname, magic TSRMLS_DC )

...

Lista de parámetros

pathname

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_open | Subir | virtual_popen


virtual_popen

virtual_popen -- ...

Descripción

#include <tsrm_virtual_cwd.h>

FILE* virtual_popen ( const char* command, const char* type, magic TSRMLS_DC )

...

Lista de parámetros

command

...

type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_opendir | Subir | virtual_realpath


virtual_realpath

virtual_realpath -- ...

Descripción

#include <tsrm_virtual_cwd.h>

char* virtual_realpath ( const char* path, char* real_path, magic TSRMLS_DC )

...

Lista de parámetros

path

...

real_path

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_popen | Subir | virtual_rename


virtual_rename

virtual_rename -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_rename ( char* oldname, char* newname, magic TSRMLS_DC )

...

Lista de parámetros

oldname

...

newname

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_realpath | Subir | virtual_rmdir


virtual_rmdir

virtual_rmdir -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_rmdir ( const char* pathname, magic TSRMLS_DC )

...

Lista de parámetros

pathname

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_rename | Subir | virtual_stat


virtual_stat

virtual_stat -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_stat ( const char* path, struct stat* buf, magic TSRMLS_DC )

...

Lista de parámetros

path

...

buf

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_rmdir | Subir | virtual_unlink


virtual_unlink

virtual_unlink -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_unlink ( const char* path, magic TSRMLS_DC )

...

Lista de parámetros

path

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_stat | Subir | virtual_utime


virtual_utime

virtual_utime -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int virtual_utime ( const char* filename, struct utimbuf* buf, magic TSRMLS_DC )

...

Lista de parámetros

filename

...

buf

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_unlink | Subir | VCWD_ACCESS


zend_alter_ini_entry

zend_alter_ini_entry -- ...

Descripción

#include <zend_ini.h>

int zend_alter_ini_entry ( char* name, uint name_length, char* new_value, uint new_value_length, int modify_type, int stage )

...

Lista de parámetros

name

...

name_length

...

new_value

...

new_value_length

...

modify_type

...

stage

...

Valores retornados

...

Anterior | Inicio | Siguiente
start_memory_manager | Subir | zend_auto_global_disable_jit


zend_auto_global_disable_jit

zend_auto_global_disable_jit -- ...

Descripción

#include <zend_compile.h>

int zend_auto_global_disable_jit ( char* varname, zend_uint varname_length, magic TSRMLS_DC )

...

Lista de parámetros

varname

...

varname_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_alter_ini_entry | Subir | zend_bailout


zend_bailout

zend_bailout -- ...

Descripción

#include <zend.h>

void zend_bailout ( ... )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_auto_global_disable_jit | Subir | zend_call_function


zend_call_function

zend_call_function -- ...

Descripción

#include <zend_API.h>

int zend_call_function ( zend_fcall_info* fci, zend_fcall_info_cache* fci_cache, magic TSRMLS_DC )

...

Lista de parámetros

fci

...

fci_cache

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_bailout | Subir | zend_call_method_with_0_params


zend_call_method

zend_call_method -- ...

Descripción

#include <zend_interfaces.h>

zval* zend_call_method ( zval** object_pp, zend_class_entry* obj_ce, zend_function** fn_proxy, char* function_name, int function_name_len, zval** retval_ptr_ptr, int param_count, zval* arg1, zval* arg2, magic TSRMLS_DC )

...

Lista de parámetros

object_pp

...

obj_ce

...

fn_proxy

...

function_name

...

function_name_len

...

retval_ptr_ptr

...

param_count

...

arg1

...

arg2

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_call_method_with_2_params | Subir | zend_case_fold_string


zend_call_method_with_0_params

zend_call_method_with_0_params -- ...

Descripción

#include <zend_interfaces.h>

zval* zend_call_method_with_0_params ( ... obj, zend_class_entry* obj_ce, zend_function** fn_proxy, char* function_name, ... retval )

...

Lista de parámetros

obj

...

obj_ce

...

fn_proxy

...

function_name

...

retval

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_call_function | Subir | zend_call_method_with_1_params


zend_call_method_with_1_params

zend_call_method_with_1_params -- ...

Descripción

#include <zend_interfaces.h>

zval* zend_call_method_with_1_params ( ... obj, zend_class_entry* obj_ce, zend_function** fn_proxy, char* function_name, ... retval, zval* arg1 )

...

Lista de parámetros

obj

...

obj_ce

...

fn_proxy

...

function_name

...

retval

...

arg1

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_call_method_with_0_params | Subir | zend_call_method_with_2_params


zend_call_method_with_2_params

zend_call_method_with_2_params -- ...

Descripción

#include <zend_interfaces.h>

zval* zend_call_method_with_2_params ( ... obj, zend_class_entry* obj_ce, zend_function** fn_proxy, char* function_name, ... retval, zval* arg1, zval* arg2 )

...

Lista de parámetros

obj

...

obj_ce

...

fn_proxy

...

function_name

...

retval

...

arg1

...

arg2

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_call_method_with_1_params | Subir | zend_call_method


zend_case_fold_string

zend_case_fold_string -- ...

Descripción

#include <zend_unicode.h>

void zend_case_fold_string ( UChar** dest, int32_t* dest_len, UChar* src, int32_t src_len, uint32_t options, UErrorCode* status )

...

Lista de parámetros

dest

...

dest_len

...

src

...

src_len

...

options

...

status

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_call_method | Subir | zend_check_magic_method_implementation


zend_check_magic_method_implementation

zend_check_magic_method_implementation -- ...

Descripción

#include <zend_API.h>

void zend_check_magic_method_implementation ( zend_class_entry* ce, zend_function* fptr, int error_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

fptr

...

error_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_case_fold_string | Subir | zend_check_private


zend_check_private

zend_check_private -- ...

Descripción

#include <zend_object_handlers.h>

int zend_check_private ( union _zend_function* fbc, zend_class_entry* ce, char* function_name_strval, int function_name_strlen, magic TSRMLS_DC )

...

Lista de parámetros

fbc

...

ce

...

function_name_strval

...

function_name_strlen

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_check_magic_method_implementation | Subir | zend_check_property_access


zend_check_property_access

zend_check_property_access -- ...

Descripción

#include <zend_object_handlers.h>

int zend_check_property_access ( zend_object* zobj, zend_uchar utype, void* prop_info_name, magic TSRMLS_DC )

...

Lista de parámetros

zobj

...

utype

...

prop_info_name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_check_private | Subir | zend_check_protected


zend_check_protected

zend_check_protected -- ...

Descripción

#include <zend_object_handlers.h>

int zend_check_protected ( zend_class_entry* ce, zend_class_entry* scope )

...

Lista de parámetros

ce

...

scope

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_check_property_access | Subir | zend_class_implements


zend_class_implements

zend_class_implements -- ...

Descripción

#include <zend_API.h>

void zend_class_implements ( zend_class_entry* class_entry, magic TSRMLS_DC, int num_interfaces, ... )

...

Lista de parámetros

class_entry

...

TSRMLS_DC

...

num_interfaces

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_check_protected | Subir | zend_cleanup_class_data


zend_cleanup_class_data

zend_cleanup_class_data -- ...

Descripción

#include <zend_compile.h>

int zend_cleanup_class_data ( zend_class_entry** pce, magic TSRMLS_DC )

...

Lista de parámetros

pce

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_class_implements | Subir | zend_cleanup_function_data


zend_cleanup_function_data

zend_cleanup_function_data -- ...

Descripción

#include <zend_compile.h>

int zend_cleanup_function_data ( zend_function* function, magic TSRMLS_DC )

...

Lista de parámetros

function

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_cleanup_class_data | Subir | zend_clear_exception


zend_clear_exception

zend_clear_exception -- ...

Descripción

#include <zend_exceptions.h>

void zend_clear_exception ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_cleanup_function_data | Subir | zend_cmp_unicode_and_literal


zend_cmp_unicode_and_literal

zend_cmp_unicode_and_literal -- ...

Descripción

#include <zend_unicode.h>

int zend_cmp_unicode_and_literal ( UChar* ustr, int32_t ulen, char* str, int32_t slen )

...

Lista de parámetros

ustr

...

ulen

...

str

...

slen

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_clear_exception | Subir | zend_cmp_unicode_and_string


zend_cmp_unicode_and_string

zend_cmp_unicode_and_string -- ...

Descripción

#include <zend_unicode.h>

int zend_cmp_unicode_and_string ( UChar* ustr, char* str, uint len )

...

Lista de parámetros

ustr

...

str

...

len

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_cmp_unicode_and_literal | Subir | zend_convert_encodings


zend_convert_encodings

zend_convert_encodings -- ...

Descripción

#include <zend_unicode.h>

void zend_convert_encodings ( UConverter* target_conv, UConverter* source_conv, char** target, int32_t* target_len, const char* source, int32_t source_len, UErrorCode* status )

...

Lista de parámetros

target_conv

...

source_conv

...

target

...

target_len

...

source

...

source_len

...

status

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_cmp_unicode_and_string | Subir | zend_convert_from_unicode


zend_convert_from_unicode

zend_convert_from_unicode -- ...

Descripción

#include <zend_unicode.h>

void zend_convert_from_unicode ( UConverter* conv, char** target, int32_t* target_len, const UChar* source, int32_t source_len, UErrorCode* status )

...

Lista de parámetros

conv

...

target

...

target_len

...

source

...

source_len

...

status

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_convert_encodings | Subir | zend_convert_scanner_output


zend_convert_scanner_output

zend_convert_scanner_output -- ...

Descripción

#include <zend_compile.h>

int32_t zend_convert_scanner_output ( UChar** target, int32_t* target_len, const char* source, int32_t source_len, UErrorCode* status, magic TSRMLS_DC )

...

Lista de parámetros

target

...

target_len

...

source

...

source_len

...

status

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_convert_from_unicode | Subir | zend_convert_to_unicode


zend_convert_to_unicode

zend_convert_to_unicode -- ...

Descripción

#include <zend_unicode.h>

void zend_convert_to_unicode ( UConverter* conv, UChar** target, int32_t* target_len, const char* source, int32_t source_len, UErrorCode* status )

...

Lista de parámetros

conv

...

target

...

target_len

...

source

...

source_len

...

status

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_convert_scanner_output | Subir | zend_copy_ini_directives


zend_copy_ini_directives

zend_copy_ini_directives -- ...

Descripción

#include <zend_ini.h>

int zend_copy_ini_directives ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_convert_to_unicode | Subir | zend_copy_parameters_array


zend_copy_parameters_array

zend_copy_parameters_array -- ...

Descripción

#include <zend_API.h>

int zend_copy_parameters_array ( int param_count, zval* argument_array, magic TSRMLS_DC )

...

Lista de parámetros

param_count

...

argument_array

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_copy_ini_directives | Subir | zend_declare_class_constant_bool


zend_declare_class_constant

zend_declare_class_constant -- ...

Descripción

#include <zend_API.h>

int zend_declare_class_constant ( zend_class_entry* ce, char* name, size_t name_length, zval* value, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_class_constant_stringl | Subir | zend_declare_property_bool


zend_declare_class_constant_bool

zend_declare_class_constant_bool -- ...

Descripción

#include <zend_API.h>

int zend_declare_class_constant_bool ( zend_class_entry* ce, char* name, size_t name_length, zend_bool value, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_copy_parameters_array | Subir | zend_declare_class_constant_double


zend_declare_class_constant_double

zend_declare_class_constant_double -- ...

Descripción

#include <zend_API.h>

int zend_declare_class_constant_double ( zend_class_entry* ce, char* name, size_t name_length, double value, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_class_constant_bool | Subir | zend_declare_class_constant_long


zend_declare_class_constant_long

zend_declare_class_constant_long -- ...

Descripción

#include <zend_API.h>

int zend_declare_class_constant_long ( zend_class_entry* ce, char* name, size_t name_length, long value, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_class_constant_double | Subir | zend_declare_class_constant_string


zend_declare_class_constant_string

zend_declare_class_constant_string -- ...

Descripción

#include <zend_API.h>

int zend_declare_class_constant_string ( zend_class_entry* ce, char* name, size_t name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_class_constant_long | Subir | zend_declare_class_constant_stringl


zend_declare_class_constant_stringl

zend_declare_class_constant_stringl -- ...

Descripción

#include <zend_API.h>

int zend_declare_class_constant_stringl ( zend_class_entry* ce, char* name, size_t name_length, char* value, size_t value_length, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_class_constant_string | Subir | zend_declare_class_constant


zend_declare_property

zend_declare_property -- ...

Descripción

#include <zend_API.h>

int zend_declare_property ( zend_class_entry* ce, char* name, int name_length, zval* property, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

property

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_stringl | Subir | zend_delete_global_variable


zend_declare_property_bool

zend_declare_property_bool -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_bool ( zend_class_entry* ce, char* name, int name_length, long value, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_class_constant | Subir | zend_declare_property_double


zend_declare_property_double

zend_declare_property_double -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_double ( zend_class_entry* ce, char* name, int name_length, double value, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_bool | Subir | zend_declare_property_ex


zend_declare_property_ex

zend_declare_property_ex -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_ex ( zend_class_entry* ce, char* name, int name_length, zval* property, int access_type, char* doc_comment, int doc_comment_len, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

property

...

access_type

...

doc_comment

...

doc_comment_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_double | Subir | zend_declare_property_long


zend_declare_property_long

zend_declare_property_long -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_long ( zend_class_entry* ce, char* name, int name_length, long value, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_ex | Subir | zend_declare_property_null


zend_declare_property_null

zend_declare_property_null -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_null ( zend_class_entry* ce, char* name, int name_length, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_long | Subir | zend_declare_property_string


zend_declare_property_string

zend_declare_property_string -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_string ( zend_class_entry* ce, char* name, int name_length, char* value, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_null | Subir | zend_declare_property_stringl


zend_declare_property_stringl

zend_declare_property_stringl -- ...

Descripción

#include <zend_API.h>

int zend_declare_property_stringl ( zend_class_entry* ce, char* name, int name_length, char* value, int value_len, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

name

...

name_length

...

value

...

value_len

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property_string | Subir | zend_declare_property


zend_delete_global_variable

zend_delete_global_variable -- ...

Descripción

#include <zend_API.h>

int zend_delete_global_variable ( char* name, int name_len, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_declare_property | Subir | zend_destroy_file_handle


zend_destroy_file_handle

zend_destroy_file_handle -- ...

Descripción

#include <zend_compile.h>

void zend_destroy_file_handle ( zend_file_handle* file_handle, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_delete_global_variable | Subir | zend_disable_class


zend_disable_class

zend_disable_class -- ...

Descripción

#include <zend_API.h>

int zend_disable_class ( char* class_name, uint class_name_length, magic TSRMLS_DC )

...

Lista de parámetros

class_name

...

class_name_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_destroy_file_handle | Subir | zend_disable_function


zend_disable_function

zend_disable_function -- ...

Descripción

#include <zend_API.h>

int zend_disable_function ( char* function_name, uint function_name_length, magic TSRMLS_DC )

...

Lista de parámetros

function_name

...

function_name_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_disable_class | Subir | zend_do_fcall


zend_do_fcall

zend_do_fcall -- ...

Descripción

#include <zend_execute.h>

int zend_do_fcall ( ZEND_OPCODE_HANDLER_ARGS )

...

Lista de parámetros

ZEND_OPCODE_HANDLER_ARGS

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_disable_function | Subir | zend_do_implement_interface


zend_do_implement_interface

zend_do_implement_interface -- ...

Descripción

#include <zend_compile.h>

void zend_do_implement_interface ( zend_class_entry* ce, zend_class_entry* iface, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

iface

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_do_fcall | Subir | zend_do_inherit_interfaces


zend_do_inherit_interfaces

zend_do_inherit_interfaces -- ...

Descripción

#include <zend_compile.h>

void zend_do_inherit_interfaces ( zend_class_entry* ce, zend_class_entry* iface, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

iface

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_do_implement_interface | Subir | zend_do_inheritance


zend_do_inheritance

zend_do_inheritance -- ...

Descripción

#include <zend_compile.h>

void zend_do_inheritance ( zend_class_entry* ce, zend_class_entry* parent_ce, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

parent_ce

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_do_inherit_interfaces | Subir | zend_error


zend_error

zend_error -- Generate error message and trigger error handling

Descripción

#include <zend.h>

#include <zend_errors.h>

void zend_error ( int type, const char* format, ... )

...

Lista de parámetros

type

One of E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_STRICT, or E_RECOVERABLE_ERROR.

format

A printf() format string.

...

Output parameters for the format string.

Anterior | Inicio | Siguiente
zend_do_inheritance | Subir | zend_eval_string_ex


zend_eval_string

zend_eval_string -- ...

Descripción

#include <zend_execute.h>

int zend_eval_string ( char* str, zval* retval_ptr, char* string_name, magic TSRMLS_DC )

...

Lista de parámetros

str

...

retval_ptr

...

string_name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_eval_string_ex | Subir | zend_exception_error


zend_eval_string_ex

zend_eval_string_ex -- ...

Descripción

#include <zend_execute.h>

int zend_eval_string_ex ( char* str, zval* retval_ptr, char* string_name, int handle_exceptions, magic TSRMLS_DC )

...

Lista de parámetros

str

...

retval_ptr

...

string_name

...

handle_exceptions

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_error | Subir | zend_eval_string


zend_exception_error

zend_exception_error -- ...

Descripción

#include <zend_exceptions.h>

void zend_exception_error ( zval* exception, magic TSRMLS_DC )

...

Lista de parámetros

exception

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_eval_string | Subir | zend_exception_get_default


zend_exception_get_default

zend_exception_get_default -- ...

Descripción

#include <zend_exceptions.h>

zend_class_entry* zend_exception_get_default ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_exception_error | Subir | zend_execute_scripts


zend_execute_scripts

zend_execute_scripts -- ...

Descripción

#include <zend_compile.h>

int zend_execute_scripts ( int type, magic TSRMLS_DC, zval** retval, int file_count, ... )

...

Lista de parámetros

type

...

TSRMLS_DC

...

retval

...

file_count

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_exception_get_default | Subir | zend_fetch_class


zend_fetch_class

zend_fetch_class -- ...

Descripción

#include <zend_execute.h>

zend_class_entry* zend_fetch_class ( char* class_name, uint class_name_len, int fetch_type, magic TSRMLS_DC )

...

Lista de parámetros

class_name

...

class_name_len

...

fetch_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_execute_scripts | Subir | zend_fetch_debug_backtrace


zend_fetch_debug_backtrace

zend_fetch_debug_backtrace -- ...

Descripción

#include <zend_builtin_functions.h>

void zend_fetch_debug_backtrace ( zval* return_value, int skip_last, int provide_object, magic TSRMLS_DC )

...

Lista de parámetros

return_value

...

skip_last

...

provide_object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_fetch_class | Subir | zend_fetch_list_dtor_id


zend_fetch_list_dtor_id

zend_fetch_list_dtor_id -- ...

Descripción

#include <zend_list.h>

int zend_fetch_list_dtor_id ( char* type_name )

...

Lista de parámetros

type_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_fetch_debug_backtrace | Subir | zend_fetch_resource


zend_fetch_resource

zend_fetch_resource -- ...

Descripción

#include <zend_list.h>

void* zend_fetch_resource ( zval** passed_id, magic TSRMLS_DC, int default_id, char* resource_type_name, int* found_resource_type, int num_resource_types, ... )

...

Lista de parámetros

passed_id

...

TSRMLS_DC

...

default_id

...

resource_type_name

...

found_resource_type

...

num_resource_types

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_fetch_list_dtor_id | Subir | zend_file_handle_dtor


zend_file_handle_dtor

zend_file_handle_dtor -- ...

Descripción

#include <zend_compile.h>

void zend_file_handle_dtor ( zend_file_handle* fh )

...

Lista de parámetros

fh

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_fetch_resource | Subir | zend_function_dtor


zend_function_dtor

zend_function_dtor -- ...

Descripción

#include <zend_compile.h>

void zend_function_dtor ( zend_function* function )

...

Lista de parámetros

function

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_file_handle_dtor | Subir | zend_get_class_entry


zend_get_class_entry

zend_get_class_entry -- ...

Descripción

#include <zend_API.h>

zend_class_entry* zend_get_class_entry ( zval* zobject, magic TSRMLS_DC )

...

Lista de parámetros

zobject

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_function_dtor | Subir | zend_get_compiled_filename


zend_get_compiled_filename

zend_get_compiled_filename -- ...

Descripción

#include <zend_compile.h>

char* zend_get_compiled_filename ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_class_entry | Subir | zend_get_compiled_lineno


zend_get_compiled_lineno

zend_get_compiled_lineno -- ...

Descripción

#include <zend_compile.h>

int zend_get_compiled_lineno ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_compiled_filename | Subir | zend_get_compiled_script_encoding


zend_get_compiled_script_encoding

zend_get_compiled_script_encoding -- ...

Descripción

#include <zend_compile.h>

char* zend_get_compiled_script_encoding ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_compiled_lineno | Subir | zend_get_compiled_variable_name


zend_get_compiled_variable_name

zend_get_compiled_variable_name -- ...

Descripción

#include <zend_compile.h>

char* zend_get_compiled_variable_name ( zend_op_array* op_array, zend_uint var, int* name_len )

...

Lista de parámetros

op_array

...

var

...

name_len

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_compiled_script_encoding | Subir | zend_get_compiled_variable_value


zend_get_compiled_variable_value

zend_get_compiled_variable_value -- ...

Descripción

#include <zend_execute.h>

zval** zend_get_compiled_variable_value ( zend_execute_data* execute_data_ptr, zend_uint var )

...

Lista de parámetros

execute_data_ptr

...

var

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_compiled_variable_name | Subir | zend_get_configuration_directive


zend_get_configuration_directive

zend_get_configuration_directive -- ...

Descripción

#include <zend.h>

int zend_get_configuration_directive ( char* name, uint name_length, zval* contents )

...

Lista de parámetros

name

...

name_length

...

contents

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_compiled_variable_value | Subir | zend_get_constant


zend_get_constant

zend_get_constant -- ...

Descripción

#include <zend_constants.h>

int zend_get_constant ( char* name, uint name_len, zval* result, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

result

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_configuration_directive | Subir | zend_get_error_exception


zend_get_error_exception

zend_get_error_exception -- ...

Descripción

#include <zend_exceptions.h>

zend_class_entry* zend_get_error_exception ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_constant | Subir | zend_get_executed_filename


zend_get_executed_filename

zend_get_executed_filename -- ...

Descripción

#include <zend_execute.h>

char* zend_get_executed_filename ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_error_exception | Subir | zend_get_executed_lineno


zend_get_executed_lineno

zend_get_executed_lineno -- ...

Descripción

#include <zend_execute.h>

uint zend_get_executed_lineno ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_executed_filename | Subir | zend_get_hash_value


zend_get_hash_value

zend_get_hash_value -- ...

Descripción

#include <zend_hash.h>

ulong zend_get_hash_value ( char* arKey, uint nKeyLength )

...

Lista de parámetros

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_executed_lineno | Subir | zend_get_module_started


zend_get_module_started

zend_get_module_started -- ...

Descripción

#include <zend_API.h>

int zend_get_module_started ( char* module_name )

...

Lista de parámetros

module_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_hash_value | Subir | zend_get_module_version


zend_get_module_version

zend_get_module_version -- ...

Descripción

#include <zend_API.h>

char* zend_get_module_version ( char* module_name )

...

Lista de parámetros

module_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_module_started | Subir | zend_get_object_classname


zend_get_object_classname

zend_get_object_classname -- ...

Descripción

#include <zend_API.h>

int zend_get_object_classname ( zval* object, char** class_name, zend_uint* class_name_len, magic TSRMLS_DC )

...

Lista de parámetros

object

...

class_name

...

class_name_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_module_version | Subir | zend_get_parameters_array_ex


zend_get_parameters

zend_get_parameters -- ...

Descripción

#include <zend_API.h>

int zend_get_parameters ( int ht, int param_count, ... )

...

Lista de parámetros

ht

...

param_count

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_parameters_ex | Subir | zend_get_scanned_file_offset


zend_get_parameters_array

zend_get_parameters_array -- ...

Descripción

#include <zend_API.h>

int zend_get_parameters_array ( int ht, int param_count, zval** argument_array )

...

Lista de parámetros

ht

...

param_count

...

argument_array

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_parameters_array_ex | Subir | zend_get_parameters_ex


zend_get_parameters_array_ex

zend_get_parameters_array_ex -- ...

Descripción

#include <zend_API.h>

int zend_get_parameters_array_ex ( int param_count, zval*** argument_array )

...

Lista de parámetros

param_count

...

argument_array

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_object_classname | Subir | zend_get_parameters_array


zend_get_parameters_ex

zend_get_parameters_ex -- ...

Descripción

#include <zend_API.h>

int zend_get_parameters_ex ( int param_count, ... )

...

Lista de parámetros

param_count

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_parameters_array | Subir | zend_get_parameters


zend_get_scanned_file_offset

zend_get_scanned_file_offset -- ...

Descripción

#include <zend_compile.h>

int zend_get_scanned_file_offset ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_parameters | Subir | zend_get_std_object_handlers


zend_get_std_object_handlers

zend_get_std_object_handlers -- ...

Descripción

#include <zend_objects_API.h>

zend_object_handlers* zend_get_std_object_handlers ( magic )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_scanned_file_offset | Subir | zend_get_unified_string_type


zend_get_unified_string_type

zend_get_unified_string_type -- ...

Descripción

#include <zend_API.h>

zend_uchar zend_get_unified_string_type ( int num_args, magic TSRMLS_DC, ... )

...

Lista de parámetros

num_args

...

TSRMLS_DC

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_std_object_handlers | Subir | zend_get_user_opcode_handler


zend_get_user_opcode_handler

zend_get_user_opcode_handler -- ...

Descripción

#include <zend_execute.h>

opcode_handler_t zend_get_user_opcode_handler ( zend_uchar opcode )

...

Lista de parámetros

opcode

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_unified_string_type | Subir | zend_get_zval_ptr_ptr


zend_get_zval_ptr

zend_get_zval_ptr -- ...

Descripción

#include <zend_execute.h>

zval* zend_get_zval_ptr ( znode* node, temp_variable* Ts, zend_free_op* should_free, int type, magic TSRMLS_DC )

...

Lista de parámetros

node

...

Ts

...

should_free

...

type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_zval_ptr_ptr | Subir | zend_hash_add_empty_element


zend_get_zval_ptr_ptr

zend_get_zval_ptr_ptr -- ...

Descripción

#include <zend_execute.h>

zval** zend_get_zval_ptr_ptr ( znode* node, temp_variable* Ts, zend_free_op* should_free, int type, magic TSRMLS_DC )

...

Lista de parámetros

node

...

Ts

...

should_free

...

type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_user_opcode_handler | Subir | zend_get_zval_ptr


zend_hash_add

zend_hash_add -- ...

Descripción

#include <zend_hash.h>

int zend_hash_add ( HashTable* ht, char* arKey, uint nKeyLength, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_add_empty_element | Subir | zend_hash_apply_with_argument


zend_hash_add_empty_element

zend_hash_add_empty_element -- ...

Descripción

#include <zend_hash.h>

int zend_hash_add_empty_element ( HashTable* ht, char* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_get_zval_ptr | Subir | zend_hash_add


zend_hash_apply

zend_hash_apply -- ...

Descripción

#include <zend_hash.h>

void zend_hash_apply ( HashTable* ht, apply_func_t apply_func, magic TSRMLS_DC )

...

Lista de parámetros

ht

...

apply_func

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_apply_with_arguments | Subir | zend_hash_clean


zend_hash_apply_with_argument

zend_hash_apply_with_argument -- ...

Descripción

#include <zend_hash.h>

void zend_hash_apply_with_argument ( HashTable* ht, apply_func_arg_t apply_func, void* , magic TSRMLS_DC )

...

Lista de parámetros

ht

...

apply_func

...

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_add | Subir | zend_hash_apply_with_arguments


zend_hash_apply_with_arguments

zend_hash_apply_with_arguments -- ...

Descripción

#include <zend_hash.h>

void zend_hash_apply_with_arguments ( HashTable* ht, apply_func_args_t apply_func, int, ... )

...

Lista de parámetros

ht

...

apply_func

...

int

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_apply_with_argument | Subir | zend_hash_apply


zend_hash_clean

zend_hash_clean -- ...

Descripción

#include <zend_hash.h>

void zend_hash_clean ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_apply | Subir | zend_hash_compare


zend_hash_compare

zend_hash_compare -- ...

Descripción

#include <zend_hash.h>

int zend_hash_compare ( HashTable* ht1, HashTable* ht2, compare_func_t compar, zend_bool ordered, magic TSRMLS_DC )

...

Lista de parámetros

ht1

...

ht2

...

compar

...

ordered

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_clean | Subir | zend_hash_copy


zend_hash_copy

zend_hash_copy -- ...

Descripción

#include <zend_hash.h>

void zend_hash_copy ( HashTable* target, HashTable* source, copy_ctor_func_t pCopyConstructor, void* tmp, uint size )

...

Lista de parámetros

target

...

source

...

pCopyConstructor

...

tmp

...

size

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_compare | Subir | zend_hash_del_key_or_index


zend_hash_del

zend_hash_del -- ...

Descripción

#include <zend_hash.h>

int zend_hash_del ( HashTable* ht, char* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_del_key_or_index | Subir | zend_hash_destroy


zend_hash_del_key_or_index

zend_hash_del_key_or_index -- ...

Descripción

#include <zend_hash.h>

int zend_hash_del_key_or_index ( HashTable* ht, char* arKey, uint nKeyLength, ulong h, int flag )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

h

...

flag

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_copy | Subir | zend_hash_del


zend_hash_destroy

zend_hash_destroy -- ...

Descripción

#include <zend_hash.h>

void zend_hash_destroy ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_del | Subir | zend_hash_exists


zend_hash_exists

zend_hash_exists -- ...

Descripción

#include <zend_hash.h>

int zend_hash_exists ( HashTable* ht, char* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_destroy | Subir | zend_hash_find


zend_hash_find

zend_hash_find -- ...

Descripción

#include <zend_hash.h>

int zend_hash_find ( HashTable* ht, char* arKey, uint nKeyLength, void** pData )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_exists | Subir | zend_hash_func


zend_hash_func

zend_hash_func -- ...

Descripción

#include <zend_hash.h>

ulong zend_hash_func ( char* arKey, uint nKeyLength )

...

Lista de parámetros

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_find | Subir | zend_hash_get_current_data_ex


zend_hash_get_current_data

zend_hash_get_current_data -- ...

Descripción

#include <zend_hash.h>

int zend_hash_get_current_data ( HashTable* ht, void** pData )

...

Lista de parámetros

ht

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_get_current_data_ex | Subir | zend_hash_get_current_key_ex


zend_hash_get_current_data_ex

zend_hash_get_current_data_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_get_current_data_ex ( HashTable* ht, void** pData, HashPosition* pos )

...

Lista de parámetros

ht

...

pData

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_func | Subir | zend_hash_get_current_data


zend_hash_get_current_key

zend_hash_get_current_key -- ...

Descripción

#include <zend_hash.h>

int zend_hash_get_current_key ( HashTable* ht, char** str_index, ulong* num_index, zend_bool duplicate )

...

Lista de parámetros

ht

...

str_index

...

num_index

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_get_current_key_type | Subir | zend_hash_graceful_destroy


zend_hash_get_current_key_ex

zend_hash_get_current_key_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_get_current_key_ex ( HashTable* ht, char** str_index, uint* str_length, ulong* num_index, zend_bool duplicate, HashPosition* pos )

...

Lista de parámetros

ht

...

str_index

...

str_length

...

num_index

...

duplicate

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_get_current_data | Subir | zend_hash_get_current_key_type_ex


zend_hash_get_current_key_type

zend_hash_get_current_key_type -- ...

Descripción

#include <zend_hash.h>

int zend_hash_get_current_key_type ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_get_current_key_type_ex | Subir | zend_hash_get_current_key


zend_hash_get_current_key_type_ex

zend_hash_get_current_key_type_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_get_current_key_type_ex ( HashTable* ht, HashPosition* pos )

...

Lista de parámetros

ht

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_get_current_key_ex | Subir | zend_hash_get_current_key_type


zend_hash_graceful_destroy

zend_hash_graceful_destroy -- ...

Descripción

#include <zend_hash.h>

void zend_hash_graceful_destroy ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_get_current_key | Subir | zend_hash_graceful_reverse_destroy


zend_hash_graceful_reverse_destroy

zend_hash_graceful_reverse_destroy -- ...

Descripción

#include <zend_hash.h>

void zend_hash_graceful_reverse_destroy ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_graceful_destroy | Subir | zend_hash_index_del


zend_hash_index_del

zend_hash_index_del -- ...

Descripción

#include <zend_hash.h>

int zend_hash_index_del ( HashTable* ht, ulong h )

...

Lista de parámetros

ht

...

h

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_graceful_reverse_destroy | Subir | zend_hash_index_exists


zend_hash_index_exists

zend_hash_index_exists -- ...

Descripción

#include <zend_hash.h>

int zend_hash_index_exists ( HashTable* ht, ulong h )

...

Lista de parámetros

ht

...

h

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_index_del | Subir | zend_hash_index_find


zend_hash_index_find

zend_hash_index_find -- ...

Descripción

#include <zend_hash.h>

int zend_hash_index_find ( HashTable* ht, ulong h, void** pData )

...

Lista de parámetros

ht

...

h

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_index_exists | Subir | zend_hash_index_update


zend_hash_index_update

zend_hash_index_update -- ...

Descripción

#include <zend_hash.h>

int zend_hash_index_update ( HashTable* ht, ulong h, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

h

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_index_find | Subir | zend_hash_init_ex


zend_hash_init

zend_hash_init -- ...

Descripción

#include <zend_hash.h>

int zend_hash_init ( HashTable* ht, uint nSize, hash_func_t pHashFunction, dtor_func_t pDestructor, zend_bool persistent )

...

Lista de parámetros

ht

...

nSize

...

pHashFunction

...

pDestructor

...

persistent

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_init_ex | Subir | zend_hash_internal_pointer_end_ex


zend_hash_init_ex

zend_hash_init_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_init_ex ( HashTable* ht, uint nSize, hash_func_t pHashFunction, dtor_func_t pDestructor, zend_bool persistent, zend_bool bApplyProtection )

...

Lista de parámetros

ht

...

nSize

...

pHashFunction

...

pDestructor

...

persistent

...

bApplyProtection

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_index_update | Subir | zend_hash_init


zend_hash_internal_pointer_end

zend_hash_internal_pointer_end -- ...

Descripción

#include <zend_hash.h>

void zend_hash_internal_pointer_end ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_internal_pointer_end_ex | Subir | zend_hash_internal_pointer_reset_ex


zend_hash_internal_pointer_end_ex

zend_hash_internal_pointer_end_ex -- ...

Descripción

#include <zend_hash.h>

void zend_hash_internal_pointer_end_ex ( HashTable* ht, HashPosition* pos )

...

Lista de parámetros

ht

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_init | Subir | zend_hash_internal_pointer_end


zend_hash_internal_pointer_reset

zend_hash_internal_pointer_reset -- ...

Descripción

#include <zend_hash.h>

void zend_hash_internal_pointer_reset ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_internal_pointer_reset_ex | Subir | zend_hash_merge_ex


zend_hash_internal_pointer_reset_ex

zend_hash_internal_pointer_reset_ex -- ...

Descripción

#include <zend_hash.h>

void zend_hash_internal_pointer_reset_ex ( HashTable* ht, HashPosition* pos )

...

Lista de parámetros

ht

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_internal_pointer_end | Subir | zend_hash_internal_pointer_reset


zend_hash_merge

zend_hash_merge -- ...

Descripción

#include <zend_hash.h>

void zend_hash_merge ( HashTable* target, HashTable* source, copy_ctor_func_t pCopyConstructor, void* tmp, uint size, int overwrite )

...

Lista de parámetros

target

...

source

...

pCopyConstructor

...

tmp

...

size

...

overwrite

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_merge_ex | Subir | zend_hash_minmax


zend_hash_merge_ex

zend_hash_merge_ex -- ...

Descripción

#include <zend_hash.h>

void zend_hash_merge_ex ( HashTable* target, HashTable* source, copy_ctor_func_t pCopyConstructor, uint size, merge_checker_func_t pMergeSource, void* pParam )

...

Lista de parámetros

target

...

source

...

pCopyConstructor

...

size

...

pMergeSource

...

pParam

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_internal_pointer_reset | Subir | zend_hash_merge


zend_hash_minmax

zend_hash_minmax -- ...

Descripción

#include <zend_hash.h>

int zend_hash_minmax ( HashTable* ht, compare_func_t compar, int flag, void** pData, magic TSRMLS_DC )

...

Lista de parámetros

ht

...

compar

...

flag

...

pData

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_merge | Subir | zend_hash_move_backwards_ex


zend_hash_move_backwards

zend_hash_move_backwards -- ...

Descripción

#include <zend_hash.h>

int zend_hash_move_backwards ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_move_backwards_ex | Subir | zend_hash_move_forward_ex


zend_hash_move_backwards_ex

zend_hash_move_backwards_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_move_backwards_ex ( HashTable* ht, HashPosition* pos )

...

Lista de parámetros

ht

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_minmax | Subir | zend_hash_move_backwards


zend_hash_move_forward

zend_hash_move_forward -- ...

Descripción

#include <zend_hash.h>

int zend_hash_move_forward ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_move_forward_ex | Subir | zend_hash_next_free_element


zend_hash_move_forward_ex

zend_hash_move_forward_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_move_forward_ex ( HashTable* ht, HashPosition* pos )

...

Lista de parámetros

ht

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_move_backwards | Subir | zend_hash_move_forward


zend_hash_next_free_element

zend_hash_next_free_element -- ...

Descripción

#include <zend_hash.h>

ulong zend_hash_next_free_element ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_move_forward | Subir | zend_hash_next_index_insert


zend_hash_next_index_insert

zend_hash_next_index_insert -- ...

Descripción

#include <zend_hash.h>

int zend_hash_next_index_insert ( HashTable* ht, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_next_free_element | Subir | zend_hash_num_elements


zend_hash_num_elements

zend_hash_num_elements -- ...

Descripción

#include <zend_hash.h>

int zend_hash_num_elements ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_next_index_insert | Subir | zend_hash_quick_add


zend_hash_quick_add

zend_hash_quick_add -- ...

Descripción

#include <zend_hash.h>

int zend_hash_quick_add ( HashTable* ht, char* arKey, uint nKeyLength, ulong h, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

h

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_num_elements | Subir | zend_hash_quick_exists


zend_hash_quick_exists

zend_hash_quick_exists -- ...

Descripción

#include <zend_hash.h>

int zend_hash_quick_exists ( HashTable* ht, char* arKey, uint nKeyLength, ulong h )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

h

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_quick_add | Subir | zend_hash_quick_find


zend_hash_quick_find

zend_hash_quick_find -- ...

Descripción

#include <zend_hash.h>

int zend_hash_quick_find ( HashTable* ht, char* arKey, uint nKeyLength, ulong h, void** pData )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

h

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_quick_exists | Subir | zend_hash_quick_update


zend_hash_quick_update

zend_hash_quick_update -- ...

Descripción

#include <zend_hash.h>

int zend_hash_quick_update ( HashTable* ht, char* arKey, uint nKeyLength, ulong h, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

h

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_quick_find | Subir | zend_hash_rehash


zend_hash_rehash

zend_hash_rehash -- ...

Descripción

#include <zend_hash.h>

int zend_hash_rehash ( HashTable* ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_quick_update | Subir | zend_hash_reverse_apply


zend_hash_reverse_apply

zend_hash_reverse_apply -- ...

Descripción

#include <zend_hash.h>

void zend_hash_reverse_apply ( HashTable* ht, apply_func_t apply_func, magic TSRMLS_DC )

...

Lista de parámetros

ht

...

apply_func

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_rehash | Subir | zend_hash_sort


zend_hash_sort

zend_hash_sort -- ...

Descripción

#include <zend_hash.h>

int zend_hash_sort ( HashTable* ht, sort_func_t sort_func, compare_func_t compare_func, int renumber, magic TSRMLS_DC )

...

Lista de parámetros

ht

...

sort_func

...

compare_func

...

renumber

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_reverse_apply | Subir | zend_hash_update_current_key_ex


zend_hash_update

zend_hash_update -- ...

Descripción

#include <zend_hash.h>

int zend_hash_update ( HashTable* ht, char* arKey, uint nKeyLength, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_update_current_key | Subir | zend_highlight


zend_hash_update_current_key

zend_hash_update_current_key -- ...

Descripción

#include <zend_hash.h>

int zend_hash_update_current_key ( HashTable* ht, int key_type, char* str_index, uint str_length, ulong num_index )

...

Lista de parámetros

ht

...

key_type

...

str_index

...

str_length

...

num_index

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_update_current_key_ex | Subir | zend_hash_update


zend_hash_update_current_key_ex

zend_hash_update_current_key_ex -- ...

Descripción

#include <zend_hash.h>

int zend_hash_update_current_key_ex ( HashTable* ht, int key_type, char* str_index, uint str_length, ulong num_index, HashPosition* pos )

...

Lista de parámetros

ht

...

key_type

...

str_index

...

str_length

...

num_index

...

pos

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_sort | Subir | zend_hash_update_current_key


zend_highlight

zend_highlight -- ...

Descripción

#include <zend_highlight.h>

void zend_highlight ( zend_syntax_highlighter_ini* syntax_highlighter_ini, magic TSRMLS_DC )

...

Lista de parámetros

syntax_highlighter_ini

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_hash_update | Subir | zend_html_putc


zend_html_putc

zend_html_putc -- ...

Descripción

#include <zend_highlight.h>

void zend_html_putc ( char c )

...

Lista de parámetros

c

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_highlight | Subir | zend_html_puts


zend_html_puts

zend_html_puts -- ...

Descripción

#include <zend_highlight.h>

void zend_html_puts ( const char* s, uint len, magic TSRMLS_DC )

...

Lista de parámetros

s

...

len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_html_putc | Subir | zend_ini_deactivate


zend_ini_deactivate

zend_ini_deactivate -- ...

Descripción

#include <zend_ini.h>

int zend_ini_deactivate ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_html_puts | Subir | zend_ini_double


zend_ini_double

zend_ini_double -- ...

Descripción

#include <zend_ini.h>

double zend_ini_double ( char* name, uint name_length, int orig )

...

Lista de parámetros

name

...

name_length

...

orig

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_deactivate | Subir | zend_ini_global_shutdown


zend_ini_global_shutdown

zend_ini_global_shutdown -- ...

Descripción

#include <zend_ini.h>

int zend_ini_global_shutdown ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_double | Subir | zend_ini_long


zend_ini_long

zend_ini_long -- ...

Descripción

#include <zend_ini.h>

long zend_ini_long ( char* name, uint name_length, int orig )

...

Lista de parámetros

name

...

name_length

...

orig

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_global_shutdown | Subir | zend_ini_refresh_caches


zend_ini_refresh_caches

zend_ini_refresh_caches -- ...

Descripción

#include <zend_ini.h>

void zend_ini_refresh_caches ( int stage, magic TSRMLS_DC )

...

Lista de parámetros

stage

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_long | Subir | zend_ini_register_displayer


zend_ini_register_displayer

zend_ini_register_displayer -- ...

Descripción

#include <zend_ini.h>

int zend_ini_register_displayer ( char* name, uint name_length, void (*displayer )

...

Lista de parámetros

name

...

name_length

...

(*displayer

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_refresh_caches | Subir | zend_ini_shutdown


zend_ini_shutdown

zend_ini_shutdown -- ...

Descripción

#include <zend_ini.h>

int zend_ini_shutdown ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_register_displayer | Subir | zend_ini_sort_entries


zend_ini_sort_entries

zend_ini_sort_entries -- ...

Descripción

#include <zend_ini.h>

void zend_ini_sort_entries ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_shutdown | Subir | zend_ini_startup


zend_ini_startup

zend_ini_startup -- ...

Descripción

#include <zend_ini.h>

int zend_ini_startup ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_sort_entries | Subir | zend_ini_string


zend_ini_string

zend_ini_string -- ...

Descripción

#include <zend_ini.h>

char* zend_ini_string ( char* name, uint name_length, int orig )

...

Lista de parámetros

name

...

name_length

...

orig

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_startup | Subir | zend_initialize_class_data


zend_initialize_class_data

zend_initialize_class_data -- ...

Descripción

#include <zend_compile.h>

void zend_initialize_class_data ( zend_class_entry* ce, zend_bool nullify_handlers, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

nullify_handlers

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_ini_string | Subir | zend_is_auto_global


zend_is_auto_global

zend_is_auto_global -- ...

Descripción

#include <zend_compile.h>

zend_bool zend_is_auto_global ( char* name, uint name_len, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_initialize_class_data | Subir | zend_is_callable_ex


zend_is_callable

zend_is_callable -- ...

Descripción

#include <zend_API.h>

zend_bool zend_is_callable ( zval* callable, uint check_flags, zval* callable_name )

...

Lista de parámetros

callable

...

check_flags

...

callable_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_callable_ex | Subir | zend_is_compiling


zend_is_callable_ex

zend_is_callable_ex -- ...

Descripción

#include <zend_API.h>

zend_bool zend_is_callable_ex ( zval* callable, uint check_flags, zval* callable_name, zend_class_entry** ce_ptr, zend_function** fptr_ptr, zval*** zobj_ptr_ptr, magic TSRMLS_DC )

...

Lista de parámetros

callable

...

check_flags

...

callable_name

...

ce_ptr

...

fptr_ptr

...

zobj_ptr_ptr

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_auto_global | Subir | zend_is_callable


zend_is_compiling

zend_is_compiling -- ...

Descripción

#include <zend_compile.h>

zend_bool zend_is_compiling ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_callable | Subir | zend_is_executing


zend_is_executing

zend_is_executing -- ...

Descripción

#include <zend_execute.h>

zend_bool zend_is_executing ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_compiling | Subir | zend_is_true


zend_is_true

zend_is_true -- ...

Descripción

#include <zend_execute.h>

int zend_is_true ( zval* op )

...

Lista de parámetros

op

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_executing | Subir | zend_is_valid_identifier


zend_is_valid_identifier

zend_is_valid_identifier -- ...

Descripción

#include <zend_unicode.h>

int zend_is_valid_identifier ( UChar* ident, int32_t ident_len )

...

Lista de parámetros

ident

...

ident_len

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_true | Subir | zend_list_addref


zend_list_addref

zend_list_addref -- ...

Descripción

#include <zend_list.h>

int zend_list_addref ( int id )

...

Lista de parámetros

id

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_is_valid_identifier | Subir | zend_list_delete


zend_list_delete

zend_list_delete -- ...

Descripción

#include <zend_list.h>

int zend_list_delete ( int id )

...

Lista de parámetros

id

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_list_addref | Subir | zend_list_find


zend_list_find

zend_list_find -- ...

Descripción

#include <zend_list.h>

void* zend_list_find ( int id, int* type )

...

Lista de parámetros

id

...

type

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_list_delete | Subir | zend_list_insert


zend_list_insert

zend_list_insert -- ...

Descripción

#include <zend_list.h>

int zend_list_insert ( void* ptr, int type )

...

Lista de parámetros

ptr

...

type

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_list_find | Subir | zend_lookup_class


zend_lookup_class

zend_lookup_class -- ...

Descripción

#include <zend_execute.h>

int zend_lookup_class ( char* name, int name_length, zend_class_entry*** ce, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_length

...

ce

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_list_insert | Subir | zend_make_callable


zend_make_callable

zend_make_callable -- ...

Descripción

#include <zend_API.h>

zend_bool zend_make_callable ( zval* callable, zval* callable_name, magic TSRMLS_DC )

...

Lista de parámetros

callable

...

callable_name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_lookup_class | Subir | zend_make_compiled_string_description


zend_make_compiled_string_description

zend_make_compiled_string_description -- ...

Descripción

#include <zend_compile.h>

char* zend_make_compiled_string_description ( char* name, magic TSRMLS_DC )

...

Lista de parámetros

name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_make_callable | Subir | zend_make_printable_zval


zend_make_printable_zval

zend_make_printable_zval -- ...

Descripción

#include <zend.h>

void zend_make_printable_zval ( zval* expr, zval* expr_copy, int* use_copy )

...

Lista de parámetros

expr

...

expr_copy

...

use_copy

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_make_compiled_string_description | Subir | zend_make_string_zval


zend_make_string_zval

zend_make_string_zval -- ...

Descripción

#include <zend.h>

void zend_make_string_zval ( zval* expr, zval* expr_copy, int* use_copy )

...

Lista de parámetros

expr

...

expr_copy

...

use_copy

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_make_printable_zval | Subir | zend_make_unicode_zval


zend_make_unicode_zval

zend_make_unicode_zval -- ...

Descripción

#include <zend.h>

void zend_make_unicode_zval ( zval* expr, zval* expr_copy, int* use_copy )

...

Lista de parámetros

expr

...

expr_copy

...

use_copy

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_make_string_zval | Subir | zend_mangle_property_name


zend_mangle_property_name

zend_mangle_property_name -- ...

Descripción

#include <zend_compile.h>

void zend_mangle_property_name ( char** dest, int* dest_length, char* src1, int src1_length, char* src2, int src2_length, int internal )

...

Lista de parámetros

dest

...

dest_length

...

src1

...

src1_length

...

src2

...

src2_length

...

internal

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_make_unicode_zval | Subir | zend_merge_properties


zend_merge_properties

zend_merge_properties -- ...

Descripción

#include <zend_API.h>

void zend_merge_properties ( zval* obj, HashTable* properties, int destroy_ht, magic TSRMLS_DC )

...

Lista de parámetros

obj

...

properties

...

destroy_ht

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_mangle_property_name | Subir | zend_message_dispatcher


zend_message_dispatcher

zend_message_dispatcher -- ...

Descripción

#include <zend.h>

void zend_message_dispatcher ( long message, void* data )

...

Lista de parámetros

message

...

data

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_merge_properties | Subir | zend_normalize_identifier


zend_normalize_identifier

zend_normalize_identifier -- ...

Descripción

#include <zend_unicode.h>

int zend_normalize_identifier ( UChar** dest, int32_t* dest_len, UChar* ident, int32_t ident_len, zend_bool fold_case )

...

Lista de parámetros

dest

...

dest_len

...

ident

...

ident_len

...

fold_case

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_message_dispatcher | Subir | zend_object_create_proxy


zend_object_create_proxy

zend_object_create_proxy -- ...

Descripción

#include <zend_objects_API.h>

zval* zend_object_create_proxy ( zval* object, zval* member, magic TSRMLS_DC )

...

Lista de parámetros

object

...

member

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_normalize_identifier | Subir | zend_object_store_ctor_failed


zend_object_store_ctor_failed

zend_object_store_ctor_failed -- ...

Descripción

#include <zend_objects_API.h>

void zend_object_store_ctor_failed ( zval* zobject, magic TSRMLS_DC )

...

Lista de parámetros

zobject

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_object_create_proxy | Subir | zend_object_store_get_object


zend_object_store_get_object

zend_object_store_get_object -- ...

Descripción

#include <zend_objects_API.h>

void* zend_object_store_get_object ( zval* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_object_store_ctor_failed | Subir | zend_object_store_set_object


zend_object_store_set_object

zend_object_store_set_object -- ...

Descripción

#include <zend_objects_API.h>

void zend_object_store_set_object ( zval* zobject, void* object, magic TSRMLS_DC )

...

Lista de parámetros

zobject

...

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_object_store_get_object | Subir | zend_objects_clone_members


zend_objects_clone_members

zend_objects_clone_members -- ...

Descripción

#include <zend_objects.h>

void zend_objects_clone_members ( zend_object* new_object, zend_object_value new_obj_val, zend_object* old_object, zend_object_handle handle, magic TSRMLS_DC )

...

Lista de parámetros

new_object

...

new_obj_val

...

old_object

...

handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_object_store_set_object | Subir | zend_objects_clone_obj


zend_objects_clone_obj

zend_objects_clone_obj -- ...

Descripción

#include <zend_objects.h>

zend_object_value zend_objects_clone_obj ( zval* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_clone_members | Subir | zend_objects_destroy_object


zend_objects_destroy_object

zend_objects_destroy_object -- ...

Descripción

#include <zend_objects.h>

void zend_objects_destroy_object ( zend_object* object, zend_object_handle handle, magic TSRMLS_DC )

...

Lista de parámetros

object

...

handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_clone_obj | Subir | zend_objects_free_object_storage


zend_objects_free_object_storage

zend_objects_free_object_storage -- ...

Descripción

#include <zend_objects.h>

void zend_objects_free_object_storage ( zend_object* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_destroy_object | Subir | zend_objects_get_address


zend_objects_get_address

zend_objects_get_address -- ...

Descripción

#include <zend_objects.h>

zend_object* zend_objects_get_address ( zval* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_free_object_storage | Subir | zend_objects_new


zend_objects_new

zend_objects_new -- ...

Descripción

#include <zend_objects.h>

zend_object_value zend_objects_new ( zend_object** object, zend_class_entry* class_type, magic TSRMLS_DC )

...

Lista de parámetros

object

...

class_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_get_address | Subir | zend_objects_store_add_ref


zend_objects_store_add_ref

zend_objects_store_add_ref -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_add_ref ( zval* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_new | Subir | zend_objects_store_call_destructors


zend_objects_store_call_destructors

zend_objects_store_call_destructors -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_call_destructors ( zend_objects_store* objects, magic TSRMLS_DC )

...

Lista de parámetros

objects

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_add_ref | Subir | zend_objects_store_clone_obj


zend_objects_store_clone_obj

zend_objects_store_clone_obj -- ...

Descripción

#include <zend_objects_API.h>

zend_object_value zend_objects_store_clone_obj ( zval* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_call_destructors | Subir | zend_objects_store_del_ref


zend_objects_store_del_ref

zend_objects_store_del_ref -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_del_ref ( zval* object, magic TSRMLS_DC )

...

Lista de parámetros

object

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_clone_obj | Subir | zend_objects_store_destroy


zend_objects_store_destroy

zend_objects_store_destroy -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_destroy ( zend_objects_store* objects )

...

Lista de parámetros

objects

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_del_ref | Subir | zend_objects_store_free_object_storage


zend_objects_store_free_object_storage

zend_objects_store_free_object_storage -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_free_object_storage ( zend_objects_store* objects, magic TSRMLS_DC )

...

Lista de parámetros

objects

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_destroy | Subir | zend_objects_store_init


zend_objects_store_init

zend_objects_store_init -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_init ( zend_objects_store* objects, zend_uint init_size )

...

Lista de parámetros

objects

...

init_size

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_free_object_storage | Subir | zend_objects_store_mark_destructed


zend_objects_store_mark_destructed

zend_objects_store_mark_destructed -- ...

Descripción

#include <zend_objects_API.h>

void zend_objects_store_mark_destructed ( zend_objects_store* objects, magic TSRMLS_DC )

...

Lista de parámetros

objects

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_init | Subir | zend_objects_store_put


zend_objects_store_put

zend_objects_store_put -- ...

Descripción

#include <zend_objects_API.h>

zend_object_handle zend_objects_store_put ( void* object, zend_objects_store_dtor_t dtor, zend_objects_free_object_storage_t storage, zend_objects_store_clone_t clone, magic TSRMLS_DC )

...

Lista de parámetros

object

...

dtor

...

storage

...

clone

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_mark_destructed | Subir | zend_output_debug_string


zend_output_debug_string

zend_output_debug_string -- ...

Descripción

#include <zend.h>

void zend_output_debug_string ( zend_bool trigger_break, char* format, ... )

...

Lista de parámetros

trigger_break

...

format

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_objects_store_put | Subir | zend_parse_ini_file


zend_parse_ini_file

zend_parse_ini_file -- ...

Descripción

#include <zend_ini.h>

int zend_parse_ini_file ( zend_file_handle* fh, zend_bool unbuffered_errors, zend_ini_parser_cb_t ini_parser_cb, void* arg )

...

Lista de parámetros

fh

...

unbuffered_errors

...

ini_parser_cb

...

arg

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_output_debug_string | Subir | zend_parse_method_parameters_ex


zend_parse_method_parameters

zend_parse_method_parameters -- ...

Descripción

#include <zend_API.h>

int zend_parse_method_parameters ( int num_args, magic TSRMLS_DC, zval* this_ptr, char* type_spec, ... )

...

Lista de parámetros

num_args

...

TSRMLS_DC

...

this_ptr

...

type_spec

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_parse_method_parameters_ex | Subir | zend_parse_parameters_ex


zend_parse_method_parameters_ex

zend_parse_method_parameters_ex -- ...

Descripción

#include <zend_API.h>

int zend_parse_method_parameters_ex ( int flags, int num_args, magic TSRMLS_DC, zval* this_ptr, char* type_spec, ... )

...

Lista de parámetros

flags

...

num_args

...

TSRMLS_DC

...

this_ptr

...

type_spec

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_parse_ini_file | Subir | zend_parse_method_parameters


zend_parse_parameters

zend_parse_parameters -- ...

Descripción

#include <zend_API.h>

int zend_parse_parameters ( int num_args, magic TSRMLS_DC, char* type_spec, ... )

...

Lista de parámetros

num_args

...

TSRMLS_DC

...

type_spec

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_parse_parameters_ex | Subir | zend_prepare_scanner_converters


zend_parse_parameters_ex

zend_parse_parameters_ex -- ...

Descripción

#include <zend_API.h>

int zend_parse_parameters_ex ( int flags, int num_args, magic TSRMLS_DC, char* type_spec, ... )

...

Lista de parámetros

flags

...

num_args

...

TSRMLS_DC

...

type_spec

...

...

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_parse_method_parameters | Subir | zend_parse_parameters


zend_prepare_scanner_converters

zend_prepare_scanner_converters -- ...

Descripción

#include <zend_compile.h>

int zend_prepare_scanner_converters ( const char* onetime_encoding, int run_time, magic TSRMLS_DC )

...

Lista de parámetros

onetime_encoding

...

run_time

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_parse_parameters | Subir | zend_print_flat_zval_r


zend_print_flat_zval_r

zend_print_flat_zval_r -- ...

Descripción

#include <zend.h>

void zend_print_flat_zval_r ( zval* expr, magic TSRMLS_DC )

...

Lista de parámetros

expr

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_prepare_scanner_converters | Subir | zend_print_variable


zend_print_variable

zend_print_variable -- ...

Descripción

#include <zend_variables.h>

int zend_print_variable ( zval* var )

...

Lista de parámetros

var

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_print_flat_zval_r | Subir | zend_print_zval_ex


zend_print_zval

zend_print_zval -- ...

Descripción

#include <zend.h>

int zend_print_zval ( zval* expr, int indent )

...

Lista de parámetros

expr

...

indent

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_print_zval_r | Subir | zend_qsort


zend_print_zval_ex

zend_print_zval_ex -- ...

Descripción

#include <zend.h>

int zend_print_zval_ex ( zend_write_func_t write_func, zval* expr, int indent )

...

Lista de parámetros

write_func

...

expr

...

indent

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_print_variable | Subir | zend_print_zval_r_ex


zend_print_zval_r

zend_print_zval_r -- ...

Descripción

#include <zend.h>

void zend_print_zval_r ( zval* expr, int indent, magic TSRMLS_DC )

...

Lista de parámetros

expr

...

indent

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_print_zval_r_ex | Subir | zend_print_zval


zend_print_zval_r_ex

zend_print_zval_r_ex -- ...

Descripción

#include <zend.h>

void zend_print_zval_r_ex ( zend_write_func_t write_func, zval* expr, int indent, magic TSRMLS_DC )

...

Lista de parámetros

write_func

...

expr

...

indent

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_print_zval_ex | Subir | zend_print_zval_r


zend_qsort

zend_qsort -- ...

Descripción

#include <zend_qsort.h>

void zend_qsort ( void* base, size_t nmemb, size_t siz, compare_func_t compare, magic TSRMLS_DC )

...

Lista de parámetros

base

...

nmemb

...

siz

...

compare

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_print_zval | Subir | zend_read_property


zend_read_property

zend_read_property -- ...

Descripción

#include <zend_API.h>

zval* zend_read_property ( zend_class_entry* scope, zval* object, char* name, int name_length, zend_bool silent, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

silent

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_qsort | Subir | zend_read_static_property


zend_read_static_property

zend_read_static_property -- ...

Descripción

#include <zend_API.h>

zval* zend_read_static_property ( zend_class_entry* scope, char* name, int name_length, zend_bool silent, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

silent

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_read_property | Subir | zend_register_auto_global


zend_register_auto_global

zend_register_auto_global -- ...

Descripción

#include <zend_compile.h>

int zend_register_auto_global ( char* name, uint name_len, zend_auto_global_callback auto_global_callback, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

auto_global_callback

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_read_static_property | Subir | zend_register_constant


zend_register_constant

zend_register_constant -- ...

Descripción

#include <zend_constants.h>

int zend_register_constant ( zend_constant* c, magic TSRMLS_DC )

...

Lista de parámetros

c

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_auto_global | Subir | zend_register_default_classes


zend_register_default_classes

zend_register_default_classes -- ...

Descripción

#include <zend_exceptions.h>

void zend_register_default_classes ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_constant | Subir | zend_register_double_constant


zend_register_double_constant

zend_register_double_constant -- ...

Descripción

#include <zend_constants.h>

void zend_register_double_constant ( char* name, uint name_len, double dval, int flags, int module_number, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

dval

...

flags

...

module_number

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_default_classes | Subir | zend_register_functions


zend_register_functions

zend_register_functions -- ...

Descripción

#include <zend_API.h>

int zend_register_functions ( zend_class_entry* scope, zend_function_entry* functions, HashTable* function_table, int type, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

functions

...

function_table

...

type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_double_constant | Subir | zend_register_ini_entries


zend_register_ini_entries

zend_register_ini_entries -- ...

Descripción

#include <zend_ini.h>

int zend_register_ini_entries ( zend_ini_entry* ini_entry, int module_number, magic TSRMLS_DC )

...

Lista de parámetros

ini_entry

...

module_number

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_functions | Subir | zend_register_interfaces


zend_register_interfaces

zend_register_interfaces -- ...

Descripción

#include <zend_interfaces.h>

void zend_register_interfaces ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_ini_entries | Subir | zend_register_internal_class_ex


zend_register_internal_class

zend_register_internal_class -- ...

Descripción

#include <zend_API.h>

zend_class_entry* zend_register_internal_class ( zend_class_entry* class_entry, magic TSRMLS_DC )

...

Lista de parámetros

class_entry

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_internal_class_ex | Subir | zend_register_internal_interface


zend_register_internal_class_ex

zend_register_internal_class_ex -- ...

Descripción

#include <zend_API.h>

zend_class_entry* zend_register_internal_class_ex ( zend_class_entry* class_entry, zend_class_entry* parent_ce, char* parent_name, magic TSRMLS_DC )

...

Lista de parámetros

class_entry

...

parent_ce

...

parent_name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_interfaces | Subir | zend_register_internal_class


zend_register_internal_interface

zend_register_internal_interface -- ...

Descripción

#include <zend_API.h>

zend_class_entry* zend_register_internal_interface ( zend_class_entry* orig_class_entry, magic TSRMLS_DC )

...

Lista de parámetros

orig_class_entry

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_internal_class | Subir | zend_register_internal_module


zend_register_internal_module

zend_register_internal_module -- ...

Descripción

#include <zend_API.h>

zend_module_entry* zend_register_internal_module ( zend_module_entry* module_entry, magic TSRMLS_DC )

...

Lista de parámetros

module_entry

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_internal_interface | Subir | zend_register_list_destructors_ex


zend_register_list_destructors

zend_register_list_destructors -- ...

Descripción

#include <zend_list.h>

int zend_register_list_destructors ( void (*ld)(void* ), void (*pld)(void* ), int module_number )

...

Lista de parámetros

)

...

)

...

module_number

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_list_destructors_ex | Subir | zend_register_long_constant


zend_register_list_destructors_ex

zend_register_list_destructors_ex -- ...

Descripción

#include <zend_list.h>

int zend_register_list_destructors_ex ( rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char* type_name, int module_number )

...

Lista de parámetros

ld

...

pld

...

type_name

...

module_number

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_internal_module | Subir | zend_register_list_destructors


zend_register_long_constant

zend_register_long_constant -- ...

Descripción

#include <zend_constants.h>

void zend_register_long_constant ( char* name, uint name_len, long lval, int flags, int module_number, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

lval

...

flags

...

module_number

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_list_destructors | Subir | zend_register_module_ex


zend_register_module

zend_register_module -- ...

Descripción

int zend_register_module ( zend_module_entry *module_entry )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_module_ex | Subir | zend_register_resource


zend_register_module_ex

zend_register_module_ex -- ...

Descripción

#include <zend_API.h>

zend_module_entry* zend_register_module_ex ( zend_module_entry* module, magic TSRMLS_DC )

...

Lista de parámetros

module

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_long_constant | Subir | zend_register_module


zend_register_resource

zend_register_resource -- ...

Descripción

#include <zend_list.h>

int zend_register_resource ( zval* rsrc_result, void* rsrc_pointer, int rsrc_type )

...

Lista de parámetros

rsrc_result

...

rsrc_pointer

...

rsrc_type

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_module | Subir | zend_register_string_constant


zend_register_string_constant

zend_register_string_constant -- ...

Descripción

#include <zend_constants.h>

void zend_register_string_constant ( char* name, uint name_len, char* strval, int flags, int module_number, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

strval

...

flags

...

module_number

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_resource | Subir | zend_register_stringl_constant


zend_register_stringl_constant

zend_register_stringl_constant -- ...

Descripción

#include <zend_constants.h>

void zend_register_stringl_constant ( char* name, uint name_len, char* strval, uint strlen, int flags, int module_number, magic TSRMLS_DC )

...

Lista de parámetros

name

...

name_len

...

strval

...

strlen

...

flags

...

module_number

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_string_constant | Subir | zend_reset_all_cv


zend_reset_all_cv

zend_reset_all_cv -- ...

Descripción

#include <zend_API.h>

void zend_reset_all_cv ( HashTable* symbol_table, magic TSRMLS_DC )

...

Lista de parámetros

symbol_table

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_register_stringl_constant | Subir | zend_reset_locale_deps


zend_reset_locale_deps

zend_reset_locale_deps -- ...

Descripción

#include <zend.h>

void zend_reset_locale_deps ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_reset_all_cv | Subir | zend_restore_compiled_filename


zend_restore_compiled_filename

zend_restore_compiled_filename -- ...

Descripción

#include <zend_compile.h>

void zend_restore_compiled_filename ( char* original_compiled_filename, magic TSRMLS_DC )

...

Lista de parámetros

original_compiled_filename

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_reset_locale_deps | Subir | zend_restore_compiled_script_encoding


zend_restore_compiled_script_encoding

zend_restore_compiled_script_encoding -- ...

Descripción

#include <zend_compile.h>

void zend_restore_compiled_script_encoding ( char* original_script_enc, magic TSRMLS_DC )

...

Lista de parámetros

original_script_enc

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_restore_compiled_filename | Subir | zend_restore_ini_entry


zend_restore_ini_entry

zend_restore_ini_entry -- ...

Descripción

#include <zend_ini.h>

int zend_restore_ini_entry ( char* name, uint name_length, int stage )

...

Lista de parámetros

name

...

name_length

...

stage

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_restore_compiled_script_encoding | Subir | zend_rsrc_list_get_rsrc_type


zend_rsrc_list_get_rsrc_type

zend_rsrc_list_get_rsrc_type -- ...

Descripción

#include <zend_list.h>

char* zend_rsrc_list_get_rsrc_type ( int resource, magic TSRMLS_DC )

...

Lista de parámetros

resource

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_restore_ini_entry | Subir | zend_set_compiled_filename


zend_set_compiled_filename

zend_set_compiled_filename -- ...

Descripción

#include <zend_compile.h>

char* zend_set_compiled_filename ( char* new_compiled_filename, magic TSRMLS_DC )

...

Lista de parámetros

new_compiled_filename

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_rsrc_list_get_rsrc_type | Subir | zend_set_compiled_script_encoding


zend_set_compiled_script_encoding

zend_set_compiled_script_encoding -- ...

Descripción

#include <zend_compile.h>

char* zend_set_compiled_script_encoding ( char* new_script_enc, magic TSRMLS_DC )

...

Lista de parámetros

new_script_enc

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_set_compiled_filename | Subir | zend_set_memory_limit


zend_set_memory_limit

zend_set_memory_limit -- ...

Descripción

#include <zend_alloc.h>

int zend_set_memory_limit ( unsigned int memory_limit )

...

Lista de parámetros

memory_limit

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_set_compiled_script_encoding | Subir | zend_set_timeout


zend_set_timeout

zend_set_timeout -- ...

Descripción

#include <zend_execute.h>

void zend_set_timeout ( long seconds )

...

Lista de parámetros

seconds

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_set_memory_limit | Subir | zend_set_user_opcode_handler


zend_set_user_opcode_handler

zend_set_user_opcode_handler -- ...

Descripción

#include <zend_execute.h>

int zend_set_user_opcode_handler ( zend_uchar opcode, opcode_handler_t handler )

...

Lista de parámetros

opcode

...

handler

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_set_timeout | Subir | zend_startup_module_ex


zend_startup_module

zend_startup_module -- ...

Descripción

#include <zend_API.h>

int zend_startup_module ( zend_module_entry* module_entry )

...

Lista de parámetros

module_entry

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_startup_module_ex | Subir | zend_startup_modules


zend_startup_module_ex

zend_startup_module_ex -- ...

Descripción

#include <zend_API.h>

int zend_startup_module_ex ( zend_module_entry* module, magic TSRMLS_DC )

...

Lista de parámetros

module

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_set_user_opcode_handler | Subir | zend_startup_module


zend_startup_modules

zend_startup_modules -- ...

Descripción

#include <zend_API.h>

int zend_startup_modules ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_startup_module | Subir | zend_std_call_user_call


zend_std_call_user_call

zend_std_call_user_call -- ...

Descripción

#include <zend_object_handlers.h>

void zend_std_call_user_call ( INTERNAL_FUNCTION_PARAMETERS )

...

Lista de parámetros

INTERNAL_FUNCTION_PARAMETERS

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_startup_modules | Subir | zend_std_cast_object_tostring


zend_std_cast_object_tostring

zend_std_cast_object_tostring -- ...

Descripción

#include <zend_object_handlers.h>

int zend_std_cast_object_tostring ( zval* readobj, zval* writeobj, int type, magic TSRMLS_DC )

...

Lista de parámetros

readobj

...

writeobj

...

type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_std_call_user_call | Subir | zend_std_get_static_property


zend_std_get_static_property

zend_std_get_static_property -- ...

Descripción

#include <zend_object_handlers.h>

zval** zend_std_get_static_property ( zend_class_entry* ce, zend_uchar type, void* property_name, int property_name_len, zend_bool silent, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

type

...

property_name

...

property_name_len

...

silent

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_std_cast_object_tostring | Subir | zend_std_unset_static_property


zend_std_unset_static_property

zend_std_unset_static_property -- ...

Descripción

#include <zend_object_handlers.h>

zend_bool zend_std_unset_static_property ( zend_class_entry* ce, zend_uchar type, void* property_name, int property_name_len, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

type

...

property_name

...

property_name_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_std_get_static_property | Subir | zend_stream_close


zend_stream_close

zend_stream_close -- ...

Descripción

#include <zend_stream.h>

void zend_stream_close ( ... handle )

...

Lista de parámetros

handle

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_std_unset_static_property | Subir | zend_stream_ferror


zend_stream_ferror

zend_stream_ferror -- ...

Descripción

#include <zend_stream.h>

int zend_stream_ferror ( zend_file_handle* file_handle, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_close | Subir | zend_stream_fixup


zend_stream_fixup

zend_stream_fixup -- ...

Descripción

#include <zend_stream.h>

int zend_stream_fixup ( zend_file_handle* file_handle, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_ferror | Subir | zend_stream_ftell


zend_stream_ftell

zend_stream_ftell -- ...

Descripción

#include <zend_stream.h>

long zend_stream_ftell ( zend_file_handle* file_handle, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_fixup | Subir | zend_stream_getc


zend_stream_getc

zend_stream_getc -- ...

Descripción

#include <zend_stream.h>

int zend_stream_getc ( zend_file_handle* file_handle, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_ftell | Subir | zend_stream_open


zend_stream_open

zend_stream_open -- ...

Descripción

#include <zend_stream.h>

int zend_stream_open ( const char* filename, zend_file_handle* handle, magic TSRMLS_DC )

...

Lista de parámetros

filename

...

handle

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_getc | Subir | zend_stream_read


zend_stream_read

zend_stream_read -- ...

Descripción

#include <zend_stream.h>

size_t zend_stream_read ( zend_file_handle* file_handle, char* buf, size_t len, magic TSRMLS_DC )

...

Lista de parámetros

file_handle

...

buf

...

len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_open | Subir | zend_strip


zend_strip

zend_strip -- ...

Descripción

#include <zend_highlight.h>

void zend_strip ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_stream_read | Subir | zend_strndup


zend_strndup

zend_strndup -- ...

Descripción

#include <zend_alloc.h>

char* zend_strndup ( const char* s, unsigned int length )

...

Lista de parámetros

s

...

length

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_strip | Subir | zend_strtod


zend_strtod

zend_strtod -- ...

Descripción

#include <zend_strtod.h>

double zend_strtod ( const char* s00, char** se )

...

Lista de parámetros

s00

...

se

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_strndup | Subir | zend_symtable_del


zend_symtable_del

zend_symtable_del -- ...

Descripción

#include <zend_hash.h>

int zend_symtable_del ( HashTable* ht, char* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_strtod | Subir | zend_symtable_exists


zend_symtable_exists

zend_symtable_exists -- ...

Descripción

#include <zend_hash.h>

int zend_symtable_exists ( HashTable* ht, char* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_symtable_del | Subir | zend_symtable_find


zend_symtable_find

zend_symtable_find -- ...

Descripción

#include <zend_hash.h>

int zend_symtable_find ( HashTable* ht, char* arKey, uint nKeyLength, void** pData )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_symtable_exists | Subir | zend_symtable_update_current_key


zend_symtable_update

zend_symtable_update -- ...

Descripción

#include <zend_hash.h>

int zend_symtable_update ( HashTable* ht, char* arKey, uint nKeyLength, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_symtable_update_current_key | Subir | zend_throw_exception_object


zend_symtable_update_current_key

zend_symtable_update_current_key -- ...

Descripción

#include <zend_hash.h>

int zend_symtable_update_current_key ( HashTable* ht, char* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_symtable_find | Subir | zend_symtable_update


zend_throw_exception_object

zend_throw_exception_object -- ...

Descripción

#include <zend_exceptions.h>

void zend_throw_exception_object ( zval* exception, magic TSRMLS_DC )

...

Lista de parámetros

exception

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_symtable_update | Subir | zend_timeout


zend_timeout

zend_timeout -- ...

Descripción

#include <zend_execute.h>

void zend_timeout ( int dummy )

...

Lista de parámetros

dummy

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_throw_exception_object | Subir | zend_u_declare_property_ex


zend_u_declare_property

zend_u_declare_property -- ...

Descripción

#include <zend_API.h>

int zend_u_declare_property ( zend_class_entry* ce, zend_uchar type, void* name, int name_length, zval* property, int access_type, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

type

...

name

...

name_length

...

property

...

access_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_declare_property_ex | Subir | zend_u_delete_global_variable


zend_u_declare_property_ex

zend_u_declare_property_ex -- ...

Descripción

#include <zend_API.h>

int zend_u_declare_property_ex ( zend_class_entry* ce, zend_uchar type, void* name, int name_length, zval* property, int access_type, char* doc_comment, int doc_comment_len, magic TSRMLS_DC )

...

Lista de parámetros

ce

...

type

...

name

...

name_length

...

property

...

access_type

...

doc_comment

...

doc_comment_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_timeout | Subir | zend_u_declare_property


zend_u_delete_global_variable

zend_u_delete_global_variable -- ...

Descripción

#include <zend_API.h>

int zend_u_delete_global_variable ( zend_uchar type, void* name, int name_len, magic TSRMLS_DC )

...

Lista de parámetros

type

...

name

...

name_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_declare_property | Subir | zend_u_eval_string_ex


zend_u_eval_string

zend_u_eval_string -- ...

Descripción

#include <zend_execute.h>

int zend_u_eval_string ( zend_uchar type, void* str, zval* retval_ptr, char* string_name, magic TSRMLS_DC )

...

Lista de parámetros

type

...

str

...

retval_ptr

...

string_name

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_eval_string_ex | Subir | zend_u_fetch_class


zend_u_eval_string_ex

zend_u_eval_string_ex -- ...

Descripción

#include <zend_execute.h>

int zend_u_eval_string_ex ( zend_uchar type, void* str, zval* retval_ptr, char* string_name, int handle_exceptions, magic TSRMLS_DC )

...

Lista de parámetros

type

...

str

...

retval_ptr

...

string_name

...

handle_exceptions

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_delete_global_variable | Subir | zend_u_eval_string


zend_u_fetch_class

zend_u_fetch_class -- ...

Descripción

#include <zend_execute.h>

zend_class_entry* zend_u_fetch_class ( zend_uchar type, void* class_name, uint class_name_len, int fetch_type, magic TSRMLS_DC )

...

Lista de parámetros

type

...

class_name

...

class_name_len

...

fetch_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_eval_string | Subir | zend_u_get_constant


zend_u_get_constant

zend_u_get_constant -- ...

Descripción

#include <zend_constants.h>

int zend_u_get_constant ( zend_uchar type, void* name, uint name_len, zval* result, magic TSRMLS_DC )

...

Lista de parámetros

type

...

name

...

name_len

...

result

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_fetch_class | Subir | zend_u_get_hash_value


zend_u_get_hash_value

zend_u_get_hash_value -- ...

Descripción

#include <zend_hash.h>

ulong zend_u_get_hash_value ( zend_uchar type, char* arKey, uint nKeyLength )

...

Lista de parámetros

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_get_constant | Subir | zend_u_hash_add_empty_element


zend_u_hash_add

zend_u_hash_add -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_add ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_add_empty_element | Subir | zend_u_hash_del_key_or_index


zend_u_hash_add_empty_element

zend_u_hash_add_empty_element -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_add_empty_element ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_get_hash_value | Subir | zend_u_hash_add


zend_u_hash_del

zend_u_hash_del -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_del ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_del_key_or_index | Subir | zend_u_hash_exists


zend_u_hash_del_key_or_index

zend_u_hash_del_key_or_index -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_del_key_or_index ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, ulong h, int flag )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

h

...

flag

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_add | Subir | zend_u_hash_del


zend_u_hash_exists

zend_u_hash_exists -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_exists ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_del | Subir | zend_u_hash_find


zend_u_hash_find

zend_u_hash_find -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_find ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, void** pData )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_exists | Subir | zend_u_hash_func


zend_u_hash_func

zend_u_hash_func -- ...

Descripción

#include <zend_hash.h>

ulong zend_u_hash_func ( zend_uchar type, char* arKey, uint nKeyLength )

...

Lista de parámetros

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_find | Subir | zend_u_hash_init_ex


zend_u_hash_init

zend_u_hash_init -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_init ( HashTable* ht, uint nSize, hash_func_t pHashFunction, dtor_func_t pDestructor, zend_bool persistent, zend_bool unicode )

...

Lista de parámetros

ht

...

nSize

...

pHashFunction

...

pDestructor

...

persistent

...

unicode

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_init_ex | Subir | zend_u_hash_quick_add


zend_u_hash_init_ex

zend_u_hash_init_ex -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_init_ex ( HashTable* ht, uint nSize, hash_func_t pHashFunction, dtor_func_t pDestructor, zend_bool persistent, zend_bool unicode, zend_bool bApplyProtection )

...

Lista de parámetros

ht

...

nSize

...

pHashFunction

...

pDestructor

...

persistent

...

unicode

...

bApplyProtection

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_func | Subir | zend_u_hash_init


zend_u_hash_quick_add

zend_u_hash_quick_add -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_quick_add ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, ulong h, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

h

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_init | Subir | zend_u_hash_quick_exists


zend_u_hash_quick_exists

zend_u_hash_quick_exists -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_quick_exists ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, ulong h )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

h

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_quick_add | Subir | zend_u_hash_quick_find


zend_u_hash_quick_find

zend_u_hash_quick_find -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_quick_find ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, ulong h, void** pData )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

h

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_quick_exists | Subir | zend_u_hash_quick_update


zend_u_hash_quick_update

zend_u_hash_quick_update -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_quick_update ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, ulong h, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

h

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_quick_find | Subir | zend_u_hash_update


zend_u_hash_update

zend_u_hash_update -- ...

Descripción

#include <zend_hash.h>

int zend_u_hash_update ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_quick_update | Subir | zend_u_is_auto_global


zend_u_is_auto_global

zend_u_is_auto_global -- ...

Descripción

#include <zend_compile.h>

zend_bool zend_u_is_auto_global ( zend_uchar type, void* name, uint name_len, magic TSRMLS_DC )

...

Lista de parámetros

type

...

name

...

name_len

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_hash_update | Subir | zend_u_lookup_class_ex


zend_u_lookup_class

zend_u_lookup_class -- ...

Descripción

#include <zend_execute.h>

int zend_u_lookup_class ( zend_uchar type, void* name, int name_length, zend_class_entry*** ce, magic TSRMLS_DC )

...

Lista de parámetros

type

...

name

...

name_length

...

ce

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_lookup_class_ex | Subir | zend_u_mangle_property_name


zend_u_lookup_class_ex

zend_u_lookup_class_ex -- ...

Descripción

#include <zend_execute.h>

int zend_u_lookup_class_ex ( zend_uchar type, void* name, int name_length, int use_autoload, zend_class_entry*** ce, magic TSRMLS_DC )

...

Lista de parámetros

type

...

name

...

name_length

...

use_autoload

...

ce

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_is_auto_global | Subir | zend_u_lookup_class


zend_u_mangle_property_name

zend_u_mangle_property_name -- ...

Descripción

#include <zend_compile.h>

void zend_u_mangle_property_name ( char** dest, int* dest_length, zend_uchar type, char* src1, int src1_length, char* src2, int src2_length, int internal )

...

Lista de parámetros

dest

...

dest_length

...

type

...

src1

...

src1_length

...

src2

...

src2_length

...

internal

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_lookup_class | Subir | zend_u_register_constant


zend_u_register_constant

zend_u_register_constant -- ...

Descripción

#include <zend_constants.h>

int zend_u_register_constant ( zend_uchar type, zend_constant* c, magic TSRMLS_DC )

...

Lista de parámetros

type

...

c

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_mangle_property_name | Subir | zend_u_symtable_del


zend_u_symtable_del

zend_u_symtable_del -- ...

Descripción

#include <zend_hash.h>

int zend_u_symtable_del ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_register_constant | Subir | zend_u_symtable_exists


zend_u_symtable_exists

zend_u_symtable_exists -- ...

Descripción

#include <zend_hash.h>

int zend_u_symtable_exists ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_symtable_del | Subir | zend_u_symtable_find


zend_u_symtable_find

zend_u_symtable_find -- ...

Descripción

#include <zend_hash.h>

int zend_u_symtable_find ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, void** pData )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

pData

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_symtable_exists | Subir | zend_u_symtable_update_current_key


zend_u_symtable_update

zend_u_symtable_update -- ...

Descripción

#include <zend_hash.h>

int zend_u_symtable_update ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength, void* pData, uint nDataSize, void** pDest )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

pData

...

nDataSize

...

pDest

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_symtable_update_current_key | Subir | zend_u_unmangle_property_name


zend_u_symtable_update_current_key

zend_u_symtable_update_current_key -- ...

Descripción

#include <zend_hash.h>

int zend_u_symtable_update_current_key ( HashTable* ht, zend_uchar type, void* arKey, uint nKeyLength )

...

Lista de parámetros

ht

...

type

...

arKey

...

nKeyLength

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_symtable_find | Subir | zend_u_symtable_update


zend_u_unmangle_property_name

zend_u_unmangle_property_name -- ...

Descripción

#include <zend_compile.h>

void zend_u_unmangle_property_name ( zend_uchar type, char* mangled_property, char** prop_name, char** class_name )

...

Lista de parámetros

type

...

mangled_property

...

prop_name

...

class_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_symtable_update | Subir | zend_unmangle_property_name


zend_unmangle_property_name

zend_unmangle_property_name -- ...

Descripción

#include <zend_compile.h>

void zend_unmangle_property_name ( char* mangled_property, char** prop_name, char** class_name )

...

Lista de parámetros

mangled_property

...

prop_name

...

class_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_u_unmangle_property_name | Subir | zend_unregister_functions


zend_unregister_functions

zend_unregister_functions -- ...

Descripción

#include <zend_API.h>

void zend_unregister_functions ( zend_function_entry* functions, int count, HashTable* function_table, magic TSRMLS_DC )

...

Lista de parámetros

functions

...

count

...

function_table

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_unmangle_property_name | Subir | zend_unregister_ini_entries


zend_unregister_ini_entries

zend_unregister_ini_entries -- ...

Descripción

#include <zend_ini.h>

void zend_unregister_ini_entries ( int module_number, magic TSRMLS_DC )

...

Lista de parámetros

module_number

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_unregister_functions | Subir | zend_unset_timeout


zend_unset_timeout

zend_unset_timeout -- ...

Descripción

#include <zend_execute.h>

void zend_unset_timeout ( TSRMLS_D )

...

Lista de parámetros

TSRMLS_D

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_unregister_ini_entries | Subir | zend_update_class_constants


zend_update_class_constants

zend_update_class_constants -- ...

Descripción

#include <zend_API.h>

void zend_update_class_constants ( zend_class_entry* class_type, magic TSRMLS_DC )

...

Lista de parámetros

class_type

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_unset_timeout | Subir | zend_update_property_ascii_string


zend_update_property

zend_update_property -- ...

Descripción

#include <zend_API.h>

void zend_update_property ( zend_class_entry* scope, zval* object, char* name, int name_length, zval* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_unicodel | Subir | zend_update_static_property_ascii_string


zend_update_property_ascii_string

zend_update_property_ascii_string -- ...

Descripción

#include <zend_API.h>

void zend_update_property_ascii_string ( zend_class_entry* scope, zval* object, char* name, int name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_class_constants | Subir | zend_update_property_ascii_stringl


zend_update_property_ascii_stringl

zend_update_property_ascii_stringl -- ...

Descripción

#include <zend_API.h>

void zend_update_property_ascii_stringl ( zend_class_entry* scope, zval* object, char* name, int name_length, char* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_ascii_string | Subir | zend_update_property_bool


zend_update_property_bool

zend_update_property_bool -- ...

Descripción

#include <zend_API.h>

void zend_update_property_bool ( zend_class_entry* scope, zval* object, char* name, int name_length, long value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_ascii_stringl | Subir | zend_update_property_double


zend_update_property_double

zend_update_property_double -- ...

Descripción

#include <zend_API.h>

void zend_update_property_double ( zend_class_entry* scope, zval* object, char* name, int name_length, double value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_bool | Subir | zend_update_property_long


zend_update_property_long

zend_update_property_long -- ...

Descripción

#include <zend_API.h>

void zend_update_property_long ( zend_class_entry* scope, zval* object, char* name, int name_length, long value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_double | Subir | zend_update_property_null


zend_update_property_null

zend_update_property_null -- ...

Descripción

#include <zend_API.h>

void zend_update_property_null ( zend_class_entry* scope, zval* object, char* name, int name_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_long | Subir | zend_update_property_rt_string


zend_update_property_rt_string

zend_update_property_rt_string -- ...

Descripción

#include <zend_API.h>

void zend_update_property_rt_string ( zend_class_entry* scope, zval* object, char* name, int name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_null | Subir | zend_update_property_rt_stringl


zend_update_property_rt_stringl

zend_update_property_rt_stringl -- ...

Descripción

#include <zend_API.h>

void zend_update_property_rt_stringl ( zend_class_entry* scope, zval* object, char* name, int name_length, char* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_rt_string | Subir | zend_update_property_string


zend_update_property_string

zend_update_property_string -- ...

Descripción

#include <zend_API.h>

void zend_update_property_string ( zend_class_entry* scope, zval* object, char* name, int name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_rt_stringl | Subir | zend_update_property_stringl


zend_update_property_stringl

zend_update_property_stringl -- ...

Descripción

#include <zend_API.h>

void zend_update_property_stringl ( zend_class_entry* scope, zval* object, char* name, int name_length, char* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_string | Subir | zend_update_property_unicode


zend_update_property_unicode

zend_update_property_unicode -- ...

Descripción

#include <zend_API.h>

void zend_update_property_unicode ( zend_class_entry* scope, zval* object, char* name, int name_length, UChar* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_stringl | Subir | zend_update_property_unicodel


zend_update_property_unicodel

zend_update_property_unicodel -- ...

Descripción

#include <zend_API.h>

void zend_update_property_unicodel ( zend_class_entry* scope, zval* object, char* name, int name_length, UChar* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

object

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property_unicode | Subir | zend_update_property


zend_update_static_property

zend_update_static_property -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property ( zend_class_entry* scope, char* name, int name_length, zval* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_unicodel | Subir | zend_ustrndup


zend_update_static_property_ascii_string

zend_update_static_property_ascii_string -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_ascii_string ( zend_class_entry* scope, char* name, int name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_property | Subir | zend_update_static_property_ascii_stringl


zend_update_static_property_ascii_stringl

zend_update_static_property_ascii_stringl -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_ascii_stringl ( zend_class_entry* scope, char* name, int name_length, char* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_ascii_string | Subir | zend_update_static_property_bool


zend_update_static_property_bool

zend_update_static_property_bool -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_bool ( zend_class_entry* scope, char* name, int name_length, long value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_ascii_stringl | Subir | zend_update_static_property_double


zend_update_static_property_double

zend_update_static_property_double -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_double ( zend_class_entry* scope, char* name, int name_length, double value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_bool | Subir | zend_update_static_property_long


zend_update_static_property_long

zend_update_static_property_long -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_long ( zend_class_entry* scope, char* name, int name_length, long value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_double | Subir | zend_update_static_property_null


zend_update_static_property_null

zend_update_static_property_null -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_null ( zend_class_entry* scope, char* name, int name_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_long | Subir | zend_update_static_property_rt_string


zend_update_static_property_rt_string

zend_update_static_property_rt_string -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_rt_string ( zend_class_entry* scope, char* name, int name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_null | Subir | zend_update_static_property_rt_stringl


zend_update_static_property_rt_stringl

zend_update_static_property_rt_stringl -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_rt_stringl ( zend_class_entry* scope, char* name, int name_length, char* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_rt_string | Subir | zend_update_static_property_string


zend_update_static_property_string

zend_update_static_property_string -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_string ( zend_class_entry* scope, char* name, int name_length, char* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_rt_stringl | Subir | zend_update_static_property_stringl


zend_update_static_property_stringl

zend_update_static_property_stringl -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_stringl ( zend_class_entry* scope, char* name, int name_length, char* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_string | Subir | zend_update_static_property_unicode


zend_update_static_property_unicode

zend_update_static_property_unicode -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_unicode ( zend_class_entry* scope, char* name, int name_length, UChar* value, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_stringl | Subir | zend_update_static_property_unicodel


zend_update_static_property_unicodel

zend_update_static_property_unicodel -- ...

Descripción

#include <zend_API.h>

int zend_update_static_property_unicodel ( zend_class_entry* scope, char* name, int name_length, UChar* value, int value_length, magic TSRMLS_DC )

...

Lista de parámetros

scope

...

name

...

name_length

...

value

...

value_length

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property_unicode | Subir | zend_update_static_property


zend_ustrndup

zend_ustrndup -- ...

Descripción

#include <zend_alloc.h>

UChar* zend_ustrndup ( const UChar* s, uint length )

...

Lista de parámetros

s

...

length

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_update_static_property | Subir | zend_wrong_param_count


zend_wrong_param_count

zend_wrong_param_count -- Generate standard error message for wrong parameter count in function or method call

Descripción

#include <zend_API.h>

void zend_wrong_param_count ( magic TSRMLS_D )

zend_wrong_param_count() produces a standard warning message for functions or class methods that have been called with a wrong number of parameters. The function automaticly puts the right function name and class name (if needed) into the error message.

Usually the ZEND_WRONG_PARAM_COUNT() and ZEND_WRONG_PARAM_COUNT_WITH_RETVAL() macros are used to invoke this function instead of calling it immediately as this saves typing the TSRMLS_C argument.

Lista de parámetros

TSRMLS_D

Thread context

Anterior | Inicio | Siguiente
zend_ustrndup | Subir | zend_zval_type_name


zend_zval_type_name

zend_zval_type_name -- Returns the PHP type name for a given zval

Descripción

#include <zend_API.h>

char* zend_zval_type_name ( zval* arg )

zend_zval_type_name() returns the PHP typename for the current value of the zval pointed to by arg.

Lista de parámetros

arg

A pointer to the zval to be examined.

Valores retornados

A pointer to a static PHP typename string.

Anterior | Inicio | Siguiente
zend_wrong_param_count | Subir | zval_add_ref


zval_add_ref

zval_add_ref -- ...

Descripción

#include <zend_variables.h>

void zval_add_ref ( zval** p )

...

Lista de parámetros

p

...

Valores retornados

...

Anterior | Inicio | Siguiente
zend_zval_type_name | Subir | zval_internal_dtor


zval_internal_dtor

zval_internal_dtor -- ...

Descripción

#include <zend_variables.h>

void zval_internal_dtor ( zval* zvalue )

...

Lista de parámetros

zvalue

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_add_ref | Subir | zval_internal_ptr_dtor


zval_internal_ptr_dtor

zval_internal_ptr_dtor -- ...

Descripción

#include <zend_variables.h>

void zval_internal_ptr_dtor ( zval** zvalue )

...

Lista de parámetros

zvalue

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_internal_dtor | Subir | zval_ptr_dtor


zval_ptr_dtor

zval_ptr_dtor -- ...

Descripción

#include <zend_variables.h>

void zval_ptr_dtor ( zval** zval_ptr )

...

Lista de parámetros

zval_ptr

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_internal_ptr_dtor | Subir | zval_string_to_unicode_ex


zval_string_to_unicode

zval_string_to_unicode -- ...

Descripción

#include <zend_unicode.h>

int zval_string_to_unicode ( zval* string, magic TSRMLS_DC )

...

Lista de parámetros

string

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_string_to_unicode_ex | Subir | zval_unicode_to_string


zval_string_to_unicode_ex

zval_string_to_unicode_ex -- ...

Descripción

#include <zend_unicode.h>

int zval_string_to_unicode_ex ( zval* string, UConverter* conv )

...

Lista de parámetros

string

...

conv

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_ptr_dtor | Subir | zval_string_to_unicode


zval_unicode_to_string

zval_unicode_to_string -- ...

Descripción

#include <zend_unicode.h>

int zval_unicode_to_string ( zval* string, UConverter* conv, magic TSRMLS_DC )

...

Lista de parámetros

string

...

conv

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_string_to_unicode | Subir | zval_update_constant


zval_update_constant

zval_update_constant -- ...

Descripción

#include <zend_execute.h>

int zval_update_constant ( zval** pp, void* arg, magic TSRMLS_DC )

...

Lista de parámetros

pp

...

arg

...

TSRMLS_DC

...

Valores retornados

...

Anterior | Inicio | Siguiente
zval_unicode_to_string | Subir | DISPLAY_INI_ENTRIES


RETURN_ASCII_STRING

RETURN_ASCII_STRING -- ...

Descripción

#include <zend_API.h>

??? RETURN_ASCII_STRING ( ??? t, ??? duplicate )

...

Lista de parámetros

t

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
REGISTER_STRINGL_CONSTANT | Subir | RETURN_ASCII_STRINGL


RETURN_ASCII_STRINGL

RETURN_ASCII_STRINGL -- ...

Descripción

#include <zend_API.h>

??? RETURN_ASCII_STRINGL ( ??? t, ??? l, ??? duplicate )

...

Lista de parámetros

t

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_ASCII_STRING | Subir | RETURN_BINARY


RETURN_BINARY

RETURN_BINARY -- ...

Descripción

#include <zend_API.h>

??? RETURN_BINARY ( ??? s, ??? duplicate )

...

Lista de parámetros

s

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_ASCII_STRINGL | Subir | RETURN_BINARYL


RETURN_BINARYL

RETURN_BINARYL -- ...

Descripción

#include <zend_API.h>

??? RETURN_BINARYL ( ??? s, ??? l, ??? duplicate )

...

Lista de parámetros

s

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_BINARY | Subir | RETURN_BOOL


RETURN_BOOL

RETURN_BOOL -- Return a bool value from a function

Descripción

#include <zend_API.h>

void RETURN_BOOL ( zend_bool b )

RETURN_BOOL() sets the return_value of the given function to b and returns control to the calling function.

Lista de parámetros

b

bool value to return.

Anterior | Inicio | Siguiente
RETURN_BINARYL | Subir | RETURN_DOUBLE


RETURN_DOUBLE

RETURN_DOUBLE -- Return a double value from a function

Descripción

#include <zend_API.h>

void RETURN_DOUBLE ( double d )

RETURN_DOUBLE() sets the return_value of the given function to d and returns control to the calling function.

Lista de parámetros

d

double value to return.

Anterior | Inicio | Siguiente
RETURN_BOOL | Subir | RETURN_EMPTY_BINARY


RETURN_EMPTY_BINARY

RETURN_EMPTY_BINARY -- ...

Descripción

#include <zend_API.h>

void RETURN_EMPTY_BINARY ( void )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_DOUBLE | Subir | RETURN_EMPTY_STRING


RETURN_EMPTY_STRING

RETURN_EMPTY_STRING -- Return an empty string value from a function

Descripción

#include <zend_API.h>

void RETURN_EMPTY_STRING ( void )

This returns an empty string without the need to create such a string first.

Anterior | Inicio | Siguiente
RETURN_EMPTY_BINARY | Subir | RETURN_EMPTY_UNICODE


RETURN_EMPTY_UNICODE

RETURN_EMPTY_UNICODE -- ...

Descripción

#include <zend_API.h>

void RETURN_EMPTY_UNICODE ( void )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_EMPTY_STRING | Subir | RETURN_LONG


RETURN_LONG

RETURN_LONG -- Return a long value from a function

Descripción

#include <zend_API.h>

void RETURN_LONG ( long l )

RETURN_LONG() sets the return_value of the given function to l and returns control to the calling function.

Lista de parámetros

l

long value to return.

Anterior | Inicio | Siguiente
RETURN_EMPTY_UNICODE | Subir | RETURN_NULL


RETURN_NULL

RETURN_NULL -- Return a null value from a function

Descripción

#include <zend_API.h>

void RETURN_NULL ( void )

RETURN_BOOL() sets the return_value of the given function to NULL and returns control to the calling function.

Anterior | Inicio | Siguiente
RETURN_LONG | Subir | RETURN_RESOURCE


RETURN_RESOURCE

RETURN_RESOURCE -- Return a resource from a function

Descripción

#include <zend_API.h>

void RETURN_RESOURCE ( resource r )

RETURN_RESOURCE() sets the return_value of the given function to r and returns control to the calling function.

Lista de parámetros

r

The resource to be returned.

Anterior | Inicio | Siguiente
RETURN_NULL | Subir | RETURN_RT_STRING


RETURN_RT_STRING

RETURN_RT_STRING -- ...

Descripción

#include <zend_API.h>

??? RETURN_RT_STRING ( ??? t, ??? duplicate )

...

Lista de parámetros

t

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_RESOURCE | Subir | RETURN_RT_STRINGL


RETURN_RT_STRINGL

RETURN_RT_STRINGL -- ...

Descripción

#include <zend_API.h>

??? RETURN_RT_STRINGL ( ??? t, ??? l, ??? duplicate )

...

Lista de parámetros

t

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_RT_STRING | Subir | RETURN_STRING


RETURN_STRING

RETURN_STRING -- ...

Descripción

#include <zend_API.h>

??? RETURN_STRING ( ??? s, ??? duplicate )

...

Lista de parámetros

s

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_RT_STRINGL | Subir | RETURN_STRINGL


RETURN_STRINGL

RETURN_STRINGL -- ...

Descripción

#include <zend_API.h>

??? RETURN_STRINGL ( ??? s, ??? l, ??? duplicate )

...

Lista de parámetros

s

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_STRING | Subir | RETURN_TEXT


RETURN_TEXT

RETURN_TEXT -- ...

Descripción

#include <zend_API.h>

??? RETURN_TEXT ( ??? t, ??? duplicate )

...

Lista de parámetros

t

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_STRINGL | Subir | RETURN_TEXTL


RETURN_TEXTL

RETURN_TEXTL -- ...

Descripción

#include <zend_API.h>

??? RETURN_TEXTL ( ??? t, ??? l, ??? duplicate )

...

Lista de parámetros

t

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_TEXT | Subir | RETURN_U_STRING


RETURN_U_STRING

RETURN_U_STRING -- ...

Descripción

#include <zend_API.h>

??? RETURN_U_STRING ( ??? conv, ??? t, ??? duplicate )

...

Lista de parámetros

conv

...

t

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_TEXTL | Subir | RETURN_U_STRINGL


RETURN_U_STRINGL

RETURN_U_STRINGL -- ...

Descripción

#include <zend_API.h>

??? RETURN_U_STRINGL ( ??? conv, ??? t, ??? l, ??? duplicate )

...

Lista de parámetros

conv

...

t

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_U_STRING | Subir | RETURN_UNICODE


RETURN_UNICODE

RETURN_UNICODE -- ...

Descripción

#include <zend_API.h>

??? RETURN_UNICODE ( ??? u, ??? duplicate )

...

Lista de parámetros

u

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_U_STRINGL | Subir | RETURN_UNICODEL


RETURN_UNICODEL

RETURN_UNICODEL -- ...

Descripción

#include <zend_API.h>

??? RETURN_UNICODEL ( ??? u, ??? l, ??? duplicate )

...

Lista de parámetros

u

...

l

...

duplicate

...

Valores retornados

...

Anterior | Inicio | Siguiente
RETURN_UNICODE | Subir | RETURN_ZVAL


RETURN_ZVAL

RETURN_ZVAL -- Return a zval value from a function

Descripción

#include <zend_API.h>

void RETURN_ZVAL ( zval * zv, bool copy, bool dtor )

...

Lista de parámetros

zv

Pointer to the zval to return.

copy

Create a copy of zv before returning it?

dtor

Destruct the original value before returning from the function, this is needed if zv was only temporarily created within the function.

Anterior | Inicio | Siguiente
RETURN_UNICODEL | Subir | UNREGISTER_INI_ENTRIES


VCWD_ACCESS

VCWD_ACCESS -- Check users permissions for a file

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_ACCESS ( const char * pathname, mode_t mode )

This is a convenience wrapper for virtual_access().

Lista de parámetros

pathname

...

mode

...

Valores retornados

...

Anterior | Inicio | Siguiente
virtual_utime | Subir | VCWD_CHDIR_FILE


VCWD_CHDIR

VCWD_CHDIR -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_CHDIR ( char * path )

...

Lista de parámetros

path

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_CHDIR_FILE | Subir | VCWD_CHMOD


VCWD_CHDIR_FILE

VCWD_CHDIR_FILE -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_CHDIR_FILE ( char * path )

...

Lista de parámetros

path

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_ACCESS | Subir | VCWD_CHDIR


VCWD_CHMOD

VCWD_CHMOD -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_CHMOD ( char * path, mode_t mode )

...

Lista de parámetros

path

...

mode

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_CHDIR | Subir | VCWD_CHOWN


VCWD_CHOWN

VCWD_CHOWN -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_CHOWN ( char * path, uid_t owner, gid_t group )

...

Lista de parámetros

path

...

owner

...

group

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_CHMOD | Subir | VCWD_CREAT


VCWD_CREAT

VCWD_CREAT -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_CREAT ( char * path, mode_t mode )

...

Lista de parámetros

path

...

mode

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_CHOWN | Subir | VCWD_FOPEN


VCWD_FOPEN

VCWD_FOPEN -- ...

Descripción

#include <tsrm_virtual_cwd.h>

FILE * VCWD_FOPEN ( char * path, char * mode )

...

Lista de parámetros

path

...

mode

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_CREAT | Subir | VCWD_GETCWD


VCWD_GETCWD

VCWD_GETCWD -- ...

Descripción

#include <tsrm_virtual_cwd.h>

char * VCWD_GETCWD ( char * buff, size_t size )

...

Lista de parámetros

buff

...

size

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_FOPEN | Subir | VCWD_GETWD


VCWD_GETWD

VCWD_GETWD -- ...

Descripción

#include <tsrm_virtual_cwd.h>

char * VCWD_GETWD ( char * buf )

...

Lista de parámetros

buf

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_GETCWD | Subir | VCWD_LCHOWN


VCWD_LCHOWN

VCWD_LCHOWN -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_LCHOWN ( char * path, uid_t owner, gid_t group )

...

Lista de parámetros

path

...

owner

...

group

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_GETWD | Subir | VCWD_LSTAT


VCWD_LSTAT

VCWD_LSTAT -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_LSTAT ( char * path, struct stat * buff )

...

Lista de parámetros

path

...

buff

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_LCHOWN | Subir | VCWD_MKDIR


VCWD_MKDIR

VCWD_MKDIR -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_MKDIR ( char * pathname, mode_t mode )

...

Lista de parámetros

pathname

...

mode

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_LSTAT | Subir | VCWD_OPEN_MODE


VCWD_OPEN

VCWD_OPEN -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_OPEN ( char * path, int flags )

...

Lista de parámetros

path

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_OPEN_MODE | Subir | VCWD_OPENDIR


VCWD_OPEN_MODE

VCWD_OPEN_MODE -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_OPEN_MODE ( char * path, int flags, mode_t mode )

...

Lista de parámetros

path

...

flags

...

mode

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_MKDIR | Subir | VCWD_OPEN


VCWD_OPENDIR

VCWD_OPENDIR -- ...

Descripción

#include <tsrm_virtual_cwd.h>

DIR * VCWD_OPENDIR ( char * pathname )

...

Lista de parámetros

pathname

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_OPEN | Subir | VCWD_POPEN


VCWD_POPEN

VCWD_POPEN -- ...

Descripción

#include <tsrm_virtual_cwd.h>

FILE * VCWD_POPEN ( char * command, char * type )

...

Lista de parámetros

command

...

type

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_OPENDIR | Subir | VCWD_REALPATH


VCWD_REALPATH

VCWD_REALPATH -- ...

Descripción

#include <tsrm_virtual_cwd.h>

char * VCWD_REALPATH ( char * path, char * real_path )

...

Lista de parámetros

path

...

real_path

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_POPEN | Subir | VCWD_RENAME


VCWD_RENAME

VCWD_RENAME -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_RENAME ( char * oldname, char * newname )

...

Lista de parámetros

oldname

...

newname

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_REALPATH | Subir | VCWD_RMDIR


VCWD_RMDIR

VCWD_RMDIR -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_RMDIR ( char * pathname )

...

Lista de parámetros

pathname

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_RENAME | Subir | VCWD_STAT


VCWD_STAT

VCWD_STAT -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_STAT ( char * path, struct stat * buff )

...

Lista de parámetros

path

...

buff

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_RMDIR | Subir | VCWD_UNLINK


VCWD_UNLINK

VCWD_UNLINK -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_UNLINK ( char * path )

...

Lista de parámetros

path

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_STAT | Subir | VCWD_UTIME


VCWD_UTIME

VCWD_UTIME -- ...

Descripción

#include <tsrm_virtual_cwd.h>

int VCWD_UTIME ( char * path, struct utimebuf * time )

...

Lista de parámetros

path

...

time

...

Valores retornados

...

Anterior | Inicio | Siguiente
VCWD_UNLINK | Subir | Extensión de PHP 3


Z_ARRVAL

Z_ARRVAL -- ...

Descripción

#include <zend_operators.h>

HashTable Z_ARRVAL ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_ARRVAL_PP | Subir | Z_BINLEN_P


Z_ARRVAL_P

Z_ARRVAL_P -- ...

Descripción

#include <zend_operators.h>

HashTable Z_ARRVAL_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
UNREGISTER_INI_ENTRIES | Subir | Z_ARRVAL_PP


Z_ARRVAL_PP

Z_ARRVAL_PP -- ...

Descripción

#include <zend_operators.h>

HashTable Z_ARRVAL_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_ARRVAL_P | Subir | Z_ARRVAL


Z_BINLEN

Z_BINLEN -- ...

Descripción

#include <zend_operators.h>

char * Z_BINLEN ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_BINLEN_PP | Subir | Z_BINVAL_P


Z_BINLEN_P

Z_BINLEN_P -- ...

Descripción

#include <zend_operators.h>

char * Z_BINLEN_P ( zval * zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_ARRVAL | Subir | Z_BINLEN_PP


Z_BINLEN_PP

Z_BINLEN_PP -- ...

Descripción

#include <zend_operators.h>

char * Z_BINLEN_PP ( zval ** zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_BINLEN_P | Subir | Z_BINLEN


Z_BINVAL

Z_BINVAL -- ...

Descripción

#include <zend_operators.h>

??? Z_BINVAL ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_BINVAL_PP | Subir | Z_BVAL_P


Z_BINVAL_P

Z_BINVAL_P -- ...

Descripción

#include <zend_operators.h>

??? Z_BINVAL_P ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_BINLEN | Subir | Z_BINVAL_PP


Z_BINVAL_PP

Z_BINVAL_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_BINVAL_PP ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_BINVAL_P | Subir | Z_BINVAL


Z_BVAL

Z_BVAL -- Return a zval lval element as bool

Descripción

#include <zend_operators.h>

zend_bool Z_BVAL ( zval zv )

Z_BVAL() returns the lval element of zv casted to zend_bool.

Lista de parámetros

zv

The zval structure to extract the result value from.

Valores retornados

The lval element of zv casted to a zend_bool which is either TRUE or FALSE.

Ver también

See Z_BVAL_P() and Z_BVAL_PP() for other macros that access the lval field of a zval as zend_bool.

For macros that extract other values from a zval ** see
Z_ARRVAL(), Z_BINLEN(),
Z_BINVAL(), ,
Z_DVAL(), Z_LVAL(),
Z_OBJCE(), Z_OBJ_HANDLE(),
Z_OBJ_HANDLER(), Z_OBJ_HT(),
Z_OBJPROP(), Z_OBJVAL(),
Z_RESVAL(), Z_STRLEN(),
Z_STRVAL(), Z_TYPE(),
Z_UNILEN(), Z_UNIVAL(),
Z_USTRCPLEN(), Z_USTRLEN(),
and Z_USTRVAL().

Anterior | Inicio | Siguiente
Z_BVAL_PP | Subir | Z_DBG


Z_BVAL_P

Z_BVAL_P -- Dereference a zval pointer and return its lval element as bool

Descripción

#include <zend_operators.h>

zend_bool Z_BVAL_P ( zval * zval_p )

Z_BVAL_P() returns the lval element of the zval structure pointed to by zval_p casted to zend_bool.

Lista de parámetros

zval_p

Pointer to the zval structure to extract the result value from.

Valores retornados

The lval element of the zval structure pointed to by zval_p casted to a zend_bool which is either TRUE or FALSE.

Ver también

See Z_BVAL() and Z_BVAL_PP() for other macros that access the lval field of a zval as zend_bool.

For macros that extract other values from a zval ** see
Z_ARRVAL_P(), Z_BINLEN_P(),
Z_BINVAL_P(), ,
Z_DVAL_P(), Z_LVAL_P(),
Z_OBJCE_P(), Z_OBJ_HANDLE_P(),
Z_OBJ_HANDLER_P(), Z_OBJ_HT_P(),
Z_OBJPROP_P(), Z_OBJVAL_P(),
Z_RESVAL_P(), Z_STRLEN_P(),
Z_STRVAL_P(), Z_TYPE_P(),
Z_UNILEN_P(), Z_UNIVAL_P(),
Z_USTRCPLEN_P(), Z_USTRLEN_P(),
and Z_USTRVAL_P().

Anterior | Inicio | Siguiente
Z_BINVAL | Subir | Z_BVAL_PP


Z_BVAL_PP

Z_BVAL_PP -- Dereference a pointer to a zval pointer and return its lval element as bool

Descripción

#include <zend_operators.h>

zend_bool Z_BVAL_PP ( zval ** zval_pp )

Z_BVAL_PP() returns the lval element of the zval structure indirectly pointed to by zval_pp casted to zend_bool.

Lista de parámetros

zval_pp

Pointer to a pointer to the zval structure to extract the result value from.

Valores retornados

The lval element of the zval structure pointed to by the pointer pointed to by zval_pp casted to a zend_bool which is either TRUE or FALSE.

Ver también

See Z_BVAL() and Z_BVAL_P() for other macros that access the lval field of a zval as zend_bool.

For macros that extract other values from a zval ** see
Z_ARRVAL_PP(), Z_BINLEN_PP(),
Z_BINVAL_PP(), ,
Z_DVAL_PP(), Z_LVAL_PP(),
Z_OBJCE_PP(), Z_OBJ_HANDLE_PP(),
Z_OBJ_HANDLER_PP(), Z_OBJ_HT_PP(),
Z_OBJPROP_PP(), Z_OBJVAL_PP(),
Z_RESVAL_PP(), Z_STRLEN_PP(),
Z_STRVAL_PP(), Z_TYPE_PP(),
Z_UNILEN_PP(), Z_UNIVAL_PP(),
Z_USTRCPLEN_PP(), Z_USTRLEN_PP(),
and Z_USTRVAL_PP().

Anterior | Inicio | Siguiente
Z_BVAL_P | Subir | Z_BVAL


Z_DBG

Z_DBG -- ...

Descripción

#include <zend.h>

??? Z_DBG ( ??? expr )

...

Lista de parámetros

expr

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_BVAL | Subir | Z_DVAL_P


Z_DVAL

Z_DVAL -- Return the dval element of a zval

Descripción

#include <zend_operators.h>

double Z_DVAL ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_DVAL_PP | Subir | Z_LVAL_P


Z_DVAL_P

Z_DVAL_P -- Dereference a zval pointer and return its dval element

Descripción

#include <zend_operators.h>

double Z_DVAL_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_DBG | Subir | Z_DVAL_PP


Z_DVAL_PP

Z_DVAL_PP -- Dereference a pointer to a zval pointer and return its dval element

Descripción

#include <zend_operators.h>

double Z_DVAL_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_DVAL_P | Subir | Z_DVAL


Z_LVAL

Z_LVAL -- ...

Descripción

#include <zend_operators.h>

long Z_LVAL ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_LVAL_PP | Subir | Z_OBJ_CLASS_NAME_P


Z_LVAL_P

Z_LVAL_P -- ...

Descripción

#include <zend_operators.h>

long Z_LVAL_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_DVAL | Subir | Z_LVAL_PP


Z_LVAL_PP

Z_LVAL_PP -- Dereference a pointer to a zval pointer and return its lval element

Descripción

#include <zend_operators.h>

long Z_LVAL_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_LVAL_P | Subir | Z_LVAL


Z_OBJ_CLASS_NAME_P

Z_OBJ_CLASS_NAME_P -- ...

Descripción

#include <zend_execute.h>

??? Z_OBJ_CLASS_NAME_P ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_LVAL | Subir | Z_OBJ_HANDLE_P


Z_OBJ_HANDLE

Z_OBJ_HANDLE -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HANDLE ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HANDLE_PP | Subir | Z_OBJ_HANDLER_P


Z_OBJ_HANDLE_P

Z_OBJ_HANDLE_P -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HANDLE_P ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_CLASS_NAME_P | Subir | Z_OBJ_HANDLE_PP


Z_OBJ_HANDLE_PP

Z_OBJ_HANDLE_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HANDLE_PP ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HANDLE_P | Subir | Z_OBJ_HANDLE


Z_OBJ_HANDLER

Z_OBJ_HANDLER -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HANDLER ( ??? zval, ??? hf )

...

Lista de parámetros

zval

...

hf

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HANDLER_PP | Subir | Z_OBJ_HT_P


Z_OBJ_HANDLER_P

Z_OBJ_HANDLER_P -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HANDLER_P ( ??? zval_p, ??? h )

...

Lista de parámetros

zval_p

...

h

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HANDLE | Subir | Z_OBJ_HANDLER_PP


Z_OBJ_HANDLER_PP

Z_OBJ_HANDLER_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HANDLER_PP ( ??? zval_p, ??? h )

...

Lista de parámetros

zval_p

...

h

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HANDLER_P | Subir | Z_OBJ_HANDLER


Z_OBJ_HT

Z_OBJ_HT -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HT ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HT_PP | Subir | Z_OBJCE_P


Z_OBJ_HT_P

Z_OBJ_HT_P -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HT_P ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HANDLER | Subir | Z_OBJ_HT_PP


Z_OBJ_HT_PP

Z_OBJ_HT_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJ_HT_PP ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HT_P | Subir | Z_OBJ_HT


Z_OBJCE

Z_OBJCE -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJCE ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJCE_PP | Subir | Z_OBJPROP_P


Z_OBJCE_P

Z_OBJCE_P -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJCE_P ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJ_HT | Subir | Z_OBJCE_PP


Z_OBJCE_PP

Z_OBJCE_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJCE_PP ( ??? zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJCE_P | Subir | Z_OBJCE


Z_OBJPROP

Z_OBJPROP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJPROP ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJPROP_PP | Subir | Z_OBJVAL_P


Z_OBJPROP_P

Z_OBJPROP_P -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJPROP_P ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJCE | Subir | Z_OBJPROP_PP


Z_OBJPROP_PP

Z_OBJPROP_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJPROP_PP ( ??? zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJPROP_P | Subir | Z_OBJPROP


Z_OBJVAL

Z_OBJVAL -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJVAL ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJVAL_PP | Subir | Z_RESVAL_P


Z_OBJVAL_P

Z_OBJVAL_P -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJVAL_P ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJPROP | Subir | Z_OBJVAL_PP


Z_OBJVAL_PP

Z_OBJVAL_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_OBJVAL_PP ( ??? zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJVAL_P | Subir | Z_OBJVAL


Z_RESVAL

Z_RESVAL -- ...

Descripción

#include <zend_operators.h>

??? Z_RESVAL ( ??? zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_RESVAL_PP | Subir | Z_STRLEN_P


Z_RESVAL_P

Z_RESVAL_P -- ...

Descripción

#include <zend_operators.h>

??? Z_RESVAL_P ( ??? zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_OBJVAL | Subir | Z_RESVAL_PP


Z_RESVAL_PP

Z_RESVAL_PP -- ...

Descripción

#include <zend_operators.h>

??? Z_RESVAL_PP ( ??? zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_RESVAL_P | Subir | Z_RESVAL


Z_STRLEN

Z_STRLEN -- ...

Descripción

#include <zend_operators.h>

int Z_STRLEN ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_STRLEN_PP | Subir | Z_STRVAL_P


Z_STRLEN_P

Z_STRLEN_P -- ...

Descripción

#include <zend_operators.h>

int Z_STRLEN_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_RESVAL | Subir | Z_STRLEN_PP


Z_STRLEN_PP

Z_STRLEN_PP -- ...

Descripción

#include <zend_operators.h>

int Z_STRLEN_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_STRLEN_P | Subir | Z_STRLEN


Z_STRVAL

Z_STRVAL -- ...

Descripción

#include <zend_operators.h>

char * Z_STRVAL ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_STRVAL_PP | Subir | Z_TYPE_P


Z_STRVAL_P

Z_STRVAL_P -- ...

Descripción

#include <zend_operators.h>

char * Z_STRVAL_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_STRLEN | Subir | Z_STRVAL_PP


Z_STRVAL_PP

Z_STRVAL_PP -- ...

Descripción

#include <zend_operators.h>

char * Z_STRVAL_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_STRVAL_P | Subir | Z_STRVAL


Z_TYPE

Z_TYPE -- Get the type field of a zval

Descripción

#include <zend_operators.h>

zend_uchar Z_TYPE ( zval zv )

Return the type field of a zval.

Lista de parámetros

zv

A zval data structure.

Valores retornados

The type field of zv.

Anterior | Inicio | Siguiente
Z_TYPE_PP | Subir | Z_UNILEN_P


Z_TYPE_P

Z_TYPE_P -- Get type field from zval pointer

Descripción

#include <zend_operators.h>

zend_uchar Z_TYPE_P ( zval * zval_p )

Return the type filed from the zval data structure pointed to by zval_p.

Lista de parámetros

zval_p

Pointer to a zval.

Valores retornados

Type of the zval pointed to.

Anterior | Inicio | Siguiente
Z_STRVAL | Subir | Z_TYPE_PP


Z_TYPE_PP

Z_TYPE_PP -- Get type field from zval pointer pointer

Descripción

#include <zend_operators.h>

zend_uchar Z_TYPE_PP ( zval ** zval_pp )

Return the type filed from the zval data structure pointed to by the pointer pointed to by zval_pp.

Lista de parámetros

zval_pp

Pointer to a pointer to a zval structure.

Valores retornados

Type of the zval structure pointed to.

Anterior | Inicio | Siguiente
Z_TYPE_P | Subir | Z_TYPE


Z_UNILEN

Z_UNILEN -- ...

Descripción

#include <zend_operators.h>

int Z_UNILEN ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_UNILEN_PP | Subir | Z_UNIVAL_P


Z_UNILEN_P

Z_UNILEN_P -- ...

Descripción

#include <zend_operators.h>

int Z_UNILEN_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_TYPE | Subir | Z_UNILEN_PP


Z_UNILEN_PP

Z_UNILEN_PP -- ...

Descripción

#include <zend_operators.h>

int Z_UNILEN_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_UNILEN_P | Subir | Z_UNILEN


Z_UNIVAL

Z_UNIVAL -- ...

Descripción

#include <zend_operators.h>

char * Z_UNIVAL ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_UNIVAL_PP | Subir | Z_USTRCPLEN_P


Z_UNIVAL_P

Z_UNIVAL_P -- ...

Descripción

#include <zend_operators.h>

char * Z_UNIVAL_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_UNILEN | Subir | Z_UNIVAL_PP


Z_UNIVAL_PP

Z_UNIVAL_PP -- ...

Descripción

#include <zend_operators.h>

char * Z_UNIVAL_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_UNIVAL_P | Subir | Z_UNIVAL


Z_USTRCPLEN

Z_USTRCPLEN -- ...

Descripción

#include <zend_operators.h>

int32_t Z_USTRCPLEN ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRCPLEN_PP | Subir | Z_USTRLEN_P


Z_USTRCPLEN_P

Z_USTRCPLEN_P -- ...

Descripción

#include <zend_operators.h>

int32_t Z_USTRCPLEN_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_UNIVAL | Subir | Z_USTRCPLEN_PP


Z_USTRCPLEN_PP

Z_USTRCPLEN_PP -- ...

Descripción

#include <zend_operators.h>

int32_t Z_USTRCPLEN_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRCPLEN_P | Subir | Z_USTRCPLEN


Z_USTRLEN

Z_USTRLEN -- ...

Descripción

#include <zend_operators.h>

int32_t Z_USTRLEN ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRLEN_PP | Subir | Z_USTRVAL_P


Z_USTRLEN_P

Z_USTRLEN_P -- ...

Descripción

#include <zend_operators.h>

int32_t Z_USTRLEN_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRCPLEN | Subir | Z_USTRLEN_PP


Z_USTRLEN_PP

Z_USTRLEN_PP -- ...

Descripción

#include <zend_operators.h>

int32_t Z_USTRLEN_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRLEN_P | Subir | Z_USTRLEN


Z_USTRVAL

Z_USTRVAL -- ...

Descripción

#include <zend_operators.h>

UChar * Z_USTRVAL ( zval zval )

...

Lista de parámetros

zval

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRVAL_PP | Subir | ZEND_ABSTRACT_ME


Z_USTRVAL_P

Z_USTRVAL_P -- ...

Descripción

#include <zend_operators.h>

UChar * Z_USTRVAL_P ( zval * zval_p )

...

Lista de parámetros

zval_p

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRLEN | Subir | Z_USTRVAL_PP


Z_USTRVAL_PP

Z_USTRVAL_PP -- ...

Descripción

#include <zend_operators.h>

UChar * Z_USTRVAL_PP ( zval ** zval_pp )

...

Lista de parámetros

zval_pp

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRVAL_P | Subir | Z_USTRVAL


ZEND_ABSTRACT_ME

ZEND_ABSTRACT_ME -- ...

Descripción

#include <zend_API.h>

??? ZEND_ABSTRACT_ME ( ??? classname, ??? name, ??? arg_info )

...

Lista de parámetros

classname

...

name

...

arg_info

...

Valores retornados

...

Anterior | Inicio | Siguiente
Z_USTRVAL | Subir | ZEND_ARG_ARRAY_INFO


ZEND_ARG_ARRAY_INFO

ZEND_ARG_ARRAY_INFO -- ...

Descripción

#include <zend_API.h>

??? ZEND_ARG_ARRAY_INFO ( ??? pass_by_ref, ??? name, ??? allow_null )

...

Lista de parámetros

pass_by_ref

...

name

...

allow_null

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ABSTRACT_ME | Subir | ZEND_ARG_INFO


ZEND_ARG_INFO

ZEND_ARG_INFO -- ...

Descripción

#include <zend_API.h>

??? ZEND_ARG_INFO ( ??? pass_by_ref, ??? name )

...

Lista de parámetros

pass_by_ref

...

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ARG_ARRAY_INFO | Subir | ZEND_ARG_OBJ_INFO


ZEND_ARG_OBJ_INFO

ZEND_ARG_OBJ_INFO -- ...

Descripción

#include <zend_API.h>

??? ZEND_ARG_OBJ_INFO ( ??? pass_by_ref, ??? name, ??? classname, ??? allow_null )

...

Lista de parámetros

pass_by_ref

...

name

...

classname

...

allow_null

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ARG_INFO | Subir | ZEND_ARG_PASS_INFO


ZEND_ARG_PASS_INFO

ZEND_ARG_PASS_INFO -- ...

Descripción

#include <zend_API.h>

??? ZEND_ARG_PASS_INFO ( ??? pass_by_ref )

...

Lista de parámetros

pass_by_ref

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ARG_OBJ_INFO | Subir | ZEND_BEGIN_ARG_INFO_EX


ZEND_BEGIN_ARG_INFO

ZEND_BEGIN_ARG_INFO -- ...

Descripción

#include <zend_API.h>

??? ZEND_BEGIN_ARG_INFO ( ??? name, ??? pass_rest_by_reference )

...

Lista de parámetros

name

...

pass_rest_by_reference

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_BEGIN_ARG_INFO_EX | Subir | ZEND_BEGIN_MODULE_GLOBALS


ZEND_BEGIN_ARG_INFO_EX

ZEND_BEGIN_ARG_INFO_EX -- ...

Descripción

#include <zend_API.h>

??? ZEND_BEGIN_ARG_INFO_EX ( ??? name, ??? pass_rest_by_reference, ??? return_reference, ??? required_num_args )

...

Lista de parámetros

name

...

pass_rest_by_reference

...

return_reference

...

required_num_args

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ARG_PASS_INFO | Subir | ZEND_BEGIN_ARG_INFO


ZEND_BEGIN_MODULE_GLOBALS

ZEND_BEGIN_MODULE_GLOBALS -- ...

Descripción

#include <zend_API.h>

??? ZEND_BEGIN_MODULE_GLOBALS ( ??? module_name )

...

Lista de parámetros

module_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_BEGIN_ARG_INFO | Subir | ZEND_COLL_RESULT


ZEND_COLL_RESULT

ZEND_COLL_RESULT -- ...

Descripción

#include <zend.h>

??? ZEND_COLL_RESULT ( ??? n )

...

Lista de parámetros

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_BEGIN_MODULE_GLOBALS | Subir | ZEND_DECLARE_MODULE_GLOBALS


ZEND_DECLARE_MODULE_GLOBALS

ZEND_DECLARE_MODULE_GLOBALS -- ...

Descripción

#include <zend_API.h>

??? ZEND_DECLARE_MODULE_GLOBALS ( ??? module_name )

...

Lista de parámetros

module_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_COLL_RESULT | Subir | ZEND_DEFINE_PROPERTY


ZEND_DEFINE_PROPERTY

ZEND_DEFINE_PROPERTY -- ...

Descripción

#include <zend_API.h>

??? ZEND_DEFINE_PROPERTY ( ??? class_ptr, ??? name, ??? value, ??? mask )

...

Lista de parámetros

class_ptr

...

name

...

value

...

mask

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_DECLARE_MODULE_GLOBALS | Subir | ZEND_END_ARG_INFO


ZEND_END_ARG_INFO

ZEND_END_ARG_INFO -- ...

Descripción

#include <zend_API.h>

??? ZEND_END_ARG_INFO ( ??? )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_DEFINE_PROPERTY | Subir | ZEND_END_MODULE_GLOBALS


ZEND_END_MODULE_GLOBALS

ZEND_END_MODULE_GLOBALS -- ...

Descripción

#include <zend_API.h>

??? ZEND_END_MODULE_GLOBALS ( ??? module_name )

...

Lista de parámetros

module_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_END_ARG_INFO | Subir | ZEND_EXTERN_MODULE_GLOBALS


ZEND_EXTERN_MODULE_GLOBALS

ZEND_EXTERN_MODULE_GLOBALS -- ...

Descripción

#include <zend_API.h>

??? ZEND_EXTERN_MODULE_GLOBALS ( ??? module_name )

...

Lista de parámetros

module_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_END_MODULE_GLOBALS | Subir | ZEND_FALIAS


ZEND_FALIAS

ZEND_FALIAS -- ...

Descripción

#include <zend_API.h>

??? ZEND_FALIAS ( ??? name, ??? alias, ??? arg_info )

...

Lista de parámetros

name

...

alias

...

arg_info

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_EXTERN_MODULE_GLOBALS | Subir | ZEND_FE


ZEND_FE

ZEND_FE -- ...

Descripción

#include <zend_API.h>

??? ZEND_FE ( ??? name, ??? arg_info )

...

Lista de parámetros

name

...

arg_info

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FALIAS | Subir | ZEND_FENTRY


ZEND_FENTRY

ZEND_FENTRY -- ...

Descripción

#include <zend_API.h>

??? ZEND_FENTRY ( ??? zend_name, ??? name, ??? arg_info, ??? flags )

...

Lista de parámetros

zend_name

...

name

...

arg_info

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FE | Subir | ZEND_FETCH_RESOURCE2


ZEND_FETCH_RESOURCE

ZEND_FETCH_RESOURCE -- ...

Descripción

#include <zend_list.h>

??? ZEND_FETCH_RESOURCE ( ??? rsrc, ??? rsrc_type, ??? passed_id, ??? default_id, ??? resource_type_name, ??? resource_type )

...

Lista de parámetros

rsrc

...

rsrc_type

...

passed_id

...

default_id

...

resource_type_name

...

resource_type

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FETCH_RESOURCE2 | Subir | ZEND_FN_SCOPE_NAME


ZEND_FETCH_RESOURCE2

ZEND_FETCH_RESOURCE2 -- ...

Descripción

#include <zend_list.h>

??? ZEND_FETCH_RESOURCE2 ( ??? rsrc, ??? rsrc_type, ??? passed_id, ??? default_id, ??? resource_type_name, ??? resource_type1, ??? resource_type2 )

...

Lista de parámetros

rsrc

...

rsrc_type

...

passed_id

...

default_id

...

resource_type_name

...

resource_type1

...

resource_type2

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FENTRY | Subir | ZEND_FETCH_RESOURCE


ZEND_FN

ZEND_FN -- ...

Descripción

#include <zend_API.h>

??? ZEND_FN ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FN_SCOPE_NAME | Subir | ZEND_FUNCTION


ZEND_FN_SCOPE_NAME

ZEND_FN_SCOPE_NAME -- ...

Descripción

#include <zend_compile.h>

??? ZEND_FN_SCOPE_NAME ( ??? function )

...

Lista de parámetros

function

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FETCH_RESOURCE | Subir | ZEND_FN


ZEND_FUNCTION

ZEND_FUNCTION -- ...

Descripción

#include <zend_API.h>

??? ZEND_FUNCTION ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FN | Subir | ZEND_GET_MODULE


ZEND_GET_MODULE

ZEND_GET_MODULE -- ...

Descripción

#include <zend_API.h>

void ZEND_GET_MODULE ( char * name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_FUNCTION | Subir | ZEND_GET_RESOURCE_TYPE_ID


ZEND_GET_RESOURCE_TYPE_ID

ZEND_GET_RESOURCE_TYPE_ID -- ...

Descripción

#include <zend_list.h>

??? ZEND_GET_RESOURCE_TYPE_ID ( ??? le_id, ??? le_type_name )

...

Lista de parámetros

le_id

...

le_type_name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_GET_MODULE | Subir | ZEND_INI_BEGIN


ZEND_INI_BEGIN

ZEND_INI_BEGIN -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_BEGIN ( ??? )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_GET_RESOURCE_TYPE_ID | Subir | ZEND_INI_DISP


ZEND_INI_DISP

ZEND_INI_DISP -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_DISP ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_BEGIN | Subir | ZEND_INI_END


ZEND_INI_END

ZEND_INI_END -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_END ( ??? )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_DISP | Subir | ZEND_INI_ENTRY_EX


ZEND_INI_ENTRY

ZEND_INI_ENTRY -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY ( ??? name, ??? default_value, ??? modifiable, ??? on_modify )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY3 | Subir | ZEND_INI_MH


ZEND_INI_ENTRY1

ZEND_INI_ENTRY1 -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY1 ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? arg1 )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

arg1

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY1_EX | Subir | ZEND_INI_ENTRY2_EX


ZEND_INI_ENTRY1_EX

ZEND_INI_ENTRY1_EX -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY1_EX ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? arg1, ??? displayer )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

arg1

...

displayer

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY_EX | Subir | ZEND_INI_ENTRY1


ZEND_INI_ENTRY2

ZEND_INI_ENTRY2 -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY2 ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? arg1, ??? arg2 )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

arg1

...

arg2

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY2_EX | Subir | ZEND_INI_ENTRY3_EX


ZEND_INI_ENTRY2_EX

ZEND_INI_ENTRY2_EX -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY2_EX ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? arg1, ??? arg2, ??? displayer )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

arg1

...

arg2

...

displayer

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY1 | Subir | ZEND_INI_ENTRY2


ZEND_INI_ENTRY3

ZEND_INI_ENTRY3 -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY3 ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? arg1, ??? arg2, ??? arg3 )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

arg1

...

arg2

...

arg3

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY3_EX | Subir | ZEND_INI_ENTRY


ZEND_INI_ENTRY3_EX

ZEND_INI_ENTRY3_EX -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY3_EX ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? arg1, ??? arg2, ??? arg3, ??? displayer )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

arg1

...

arg2

...

arg3

...

displayer

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY2 | Subir | ZEND_INI_ENTRY3


ZEND_INI_ENTRY_EX

ZEND_INI_ENTRY_EX -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_ENTRY_EX ( ??? name, ??? default_value, ??? modifiable, ??? on_modify, ??? displayer )

...

Lista de parámetros

name

...

default_value

...

modifiable

...

on_modify

...

displayer

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_END | Subir | ZEND_INI_ENTRY1_EX


ZEND_INI_MH

ZEND_INI_MH -- ...

Descripción

#include <zend_ini.h>

??? ZEND_INI_MH ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_ENTRY | Subir | ZEND_INIT_MODULE_GLOBALS


ZEND_INIT_MODULE_GLOBALS

ZEND_INIT_MODULE_GLOBALS -- ...

Descripción

#include <zend_API.h>

??? ZEND_INIT_MODULE_GLOBALS ( ??? module_name, ??? globals_ctor, ??? globals_dtor )

...

Lista de parámetros

module_name

...

globals_ctor

...

globals_dtor

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INI_MH | Subir | ZEND_INIT_SYMTABLE_EX


ZEND_INIT_SYMTABLE

ZEND_INIT_SYMTABLE -- ...

Descripción

#include <zend_hash.h>

??? ZEND_INIT_SYMTABLE ( ??? ht )

...

Lista de parámetros

ht

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INIT_SYMTABLE_EX | Subir | ZEND_LOG_XOR


ZEND_INIT_SYMTABLE_EX

ZEND_INIT_SYMTABLE_EX -- ...

Descripción

#include <zend_hash.h>

??? ZEND_INIT_SYMTABLE_EX ( ??? ht, ??? n, ??? persistent )

...

Lista de parámetros

ht

...

n

...

persistent

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INIT_MODULE_GLOBALS | Subir | ZEND_INIT_SYMTABLE


ZEND_LOG_XOR

ZEND_LOG_XOR -- ...

Descripción

#include <zend.h>

??? ZEND_LOG_XOR ( ??? a, ??? b )

...

Lista de parámetros

a

...

b

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_INIT_SYMTABLE | Subir | ZEND_MALIAS


ZEND_MALIAS

ZEND_MALIAS -- ...

Descripción

#include <zend_API.h>

??? ZEND_MALIAS ( ??? classname, ??? name, ??? alias, ??? arg_info, ??? flags )

...

Lista de parámetros

classname

...

name

...

alias

...

arg_info

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_LOG_XOR | Subir | ZEND_ME_MAPPING


ZEND_ME

ZEND_ME -- ...

Descripción

#include <zend_API.h>

??? ZEND_ME ( ??? classname, ??? name, ??? arg_info, ??? flags )

...

Lista de parámetros

classname

...

name

...

arg_info

...

flags

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ME_MAPPING | Subir | ZEND_METHOD


ZEND_ME_MAPPING

ZEND_ME_MAPPING -- ...

Descripción

#include <zend_API.h>

??? ZEND_ME_MAPPING ( ??? name, ??? func_name, ??? arg_types )

...

Lista de parámetros

name

...

func_name

...

arg_types

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MALIAS | Subir | ZEND_ME


ZEND_METHOD

ZEND_METHOD -- ...

Descripción

#include <zend_API.h>

??? ZEND_METHOD ( ??? classname, ??? name )

...

Lista de parámetros

classname

...

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_ME | Subir | ZEND_MOD_CONFLICTS_EX


ZEND_MOD_CONFLICTS

ZEND_MOD_CONFLICTS -- ...

Descripción

#include <zend_modules.h>

void ZEND_MOD_CONFLICTS ( char * name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MOD_CONFLICTS_EX | Subir | ZEND_MOD_OPTIONAL_EX


ZEND_MOD_CONFLICTS_EX

ZEND_MOD_CONFLICTS_EX -- ...

Descripción

#include <zend_modules.h>

void ZEND_MOD_CONFLICTS_EX ( char * name, char * rel, char * ver )

...

Lista de parámetros

name

...

rel

...

ver

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_METHOD | Subir | ZEND_MOD_CONFLICTS


ZEND_MOD_OPTIONAL

ZEND_MOD_OPTIONAL -- ...

Descripción

#include <zend_modules.h>

void ZEND_MOD_OPTIONAL ( char * name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MOD_OPTIONAL_EX | Subir | ZEND_MOD_REQUIRED_EX


ZEND_MOD_OPTIONAL_EX

ZEND_MOD_OPTIONAL_EX -- ...

Descripción

#include <zend_modules.h>

void ZEND_MOD_OPTIONAL_EX ( char * name, char * rel, char * ver )

...

Lista de parámetros

name

...

rel

...

ver

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MOD_CONFLICTS | Subir | ZEND_MOD_OPTIONAL


ZEND_MOD_REQUIRED

ZEND_MOD_REQUIRED -- Create a simple dependency entry for a required extension

Descripción

#include <zend_modules.h>

void ZEND_MOD_REQUIRED ( char * ext_name )

ZEND_MOD_REQUIRED() generates a zend_module_dep entry for the extension named by ext_name. A simple entry without further version specifications is generated. See ZEND_MOD_REQUIRED_EX() for an extended version of this macro that also allows to specify version dependencies.

Lista de parámetros

ext_name

The name of a required extension

Valores retornados

Code to register the required extension dependency

Ver también

See ZEND_MOD_REQUIRED_EX() if you also need to specify extension version requirements.

See also ZEND_MOD_OPTIONAL(),
ZEND_MOD_OPTIONAL_EX(),
ZEND_MOD_CONFLICTS(), and
ZEND_MOD_CONFLICTS_EX().

Anterior | Inicio | Siguiente
ZEND_MOD_REQUIRED_EX | Subir | ZEND_MODULE_ACTIVATE_D


ZEND_MOD_REQUIRED_EX

ZEND_MOD_REQUIRED_EX -- Create a full dependency entry for the required version of an extension

Descripción

#include <zend_modules.h>

void ZEND_MOD_REQUIRED_EX ( char * name, char * rel, char * ver )

ZEND_MOD_REQUIRED_EX() generates a zend_module_dep entry for the extension named by ext_name, including version information. It allows to specify requirements like "up to version x.y", "starting with version x.y" or "exactly version x.y".

Aviso

Version specific comparisons are not implemented yet, so for now ZEND_MOD_REUQUIRE() and ZEND_MOD_REQUIRE_EX() define identical behavior.

Lista de parámetros

name

Name of the required extension

rel

Comparison operator, one of eq, lt, le, gt, or ge

ver

Version string

Valores retornados

Code to register the required extension

Ver también

See ZEND_MOD_REQUIRED() if you do not need to specify extension version requirements.

See also ZEND_MOD_OPTIONAL(),
ZEND_MOD_OPTIONAL_EX(),
ZEND_MOD_CONFLICTS(), and
ZEND_MOD_CONFLICTS_EX().

Anterior | Inicio | Siguiente
ZEND_MOD_OPTIONAL | Subir | ZEND_MOD_REQUIRED


ZEND_MODULE_ACTIVATE_D

ZEND_MODULE_ACTIVATE_D -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_ACTIVATE_D ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MOD_REQUIRED | Subir | ZEND_MODULE_ACTIVATE_N


ZEND_MODULE_ACTIVATE_N

ZEND_MODULE_ACTIVATE_N -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_ACTIVATE_N ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_ACTIVATE_D | Subir | ZEND_MODULE_DEACTIVATE_D


ZEND_MODULE_DEACTIVATE_D

ZEND_MODULE_DEACTIVATE_D -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_DEACTIVATE_D ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_ACTIVATE_N | Subir | ZEND_MODULE_DEACTIVATE_N


ZEND_MODULE_DEACTIVATE_N

ZEND_MODULE_DEACTIVATE_N -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_DEACTIVATE_N ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_DEACTIVATE_D | Subir | ZEND_MODULE_INFO_D


ZEND_MODULE_INFO_D

ZEND_MODULE_INFO_D -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_INFO_D ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_DEACTIVATE_N | Subir | ZEND_MODULE_INFO_N


ZEND_MODULE_INFO_N

ZEND_MODULE_INFO_N -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_INFO_N ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_INFO_D | Subir | ZEND_MODULE_POST_ZEND_DEACTIVATE_D


ZEND_MODULE_POST_ZEND_DEACTIVATE_D

ZEND_MODULE_POST_ZEND_DEACTIVATE_D -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_POST_ZEND_DEACTIVATE_D ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_INFO_N | Subir | ZEND_MODULE_POST_ZEND_DEACTIVATE_N


ZEND_MODULE_POST_ZEND_DEACTIVATE_N

ZEND_MODULE_POST_ZEND_DEACTIVATE_N -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_POST_ZEND_DEACTIVATE_N ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_POST_ZEND_DEACTIVATE_D | Subir | ZEND_MODULE_SHUTDOWN_D


ZEND_MODULE_SHUTDOWN_D

ZEND_MODULE_SHUTDOWN_D -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_SHUTDOWN_D ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_POST_ZEND_DEACTIVATE_N | Subir | ZEND_MODULE_SHUTDOWN_N


ZEND_MODULE_SHUTDOWN_N

ZEND_MODULE_SHUTDOWN_N -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_SHUTDOWN_N ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_SHUTDOWN_D | Subir | ZEND_MODULE_STARTUP_D


ZEND_MODULE_STARTUP_D

ZEND_MODULE_STARTUP_D -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_STARTUP_D ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_SHUTDOWN_N | Subir | ZEND_MODULE_STARTUP_N


ZEND_MODULE_STARTUP_N

ZEND_MODULE_STARTUP_N -- ...

Descripción

#include <zend_API.h>

??? ZEND_MODULE_STARTUP_N ( ??? module )

...

Lista de parámetros

module

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_STARTUP_D | Subir | ZEND_NAMED_FE


ZEND_NAMED_FE

ZEND_NAMED_FE -- ...

Descripción

#include <zend_API.h>

??? ZEND_NAMED_FE ( ??? zend_name, ??? name, ??? arg_info )

...

Lista de parámetros

zend_name

...

name

...

arg_info

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_MODULE_STARTUP_N | Subir | ZEND_NAMED_FUNCTION


ZEND_NAMED_FUNCTION

ZEND_NAMED_FUNCTION -- ...

Descripción

#include <zend_API.h>

??? ZEND_NAMED_FUNCTION ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_NAMED_FE | Subir | ZEND_NORMALIZE_BOOL


ZEND_NORMALIZE_BOOL

ZEND_NORMALIZE_BOOL -- ...

Descripción

#include <zend.h>

??? ZEND_NORMALIZE_BOOL ( ??? n )

...

Lista de parámetros

n

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_NAMED_FUNCTION | Subir | ZEND_NUM_ARGS


ZEND_NUM_ARGS

ZEND_NUM_ARGS -- ...

Descripción

#include <zend_API.h>

int ZEND_NUM_ARGS ( void )

ZEND_NUM_ARGS() returns the number of arguments that have been passed by the caller of the current PHP function.

Valores retornados

Number of arguments passed to the current PHP function.

Anterior | Inicio | Siguiente
ZEND_NORMALIZE_BOOL | Subir | ZEND_PUTC


ZEND_PUTC

ZEND_PUTC -- Write a single character to the default output stream

Descripción

#include <zend.h>

int ZEND_PUTC ( char c )

Writes a single character c to the default output stream.

Lista de parámetros

c

Output character

Valores retornados

Number of characters written or -1 on errors.

Ver también

See also ZEND_PUTS() and ZEND_WRITE().

Anterior | Inicio | Siguiente
ZEND_NUM_ARGS | Subir | ZEND_PUTS


ZEND_PUTS

ZEND_PUTS -- Write a string to the default output stream

Descripción

#include <zend.h>

int ZEND_PUTS ( char * str )

Writes the zero terminated string str to the default output stream.

Lista de parámetros

str

Output string

Valores retornados

Number of characters written or -1 on errors.

Ver también

See also ZEND_PUTC() and ZEND_WRITE().

Anterior | Inicio | Siguiente
ZEND_PUTC | Subir | ZEND_REGISTER_RESOURCE


ZEND_REGISTER_RESOURCE

ZEND_REGISTER_RESOURCE -- ...

Descripción

#include <zend_list.h>

??? ZEND_REGISTER_RESOURCE ( ??? rsrc_result, ??? rsrc_pointer, ??? rsrc_type )

...

Lista de parámetros

rsrc_result

...

rsrc_pointer

...

rsrc_type

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_PUTS | Subir | ZEND_RSRC_DTOR_FUNC


ZEND_RSRC_DTOR_FUNC

ZEND_RSRC_DTOR_FUNC -- ...

Descripción

#include <zend_list.h>

??? ZEND_RSRC_DTOR_FUNC ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_REGISTER_RESOURCE | Subir | ZEND_SET_GLOBAL_VAR_WITH_LENGTH


ZEND_SET_GLOBAL_VAR

ZEND_SET_GLOBAL_VAR -- ...

Descripción

#include <zend_API.h>

??? ZEND_SET_GLOBAL_VAR ( ??? name, ??? var )

...

Lista de parámetros

name

...

var

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_SET_GLOBAL_VAR_WITH_LENGTH | Subir | ZEND_SET_SYMBOL_WITH_LENGTH


ZEND_SET_GLOBAL_VAR_WITH_LENGTH

ZEND_SET_GLOBAL_VAR_WITH_LENGTH -- ...

Descripción

#include <zend_API.h>

??? ZEND_SET_GLOBAL_VAR_WITH_LENGTH ( ??? name, ??? name_length, ??? var, ??? _refcount, ??? _is_ref )

...

Lista de parámetros

name

...

name_length

...

var

...

_refcount

...

_is_ref

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_RSRC_DTOR_FUNC | Subir | ZEND_SET_GLOBAL_VAR


ZEND_SET_SYMBOL

ZEND_SET_SYMBOL -- ...

Descripción

#include <zend_API.h>

??? ZEND_SET_SYMBOL ( ??? symtable, ??? name, ??? var )

...

Lista de parámetros

symtable

...

name

...

var

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_SET_SYMBOL_WITH_LENGTH | Subir | ZEND_STRL


ZEND_SET_SYMBOL_WITH_LENGTH

ZEND_SET_SYMBOL_WITH_LENGTH -- ...

Descripción

#include <zend_API.h>

??? ZEND_SET_SYMBOL_WITH_LENGTH ( ??? symtable, ??? name, ??? name_length, ??? var, ??? _refcount, ??? _is_ref )

...

Lista de parámetros

symtable

...

name

...

name_length

...

var

...

_refcount

...

_is_ref

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_SET_GLOBAL_VAR | Subir | ZEND_SET_SYMBOL


ZEND_STRL

ZEND_STRL -- Pass string pointer and length in one operation

Descripción

#include <zend.h>

void ZEND_STRL ( char * str )

This is a convenience macro that can be used when passing a static string to a function that requires a string length argument together with a string. This saves duplicating the static string in the sourcecode or adding an extra variable for it.

Ejemplo 46-1. ZEND_STRL() example

write(0, ZEND_STRL("Hello World!"));
/* same as
char str[] = "Hello World!";
write(0, str, sizeof(str)-1);
*/

Lista de parámetros

str

Pointer to a zero terminated string.

Anterior | Inicio | Siguiente
ZEND_SET_SYMBOL | Subir | ZEND_STRS


ZEND_STRS

ZEND_STRS -- Pass string pointer and buffer size in one operation

Descripción

#include <zend.h>

void ZEND_STRS ( char * str )

This is a convenience macro that can be used when passing a static string to a function that requires a buffer length argument together with a string. This saves duplicating the static string in the sourcecode or adding an extra variable for it.

Lista de parámetros

str

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_STRL | Subir | ZEND_TRUTH


ZEND_TRUTH

ZEND_TRUTH -- Cast a value to zend_bool

Descripción

#include <zend.h>

zend_bool ZEND_TRUTH ( mixed x )

A simple conversion macro, actually defined as ((x) ? 1 : 0)

Lista de parámetros

x

Value to cast

Valores retornados

1 if x was considered TRUE, else 0

Anterior | Inicio | Siguiente
ZEND_STRS | Subir | ZEND_U_CONVERTER


ZEND_U_CONVERTER

ZEND_U_CONVERTER -- ...

Descripción

#include <zend_unicode.h>

??? ZEND_U_CONVERTER ( ??? c )

...

Lista de parámetros

c

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_TRUTH | Subir | ZEND_U_EQUAL


ZEND_U_EQUAL

ZEND_U_EQUAL -- ...

Descripción

#include <zend.h>

??? ZEND_U_EQUAL ( ??? type, ??? ustr, ??? ulen, ??? str, ??? slen )

...

Lista de parámetros

type

...

ustr

...

ulen

...

str

...

slen

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_U_CONVERTER | Subir | ZEND_U_SET_SYMBOL_WITH_LENGTH


ZEND_U_SET_SYMBOL_WITH_LENGTH

ZEND_U_SET_SYMBOL_WITH_LENGTH -- ...

Descripción

#include <zend_API.h>

??? ZEND_U_SET_SYMBOL_WITH_LENGTH ( ??? symtable, ??? type, ??? name, ??? name_length, ??? var, ??? _refcount, ??? _is_ref )

...

Lista de parámetros

symtable

...

type

...

name

...

name_length

...

var

...

_refcount

...

_is_ref

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_U_EQUAL | Subir | ZEND_UV


ZEND_UV

ZEND_UV -- ...

Descripción

#include <zend.h>

??? ZEND_UV ( ??? name )

...

Lista de parámetros

name

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_U_SET_SYMBOL_WITH_LENGTH | Subir | ZEND_VERIFY_RESOURCE


ZEND_VERIFY_RESOURCE

ZEND_VERIFY_RESOURCE -- ...

Descripción

#include <zend_list.h>

??? ZEND_VERIFY_RESOURCE ( ??? rsrc )

...

Lista de parámetros

rsrc

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_UV | Subir | ZEND_WRITE


ZEND_WRITE

ZEND_WRITE -- Write character buffer to the default output stream

Descripción

#include <zend.h>

int ZEND_WRITE ( char * str, int str_len )

Write str_len bytes from the buffer pointed to by str to the default output stream.

Lista de parámetros

str

Pointer to character buffer

str_len

Buffer length

Valores retornados

Number of characters written or -1 on errors.

Ver también

See also ZEND_PUTC() and ZEND_PUTS().

Anterior | Inicio | Siguiente
ZEND_VERIFY_RESOURCE | Subir | ZEND_WRONG_PARAM_COUNT_WITH_RETVAL


ZEND_WRONG_PARAM_COUNT

ZEND_WRONG_PARAM_COUNT -- ...

Descripción

#include <zend_API.h>

??? ZEND_WRONG_PARAM_COUNT ( ??? )

...

Lista de parámetros

...

Valores retornados

...

Anterior | Inicio | Siguiente
ZEND_WRONG_PARAM_COUNT_WITH_RETVAL | Subir | TSRM API


API Function and Macro reference (work in progress)

Tabla de contenidos
add_assoc_bool_ex -- Add a bool value to an assoc array with binary safe key
add_assoc_bool -- Add a bool value to an assoc array
add_assoc_double_ex -- Add a double value to an assoc array with binary safe key
add_assoc_double -- Add a double value to an assoc array
add_assoc_function -- Add a function pointer to an assoc array
add_assoc_long_ex -- Add a long value to an assoc array with binary safe key
add_assoc_long -- Add a long value to an assoc array
add_assoc_null_ex -- Add a null value to an assoc array with binary safe key
add_assoc_null -- Add a null value to an assoc array
add_assoc_resource_ex -- Add a resource value to an assoc array with binary safe key
add_assoc_resource -- Add a resource value to an assoc array
add_assoc_string_ex -- Add a string value to an assoc array with binary safe key
add_assoc_string -- Add a string value to an assoc array
add_assoc_stringl_ex -- Add a binary safe string value to an assoc array with binary safe key
add_assoc_stringl -- Add a binary safe string value to an assoc array
add_assoc_unicode_ex -- Add a unicode_string value to an assoc array with binary safe key
add_assoc_unicode -- Add a binary safe unicode_string value to an assoc array with binary safe key
add_assoc_unicodel_ex -- Add a binary safe unicode_string value to an assoc array with binary safe key
add_assoc_unicodel -- Add a binary safe unicode_string value to an assoc array
add_assoc_unset -- ...
add_assoc_zval_ex -- Add a zval value to an assoc array with binary safe key
add_assoc_zval -- Add a zval value to an assoc array
add_get_assoc_string_ex -- ...
add_get_assoc_string -- ...
add_get_assoc_stringl_ex -- ...
add_get_assoc_stringl -- ...
add_get_index_binary -- ...
add_get_index_binaryl -- ...
add_get_index_double -- ...
add_get_index_long -- ...
add_get_index_string -- ...
add_get_index_stringl -- ...
add_get_index_unicode -- ...
add_get_index_unicodel -- ...
add_index_binary -- Add binary_string value to assoc array using numeric index
add_index_binaryl -- Add binary safe binary_string value to assoc array using numeric index
add_index_bool -- Add bool value to assoc array using numeric index
add_index_double -- Add double value to assoc array using numeric index
add_index_long -- Add long value to assoc array using numeric index
add_index_null -- Add null value to assoc array using numeric index
add_index_resource -- Add resource value to assoc array using numeric index
add_index_string -- Add string value to assoc array using numeric index
add_index_stringl -- Add binary safe string value to assoc array using numeric index
add_index_unicode -- Add unicode value to assoc array using numeric index
add_index_unicodel -- Add binary safe unicode value to assoc array using numeric index
add_index_unset -- Add unset value to assoc array using numeric index
add_index_zval -- Add zval value to assoc array using numeric index
add_method -- ...
add_next_index_binary -- Add binary_string value to assoc array using next free numeric index
add_next_index_binaryl -- Add binary safe binary_string value to assoc array using next free numeric index
add_next_index_bool -- Add bool value to assoc array using next free numeric index
add_next_index_double -- Add double value to assoc array using next free numeric index
add_next_index_long -- Add long value to assoc array using next free numeric index
add_next_index_null -- Add null value to assoc array using next free numeric index
add_next_index_resource -- Add resource value to assoc array using next free numeric index
add_next_index_string -- Add string value to assoc array using next free numeric index
add_next_index_stringl -- Add binary safe string value to assoc array using next free numeric index
add_next_index_unicode -- Add unicode value to assoc array using next free numeric index
add_next_index_unicodel -- Add binary safe unicode value to assoc array using next free numeric index
add_next_index_unset -- Add unset value to assoc array using next free numeric index
add_next_index_zval -- Add zval value to assoc array using next free numeric index
add_property_ascii_string_ex -- ...
add_property_ascii_string -- ...
add_property_ascii_stringl_ex -- ...
add_property_ascii_stringl -- ...
add_property_bool_ex -- ...
add_property_bool -- ...
add_property_double_ex -- ...
add_property_double -- ...
add_property_long_ex -- ...
add_property_long -- ...
add_property_null_ex -- ...
add_property_null -- ...
add_property_resource_ex -- ...
add_property_resource -- ...
add_property_rt_string_ex -- ...
add_property_rt_string -- ...
add_property_rt_stringl_ex -- ...
add_property_rt_stringl -- ...
add_property_string_ex -- ...
add_property_string -- ...
add_property_stringl_ex -- ...
add_property_stringl -- ...
add_property_unicode_ex -- ...
add_property_unicode -- ...
add_property_unicodel_ex -- ...
add_property_unicodel -- ...
add_property_unset -- ...
add_property_zval_ex -- ...
add_property_zval -- ...
add_u_assoc_zval_ex -- ...
add_u_assoc_zval -- ...
array_init -- ...
call_user_function_ex -- ...
call_user_function -- ...
compile_file -- ...
compile_filename -- ...
compile_string -- ...
destroy_op_array -- ...
destroy_zend_class -- ...
destroy_zend_function -- ...
display_ini_entries -- ...
do_bind_class -- ...
do_bind_function -- ...
do_bind_inherited_class -- ...
estrndup_rel -- ...
estrndup -- ...
eustrdup -- ...
eustrndup_rel -- ...
eustrndup -- ...
execute_internal -- ...
execute -- ...
free_estring -- ...
full_mem_check -- ...
function_add_ref -- ...
get_active_class_name -- ...
get_active_function_name -- ...
get_binary_op -- ...
get_unary_op -- ...
get_zend_version -- Get Zend Engine version string
highlight_file -- ...
highlight_string -- ...
init_op_array -- ...
lex_scan -- ...
mem_block_check -- ...
object_and_properties_init -- ...
object_init_ex -- ...
object_init -- ...
open_file_for_scanning -- ...
register_list_destructors -- ...
shutdown_memory_manager -- ...
start_memory_manager -- ...
zend_alter_ini_entry -- ...
zend_auto_global_disable_jit -- ...
zend_bailout -- ...
zend_call_function -- ...
zend_call_method_with_0_params -- ...
zend_call_method_with_1_params -- ...
zend_call_method_with_2_params -- ...
zend_call_method -- ...
zend_case_fold_string -- ...
zend_check_magic_method_implementation -- ...
zend_check_private -- ...
zend_check_property_access -- ...
zend_check_protected -- ...
zend_class_implements -- ...
zend_cleanup_class_data -- ...
zend_cleanup_function_data -- ...
zend_clear_exception -- ...
zend_cmp_unicode_and_literal -- ...
zend_cmp_unicode_and_string -- ...
zend_convert_encodings -- ...
zend_convert_from_unicode -- ...
zend_convert_scanner_output -- ...
zend_convert_to_unicode -- ...
zend_copy_ini_directives -- ...
zend_copy_parameters_array -- ...
zend_declare_class_constant_bool -- ...
zend_declare_class_constant_double -- ...
zend_declare_class_constant_long -- ...
zend_declare_class_constant_string -- ...
zend_declare_class_constant_stringl -- ...
zend_declare_class_constant -- ...
zend_declare_property_bool -- ...
zend_declare_property_double -- ...
zend_declare_property_ex -- ...
zend_declare_property_long -- ...
zend_declare_property_null -- ...
zend_declare_property_string -- ...
zend_declare_property_stringl -- ...
zend_declare_property -- ...
zend_delete_global_variable -- ...
zend_destroy_file_handle -- ...
zend_disable_class -- ...
zend_disable_function -- ...
zend_do_fcall -- ...
zend_do_implement_interface -- ...
zend_do_inherit_interfaces -- ...
zend_do_inheritance -- ...
zend_error -- Generate error message and trigger error handling
zend_eval_string_ex -- ...
zend_eval_string -- ...
zend_exception_error -- ...
zend_exception_get_default -- ...
zend_execute_scripts -- ...
zend_fetch_class -- ...
zend_fetch_debug_backtrace -- ...
zend_fetch_list_dtor_id -- ...
zend_fetch_resource -- ...
zend_file_handle_dtor -- ...
zend_function_dtor -- ...
zend_get_class_entry -- ...
zend_get_compiled_filename -- ...
zend_get_compiled_lineno -- ...
zend_get_compiled_script_encoding -- ...
zend_get_compiled_variable_name -- ...
zend_get_compiled_variable_value -- ...
zend_get_configuration_directive -- ...
zend_get_constant -- ...
zend_get_error_exception -- ...
zend_get_executed_filename -- ...
zend_get_executed_lineno -- ...
zend_get_hash_value -- ...
zend_get_module_started -- ...
zend_get_module_version -- ...
zend_get_object_classname -- ...
zend_get_parameters_array_ex -- ...
zend_get_parameters_array -- ...
zend_get_parameters_ex -- ...
zend_get_parameters -- ...
zend_get_scanned_file_offset -- ...
zend_get_std_object_handlers -- ...
zend_get_unified_string_type -- ...
zend_get_user_opcode_handler -- ...
zend_get_zval_ptr_ptr -- ...
zend_get_zval_ptr -- ...
zend_hash_add_empty_element -- ...
zend_hash_add -- ...
zend_hash_apply_with_argument -- ...
zend_hash_apply_with_arguments -- ...
zend_hash_apply -- ...
zend_hash_clean -- ...
zend_hash_compare -- ...
zend_hash_copy -- ...
zend_hash_del_key_or_index -- ...
zend_hash_del -- ...
zend_hash_destroy -- ...
zend_hash_exists -- ...
zend_hash_find -- ...
zend_hash_func -- ...
zend_hash_get_current_data_ex -- ...
zend_hash_get_current_data -- ...
zend_hash_get_current_key_ex -- ...
zend_hash_get_current_key_type_ex -- ...
zend_hash_get_current_key_type -- ...
zend_hash_get_current_key -- ...
zend_hash_graceful_destroy -- ...
zend_hash_graceful_reverse_destroy -- ...
zend_hash_index_del -- ...
zend_hash_index_exists -- ...
zend_hash_index_find -- ...
zend_hash_index_update -- ...
zend_hash_init_ex -- ...
zend_hash_init -- ...
zend_hash_internal_pointer_end_ex -- ...
zend_hash_internal_pointer_end -- ...
zend_hash_internal_pointer_reset_ex -- ...
zend_hash_internal_pointer_reset -- ...
zend_hash_merge_ex -- ...
zend_hash_merge -- ...
zend_hash_minmax -- ...
zend_hash_move_backwards_ex -- ...
zend_hash_move_backwards -- ...
zend_hash_move_forward_ex -- ...
zend_hash_move_forward -- ...
zend_hash_next_free_element -- ...
zend_hash_next_index_insert -- ...
zend_hash_num_elements -- ...
zend_hash_quick_add -- ...
zend_hash_quick_exists -- ...
zend_hash_quick_find -- ...
zend_hash_quick_update -- ...
zend_hash_rehash -- ...
zend_hash_reverse_apply -- ...
zend_hash_sort -- ...
zend_hash_update_current_key_ex -- ...
zend_hash_update_current_key -- ...
zend_hash_update -- ...
zend_highlight -- ...
zend_html_putc -- ...
zend_html_puts -- ...
zend_ini_deactivate -- ...
zend_ini_double -- ...
zend_ini_global_shutdown -- ...
zend_ini_long -- ...
zend_ini_refresh_caches -- ...
zend_ini_register_displayer -- ...
zend_ini_shutdown -- ...
zend_ini_sort_entries -- ...
zend_ini_startup -- ...
zend_ini_string -- ...
zend_initialize_class_data -- ...
zend_is_auto_global -- ...
zend_is_callable_ex -- ...
zend_is_callable -- ...
zend_is_compiling -- ...
zend_is_executing -- ...
zend_is_true -- ...
zend_is_valid_identifier -- ...
zend_list_addref -- ...
zend_list_delete -- ...
zend_list_find -- ...
zend_list_insert -- ...
zend_lookup_class -- ...
zend_make_callable -- ...
zend_make_compiled_string_description -- ...
zend_make_printable_zval -- ...
zend_make_string_zval -- ...
zend_make_unicode_zval -- ...
zend_mangle_property_name -- ...
zend_merge_properties -- ...
zend_message_dispatcher -- ...
zend_normalize_identifier -- ...
zend_object_create_proxy -- ...
zend_object_store_ctor_failed -- ...
zend_object_store_get_object -- ...
zend_object_store_set_object -- ...
zend_objects_clone_members -- ...
zend_objects_clone_obj -- ...
zend_objects_destroy_object -- ...
zend_objects_free_object_storage -- ...
zend_objects_get_address -- ...
zend_objects_new -- ...
zend_objects_store_add_ref -- ...
zend_objects_store_call_destructors -- ...
zend_objects_store_clone_obj -- ...
zend_objects_store_del_ref -- ...
zend_objects_store_destroy -- ...
zend_objects_store_free_object_storage -- ...
zend_objects_store_init -- ...
zend_objects_store_mark_destructed -- ...
zend_objects_store_put -- ...
zend_output_debug_string -- ...
zend_parse_ini_file -- ...
zend_parse_method_parameters_ex -- ...
zend_parse_method_parameters -- ...
zend_parse_parameters_ex -- ...
zend_parse_parameters -- ...
zend_prepare_scanner_converters -- ...
zend_print_flat_zval_r -- ...
zend_print_variable -- ...
zend_print_zval_ex -- ...
zend_print_zval_r_ex -- ...
zend_print_zval_r -- ...
zend_print_zval -- ...
zend_qsort -- ...
zend_read_property -- ...
zend_read_static_property -- ...
zend_register_auto_global -- ...
zend_register_constant -- ...
zend_register_default_classes -- ...
zend_register_double_constant -- ...
zend_register_functions -- ...
zend_register_ini_entries -- ...
zend_register_interfaces -- ...
zend_register_internal_class_ex -- ...
zend_register_internal_class -- ...
zend_register_internal_interface -- ...
zend_register_internal_module -- ...
zend_register_list_destructors_ex -- ...
zend_register_list_destructors -- ...
zend_register_long_constant -- ...
zend_register_module_ex -- ...
zend_register_module -- ...
zend_register_resource -- ...
zend_register_string_constant -- ...
zend_register_stringl_constant -- ...
zend_reset_all_cv -- ...
zend_reset_locale_deps -- ...
zend_restore_compiled_filename -- ...
zend_restore_compiled_script_encoding -- ...
zend_restore_ini_entry -- ...
zend_rsrc_list_get_rsrc_type -- ...
zend_set_compiled_filename -- ...
zend_set_compiled_script_encoding -- ...
zend_set_memory_limit -- ...
zend_set_timeout -- ...
zend_set_user_opcode_handler -- ...
zend_startup_module_ex -- ...
zend_startup_module -- ...
zend_startup_modules -- ...
zend_std_call_user_call -- ...
zend_std_cast_object_tostring -- ...
zend_std_get_static_property -- ...
zend_std_unset_static_property -- ...
zend_stream_close -- ...
zend_stream_ferror -- ...
zend_stream_fixup -- ...
zend_stream_ftell -- ...
zend_stream_getc -- ...
zend_stream_open -- ...
zend_stream_read -- ...
zend_strip -- ...
zend_strndup -- ...
zend_strtod -- ...
zend_symtable_del -- ...
zend_symtable_exists -- ...
zend_symtable_find -- ...
zend_symtable_update_current_key -- ...
zend_symtable_update -- ...
zend_throw_exception_object -- ...
zend_timeout -- ...
zend_u_declare_property_ex -- ...
zend_u_declare_property -- ...
zend_u_delete_global_variable -- ...
zend_u_eval_string_ex -- ...
zend_u_eval_string -- ...
zend_u_fetch_class -- ...
zend_u_get_constant -- ...
zend_u_get_hash_value -- ...
zend_u_hash_add_empty_element -- ...
zend_u_hash_add -- ...
zend_u_hash_del_key_or_index -- ...
zend_u_hash_del -- ...
zend_u_hash_exists -- ...
zend_u_hash_find -- ...
zend_u_hash_func -- ...
zend_u_hash_init_ex -- ...
zend_u_hash_init -- ...
zend_u_hash_quick_add -- ...
zend_u_hash_quick_exists -- ...
zend_u_hash_quick_find -- ...
zend_u_hash_quick_update -- ...
zend_u_hash_update -- ...
zend_u_is_auto_global -- ...
zend_u_lookup_class_ex -- ...
zend_u_lookup_class -- ...
zend_u_mangle_property_name -- ...
zend_u_register_constant -- ...
zend_u_symtable_del -- ...
zend_u_symtable_exists -- ...
zend_u_symtable_find -- ...
zend_u_symtable_update_current_key -- ...
zend_u_symtable_update -- ...
zend_u_unmangle_property_name -- ...
zend_unmangle_property_name -- ...
zend_unregister_functions -- ...
zend_unregister_ini_entries -- ...
zend_unset_timeout -- ...
zend_update_class_constants -- ...
zend_update_property_ascii_string -- ...
zend_update_property_ascii_stringl -- ...
zend_update_property_bool -- ...
zend_update_property_double -- ...
zend_update_property_long -- ...
zend_update_property_null -- ...
zend_update_property_rt_string -- ...
zend_update_property_rt_stringl -- ...
zend_update_property_string -- ...
zend_update_property_stringl -- ...
zend_update_property_unicode -- ...
zend_update_property_unicodel -- ...
zend_update_property -- ...
zend_update_static_property_ascii_string -- ...
zend_update_static_property_ascii_stringl -- ...
zend_update_static_property_bool -- ...
zend_update_static_property_double -- ...
zend_update_static_property_long -- ...
zend_update_static_property_null -- ...
zend_update_static_property_rt_string -- ...
zend_update_static_property_rt_stringl -- ...
zend_update_static_property_string -- ...
zend_update_static_property_stringl -- ...
zend_update_static_property_unicode -- ...
zend_update_static_property_unicodel -- ...
zend_update_static_property -- ...
zend_ustrndup -- ...
zend_wrong_param_count -- Generate standard error message for wrong parameter count in function or method call
zend_zval_type_name -- Returns the PHP type name for a given zval
zval_add_ref -- ...
zval_internal_dtor -- ...
zval_internal_ptr_dtor -- ...
zval_ptr_dtor -- ...
zval_string_to_unicode_ex -- ...
zval_string_to_unicode -- ...
zval_unicode_to_string -- ...
zval_update_constant -- ...
DISPLAY_INI_ENTRIES -- ...
INI_BOOL -- ...
INI_FLT -- ...
INI_INT -- ...
INI_ORIG_BOOL -- ...
INI_ORIG_FLT -- ...
INI_ORIG_INT -- ...
INI_ORIG_STR -- ...
INI_STR -- ...
REGISTER_DOUBLE_CONSTANT -- ...
REGISTER_INI_BOOLEAN -- ...
REGISTER_INI_DISPLAYER -- ...
REGISTER_INI_ENTRIES -- ...
REGISTER_LONG_CONSTANT -- ...
REGISTER_MAIN_DOUBLE_CONSTANT -- ...
REGISTER_MAIN_LONG_CONSTANT -- ...
REGISTER_MAIN_STRING_CONSTANT -- ...
REGISTER_MAIN_STRINGL_CONSTANT -- ...
REGISTER_STRING_CONSTANT -- ...
REGISTER_STRINGL_CONSTANT -- ...
RETURN_ASCII_STRING -- ...
RETURN_ASCII_STRINGL -- ...
RETURN_BINARY -- ...
RETURN_BINARYL -- ...
RETURN_BOOL -- Return a bool value from a function
RETURN_DOUBLE -- Return a double value from a function
RETURN_EMPTY_BINARY -- ...
RETURN_EMPTY_STRING -- Return an empty string value from a function
RETURN_EMPTY_UNICODE -- ...
RETURN_LONG -- Return a long value from a function
RETURN_NULL -- Return a null value from a function
RETURN_RESOURCE -- Return a resource from a function
RETURN_RT_STRING -- ...
RETURN_RT_STRINGL -- ...
RETURN_STRING -- ...
RETURN_STRINGL -- ...
RETURN_TEXT -- ...
RETURN_TEXTL -- ...
RETURN_U_STRING -- ...
RETURN_U_STRINGL -- ...
RETURN_UNICODE -- ...
RETURN_UNICODEL -- ...
RETURN_ZVAL -- Return a zval value from a function
UNREGISTER_INI_ENTRIES -- ...
Z_ARRVAL_P -- ...
Z_ARRVAL_PP -- ...
Z_ARRVAL -- ...
Z_BINLEN_P -- ...
Z_BINLEN_PP -- ...
Z_BINLEN -- ...
Z_BINVAL_P -- ...
Z_BINVAL_PP -- ...
Z_BINVAL -- ...
Z_BVAL_P -- Dereference a zval pointer and return its lval element as bool
Z_BVAL_PP -- Dereference a pointer to a zval pointer and return its lval element as bool
Z_BVAL -- Return a zval lval element as bool
Z_DBG -- ...
Z_DVAL_P -- Dereference a zval pointer and return its dval element
Z_DVAL_PP -- Dereference a pointer to a zval pointer and return its dval element
Z_DVAL -- Return the dval element of a zval
Z_LVAL_P -- ...
Z_LVAL_PP -- Dereference a pointer to a zval pointer and return its lval element
Z_LVAL -- ...
Z_OBJ_CLASS_NAME_P -- ...
Z_OBJ_HANDLE_P -- ...
Z_OBJ_HANDLE_PP -- ...
Z_OBJ_HANDLE -- ...
Z_OBJ_HANDLER_P -- ...
Z_OBJ_HANDLER_PP -- ...
Z_OBJ_HANDLER -- ...
Z_OBJ_HT_P -- ...
Z_OBJ_HT_PP -- ...
Z_OBJ_HT -- ...
Z_OBJCE_P -- ...
Z_OBJCE_PP -- ...
Z_OBJCE -- ...
Z_OBJPROP_P -- ...
Z_OBJPROP_PP -- ...
Z_OBJPROP -- ...
Z_OBJVAL_P -- ...
Z_OBJVAL_PP -- ...
Z_OBJVAL -- ...
Z_RESVAL_P -- ...
Z_RESVAL_PP -- ...
Z_RESVAL -- ...
Z_STRLEN_P -- ...
Z_STRLEN_PP -- ...
Z_STRLEN -- ...
Z_STRVAL_P -- ...
Z_STRVAL_PP -- ...
Z_STRVAL -- ...
Z_TYPE_P -- Get type field from zval pointer
Z_TYPE_PP -- Get type field from zval pointer pointer
Z_TYPE -- Get the type field of a zval
Z_UNILEN_P -- ...
Z_UNILEN_PP -- ...
Z_UNILEN -- ...
Z_UNIVAL_P -- ...
Z_UNIVAL_PP -- ...
Z_UNIVAL -- ...
Z_USTRCPLEN_P -- ...
Z_USTRCPLEN_PP -- ...
Z_USTRCPLEN -- ...
Z_USTRLEN_P -- ...
Z_USTRLEN_PP -- ...
Z_USTRLEN -- ...
Z_USTRVAL_P -- ...
Z_USTRVAL_PP -- ...
Z_USTRVAL -- ...
ZEND_ABSTRACT_ME -- ...
ZEND_ARG_ARRAY_INFO -- ...
ZEND_ARG_INFO -- ...
ZEND_ARG_OBJ_INFO -- ...
ZEND_ARG_PASS_INFO -- ...
ZEND_BEGIN_ARG_INFO_EX -- ...
ZEND_BEGIN_ARG_INFO -- ...
ZEND_BEGIN_MODULE_GLOBALS -- ...
ZEND_COLL_RESULT -- ...
ZEND_DECLARE_MODULE_GLOBALS -- ...
ZEND_DEFINE_PROPERTY -- ...
ZEND_END_ARG_INFO -- ...
ZEND_END_MODULE_GLOBALS -- ...
ZEND_EXTERN_MODULE_GLOBALS -- ...
ZEND_FALIAS -- ...
ZEND_FE -- ...
ZEND_FENTRY -- ...
ZEND_FETCH_RESOURCE2 -- ...
ZEND_FETCH_RESOURCE -- ...
ZEND_FN_SCOPE_NAME -- ...
ZEND_FN -- ...
ZEND_FUNCTION -- ...
ZEND_GET_MODULE -- ...
ZEND_GET_RESOURCE_TYPE_ID -- ...
ZEND_INI_BEGIN -- ...
ZEND_INI_DISP -- ...
ZEND_INI_END -- ...
ZEND_INI_ENTRY_EX -- ...
ZEND_INI_ENTRY1_EX -- ...
ZEND_INI_ENTRY1 -- ...
ZEND_INI_ENTRY2_EX -- ...
ZEND_INI_ENTRY2 -- ...
ZEND_INI_ENTRY3_EX -- ...
ZEND_INI_ENTRY3 -- ...
ZEND_INI_ENTRY -- ...
ZEND_INI_MH -- ...
ZEND_INIT_MODULE_GLOBALS -- ...
ZEND_INIT_SYMTABLE_EX -- ...
ZEND_INIT_SYMTABLE -- ...
ZEND_LOG_XOR -- ...
ZEND_MALIAS -- ...
ZEND_ME_MAPPING -- ...
ZEND_ME -- ...
ZEND_METHOD -- ...
ZEND_MOD_CONFLICTS_EX -- ...
ZEND_MOD_CONFLICTS -- ...
ZEND_MOD_OPTIONAL_EX -- ...
ZEND_MOD_OPTIONAL -- ...
ZEND_MOD_REQUIRED_EX -- Create a full dependency entry for the required version of an extension
ZEND_MOD_REQUIRED -- Create a simple dependency entry for a required extension
ZEND_MODULE_ACTIVATE_D -- ...
ZEND_MODULE_ACTIVATE_N -- ...
ZEND_MODULE_DEACTIVATE_D -- ...
ZEND_MODULE_DEACTIVATE_N -- ...
ZEND_MODULE_INFO_D -- ...
ZEND_MODULE_INFO_N -- ...
ZEND_MODULE_POST_ZEND_DEACTIVATE_D -- ...
ZEND_MODULE_POST_ZEND_DEACTIVATE_N -- ...
ZEND_MODULE_SHUTDOWN_D -- ...
ZEND_MODULE_SHUTDOWN_N -- ...
ZEND_MODULE_STARTUP_D -- ...
ZEND_MODULE_STARTUP_N -- ...
ZEND_NAMED_FE -- ...
ZEND_NAMED_FUNCTION -- ...
ZEND_NORMALIZE_BOOL -- ...
ZEND_NUM_ARGS -- ...
ZEND_PUTC -- Write a single character to the default output stream
ZEND_PUTS -- Write a string to the default output stream
ZEND_REGISTER_RESOURCE -- ...
ZEND_RSRC_DTOR_FUNC -- ...
ZEND_SET_GLOBAL_VAR_WITH_LENGTH -- ...
ZEND_SET_GLOBAL_VAR -- ...
ZEND_SET_SYMBOL_WITH_LENGTH -- ...
ZEND_SET_SYMBOL -- ...
ZEND_STRL -- Pass string pointer and length in one operation
ZEND_STRS -- Pass string pointer and buffer size in one operation
ZEND_TRUTH -- Cast a value to zend_bool
ZEND_U_CONVERTER -- ...
ZEND_U_EQUAL -- ...
ZEND_U_SET_SYMBOL_WITH_LENGTH -- ...
ZEND_UV -- ...
ZEND_VERIFY_RESOURCE -- ...
ZEND_WRITE -- Write character buffer to the default output stream
ZEND_WRONG_PARAM_COUNT_WITH_RETVAL -- Generate standard error message and return custom value
ZEND_WRONG_PARAM_COUNT -- ...

Anterior | Inicio | Siguiente
API Macros | Subir | add_assoc_bool_ex